@libp2p/pubsub 8.0.10-d8f5bc211 → 8.0.10-e2267d437
Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.min.js
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPubsub = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
2
2
|
"use strict";var Libp2PPubsub=(()=>{var tf=Object.create;var Vn=Object.defineProperty;var ef=Object.getOwnPropertyDescriptor;var rf=Object.getOwnPropertyNames;var nf=Object.getPrototypeOf,sf=Object.prototype.hasOwnProperty;var ct=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),It=(t,e)=>{for(var r in e)Vn(t,r,{get:e[r],enumerable:!0})},ua=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of rf(e))!sf.call(t,i)&&i!==r&&Vn(t,i,{get:()=>e[i],enumerable:!(n=ef(e,i))||n.enumerable});return t};var Rt=(t,e,r)=>(r=t!=null?tf(nf(t)):{},ua(e||!t||!t.__esModule?Vn(r,"default",{value:t,enumerable:!0}):r,t)),of=t=>ua(Vn({},"__esModule",{value:!0}),t);var Pa=ct((Dg,Ss)=>{"use strict";var xh=Object.prototype.hasOwnProperty,Qt="~";function ln(){}Object.create&&(ln.prototype=Object.create(null),new ln().__proto__||(Qt=!1));function bh(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function Da(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new bh(r,n||t,i),o=Qt?Qt+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 Yn(t,e){--t._eventsCount===0?t._events=new ln:delete t._events[e]}function qt(){this._events=new ln,this._eventsCount=0}qt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)xh.call(r,n)&&e.push(Qt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};qt.prototype.listeners=function(e){var r=Qt?Qt+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};qt.prototype.listenerCount=function(e){var r=Qt?Qt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};qt.prototype.emit=function(e,r,n,i,s,o){var a=Qt?Qt+e:e;if(!this._events[a])return!1;var u=this._events[a],c=arguments.length,f,h;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),c){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,r),!0;case 3:return u.fn.call(u.context,r,n),!0;case 4:return u.fn.call(u.context,r,n,i),!0;case 5:return u.fn.call(u.context,r,n,i,s),!0;case 6:return u.fn.call(u.context,r,n,i,s,o),!0}for(h=1,f=new Array(c-1);h<c;h++)f[h-1]=arguments[h];u.fn.apply(u.context,f)}else{var l=u.length,g;for(h=0;h<l;h++)switch(u[h].once&&this.removeListener(e,u[h].fn,void 0,!0),c){case 1:u[h].fn.call(u[h].context);break;case 2:u[h].fn.call(u[h].context,r);break;case 3:u[h].fn.call(u[h].context,r,n);break;case 4:u[h].fn.call(u[h].context,r,n,i);break;default:if(!f)for(g=1,f=new Array(c-1);g<c;g++)f[g-1]=arguments[g];u[h].fn.apply(u[h].context,f)}}return!0};qt.prototype.on=function(e,r,n){return Da(this,e,r,n,!1)};qt.prototype.once=function(e,r,n){return Da(this,e,r,n,!0)};qt.prototype.removeListener=function(e,r,n,i){var s=Qt?Qt+e:e;if(!this._events[s])return this;if(!r)return Yn(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&Yn(this,s);else{for(var a=0,u=[],c=o.length;a<c;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&u.push(o[a]);u.length?this._events[s]=u.length===1?u[0]:u:Yn(this,s)}return this};qt.prototype.removeAllListeners=function(e){var r;return e?(r=Qt?Qt+e:e,this._events[r]&&Yn(this,r)):(this._events=new ln,this._eventsCount=0),this};qt.prototype.off=qt.prototype.removeListener;qt.prototype.addListener=qt.prototype.on;qt.prefixed=Qt;qt.EventEmitter=qt;typeof Ss<"u"&&(Ss.exports=qt)});var e0=ct((h2,t0)=>{"use strict";function ja(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function Ch(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 ja(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),ja(new i,r)}}t0.exports=Ch});var ot=ct((A2,r0)=>{r0.exports={options:{usePureJavaScript:!1}}});var s0=ct((I2,i0)=>{var Ks={};i0.exports=Ks;var n0={};Ks.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=Nh(t,e);else{var i=0,s=e.length,o=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var u=0,c=t[i];u<a.length;++u)c+=a[u]<<8,a[u]=c%s,c=c/s|0;for(;c>0;)a.push(c%s),c=c/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};Ks.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=n0[e];if(!r){r=n0[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 u=0,c=a;u<o.length;++u)c+=o[u]*i,o[u]=c&255,c>>=8;for(;c>0;)o.push(c&255),c>>=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 Nh(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 u="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)u+=i;for(r=s.length-1;r>=0;--r)u+=e[s[r]];return u}});var St=ct((C2,c0)=>{var o0=ot(),a0=s0(),x=c0.exports=o0.util=o0.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(u){if(u.source===window&&u.data===t){u.stopPropagation();var c=e.slice();e.length=0,c.forEach(function(f){f()})}};var o=a,t="forge.setImmediate",e=[];x.setImmediate=function(u){e.push(u),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 u=e.slice();e.length=0,u.forEach(function(c){c()})}).observe(i,{attributes:!0});var s=x.setImmediate;x.setImmediate=function(u){Date.now()-r>15?(r=Date.now(),s(u)):(e.push(u),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 vn(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}x.ByteBuffer=Os;function Os(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 Os||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}x.ByteStringBuffer=Os;var Lh=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Lh&&(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){vn(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){vn(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 Dh(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=Dh;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){vn(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 vn(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){vn(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 Ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",We=[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],u0="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+=Ye.charAt(i>>2),r+=Ye.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Ye.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Ye.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=
|
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,u=0,c=r;u<t.length;)i=We[t.charCodeAt(u++)-43],s=We[t.charCodeAt(u++)-43],o=We[t.charCodeAt(u++)-43],a=We[t.charCodeAt(u++)-43],n[c++]=i<<2|s>>4,o!==64&&(n[c++]=(s&15)<<4|o>>2,a!==64&&(n[c++]=(o&3)<<6|a));return e?c-r:n.subarray(0,c)};x.binary.base58.encode=function(t,e){return x.binary.baseN.encode(t,u0,e)};x.binary.base58.decode=function(t,e){return x.binary.baseN.decode(t,u0,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 Ms=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}},Fs=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},Ph=function(t,e,r,n){var i=Fs(t,e);i===null&&(i={}),i[r]=n,Ms(t,e,i)},kh=function(t,e,r){var n=Fs(t,e);return n!==null&&(n=r in n?n[r]:null),n},Uh=function(t,e,r){var n=Fs(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),Ms(t,e,n)}},Kh=function(t,e){Ms(t,e,null)},oi=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(u){o=u}if(s)break}if(!s)throw o;return n};x.setItem=function(t,e,r,n,i){oi(Ph,arguments,i)};x.getItem=function(t,e,r,n){return oi(kh,arguments,n)};x.removeItem=function(t,e,r,n){oi(Uh,arguments,n)};x.clearItems=function(t,e,r){oi(Kh,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,u=i<0?"-":"",c=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",f=c.length>3?c.length%3:0;return u+(f?c.substr(0,f)+a:"")+c.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-c).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 u=r[n];u.end-u.start>0&&(e.splice(u.start,u.end-u.start+1,""),u.start===0&&e.unshift(""),u.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(),u=a+4;Date.now()<u;);self.postMessage({st:a,et:u})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,u){if(a===0){var c=Math.floor(o.reduce(function(f,h){return f+h},0)/o.length);return x.cores=Math.max(1,c),URL.revokeObjectURL(r),e(null,x.cores)}i(u,function(f,h){o.push(s(u,h)),n(o,a-1,u)})}function i(o,a){for(var u=[],c=[],f=0;f<o;++f){var h=new Worker(r);h.addEventListener("message",function(l){if(c.push(l.data),c.length===o){for(var g=0;g<o;++g)u[g].terminate();a(null,c)}}),u.push(h)}for(var f=0;f<o;++f)u[f].postMessage(f)}function s(o,a){for(var u=[],c=0;c<o;++c)for(var f=a[c],h=u[c]=[],l=0;l<o;++l)if(c!==l){var g=a[l];(f.st>g.st&&f.st<g.et||g.st>f.st&&g.st<f.et)&&h.push(l)}return u.reduce(function(d,p){return Math.max(d,p.length)},0)}}});var qs=ct((_2,f0)=>{var Pt=ot();St();f0.exports=Pt.cipher=Pt.cipher||{};Pt.cipher.algorithms=Pt.cipher.algorithms||{};Pt.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Pt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Pt.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Pt.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Pt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Pt.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Pt.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Pt.cipher.algorithms[t]=e};Pt.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Pt.cipher.algorithms?Pt.cipher.algorithms[t]:null};var Vs=Pt.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)};Vs.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=Pt.util.createBuffer(),this.output=t.output||Pt.util.createBuffer(),this.mode.start(e)};Vs.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()};Vs.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 zs=ct((T2,h0)=>{var kt=ot();St();kt.cipher=kt.cipher||{};var Z=h0.exports=kt.cipher.modes=kt.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=ai(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=kt.util.createBuffer(),this._partialBytes=0};Z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ai(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=kt.util.createBuffer(),this._partialBytes=0};Z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ai(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=kt.util.createBuffer(),this._partialBytes=0};Z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ai(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}ui(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=kt.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=kt.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=kt.util.createBuffer(t.additionalData):r=kt.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=kt.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(Hs(n*8)))}this._inBlock=this._j0.slice(0),ui(this._inBlock),this._partialBytes=0,r=kt.util.createBuffer(r),this._aDataLength=Hs(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),ui(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),ui(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=kt.util.createBuffer();var n=this._aDataLength.concat(Hs(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],u=o/n|0,c=(n-1-o%n)*e;a[u]=1<<e-1<<c,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],u=i[o];i[s+o]=[a[0]^u[0],a[1]^u[1],a[2]^u[2],a[3]^u[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var c=i[s^n];i[s]=[t[0]^c[0],t[1]^c[1],t[2]^c[2],t[3]^c[3]]}return i};function ai(t,e){if(typeof t=="string"&&(t=kt.util.createBuffer(t)),kt.util.isArray(t)&&t.length>4){var r=t;t=kt.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(!kt.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function ui(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Hs(t){return[t/4294967296|0,t&4294967295]}});var fi=ct((R2,y0)=>{var ft=ot();qs();zs();St();y0.exports=ft.aes=ft.aes||{};ft.aes.startEncrypting=function(t,e,r,n){var i=ci({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};ft.aes.createEncryptionCipher=function(t,e){return ci({key:t,output:null,decrypt:!1,mode:e})};ft.aes.startDecrypting=function(t,e,r,n){var i=ci({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};ft.aes.createDecryptionCipher=function(t,e){return ci({key:t,output:null,decrypt:!0,mode:e})};ft.aes.Algorithm=function(t,e){Ws||d0();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Ys(r._w,n,i,!1)},decrypt:function(n,i){return Ys(r._w,n,i,!0)}}}),r._init=!1};ft.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=ft.util.createBuffer(e);else if(ft.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=ft.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!ft.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(!ft.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=p0(e,t.decrypt&&!o),this._init=!0}};ft.aes._expandKey=function(t,e){return Ws||d0(),p0(t,e)};ft.aes._updateBlock=Ys;Mr("AES-ECB",ft.cipher.modes.ecb);Mr("AES-CBC",ft.cipher.modes.cbc);Mr("AES-CFB",ft.cipher.modes.cfb);Mr("AES-OFB",ft.cipher.modes.ofb);Mr("AES-CTR",ft.cipher.modes.ctr);Mr("AES-GCM",ft.cipher.modes.gcm);function Mr(t,e){var r=function(){return new ft.aes.Algorithm(t,e)};ft.cipher.registerAlgorithm(t,r)}var Ws=!1,Or=4,$t,Gs,l0,cr,ae;function d0(){Ws=!0,l0=[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;$t=new Array(256),Gs=new Array(256),cr=new Array(4),ae=new Array(4);for(var e=0;e<4;++e)cr[e]=new Array(256),ae[e]=new Array(256);for(var r=0,n=0,i,s,o,a,u,c,f,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,$t[r]=a,Gs[a]=r,u=t[a],i=t[r],s=t[i],o=t[s],c=u<<24^a<<16^a<<8^(a^u),f=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var h=0;h<4;++h)cr[h][r]=c,ae[h][a]=f,c=c<<24|c>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function p0(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=Or*o,u=s;u<a;++u)n=r[u-1],u%s===0?(n=$t[n>>>16&255]<<24^$t[n>>>8&255]<<16^$t[n&255]<<8^$t[n>>>24]^l0[i]<<24,i++):s>6&&u%s===4&&(n=$t[n>>>24]<<24^$t[n>>>16&255]<<16^$t[n>>>8&255]<<8^$t[n&255]),r[u]=r[u-s]^n;if(e){var c,f=ae[0],h=ae[1],l=ae[2],g=ae[3],d=r.slice(0);a=r.length;for(var u=0,p=a-Or;u<a;u+=Or,p-=Or)if(u===0||u===a-Or)d[u]=r[p],d[u+1]=r[p+3],d[u+2]=r[p+2],d[u+3]=r[p+1];else for(var y=0;y<Or;++y)c=r[p+y],d[u+(3&-y)]=f[$t[c>>>24]]^h[$t[c>>>16&255]]^l[$t[c>>>8&255]]^g[$t[c&255]];r=d}return r}function Ys(t,e,r,n){var i=t.length/4-1,s,o,a,u,c;n?(s=ae[0],o=ae[1],a=ae[2],u=ae[3],c=Gs):(s=cr[0],o=cr[1],a=cr[2],u=cr[3],c=$t);var f,h,l,g,d,p,y;f=e[0]^t[0],h=e[n?3:1]^t[1],l=e[2]^t[2],g=e[n?1:3]^t[3];for(var m=3,w=1;w<i;++w)d=s[f>>>24]^o[h>>>16&255]^a[l>>>8&255]^u[g&255]^t[++m],p=s[h>>>24]^o[l>>>16&255]^a[g>>>8&255]^u[f&255]^t[++m],y=s[l>>>24]^o[g>>>16&255]^a[f>>>8&255]^u[h&255]^t[++m],g=s[g>>>24]^o[f>>>16&255]^a[h>>>8&255]^u[l&255]^t[++m],f=d,h=p,l=y;r[0]=c[f>>>24]<<24^c[h>>>16&255]<<16^c[l>>>8&255]<<8^c[g&255]^t[++m],r[n?3:1]=c[h>>>24]<<24^c[l>>>16&255]<<16^c[g>>>8&255]<<8^c[f&255]^t[++m],r[2]=c[l>>>24]<<24^c[g>>>16&255]<<16^c[f>>>8&255]<<8^c[h&255]^t[++m],r[n?1:3]=c[g>>>24]<<24^c[f>>>16&255]<<16^c[h>>>8&255]<<8^c[l&255]^t[++m]}function ci(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=ft.cipher.createDecipher(r,t.key):n=ft.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ft.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var li=ct((Z2,w0)=>{var wn=ot();wn.pki=wn.pki||{};var $s=w0.exports=wn.pki.oids=wn.oids=wn.oids||{};function _(t,e){$s[t]=e,$s[e]=t}function it(t,e){$s[t]=e}_("1.2.840.113549.1.1.1","rsaEncryption");_("1.2.840.113549.1.1.4","md5WithRSAEncryption");_("1.2.840.113549.1.1.5","sha1WithRSAEncryption");_("1.2.840.113549.1.1.7","RSAES-OAEP");_("1.2.840.113549.1.1.8","mgf1");_("1.2.840.113549.1.1.9","pSpecified");_("1.2.840.113549.1.1.10","RSASSA-PSS");_("1.2.840.113549.1.1.11","sha256WithRSAEncryption");_("1.2.840.113549.1.1.12","sha384WithRSAEncryption");_("1.2.840.113549.1.1.13","sha512WithRSAEncryption");_("1.3.101.112","EdDSA25519");_("1.2.840.10040.4.3","dsa-with-sha1");_("1.3.14.3.2.7","desCBC");_("1.3.14.3.2.26","sha1");_("1.3.14.3.2.29","sha1WithRSASignature");_("2.16.840.1.101.3.4.2.1","sha256");_("2.16.840.1.101.3.4.2.2","sha384");_("2.16.840.1.101.3.4.2.3","sha512");_("2.16.840.1.101.3.4.2.4","sha224");_("2.16.840.1.101.3.4.2.5","sha512-224");_("2.16.840.1.101.3.4.2.6","sha512-256");_("1.2.840.113549.2.2","md2");_("1.2.840.113549.2.5","md5");_("1.2.840.113549.1.7.1","data");_("1.2.840.113549.1.7.2","signedData");_("1.2.840.113549.1.7.3","envelopedData");_("1.2.840.113549.1.7.4","signedAndEnvelopedData");_("1.2.840.113549.1.7.5","digestedData");_("1.2.840.113549.1.7.6","encryptedData");_("1.2.840.113549.1.9.1","emailAddress");_("1.2.840.113549.1.9.2","unstructuredName");_("1.2.840.113549.1.9.3","contentType");_("1.2.840.113549.1.9.4","messageDigest");_("1.2.840.113549.1.9.5","signingTime");_("1.2.840.113549.1.9.6","counterSignature");_("1.2.840.113549.1.9.7","challengePassword");_("1.2.840.113549.1.9.8","unstructuredAddress");_("1.2.840.113549.1.9.14","extensionRequest");_("1.2.840.113549.1.9.20","friendlyName");_("1.2.840.113549.1.9.21","localKeyId");_("1.2.840.113549.1.9.22.1","x509Certificate");_("1.2.840.113549.1.12.10.1.1","keyBag");_("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");_("1.2.840.113549.1.12.10.1.3","certBag");_("1.2.840.113549.1.12.10.1.4","crlBag");_("1.2.840.113549.1.12.10.1.5","secretBag");_("1.2.840.113549.1.12.10.1.6","safeContentsBag");_("1.2.840.113549.1.5.13","pkcs5PBES2");_("1.2.840.113549.1.5.12","pkcs5PBKDF2");_("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");_("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");_("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");_("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");_("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");_("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");_("1.2.840.113549.2.7","hmacWithSHA1");_("1.2.840.113549.2.8","hmacWithSHA224");_("1.2.840.113549.2.9","hmacWithSHA256");_("1.2.840.113549.2.10","hmacWithSHA384");_("1.2.840.113549.2.11","hmacWithSHA512");_("1.2.840.113549.3.7","des-EDE3-CBC");_("2.16.840.1.101.3.4.1.2","aes128-CBC");_("2.16.840.1.101.3.4.1.22","aes192-CBC");_("2.16.840.1.101.3.4.1.42","aes256-CBC");_("2.5.4.3","commonName");_("2.5.4.4","surname");_("2.5.4.5","serialNumber");_("2.5.4.6","countryName");_("2.5.4.7","localityName");_("2.5.4.8","stateOrProvinceName");_("2.5.4.9","streetAddress");_("2.5.4.10","organizationName");_("2.5.4.11","organizationalUnitName");_("2.5.4.12","title");_("2.5.4.13","description");_("2.5.4.15","businessCategory");_("2.5.4.17","postalCode");_("2.5.4.42","givenName");_("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");_("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");_("2.16.840.1.113730.1.1","nsCertType");_("2.16.840.1.113730.1.13","nsComment");it("2.5.29.1","authorityKeyIdentifier");it("2.5.29.2","keyAttributes");it("2.5.29.3","certificatePolicies");it("2.5.29.4","keyUsageRestriction");it("2.5.29.5","policyMapping");it("2.5.29.6","subtreesConstraint");it("2.5.29.7","subjectAltName");it("2.5.29.8","issuerAltName");it("2.5.29.9","subjectDirectoryAttributes");it("2.5.29.10","basicConstraints");it("2.5.29.11","nameConstraints");it("2.5.29.12","policyConstraints");it("2.5.29.13","basicConstraints");_("2.5.29.14","subjectKeyIdentifier");_("2.5.29.15","keyUsage");it("2.5.29.16","privateKeyUsagePeriod");_("2.5.29.17","subjectAltName");_("2.5.29.18","issuerAltName");_("2.5.29.19","basicConstraints");it("2.5.29.20","cRLNumber");it("2.5.29.21","cRLReason");it("2.5.29.22","expirationDate");it("2.5.29.23","instructionCode");it("2.5.29.24","invalidityDate");it("2.5.29.25","cRLDistributionPoints");it("2.5.29.26","issuingDistributionPoint");it("2.5.29.27","deltaCRLIndicator");it("2.5.29.28","issuingDistributionPoint");it("2.5.29.29","certificateIssuer");it("2.5.29.30","nameConstraints");_("2.5.29.31","cRLDistributionPoints");_("2.5.29.32","certificatePolicies");it("2.5.29.33","policyMappings");it("2.5.29.34","policyConstraints");_("2.5.29.35","authorityKeyIdentifier");it("2.5.29.36","policyConstraints");_("2.5.29.37","extKeyUsage");it("2.5.29.46","freshestCRL");it("2.5.29.54","inhibitAnyPolicy");_("1.3.6.1.4.1.11129.2.4.2","timestampList");_("1.3.6.1.5.5.7.1.1","authorityInfoAccess");_("1.3.6.1.5.5.7.3.1","serverAuth");_("1.3.6.1.5.5.7.3.2","clientAuth");_("1.3.6.1.5.5.7.3.3","codeSigning");_("1.3.6.1.5.5.7.3.4","emailProtection");_("1.3.6.1.5.5.7.3.8","timeStamping")});var Sn=ct((X2,S0)=>{var ht=ot();St();li();var k=S0.exports=ht.asn1=ht.asn1||{};k.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};k.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};k.create=function(t,e,r,n,i){if(ht.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||ht.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=k.copy(a)),a};k.copy=function(t,e){var r;if(ht.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(k.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:k.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};k.equals=function(t,e,r){if(ht.util.isArray(t)){if(!ht.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!k.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&&k.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};k.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 En(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 zh=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;En(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};k.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=ht.util.createBuffer(t));var r=t.length(),n=di(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 di(t,e,r,n){var i;En(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var u=zh(t,e);if(e-=i-t.length(),u!==void 0&&u>e){if(n.strict){var c=new Error("Too few bytes to read ASN.1 value.");throw c.available=t.length(),c.remaining=e,c.requested=u,c}u=e}var f,h,l=(s&32)===32;if(l)if(f=[],u===void 0)for(;;){if(En(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),f.push(di(t,e,r+1,n)),e-=i-t.length()}else for(;u>0;)i=t.length(),f.push(di(t,u,r+1,n)),e-=i-t.length(),u-=i-t.length();if(f===void 0&&o===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&(h=t.bytes(u)),f===void 0&&n.decodeBitStrings&&o===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&u>1){var g=t.read,d=e,p=0;if(a===k.Type.BITSTRING&&(En(t,e,1),p=t.getByte(),e--),p===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},m=di(t,e,r+1,y),w=i-t.length();e-=w,a==k.Type.BITSTRING&&w++;var b=m.tagClass;w===u&&(b===k.Class.UNIVERSAL||b===k.Class.CONTEXT_SPECIFIC)&&(f=[m])}catch{}f===void 0&&(t.read=g,e=d)}if(f===void 0){if(u===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");u=e}if(a===k.Type.BMPSTRING)for(f="";u>0;u-=2)En(t,e,2),f+=String.fromCharCode(t.getInt16()),e-=2;else f=t.getBytes(u),e-=u}var T=h===void 0?null:{bitStringContents:h};return k.create(o,a,l,f,T)}k.toDer=function(t){var e=ht.util.createBuffer(),r=t.tagClass|t.type,n=ht.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=k.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(k.toDer(t.value[s]))}else if(t.type===k.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===k.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};k.oidToDer=function(t){var e=t.split("."),r=ht.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 u=i.length-1;u>=0;--u)r.putByte(i[u])}return r};k.derToOid=function(t){var e;typeof t=="string"&&(t=ht.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};k.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 u=t.charAt(10),c=10;u!=="+"&&u!=="-"&&(a=parseInt(t.substr(10,2),10),c+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),c&&(u=t.charAt(c),u==="+"||u==="-")){var f=parseInt(t.substr(c+1,2),10),h=parseInt(t.substr(c+4,2),10),l=f*60+h;l*=6e4,u==="+"?e.setTime(+e-l):e.setTime(+e+l)}return e};k.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),u=0,c=0,f=!1;t.charAt(t.length-1)==="Z"&&(f=!0);var h=t.length-5,l=t.charAt(h);if(l==="+"||l==="-"){var g=parseInt(t.substr(h+1,2),10),d=parseInt(t.substr(h+4,2),10);c=g*60+d,c*=6e4,l==="+"&&(c*=-1),f=!0}return t.charAt(14)==="."&&(u=parseFloat(t.substr(14),10)*1e3),f?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,u),e.setTime(+e+c)):(e.setFullYear(r,n,i),e.setHours(s,o,a,u)),e};k.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};k.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};k.integerToDer=function(t){var e=ht.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};k.derToInteger=function(t){typeof t=="string"&&(t=ht.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)};k.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&&ht.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=k.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 u=t.bitStringContents.charCodeAt(0);if(u!==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]/;k.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
3
|
+
`)}return n};Ks.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=n0[e];if(!r){r=n0[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 u=0,c=a;u<o.length;++u)c+=o[u]*i,o[u]=c&255,c>>=8;for(;c>0;)o.push(c&255),c>>=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 Nh(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 u="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)u+=i;for(r=s.length-1;r>=0;--r)u+=e[s[r]];return u}});var St=ct((C2,c0)=>{var o0=ot(),a0=s0(),x=c0.exports=o0.util=o0.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(u){if(u.source===window&&u.data===t){u.stopPropagation();var c=e.slice();e.length=0,c.forEach(function(f){f()})}};var o=a,t="forge.setImmediate",e=[];x.setImmediate=function(u){e.push(u),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 u=e.slice();e.length=0,u.forEach(function(c){c()})}).observe(i,{attributes:!0});var s=x.setImmediate;x.setImmediate=function(u){Date.now()-r>15?(r=Date.now(),s(u)):(e.push(u),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 vn(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}x.ByteBuffer=Os;function Os(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 Os||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}x.ByteStringBuffer=Os;var Lh=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Lh&&(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){vn(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){vn(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 Dh(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=Dh;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){vn(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 vn(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){vn(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 We="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Qe=[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],u0="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+=We.charAt(i>>2),r+=We.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=We.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":We.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=Qe[t.charCodeAt(o++)-43],n=Qe[t.charCodeAt(o++)-43],i=Qe[t.charCodeAt(o++)-43],s=Qe[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:a0.encode,decode:a0.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+=We.charAt(i>>2),r+=We.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=We.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":We.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,u=0,c=r;u<t.length;)i=Qe[t.charCodeAt(u++)-43],s=Qe[t.charCodeAt(u++)-43],o=Qe[t.charCodeAt(u++)-43],a=Qe[t.charCodeAt(u++)-43],n[c++]=i<<2|s>>4,o!==64&&(n[c++]=(s&15)<<4|o>>2,a!==64&&(n[c++]=(o&3)<<6|a));return e?c-r:n.subarray(0,c)};x.binary.base58.encode=function(t,e){return x.binary.baseN.encode(t,u0,e)};x.binary.base58.decode=function(t,e){return x.binary.baseN.decode(t,u0,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 Ms=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}},Fs=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},Ph=function(t,e,r,n){var i=Fs(t,e);i===null&&(i={}),i[r]=n,Ms(t,e,i)},kh=function(t,e,r){var n=Fs(t,e);return n!==null&&(n=r in n?n[r]:null),n},Uh=function(t,e,r){var n=Fs(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),Ms(t,e,n)}},Kh=function(t,e){Ms(t,e,null)},oi=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(u){o=u}if(s)break}if(!s)throw o;return n};x.setItem=function(t,e,r,n,i){oi(Ph,arguments,i)};x.getItem=function(t,e,r,n){return oi(kh,arguments,n)};x.removeItem=function(t,e,r,n){oi(Uh,arguments,n)};x.clearItems=function(t,e,r){oi(Kh,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,u=i<0?"-":"",c=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",f=c.length>3?c.length%3:0;return u+(f?c.substr(0,f)+a:"")+c.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-c).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 u=r[n];u.end-u.start>0&&(e.splice(u.start,u.end-u.start+1,""),u.start===0&&e.unshift(""),u.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(),u=a+4;Date.now()<u;);self.postMessage({st:a,et:u})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,u){if(a===0){var c=Math.floor(o.reduce(function(f,h){return f+h},0)/o.length);return x.cores=Math.max(1,c),URL.revokeObjectURL(r),e(null,x.cores)}i(u,function(f,h){o.push(s(u,h)),n(o,a-1,u)})}function i(o,a){for(var u=[],c=[],f=0;f<o;++f){var h=new Worker(r);h.addEventListener("message",function(l){if(c.push(l.data),c.length===o){for(var g=0;g<o;++g)u[g].terminate();a(null,c)}}),u.push(h)}for(var f=0;f<o;++f)u[f].postMessage(f)}function s(o,a){for(var u=[],c=0;c<o;++c)for(var f=a[c],h=u[c]=[],l=0;l<o;++l)if(c!==l){var g=a[l];(f.st>g.st&&f.st<g.et||g.st>f.st&&g.st<f.et)&&h.push(l)}return u.reduce(function(d,p){return Math.max(d,p.length)},0)}}});var qs=ct((_2,f0)=>{var Pt=ot();St();f0.exports=Pt.cipher=Pt.cipher||{};Pt.cipher.algorithms=Pt.cipher.algorithms||{};Pt.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Pt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Pt.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Pt.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Pt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Pt.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Pt.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Pt.cipher.algorithms[t]=e};Pt.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Pt.cipher.algorithms?Pt.cipher.algorithms[t]:null};var Vs=Pt.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)};Vs.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=Pt.util.createBuffer(),this.output=t.output||Pt.util.createBuffer(),this.mode.start(e)};Vs.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()};Vs.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 zs=ct((T2,h0)=>{var kt=ot();St();kt.cipher=kt.cipher||{};var Z=h0.exports=kt.cipher.modes=kt.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=ai(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=kt.util.createBuffer(),this._partialBytes=0};Z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ai(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=kt.util.createBuffer(),this._partialBytes=0};Z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ai(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=kt.util.createBuffer(),this._partialBytes=0};Z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ai(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}ui(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=kt.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=kt.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=kt.util.createBuffer(t.additionalData):r=kt.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=kt.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(Hs(n*8)))}this._inBlock=this._j0.slice(0),ui(this._inBlock),this._partialBytes=0,r=kt.util.createBuffer(r),this._aDataLength=Hs(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),ui(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),ui(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=kt.util.createBuffer();var n=this._aDataLength.concat(Hs(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],u=o/n|0,c=(n-1-o%n)*e;a[u]=1<<e-1<<c,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],u=i[o];i[s+o]=[a[0]^u[0],a[1]^u[1],a[2]^u[2],a[3]^u[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var c=i[s^n];i[s]=[t[0]^c[0],t[1]^c[1],t[2]^c[2],t[3]^c[3]]}return i};function ai(t,e){if(typeof t=="string"&&(t=kt.util.createBuffer(t)),kt.util.isArray(t)&&t.length>4){var r=t;t=kt.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(!kt.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function ui(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Hs(t){return[t/4294967296|0,t&4294967295]}});var fi=ct((R2,y0)=>{var ft=ot();qs();zs();St();y0.exports=ft.aes=ft.aes||{};ft.aes.startEncrypting=function(t,e,r,n){var i=ci({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};ft.aes.createEncryptionCipher=function(t,e){return ci({key:t,output:null,decrypt:!1,mode:e})};ft.aes.startDecrypting=function(t,e,r,n){var i=ci({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};ft.aes.createDecryptionCipher=function(t,e){return ci({key:t,output:null,decrypt:!0,mode:e})};ft.aes.Algorithm=function(t,e){Ws||d0();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Ys(r._w,n,i,!1)},decrypt:function(n,i){return Ys(r._w,n,i,!0)}}}),r._init=!1};ft.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=ft.util.createBuffer(e);else if(ft.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=ft.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!ft.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(!ft.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=p0(e,t.decrypt&&!o),this._init=!0}};ft.aes._expandKey=function(t,e){return Ws||d0(),p0(t,e)};ft.aes._updateBlock=Ys;Mr("AES-ECB",ft.cipher.modes.ecb);Mr("AES-CBC",ft.cipher.modes.cbc);Mr("AES-CFB",ft.cipher.modes.cfb);Mr("AES-OFB",ft.cipher.modes.ofb);Mr("AES-CTR",ft.cipher.modes.ctr);Mr("AES-GCM",ft.cipher.modes.gcm);function Mr(t,e){var r=function(){return new ft.aes.Algorithm(t,e)};ft.cipher.registerAlgorithm(t,r)}var Ws=!1,Or=4,$t,Gs,l0,cr,ae;function d0(){Ws=!0,l0=[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;$t=new Array(256),Gs=new Array(256),cr=new Array(4),ae=new Array(4);for(var e=0;e<4;++e)cr[e]=new Array(256),ae[e]=new Array(256);for(var r=0,n=0,i,s,o,a,u,c,f,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,$t[r]=a,Gs[a]=r,u=t[a],i=t[r],s=t[i],o=t[s],c=u<<24^a<<16^a<<8^(a^u),f=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var h=0;h<4;++h)cr[h][r]=c,ae[h][a]=f,c=c<<24|c>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function p0(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=Or*o,u=s;u<a;++u)n=r[u-1],u%s===0?(n=$t[n>>>16&255]<<24^$t[n>>>8&255]<<16^$t[n&255]<<8^$t[n>>>24]^l0[i]<<24,i++):s>6&&u%s===4&&(n=$t[n>>>24]<<24^$t[n>>>16&255]<<16^$t[n>>>8&255]<<8^$t[n&255]),r[u]=r[u-s]^n;if(e){var c,f=ae[0],h=ae[1],l=ae[2],g=ae[3],d=r.slice(0);a=r.length;for(var u=0,p=a-Or;u<a;u+=Or,p-=Or)if(u===0||u===a-Or)d[u]=r[p],d[u+1]=r[p+3],d[u+2]=r[p+2],d[u+3]=r[p+1];else for(var y=0;y<Or;++y)c=r[p+y],d[u+(3&-y)]=f[$t[c>>>24]]^h[$t[c>>>16&255]]^l[$t[c>>>8&255]]^g[$t[c&255]];r=d}return r}function Ys(t,e,r,n){var i=t.length/4-1,s,o,a,u,c;n?(s=ae[0],o=ae[1],a=ae[2],u=ae[3],c=Gs):(s=cr[0],o=cr[1],a=cr[2],u=cr[3],c=$t);var f,h,l,g,d,p,y;f=e[0]^t[0],h=e[n?3:1]^t[1],l=e[2]^t[2],g=e[n?1:3]^t[3];for(var m=3,w=1;w<i;++w)d=s[f>>>24]^o[h>>>16&255]^a[l>>>8&255]^u[g&255]^t[++m],p=s[h>>>24]^o[l>>>16&255]^a[g>>>8&255]^u[f&255]^t[++m],y=s[l>>>24]^o[g>>>16&255]^a[f>>>8&255]^u[h&255]^t[++m],g=s[g>>>24]^o[f>>>16&255]^a[h>>>8&255]^u[l&255]^t[++m],f=d,h=p,l=y;r[0]=c[f>>>24]<<24^c[h>>>16&255]<<16^c[l>>>8&255]<<8^c[g&255]^t[++m],r[n?3:1]=c[h>>>24]<<24^c[l>>>16&255]<<16^c[g>>>8&255]<<8^c[f&255]^t[++m],r[2]=c[l>>>24]<<24^c[g>>>16&255]<<16^c[f>>>8&255]<<8^c[h&255]^t[++m],r[n?1:3]=c[g>>>24]<<24^c[f>>>16&255]<<16^c[h>>>8&255]<<8^c[l&255]^t[++m]}function ci(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=ft.cipher.createDecipher(r,t.key):n=ft.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ft.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var li=ct((Z2,w0)=>{var wn=ot();wn.pki=wn.pki||{};var $s=w0.exports=wn.pki.oids=wn.oids=wn.oids||{};function _(t,e){$s[t]=e,$s[e]=t}function it(t,e){$s[t]=e}_("1.2.840.113549.1.1.1","rsaEncryption");_("1.2.840.113549.1.1.4","md5WithRSAEncryption");_("1.2.840.113549.1.1.5","sha1WithRSAEncryption");_("1.2.840.113549.1.1.7","RSAES-OAEP");_("1.2.840.113549.1.1.8","mgf1");_("1.2.840.113549.1.1.9","pSpecified");_("1.2.840.113549.1.1.10","RSASSA-PSS");_("1.2.840.113549.1.1.11","sha256WithRSAEncryption");_("1.2.840.113549.1.1.12","sha384WithRSAEncryption");_("1.2.840.113549.1.1.13","sha512WithRSAEncryption");_("1.3.101.112","EdDSA25519");_("1.2.840.10040.4.3","dsa-with-sha1");_("1.3.14.3.2.7","desCBC");_("1.3.14.3.2.26","sha1");_("1.3.14.3.2.29","sha1WithRSASignature");_("2.16.840.1.101.3.4.2.1","sha256");_("2.16.840.1.101.3.4.2.2","sha384");_("2.16.840.1.101.3.4.2.3","sha512");_("2.16.840.1.101.3.4.2.4","sha224");_("2.16.840.1.101.3.4.2.5","sha512-224");_("2.16.840.1.101.3.4.2.6","sha512-256");_("1.2.840.113549.2.2","md2");_("1.2.840.113549.2.5","md5");_("1.2.840.113549.1.7.1","data");_("1.2.840.113549.1.7.2","signedData");_("1.2.840.113549.1.7.3","envelopedData");_("1.2.840.113549.1.7.4","signedAndEnvelopedData");_("1.2.840.113549.1.7.5","digestedData");_("1.2.840.113549.1.7.6","encryptedData");_("1.2.840.113549.1.9.1","emailAddress");_("1.2.840.113549.1.9.2","unstructuredName");_("1.2.840.113549.1.9.3","contentType");_("1.2.840.113549.1.9.4","messageDigest");_("1.2.840.113549.1.9.5","signingTime");_("1.2.840.113549.1.9.6","counterSignature");_("1.2.840.113549.1.9.7","challengePassword");_("1.2.840.113549.1.9.8","unstructuredAddress");_("1.2.840.113549.1.9.14","extensionRequest");_("1.2.840.113549.1.9.20","friendlyName");_("1.2.840.113549.1.9.21","localKeyId");_("1.2.840.113549.1.9.22.1","x509Certificate");_("1.2.840.113549.1.12.10.1.1","keyBag");_("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");_("1.2.840.113549.1.12.10.1.3","certBag");_("1.2.840.113549.1.12.10.1.4","crlBag");_("1.2.840.113549.1.12.10.1.5","secretBag");_("1.2.840.113549.1.12.10.1.6","safeContentsBag");_("1.2.840.113549.1.5.13","pkcs5PBES2");_("1.2.840.113549.1.5.12","pkcs5PBKDF2");_("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");_("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");_("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");_("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");_("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");_("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");_("1.2.840.113549.2.7","hmacWithSHA1");_("1.2.840.113549.2.8","hmacWithSHA224");_("1.2.840.113549.2.9","hmacWithSHA256");_("1.2.840.113549.2.10","hmacWithSHA384");_("1.2.840.113549.2.11","hmacWithSHA512");_("1.2.840.113549.3.7","des-EDE3-CBC");_("2.16.840.1.101.3.4.1.2","aes128-CBC");_("2.16.840.1.101.3.4.1.22","aes192-CBC");_("2.16.840.1.101.3.4.1.42","aes256-CBC");_("2.5.4.3","commonName");_("2.5.4.4","surname");_("2.5.4.5","serialNumber");_("2.5.4.6","countryName");_("2.5.4.7","localityName");_("2.5.4.8","stateOrProvinceName");_("2.5.4.9","streetAddress");_("2.5.4.10","organizationName");_("2.5.4.11","organizationalUnitName");_("2.5.4.12","title");_("2.5.4.13","description");_("2.5.4.15","businessCategory");_("2.5.4.17","postalCode");_("2.5.4.42","givenName");_("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");_("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");_("2.16.840.1.113730.1.1","nsCertType");_("2.16.840.1.113730.1.13","nsComment");it("2.5.29.1","authorityKeyIdentifier");it("2.5.29.2","keyAttributes");it("2.5.29.3","certificatePolicies");it("2.5.29.4","keyUsageRestriction");it("2.5.29.5","policyMapping");it("2.5.29.6","subtreesConstraint");it("2.5.29.7","subjectAltName");it("2.5.29.8","issuerAltName");it("2.5.29.9","subjectDirectoryAttributes");it("2.5.29.10","basicConstraints");it("2.5.29.11","nameConstraints");it("2.5.29.12","policyConstraints");it("2.5.29.13","basicConstraints");_("2.5.29.14","subjectKeyIdentifier");_("2.5.29.15","keyUsage");it("2.5.29.16","privateKeyUsagePeriod");_("2.5.29.17","subjectAltName");_("2.5.29.18","issuerAltName");_("2.5.29.19","basicConstraints");it("2.5.29.20","cRLNumber");it("2.5.29.21","cRLReason");it("2.5.29.22","expirationDate");it("2.5.29.23","instructionCode");it("2.5.29.24","invalidityDate");it("2.5.29.25","cRLDistributionPoints");it("2.5.29.26","issuingDistributionPoint");it("2.5.29.27","deltaCRLIndicator");it("2.5.29.28","issuingDistributionPoint");it("2.5.29.29","certificateIssuer");it("2.5.29.30","nameConstraints");_("2.5.29.31","cRLDistributionPoints");_("2.5.29.32","certificatePolicies");it("2.5.29.33","policyMappings");it("2.5.29.34","policyConstraints");_("2.5.29.35","authorityKeyIdentifier");it("2.5.29.36","policyConstraints");_("2.5.29.37","extKeyUsage");it("2.5.29.46","freshestCRL");it("2.5.29.54","inhibitAnyPolicy");_("1.3.6.1.4.1.11129.2.4.2","timestampList");_("1.3.6.1.5.5.7.1.1","authorityInfoAccess");_("1.3.6.1.5.5.7.3.1","serverAuth");_("1.3.6.1.5.5.7.3.2","clientAuth");_("1.3.6.1.5.5.7.3.3","codeSigning");_("1.3.6.1.5.5.7.3.4","emailProtection");_("1.3.6.1.5.5.7.3.8","timeStamping")});var Sn=ct((X2,S0)=>{var ht=ot();St();li();var k=S0.exports=ht.asn1=ht.asn1||{};k.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};k.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};k.create=function(t,e,r,n,i){if(ht.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||ht.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=k.copy(a)),a};k.copy=function(t,e){var r;if(ht.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(k.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:k.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};k.equals=function(t,e,r){if(ht.util.isArray(t)){if(!ht.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!k.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&&k.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};k.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 En(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 zh=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;En(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};k.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=ht.util.createBuffer(t));var r=t.length(),n=di(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 di(t,e,r,n){var i;En(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var u=zh(t,e);if(e-=i-t.length(),u!==void 0&&u>e){if(n.strict){var c=new Error("Too few bytes to read ASN.1 value.");throw c.available=t.length(),c.remaining=e,c.requested=u,c}u=e}var f,h,l=(s&32)===32;if(l)if(f=[],u===void 0)for(;;){if(En(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),f.push(di(t,e,r+1,n)),e-=i-t.length()}else for(;u>0;)i=t.length(),f.push(di(t,u,r+1,n)),e-=i-t.length(),u-=i-t.length();if(f===void 0&&o===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&(h=t.bytes(u)),f===void 0&&n.decodeBitStrings&&o===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&u>1){var g=t.read,d=e,p=0;if(a===k.Type.BITSTRING&&(En(t,e,1),p=t.getByte(),e--),p===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},m=di(t,e,r+1,y),w=i-t.length();e-=w,a==k.Type.BITSTRING&&w++;var b=m.tagClass;w===u&&(b===k.Class.UNIVERSAL||b===k.Class.CONTEXT_SPECIFIC)&&(f=[m])}catch{}f===void 0&&(t.read=g,e=d)}if(f===void 0){if(u===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");u=e}if(a===k.Type.BMPSTRING)for(f="";u>0;u-=2)En(t,e,2),f+=String.fromCharCode(t.getInt16()),e-=2;else f=t.getBytes(u),e-=u}var T=h===void 0?null:{bitStringContents:h};return k.create(o,a,l,f,T)}k.toDer=function(t){var e=ht.util.createBuffer(),r=t.tagClass|t.type,n=ht.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=k.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(k.toDer(t.value[s]))}else if(t.type===k.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===k.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};k.oidToDer=function(t){var e=t.split("."),r=ht.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 u=i.length-1;u>=0;--u)r.putByte(i[u])}return r};k.derToOid=function(t){var e;typeof t=="string"&&(t=ht.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};k.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 u=t.charAt(10),c=10;u!=="+"&&u!=="-"&&(a=parseInt(t.substr(10,2),10),c+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),c&&(u=t.charAt(c),u==="+"||u==="-")){var f=parseInt(t.substr(c+1,2),10),h=parseInt(t.substr(c+4,2),10),l=f*60+h;l*=6e4,u==="+"?e.setTime(+e-l):e.setTime(+e+l)}return e};k.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),u=0,c=0,f=!1;t.charAt(t.length-1)==="Z"&&(f=!0);var h=t.length-5,l=t.charAt(h);if(l==="+"||l==="-"){var g=parseInt(t.substr(h+1,2),10),d=parseInt(t.substr(h+4,2),10);c=g*60+d,c*=6e4,l==="+"&&(c*=-1),f=!0}return t.charAt(14)==="."&&(u=parseFloat(t.substr(14),10)*1e3),f?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,u),e.setTime(+e+c)):(e.setFullYear(r,n,i),e.setHours(s,o,a,u)),e};k.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};k.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};k.integerToDer=function(t){var e=ht.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};k.derToInteger=function(t){typeof t=="string"&&(t=ht.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)};k.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&&ht.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=k.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 u=t.bitStringContents.charCodeAt(0);if(u!==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]/;k.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
6
6
|
`);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case k.Class.UNIVERSAL:n+="Universal:";break;case k.Class.APPLICATION:n+="Application:";break;case k.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case k.Class.PRIVATE:n+="Private:";break}if(t.tagClass===k.Class.UNIVERSAL)switch(n+=t.type,t.type){case k.Type.NONE:n+=" (None)";break;case k.Type.BOOLEAN:n+=" (Boolean)";break;case k.Type.INTEGER:n+=" (Integer)";break;case k.Type.BITSTRING:n+=" (Bit string)";break;case k.Type.OCTETSTRING:n+=" (Octet string)";break;case k.Type.NULL:n+=" (Null)";break;case k.Type.OID:n+=" (Object Identifier)";break;case k.Type.ODESC:n+=" (Object Descriptor)";break;case k.Type.EXTERNAL:n+=" (External or Instance of)";break;case k.Type.REAL:n+=" (Real)";break;case k.Type.ENUMERATED:n+=" (Enumerated)";break;case k.Type.EMBEDDED:n+=" (Embedded PDV)";break;case k.Type.UTF8:n+=" (UTF8)";break;case k.Type.ROID:n+=" (Relative Object Identifier)";break;case k.Type.SEQUENCE:n+=" (Sequence)";break;case k.Type.SET:n+=" (Set)";break;case k.Type.PRINTABLESTRING:n+=" (Printable String)";break;case k.Type.IA5String:n+=" (IA5String (ASCII))";break;case k.Type.UTCTIME:n+=" (UTC time)";break;case k.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case k.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
|
7
7
|
`,n+=i+"Constructed: "+t.constructed+`
|
8
8
|
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=k.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===k.Type.OID){var u=k.derToOid(t.value);n+=u,ht.pki&&ht.pki.oids&&u in ht.pki.oids&&(n+=" ("+ht.pki.oids[u]+") ")}if(t.type===k.Type.INTEGER)try{n+=k.derToInteger(t.value)}catch{n+="0x"+ht.util.bytesToHex(t.value)}else if(t.type===k.Type.BITSTRING){if(t.value.length>1?n+="0x"+ht.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var c=t.value.charCodeAt(0);c==1?n+=" (1 unused bit shown)":c>1&&(n+=" ("+c+" unused bits shown)")}}else if(t.type===k.Type.OCTETSTRING)E0.test(t.value)||(n+="("+t.value+") "),n+="0x"+ht.util.bytesToHex(t.value);else if(t.type===k.Type.UTF8)try{n+=ht.util.decodeUtf8(t.value)}catch(f){if(f.message==="URI malformed")n+="0x"+ht.util.bytesToHex(t.value)+" (malformed UTF8)";else throw f}else t.type===k.Type.PRINTABLESTRING||t.type===k.Type.IA5String?n+=t.value:E0.test(t.value)?n+="0x"+ht.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var I0=ct((J2,A0)=>{var pt=ot();qs();zs();St();A0.exports=pt.des=pt.des||{};pt.des.startEncrypting=function(t,e,r,n){var i=pi({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};pt.des.createEncryptionCipher=function(t,e){return pi({key:t,output:null,decrypt:!1,mode:e})};pt.des.startDecrypting=function(t,e,r,n){var i=pi({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};pt.des.createDecryptionCipher=function(t,e){return pi({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 B0(r._keys,n,i,!1)},decrypt:function(n,i){return B0(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=jh(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 Gh=[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],Yh=[-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],Wh=[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],Qh=[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],$h=[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],Zh=[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],Xh=[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],Jh=[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 jh(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],u=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],c=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],h=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],l=[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],d=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=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,T=0;T<p;T++){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 N=0;N<m.length;++N){m[N]?(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 L=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],G=u[S>>>28]|c[S>>>24&15]|f[S>>>20&15]|h[S>>>16&15]|l[S>>>12&15]|g[S>>>8&15]|d[S>>>4&15];b=(G>>>16^L)&65535,y[w++]=L^b,y[w++]=G^b<<16}}return y}function B0(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],u=e[1];o=(a>>>4^u)&252645135,u^=o,a^=o<<4,o=(a>>>16^u)&65535,u^=o,a^=o<<16,o=(u>>>2^a)&858993459,a^=o,u^=o<<2,o=(u>>>8^a)&16711935,a^=o,u^=o<<8,o=(a>>>1^u)&1431655765,u^=o,a^=o<<1,a=a<<1|a>>>31,u=u<<1|u>>>31;for(var c=0;c<i;c+=3){for(var f=s[c+1],h=s[c+2],l=s[c];l!=f;l+=h){var g=u^t[l],d=(u>>>4|u<<28)^t[l+1];o=a,a=u,u=o^(Yh[g>>>24&63]|Qh[g>>>16&63]|Zh[g>>>8&63]|Jh[g&63]|Gh[d>>>24&63]|Wh[d>>>16&63]|$h[d>>>8&63]|Xh[d&63])}o=a,a=u,u=o}a=a>>>1|a<<31,u=u>>>1|u<<31,o=(a>>>1^u)&1431655765,u^=o,a^=o<<1,o=(u>>>8^a)&16711935,a^=o,u^=o<<8,o=(u>>>2^a)&858993459,a^=o,u^=o<<2,o=(a>>>16^u)&65535,u^=o,a^=o<<16,o=(a>>>4^u)&252645135,u^=o,a^=o<<4,r[0]=a,r[1]=u}function pi(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 fr=ct((j2,C0)=>{var yi=ot();C0.exports=yi.md=yi.md||{};yi.md.algorithms=yi.md.algorithms||{}});var T0=ct((tm,_0)=>{var Re=ot();fr();St();var tl=_0.exports=Re.hmac=Re.hmac||{};tl.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 Re.md.algorithms)e=Re.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=Re.util.createBuffer(o);else if(Re.util.isArray(o)){var a=o;o=Re.util.createBuffer();for(var u=0;u<a.length;++u)o.putByte(a[u])}var c=o.length();c>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=Re.util.createBuffer(),n=Re.util.createBuffer(),c=o.length();for(var u=0;u<c;++u){var a=o.at(u);r.putByte(54^a),n.putByte(92^a)}if(c<e.blockLength)for(var a=e.blockLength-c,u=0;u<a;++u)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 gi=ct(()=>{});var Zs=ct((nm,R0)=>{var Zt=ot();T0();fr();St();var el=Zt.pkcs5=Zt.pkcs5||{},Ne;Zt.util.isNodejs&&!Zt.options.usePureJavaScript&&(Ne=gi());R0.exports=Zt.pbkdf2=el.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),Zt.util.isNodejs&&!Zt.options.usePureJavaScript&&Ne.pbkdf2&&(i===null||typeof i!="object")&&(Ne.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?Ne.pbkdf2Sync.length===4?Ne.pbkdf2(t,e,r,n,function(b,T){if(b)return s(b);s(null,T.toString("binary"))}):Ne.pbkdf2(t,e,r,n,i,function(b,T){if(b)return s(b);s(null,T.toString("binary"))}):Ne.pbkdf2Sync.length===4?Ne.pbkdf2Sync(t,e,r,n).toString("binary"):Ne.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Zt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Zt.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 u=Math.ceil(n/o),c=n-(u-1)*o,f=Zt.hmac.create();f.start(i,t);var h="",l,g,d;if(!s){for(var p=1;p<=u;++p){f.start(null,null),f.update(e),f.update(Zt.util.int32ToBytes(p)),l=d=f.digest().getBytes();for(var y=2;y<=r;++y)f.start(null,null),f.update(d),g=f.digest().getBytes(),l=Zt.util.xorBytes(l,g,o),d=g;h+=p<u?l:l.substr(0,c)}return h}var p=1,y;function m(){if(p>u)return s(null,h);f.start(null,null),f.update(e),f.update(Zt.util.int32ToBytes(p)),l=d=f.digest().getBytes(),y=2,w()}function w(){if(y<=r)return f.start(null,null),f.update(d),g=f.digest().getBytes(),l=Zt.util.xorBytes(l,g,o),d=g,++y,Zt.util.setImmediate(w);h+=p<u?l:l.substr(0,c),++p,m()}m()}});var D0=ct((im,L0)=>{var xi=ot();St();var N0=L0.exports=xi.pem=xi.pem||{};N0.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
@@ -12,7 +12,7 @@
|
|
12
12
|
`,r};N0.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:xi.util.decode64(s[3])};if(e.push(a),!!s[2]){for(var u=s[2].split(i),c=0;s&&c<u.length;){for(var f=u[c].replace(/\s+$/,""),h=c+1;h<u.length;++h){var l=u[h];if(!/\s/.test(l[0]))break;f+=l,c=h}if(s=f.match(n),s){for(var g={name:s[1],values:[]},d=s[2].split(","),p=0;p<d.length;++p)g.values.push(rl(d[p]));if(a.procType)if(!a.contentDomain&&g.name==="Content-Domain")a.contentDomain=d[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:d[0],parameters:d[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:d[0],type:d[1]}}}++c}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 mi(t){for(var e=t.name+": ",r=[],n=function(u,c){return" "+c},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
|
13
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
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 rl(t){return t.replace(/^\s+/,"")}});var M0=ct((sm,O0)=>{var xe=ot();fr();St();var k0=O0.exports=xe.sha256=xe.sha256||{};xe.md.sha256=xe.md.algorithms.sha256=k0;k0.create=function(){U0||nl();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(Xs.substr(0,n.blockLength-o));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};P0(h,r,i);var l=xe.util.createBuffer();return l.putInt32(h.h0),l.putInt32(h.h1),l.putInt32(h.h2),l.putInt32(h.h3),l.putInt32(h.h4),l.putInt32(h.h5),l.putInt32(h.h6),l.putInt32(h.h7),l},n};var Xs=null,U0=!1,K0=null;function nl(){Xs="\x80",Xs+=xe.util.fillString("\0",64),K0=[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],U0=!0}function P0(t,e,r){for(var n,i,s,o,a,u,c,f,h,l,g,d,p,y,m,w=r.length();w>=64;){for(c=0;c<16;++c)e[c]=r.getInt32();for(;c<64;++c)n=e[c-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[c-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[c]=n+e[c-7]+i+e[c-16]|0;for(f=t.h0,h=t.h1,l=t.h2,g=t.h3,d=t.h4,p=t.h5,y=t.h6,m=t.h7,c=0;c<64;++c)o=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=y^d&(p^y),s=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),u=f&h|l&(f^h),n=m+o+a+K0[c]+e[c],i=s+u,m=y,y=p,p=d,d=g+n>>>0,g=l,l=h,h=f,f=n+i>>>0;t.h0=t.h0+f|0,t.h1=t.h1+h|0,t.h2=t.h2+l|0,t.h3=t.h3+g|0,t.h4=t.h4+d|0,t.h5=t.h5+p|0,t.h6=t.h6+y|0,t.h7=t.h7+m|0,w-=64}}});var V0=ct((om,F0)=>{var be=ot();St();var bi=null;be.util.isNodejs&&!be.options.usePureJavaScript&&!process.versions["node-webkit"]&&(bi=gi());var il=F0.exports=be.prng=be.prng||{};il.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(c,f){if(!f)return e.generateSync(c);var h=e.plugin.cipher,l=e.plugin.increment,g=e.plugin.formatKey,d=e.plugin.formatSeed,p=be.util.createBuffer();e.key=null,y();function y(m){if(m)return f(m);if(p.length()>=c)return f(null,p.getBytes(c));if(e.generated>1048575&&(e.key=null),e.key===null)return be.util.nextTick(function(){s(y)});var w=h(e.key,e.seed);e.generated+=w.length,p.putBytes(w),e.key=g(h(e.key,l(e.seed))),e.seed=d(h(e.key,e.seed)),be.util.setImmediate(y)}},e.generateSync=function(c){var f=e.plugin.cipher,h=e.plugin.increment,l=e.plugin.formatKey,g=e.plugin.formatSeed;e.key=null;for(var d=be.util.createBuffer();d.length()<c;){e.generated>1048575&&(e.key=null),e.key===null&&o();var p=f(e.key,e.seed);e.generated+=p.length,d.putBytes(p),e.key=l(f(e.key,h(e.seed))),e.seed=g(f(e.key,e.seed))}return d.getBytes(c)};function s(c){if(e.pools[0].messageLength>=32)return a(),c();var f=32-e.pools[0].messageLength<<5;e.seedFile(f,function(h,l){if(h)return c(h);e.collect(l),a(),c()})}function o(){if(e.pools[0].messageLength>=32)return a();var c=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(c)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var c=e.plugin.md.create();c.update(e.keyBytes);for(var f=1,h=0;h<32;++h)e.reseeds%f===0&&(c.update(e.pools[h].digest().getBytes()),e.pools[h].start()),f=f<<1;e.keyBytes=c.digest().getBytes(),c.start(),c.update(e.keyBytes);var l=c.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(l),e.generated=0}function u(c){var f=null,h=be.util.globalScope,l=h.crypto||h.msCrypto;l&&l.getRandomValues&&(f=function(E){return l.getRandomValues(E)});var g=be.util.createBuffer();if(f)for(;g.length()<c;){var d=Math.max(1,Math.min(c-g.length(),65536)/4),p=new Uint32Array(Math.floor(d));try{f(p);for(var y=0;y<p.length;++y)g.putInt32(p[y])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(g.length()<c)for(var m,w,b,T=Math.floor(Math.random()*65536);g.length()<c;){w=16807*(T&65535),m=16807*(T>>16),w+=(m&32767)<<16,w+=m>>15,w=(w&2147483647)+(w>>31),T=w&4294967295;for(var y=0;y<3;++y)b=T>>>(y<<3),b^=Math.floor(Math.random()*256),g.putByte(b&255)}return g.getBytes(c)}return bi?(e.seedFile=function(c,f){bi.randomBytes(c,function(h,l){if(h)return f(h);f(null,l.toString())})},e.seedFileSync=function(c){return bi.randomBytes(c).toString()}):(e.seedFile=function(c,f){try{f(null,u(c))}catch(h){f(h)}},e.seedFileSync=u),e.collect=function(c){for(var f=c.length,h=0;h<f;++h)e.pools[e.pool].update(c.substr(h,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(c,f){for(var h="",l=0;l<f;l+=8)h+=String.fromCharCode(c>>l&255);e.collect(h)},e.registerWorker=function(c){if(c===self)e.seedFile=function(h,l){function g(d){var p=d.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",g),l(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",g),self.postMessage({forge:{prng:{needed:h}}})};else{var f=function(h){var l=h.data;l.forge&&l.forge.prng&&e.seedFile(l.forge.prng.needed,function(g,d){c.postMessage({forge:{prng:{err:g,bytes:d}}})})};c.addEventListener("message",f)}},e}});var Bn=ct((am,Js)=>{var Ut=ot();fi();M0();V0();St();(function(){if(Ut.random&&Ut.random.getBytes){Js.exports=Ut.random;return}(function(t){var e={},r=new Array(4),n=Ut.util.createBuffer();e.formatKey=function(h){var l=Ut.util.createBuffer(h);return h=new Array(4),h[0]=l.getInt32(),h[1]=l.getInt32(),h[2]=l.getInt32(),h[3]=l.getInt32(),Ut.aes._expandKey(h,!1)},e.formatSeed=function(h){var l=Ut.util.createBuffer(h);return h=new Array(4),h[0]=l.getInt32(),h[1]=l.getInt32(),h[2]=l.getInt32(),h[3]=l.getInt32(),h},e.cipher=function(h,l){return Ut.aes._updateBlock(h,l,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(h){return++h[3],h},e.md=Ut.md.sha256;function i(){var h=Ut.prng.create(e);return h.getBytes=function(l,g){return h.generate(l,g)},h.getBytesSync=function(l){return h.generate(l)},h}var s=i(),o=null,a=Ut.util.globalScope,u=a.crypto||a.msCrypto;if(u&&u.getRandomValues&&(o=function(h){return u.getRandomValues(h)}),Ut.options.usePureJavaScript||!Ut.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var c="";for(var f in navigator)try{typeof navigator[f]=="string"&&(c+=navigator[f])}catch{}s.collect(c),c=null}t&&(t().mousemove(function(h){s.collectInt(h.clientX,16),s.collectInt(h.clientY,16)}),t().keypress(function(h){s.collectInt(h.charCode,8)}))}if(!Ut.random)Ut.random=s;else for(var f in s)Ut.random[f]=s[f];Ut.random.createInstance=i,Js.exports=Ut.random})(typeof jQuery<"u"?jQuery:null)})()});var G0=ct((um,z0)=>{var Xt=ot();St();var js=[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],q0=[1,2,3,5],sl=function(t,e){return t<<e&65535|(t&65535)>>16-e},ol=function(t,e){return(t&65535)>>e|t<<16-e&65535};z0.exports=Xt.rc2=Xt.rc2||{};Xt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Xt.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(js[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,js[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,js[r.at(a+1)^r.at(a+s)]);return r};var H0=function(t,e,r){var n=!1,i=null,s=null,o=null,a,u,c,f,h=[];for(t=Xt.rc2.expandKey(t,e),c=0;c<64;c++)h.push(t.getInt16Le());r?(a=function(d){for(c=0;c<4;c++)d[c]+=h[f]+(d[(c+3)%4]&d[(c+2)%4])+(~d[(c+3)%4]&d[(c+1)%4]),d[c]=sl(d[c],q0[c]),f++},u=function(d){for(c=0;c<4;c++)d[c]+=h[d[(c+3)%4]&63]}):(a=function(d){for(c=3;c>=0;c--)d[c]=ol(d[c],q0[c]),d[c]-=h[f]+(d[(c+3)%4]&d[(c+2)%4])+(~d[(c+3)%4]&d[(c+1)%4]),f--},u=function(d){for(c=3;c>=0;c--)d[c]-=h[d[(c+3)%4]&63]});var l=function(d){var p=[];for(c=0;c<4;c++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),p.push(y&65535)}f=r?0:63;for(var m=0;m<d.length;m++)for(var w=0;w<d[m][0];w++)d[m][1](p);for(c=0;c<4;c++)o!==null&&(r?o.putInt16Le(p[c]):p[c]^=o.getInt16Le()),s.putInt16Le(p[c])},g=null;return g={start:function(d,p){d&&typeof d=="string"&&(d=Xt.util.createBuffer(d)),n=!1,i=Xt.util.createBuffer(),s=p||new Xt.util.createBuffer,o=d,g.output=s},update:function(d){for(n||i.putBuffer(d);i.length()>=8;)l([[5,a],[1,u],[6,a],[1,u],[5,a]])},finish:function(d){var p=!0;if(r)if(d)p=d(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(p&&(n=!0,g.update()),!r&&(p=i.length()===0,p))if(d)p=d(8,s,!r);else{var m=s.length(),w=s.at(m-1);w>m?p=!1:s.truncate(w)}return p}},g};Xt.rc2.startEncrypting=function(t,e,r){var n=Xt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Xt.rc2.createEncryptionCipher=function(t,e){return H0(t,e,!0)};Xt.rc2.startDecrypting=function(t,e,r){var n=Xt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Xt.rc2.createDecryptionCipher=function(t,e){return H0(t,e,!1)}});var Ei=ct((cm,j0)=>{var to=ot();j0.exports=to.jsbn=to.jsbn||{};var Le,al=0xdeadbeefcafe,Y0=(al&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))}to.jsbn.BigInteger=I;function et(){return new I(null)}function ul(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 cl(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var u=this.data[t]&32767,c=this.data[t++]>>15,f=a*u+c*o;u=o*u+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(u>>>30)+(f>>>15)+a*c+(i>>>30),r.data[n++]=u&1073741823}return i}function W0(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var u=this.data[t]&16383,c=this.data[t++]>>14,f=a*u+c*o;u=o*u+((f&16383)<<14)+r.data[n]+i,i=(u>>28)+(f>>14)+a*c,r.data[n++]=u&268435455}return i}typeof navigator>"u"?(I.prototype.am=W0,Le=28):Y0&&navigator.appName=="Microsoft Internet Explorer"?(I.prototype.am=cl,Le=30):Y0&&navigator.appName!="Netscape"?(I.prototype.am=ul,Le=26):(I.prototype.am=W0,Le=28);I.prototype.DB=Le;I.prototype.DM=(1<<Le)-1;I.prototype.DV=1<<Le;var eo=52;I.prototype.FV=Math.pow(2,eo);I.prototype.F1=eo-Le;I.prototype.F2=2*Le-eo;var fl="0123456789abcdefghijklmnopqrstuvwxyz",vi=new Array,Fr,ne;Fr=48;for(ne=0;ne<=9;++ne)vi[Fr++]=ne;Fr=97;for(ne=10;ne<36;++ne)vi[Fr++]=ne;Fr=65;for(ne=10;ne<36;++ne)vi[Fr++]=ne;function Q0(t){return fl.charAt(t)}function $0(t,e){var r=vi[t.charCodeAt(e)];return r??-1}function hl(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 ll(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 Qe(t){var e=et();return e.fromInt(t),e}function dl(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:$0(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 pl(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function yl(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=Q0(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+=Q0(n));return i?s:"0"}function gl(){var t=et();return I.ZERO.subTo(this,t),t}function ml(){return this.s<0?this.negate():this}function xl(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 wi(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 bl(){return this.t<=0?0:this.DB*(this.t-1)+wi(this.data[this.t-1]^this.s&this.DM)}function vl(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 wl(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 El(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 Sl(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 Bl(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 Al(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 Il(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 Cl(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=et());var s=et(),o=this.s,a=t.s,u=this.DB-wi(n.data[n.t-1]);u>0?(n.lShiftTo(u,s),i.lShiftTo(u,r)):(n.copyTo(s),i.copyTo(r));var c=s.t,f=s.data[c-1];if(f!=0){var h=f*(1<<this.F1)+(c>1?s.data[c-2]>>this.F2:0),l=this.FV/h,g=(1<<this.F1)/h,d=1<<this.F2,p=r.t,y=p-c,m=e??et();for(s.dlShiftTo(y,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),I.ONE.dlShiftTo(c,m),m.subTo(s,s);s.t<c;)s.data[s.t++]=0;for(;--y>=0;){var w=r.data[--p]==f?this.DM:Math.floor(r.data[p]*l+(r.data[p-1]+d)*g);if((r.data[p]+=s.am(0,w,r,y,0,c))<w)for(s.dlShiftTo(y,m),r.subTo(m,r);r.data[p]<--w;)r.subTo(m,r)}e!=null&&(r.drShiftTo(c,e),o!=a&&I.ZERO.subTo(e,e)),r.t=c,r.clamp(),u>0&&r.rShiftTo(u,r),o<0&&I.ZERO.subTo(r,r)}}}function _l(t){var e=et();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(I.ZERO)>0&&t.subTo(e,e),e}function hr(t){this.m=t}function Tl(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function Rl(t){return t}function Nl(t){t.divRemTo(this.m,null,t)}function Ll(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Dl(t,e){t.squareTo(e),this.reduce(e)}hr.prototype.convert=Tl;hr.prototype.revert=Rl;hr.prototype.reduce=Nl;hr.prototype.mulTo=Ll;hr.prototype.sqrTo=Dl;function Pl(){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 lr(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 kl(t){var e=et();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 Ul(t){var e=et();return t.copyTo(e),this.reduce(e),e}function Kl(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 Ol(t,e){t.squareTo(e),this.reduce(e)}function Ml(t,e,r){t.multiplyTo(e,r),this.reduce(r)}lr.prototype.convert=kl;lr.prototype.revert=Ul;lr.prototype.reduce=Kl;lr.prototype.mulTo=Ml;lr.prototype.sqrTo=Ol;function Fl(){return(this.t>0?this.data[0]&1:this.s)==0}function Vl(t,e){if(t>4294967295||t<1)return I.ONE;var r=et(),n=et(),i=e.convert(this),s=wi(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 ql(t,e){var r;return t<256||e.isEven()?r=new hr(e):r=new lr(e),this.exp(t,r)}I.prototype.copyTo=hl;I.prototype.fromInt=ll;I.prototype.fromString=dl;I.prototype.clamp=pl;I.prototype.dlShiftTo=vl;I.prototype.drShiftTo=wl;I.prototype.lShiftTo=El;I.prototype.rShiftTo=Sl;I.prototype.subTo=Bl;I.prototype.multiplyTo=Al;I.prototype.squareTo=Il;I.prototype.divRemTo=Cl;I.prototype.invDigit=Pl;I.prototype.isEven=Fl;I.prototype.exp=Vl;I.prototype.toString=yl;I.prototype.negate=gl;I.prototype.abs=ml;I.prototype.compareTo=xl;I.prototype.bitLength=bl;I.prototype.mod=_l;I.prototype.modPowInt=ql;I.ZERO=Qe(0);I.ONE=Qe(1);function Hl(){var t=et();return this.copyTo(t),t}function zl(){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 Gl(){return this.t==0?this.s:this.data[0]<<24>>24}function Yl(){return this.t==0?this.s:this.data[0]<<16>>16}function Wl(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Ql(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function $l(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=Qe(r),i=et(),s=et(),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 Zl(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 u=$0(t,a);if(u<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+u,++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 Xl(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),ro,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 Jl(){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 jl(t){return this.compareTo(t)==0}function td(t){return this.compareTo(t)<0?this:t}function ed(t){return this.compareTo(t)>0?this:t}function rd(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 nd(t,e){return t&e}function id(t){var e=et();return this.bitwiseTo(t,nd,e),e}function ro(t,e){return t|e}function sd(t){var e=et();return this.bitwiseTo(t,ro,e),e}function Z0(t,e){return t^e}function od(t){var e=et();return this.bitwiseTo(t,Z0,e),e}function X0(t,e){return t&~e}function ad(t){var e=et();return this.bitwiseTo(t,X0,e),e}function ud(){for(var t=et(),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 cd(t){var e=et();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function fd(t){var e=et();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function hd(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 ld(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+hd(this.data[t]);return this.s<0?this.t*this.DB:-1}function dd(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function pd(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=dd(this.data[r]^e);return t}function yd(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function gd(t,e){var r=I.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function md(t){return this.changeBit(t,ro)}function xd(t){return this.changeBit(t,X0)}function bd(t){return this.changeBit(t,Z0)}function vd(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 wd(t){var e=et();return this.addTo(t,e),e}function Ed(t){var e=et();return this.subTo(t,e),e}function Sd(t){var e=et();return this.multiplyTo(t,e),e}function Bd(t){var e=et();return this.divRemTo(t,e,null),e}function Ad(t){var e=et();return this.divRemTo(t,null,e),e}function Id(t){var e=et(),r=et();return this.divRemTo(t,e,r),new Array(e,r)}function Cd(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function _d(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 An(){}function J0(t){return t}function Td(t,e,r){t.multiplyTo(e,r)}function Rd(t,e){t.squareTo(e)}An.prototype.convert=J0;An.prototype.revert=J0;An.prototype.mulTo=Td;An.prototype.sqrTo=Rd;function Nd(t){return this.exp(t,new An)}function Ld(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 Dd(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 Vr(t){this.r2=et(),this.q3=et(),I.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function Pd(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=et();return t.copyTo(e),this.reduce(e),e}function kd(t){return t}function Ud(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 Kd(t,e){t.squareTo(e),this.reduce(e)}function Od(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Vr.prototype.convert=Pd;Vr.prototype.revert=kd;Vr.prototype.reduce=Ud;Vr.prototype.mulTo=Od;Vr.prototype.sqrTo=Kd;function Md(t,e){var r=t.bitLength(),n,i=Qe(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 hr(e):e.isEven()?s=new Vr(e):s=new lr(e);var o=new Array,a=3,u=n-1,c=(1<<n)-1;if(o[1]=s.convert(this),n>1){var f=et();for(s.sqrTo(o[1],f);a<=c;)o[a]=et(),s.mulTo(f,o[a-2],o[a]),a+=2}var h=t.t-1,l,g=!0,d=et(),p;for(r=wi(t.data[h])-1;h>=0;){for(r>=u?l=t.data[h]>>r-u&c:(l=(t.data[h]&(1<<r+1)-1)<<u-r,h>0&&(l|=t.data[h-1]>>this.DB+r-u)),a=n;!(l&1);)l>>=1,--a;if((r-=a)<0&&(r+=this.DB,--h),g)o[l].copyTo(i),g=!1;else{for(;a>1;)s.sqrTo(i,d),s.sqrTo(d,i),a-=2;a>0?s.sqrTo(i,d):(p=i,i=d,d=p),s.mulTo(d,o[l],i)}for(;h>=0&&!(t.data[h]&1<<r);)s.sqrTo(i,d),p=i,i=d,d=p,--r<0&&(r=this.DB-1,--h)}return s.revert(i)}function Fd(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 Vd(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 qd(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return I.ZERO;for(var r=t.clone(),n=this.clone(),i=Qe(1),s=Qe(0),o=Qe(0),a=Qe(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 ue=[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],Hd=(1<<26)/ue[ue.length-1];function zd(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=ue[ue.length-1]){for(e=0;e<ue.length;++e)if(r.data[0]==ue[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<ue.length;){for(var n=ue[e],i=e+1;i<ue.length&&n<Hd;)n*=ue[i++];for(n=r.modInt(n);e<i;)if(n%ue[e++]==0)return!1}return r.millerRabin(t)}function Gd(t){var e=this.subtract(I.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Yd(),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 u=1;u++<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 Yd(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}I.prototype.chunkSize=Wl;I.prototype.toRadix=$l;I.prototype.fromRadix=Zl;I.prototype.fromNumber=Xl;I.prototype.bitwiseTo=rd;I.prototype.changeBit=gd;I.prototype.addTo=vd;I.prototype.dMultiply=Cd;I.prototype.dAddOffset=_d;I.prototype.multiplyLowerTo=Ld;I.prototype.multiplyUpperTo=Dd;I.prototype.modInt=Vd;I.prototype.millerRabin=Gd;I.prototype.clone=Hl;I.prototype.intValue=zl;I.prototype.byteValue=Gl;I.prototype.shortValue=Yl;I.prototype.signum=Ql;I.prototype.toByteArray=Jl;I.prototype.equals=jl;I.prototype.min=td;I.prototype.max=ed;I.prototype.and=id;I.prototype.or=sd;I.prototype.xor=od;I.prototype.andNot=ad;I.prototype.not=ud;I.prototype.shiftLeft=cd;I.prototype.shiftRight=fd;I.prototype.getLowestSetBit=ld;I.prototype.bitCount=pd;I.prototype.testBit=yd;I.prototype.setBit=md;I.prototype.clearBit=xd;I.prototype.flipBit=bd;I.prototype.add=wd;I.prototype.subtract=Ed;I.prototype.multiply=Sd;I.prototype.divide=Bd;I.prototype.remainder=Ad;I.prototype.divideAndRemainder=Id;I.prototype.modPow=Md;I.prototype.modInverse=qd;I.prototype.pow=Nd;I.prototype.gcd=Fd;I.prototype.isProbablePrime=zd});var iu=ct((fm,nu)=>{var ve=ot();fr();St();var eu=nu.exports=ve.sha1=ve.sha1||{};ve.md.sha1=ve.md.algorithms.sha1=eu;eu.create=function(){ru||Wd();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),tu(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(no.substr(0,n.blockLength-o));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};tu(h,r,i);var l=ve.util.createBuffer();return l.putInt32(h.h0),l.putInt32(h.h1),l.putInt32(h.h2),l.putInt32(h.h3),l.putInt32(h.h4),l},n};var no=null,ru=!1;function Wd(){no="\x80",no+=ve.util.fillString("\0",64),ru=!0}function tu(t,e,r){for(var n,i,s,o,a,u,c,f,h=r.length();h>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,u=t.h4,f=0;f<16;++f)n=r.getInt32(),e[f]=n,c=a^s&(o^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=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,c=a^s&(o^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=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,c=s^o^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=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,c=s^o^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=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,c=s&o|a&(s^o),n=(i<<5|i>>>27)+c+u+2400959708+n,u=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,c=s^o^a,n=(i<<5|i>>>27)+c+u+3395469782+n,u=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+u|0,h-=64}}});var au=ct((hm,ou)=>{var we=ot();St();Bn();iu();var su=ou.exports=we.pkcs1=we.pkcs1||{};su.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),u=a-2*s.digestLength-2;if(e.length>u){var c=new Error("RSAES-OAEP input message length is too long.");throw c.length=e.length,c.maxLength=u,c}n||(n=""),s.update(n,"raw");for(var f=s.digest(),h="",l=u-e.length,g=0;g<l;g++)h+="\0";var d=f.getBytes()+h+""+e;if(!i)i=we.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var c=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw c.seedLength=i.length,c.digestLength=s.digestLength,c}var p=Si(i,a-s.digestLength-1,o),y=we.util.xorBytes(d,p,d.length),m=Si(y,s.digestLength,o),w=we.util.xorBytes(i,m,i.length);return"\0"+w+y};su.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(),u=e.charAt(0),c=e.substring(1,i.digestLength+1),f=e.substring(1+i.digestLength),h=Si(f,i.digestLength,s),l=we.util.xorBytes(c,h,c.length),g=Si(l,o-i.digestLength-1,s),d=we.util.xorBytes(f,g,f.length),p=d.substring(0,i.digestLength),y=u!=="\0",m=0;m<i.digestLength;++m)y|=a.charAt(m)!==p.charAt(m);for(var w=1,b=i.digestLength,T=i.digestLength;T<d.length;T++){var E=d.charCodeAt(T),S=E&1^1,N=w?65534:0;y|=E&N,w=w&S,b+=w}if(y||d.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(b+1)};function Si(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 uu=ct((lm,io)=>{var $e=ot();St();Ei();Bn();(function(){if($e.prime){io.exports=$e.prime;return}var t=io.exports=$e.prime=$e.prime||{},e=$e.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(h,l){return h|l};t.generateProbablePrime=function(h,l,g){typeof l=="function"&&(g=l,l={}),l=l||{};var d=l.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var p=l.prng||$e.random,y={nextBytes:function(m){for(var w=p.getBytesSync(m.length),b=0;b<m.length;++b)m[b]=w.charCodeAt(b)}};if(d.name==="PRIMEINC")return s(h,y,d.options,g);throw new Error("Invalid prime generation algorithm: "+d.name)};function s(h,l,g,d){return"workers"in g?u(h,l,g,d):o(h,l,g,d)}function o(h,l,g,d){var p=c(h,l),y=0,m=f(p.bitLength());"millerRabinTests"in g&&(m=g.millerRabinTests);var w=10;"maxBlockTime"in g&&(w=g.maxBlockTime),a(p,h,l,y,m,w,d)}function a(h,l,g,d,p,y,m){var w=+new Date;do{if(h.bitLength()>l&&(h=c(l,g)),h.isProbablePrime(p))return m(null,h);h.dAddOffset(r[d++%8],0)}while(y<0||+new Date-w<y);$e.util.setImmediate(function(){a(h,l,g,d,p,y,m)})}function u(h,l,g,d){if(typeof Worker>"u")return o(h,l,g,d);var p=c(h,l),y=g.workers,m=g.workLoad||100,w=m*30/8,b=g.workerScript||"forge/prime.worker.js";if(y===-1)return $e.util.estimateCores(function(E,S){E&&(S=2),y=S-1,T()});T();function T(){y=Math.max(1,y);for(var E=[],S=0;S<y;++S)E[S]=new Worker(b);for(var N=y,S=0;S<y;++S)E[S].addEventListener("message",G);var L=!1;function G(z){if(!L){--N;var q=z.data;if(q.found){for(var X=0;X<E.length;++X)E[X].terminate();return L=!0,d(null,new e(q.prime,16))}p.bitLength()>h&&(p=c(h,l));var at=p.toString(16);z.target.postMessage({hex:at,workLoad:m}),p.dAddOffset(w,0)}}}}function c(h,l){var g=new e(h,l),d=h-1;return g.testBit(d)||g.bitwiseTo(e.ONE.shiftLeft(d),i,g),g.dAddOffset(31-g.mod(n).byteValue(),0),g}function f(h){return h<=100?27:h<=150?18:h<=200?15:h<=250?12:h<=300?9:h<=350?8:h<=400?7:h<=500?6:h<=600?5:h<=800?4:h<=1250?3:2}})()});var Ai=ct((dm,yu)=>{var V=ot();Sn();Ei();li();au();uu();Bn();St();typeof tt>"u"&&(tt=V.jsbn.BigInteger);var tt,so=V.util.isNodejs?gi():null,v=V.asn1,ie=V.util;V.pki=V.pki||{};yu.exports=V.pki.rsa=V.rsa=V.rsa||{};var Y=V.pki,Qd=[6,4,2,4,2,4,6,2],$d={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"}]},Zd={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"}]},Xd={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"}]},Jd=V.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"}]}]},jd={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"}]},tp=function(t){var e;if(t.algorithm in Y.oids)e=Y.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=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()},du=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(tt.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(tt.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new tt(V.util.bytesToHex(V.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(tt.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};Y.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=pu(t,e,r)):(i=V.util.createBuffer(),i.putBytes(t));for(var o=new tt(i.toHex(),16),a=du(o,e,n),u=a.toString(16),c=V.util.createBuffer(),f=s-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(V.util.hexToBytes(u)),c.getBytes()};Y.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 tt(V.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=du(o,e,r),u=a.toString(16),c=V.util.createBuffer(),f=i-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(V.util.hexToBytes(u)),n!==!1?Bi(c.getBytes(),e,r):c.getBytes()};Y.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||V.random,i={nextBytes:function(a){for(var u=n.getBytesSync(a.length),c=0;c<a.length;++c)a[c]=u.charCodeAt(c)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new tt(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};Y.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new tt(null);r.fromInt(30);for(var n=0,i=function(h,l){return h|l},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var u=t.p===null?t.pBits:t.qBits,c=u-1;t.pqState===0?(t.num=new tt(u,t.rng),t.num.testBit(c)||t.num.bitwiseTo(tt.ONE.shiftLeft(c),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>u?t.pqState=0:t.num.isProbablePrime(rp(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Qd[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(tt.ONE).gcd(t.e).compareTo(tt.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(tt.ONE),t.q1=t.q.subtract(tt.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(tt.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var f=t.e.modInverse(t.phi);t.keys={privateKey:Y.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:Y.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};Y.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!V.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(cu("generateKeyPair"))return so.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,u,c){if(a)return n(a);n(null,{privateKey:Y.privateKeyFromPem(c),publicKey:Y.publicKeyFromPem(u)})});if(fu("generateKey")&&fu("exportKey"))return ie.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:lu(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return ie.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var u=Y.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(a)));n(null,{privateKey:u,publicKey:Y.setRsaPublicKey(u.n,u.e)})}});if(hu("generateKey")&&hu("exportKey")){var i=ie.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:lu(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,c=ie.globalScope.msCrypto.subtle.exportKey("pkcs8",u.privateKey);c.oncomplete=function(f){var h=f.target.result,l=Y.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(h)));n(null,{privateKey:l,publicKey:Y.setRsaPublicKey(l.n,l.e)})},c.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(cu("generateKeyPairSync")){var s=so.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Y.privateKeyFromPem(s.privateKey),publicKey:Y.publicKeyFromPem(s.publicKey)}}}var o=Y.rsa.createKeyPairGenerationState(t,e,r);if(!n)return Y.rsa.stepKeyPairGenerationState(o,0),o.keys;ep(o,r,n)};Y.setRsaPublicKey=Y.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,u,c){return pu(a,u,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,u){return V.pkcs1.encode_rsa_oaep(u,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 Y.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(u,c){c=Bi(c,r,!0);var f=v.fromDer(c,{parseAllBytes:o._parseAllDigestBytes}),h={},l=[];if(!v.validate(f,jd,h,l)){var g=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw g.errors=l,g}var d=v.derToOid(h.algorithmIdentifier);if(!(d===V.oids.md2||d===V.oids.md5||d===V.oids.sha1||d===V.oids.sha224||d===V.oids.sha256||d===V.oids.sha384||d===V.oids.sha512||d===V.oids["sha512-224"]||d===V.oids["sha512-256"])){var g=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw g.oid=d,g}if((d===V.oids.md2||d===V.oids.md5)&&!("parameters"in h))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return u===h.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(u,c){return c=Bi(c,r,!0),u===c}});var a=Y.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};Y.setRsaPrivateKey=Y.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var u={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return u.decrypt=function(c,f,h){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var l=Y.rsa.decrypt(c,u,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Bi};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(g,d){return V.pkcs1.decode_rsa_oaep(d,g,h)}};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(l,u,!1)},u.sign=function(c,f){var h=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:tp},h=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return c}},h=1);var l=f.encode(c,u.n.bitLength());return Y.rsa.encrypt(l,u,h)},u};Y.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(Y.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())])};Y.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,$d,e,r)&&(t=v.fromDer(V.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Zd,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,u,c,f,h;return i=V.util.createBuffer(e.privateKeyModulus).toHex(),s=V.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=V.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=V.util.createBuffer(e.privateKeyPrime1).toHex(),u=V.util.createBuffer(e.privateKeyPrime2).toHex(),c=V.util.createBuffer(e.privateKeyExponent1).toHex(),f=V.util.createBuffer(e.privateKeyExponent2).toHex(),h=V.util.createBuffer(e.privateKeyCoefficient).toHex(),Y.setRsaPrivateKey(new tt(i,16),new tt(s,16),new tt(o,16),new tt(a,16),new tt(u,16),new tt(c,16),new tt(f,16),new tt(h,16))};Y.privateKeyToAsn1=Y.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))])};Y.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Jd,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==Y.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,Xd,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=V.util.createBuffer(e.publicKeyModulus).toHex(),o=V.util.createBuffer(e.publicKeyExponent).toHex();return Y.setRsaPublicKey(new tt(s,16),new tt(o,16))};Y.publicKeyToAsn1=Y.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(Y.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[Y.publicKeyToRSAPublicKey(t)])])};Y.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 pu(t,e,r){var n=V.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var u=0;u<o;++u)n.putByte(a)}else for(;o>0;){for(var c=0,f=V.random.getBytes(o),u=0;u<o;++u)a=f.charCodeAt(u),a===0?++c:n.putByte(a);o=c}return n.putByte(0),n.putBytes(t),n}function Bi(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=V.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var u=0;if(a===0){u=i-3-n;for(var c=0;c<u;++c)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(u=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++u}else if(a===2)for(u=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++u}var f=s.getByte();if(f!==0||u!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function ep(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,u){if(a)return r(a);if(t.p=u,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,u){V.prime.generateProbablePrime(a,n,u)}function o(a,u){if(a)return r(a);if(t.q=u,t.p.compareTo(t.q)<0){var c=t.p;t.p=t.q,t.q=c}if(t.p.subtract(tt.ONE).gcd(t.e).compareTo(tt.ONE)!==0){t.p=null,i();return}if(t.q.subtract(tt.ONE).gcd(t.e).compareTo(tt.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(tt.ONE),t.q1=t.q.subtract(tt.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(tt.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:Y.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:Y.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Ee(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=V.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function rp(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 cu(t){return V.util.isNodejs&&typeof so[t]=="function"}function fu(t){return typeof ie.globalScope<"u"&&typeof ie.globalScope.crypto=="object"&&typeof ie.globalScope.crypto.subtle=="object"&&typeof ie.globalScope.crypto.subtle[t]=="function"}function hu(t){return typeof ie.globalScope<"u"&&typeof ie.globalScope.msCrypto=="object"&&typeof ie.globalScope.msCrypto.subtle=="object"&&typeof ie.globalScope.msCrypto.subtle[t]=="function"}function lu(t){for(var e=V.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var wu=ct((pm,vu)=>{var U=ot();fi();Sn();I0();fr();li();Zs();D0();Bn();G0();Ai();St();typeof gu>"u"&&(gu=U.jsbn.BigInteger);var gu,B=U.asn1,W=U.pki=U.pki||{};vu.exports=W.pbe=U.pbe=U.pbe||{};var dr=W.oids,np={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"}]},ip={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"}]}]},sp={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"}]};W.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,u;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var c,f,h;switch(r.algorithm){case"aes128":o=16,c=16,f=dr["aes128-CBC"],h=U.aes.createEncryptionCipher;break;case"aes192":o=24,c=16,f=dr["aes192-CBC"],h=U.aes.createEncryptionCipher;break;case"aes256":o=32,c=16,f=dr["aes256-CBC"],h=U.aes.createEncryptionCipher;break;case"des":o=8,c=8,f=dr.desCBC,h=U.des.createEncryptionCipher;break;default:var l=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw l.algorithm=r.algorithm,l}var g="hmacWith"+r.prfAlgorithm.toUpperCase(),d=bu(g),p=U.pkcs5.pbkdf2(e,n,i,o,d),y=U.random.getBytesSync(c),m=h(p);m.start(y),m.update(B.toDer(t)),m.finish(),u=m.output.getBytes();var w=op(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(dr.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(dr.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),p=W.pbe.generatePkcs12Key(e,b,1,i,o),y=W.pbe.generatePkcs12Key(e,b,2,i,o),m=U.des.createEncryptionCipher(p);m.start(y),m.update(B.toDer(t)),m.finish(),u=m.output.getBytes(),a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(dr["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 l=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw l.algorithm=r.algorithm,l}var T=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[a,B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,u)]);return T};W.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!B.validate(t,np,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=W.pbe.getCipher(o,n.encryptionParams,e),u=U.util.createBuffer(n.encryptedData);return a.update(u),a.finish()&&(r=B.fromDer(a.output)),r};W.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:B.toDer(t).getBytes()};return U.pem.encode(r,{maxline:e})};W.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)};W.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=W.wrapRsaPrivateKey(W.privateKeyToAsn1(t));return n=W.encryptPrivateKeyInfo(n,e,r),W.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 u=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw u.algorithm=r.algorithm,u}var c=U.pbe.opensslDeriveBytes(e,s.substr(0,8),o),f=a(c);f.start(s),f.update(B.toDer(W.privateKeyToAsn1(t))),f.finish();var h={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(h)};W.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(h){return U.rc2.createDecryptionCipher(h,40)};break;case"RC2-64-CBC":s=8,o=function(h){return U.rc2.createDecryptionCipher(h,64)};break;case"RC2-128-CBC":s=16,o=function(h){return U.rc2.createDecryptionCipher(h,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=U.util.hexToBytes(n.dekInfo.parameters),u=U.pbe.opensslDeriveBytes(e,a.substr(0,8),s),c=o(u);if(c.start(a),c.update(U.util.createBuffer(n.body)),c.finish())r=c.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=W.decryptPrivateKeyInfo(B.fromDer(r),e):r=B.fromDer(r),r!==null&&(r=W.privateKeyFromAsn1(r)),r};W.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 u=s.digestLength,c=s.blockLength,f=new U.util.ByteBuffer,h=new U.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)h.putInt16(t.charCodeAt(a));h.putInt16(0)}var l=h.length(),g=e.length(),d=new U.util.ByteBuffer;d.fillWithByte(r,c);var p=c*Math.ceil(g/c),y=new U.util.ByteBuffer;for(a=0;a<p;a++)y.putByte(e.at(a%g));var m=c*Math.ceil(l/c),w=new U.util.ByteBuffer;for(a=0;a<m;a++)w.putByte(h.at(a%l));var b=y;b.putBuffer(w);for(var T=Math.ceil(i/u),E=1;E<=T;E++){var S=new U.util.ByteBuffer;S.putBytes(d.bytes()),S.putBytes(b.bytes());for(var N=0;N<n;N++)s.start(),s.update(S.getBytes()),S=s.digest();var L=new U.util.ByteBuffer;for(a=0;a<c;a++)L.putByte(S.at(a%u));var G=Math.ceil(g/c)+Math.ceil(l/c),z=new U.util.ByteBuffer;for(o=0;o<G;o++){var q=new U.util.ByteBuffer(b.getBytes(c)),X=511;for(a=L.length()-1;a>=0;a--)X=X>>8,X+=L.at(a)+q.at(a),q.setAt(a,X&255);z.putBuffer(q)}b=z,f.putBuffer(S)}return f.truncate(f.length()-i),f};W.pbe.getCipher=function(t,e,r){switch(t){case W.oids.pkcs5PBES2:return W.pbe.getCipherForPBES2(t,e,r);case W.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case W.oids["pbewithSHAAnd40BitRC2-CBC"]:return W.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}};W.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!B.validate(e,ip,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!==W.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!==W.oids["aes128-CBC"]&&t!==W.oids["aes192-CBC"]&&t!==W.oids["aes256-CBC"]&&t!==W.oids["des-EDE3-CBC"]&&t!==W.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 u,c;switch(W.oids[t]){case"aes128-CBC":u=16,c=U.aes.createDecryptionCipher;break;case"aes192-CBC":u=24,c=U.aes.createDecryptionCipher;break;case"aes256-CBC":u=32,c=U.aes.createDecryptionCipher;break;case"des-EDE3-CBC":u=24,c=U.des.createDecryptionCipher;break;case"desCBC":u=8,c=U.des.createDecryptionCipher;break}var f=xu(n.prfOid),h=U.pkcs5.pbkdf2(r,o,a,u,f),l=n.encIv,g=c(h);return g.start(l),g};W.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!B.validate(e,sp,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 u,c,f;switch(t){case W.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:u=24,c=8,f=U.des.startDecrypting;break;case W.oids["pbewithSHAAnd40BitRC2-CBC"]:u=5,c=8,f=function(p,y){var m=U.rc2.createDecryptionCipher(p,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 h=xu(n.prfOid),l=W.pbe.generatePkcs12Key(r,o,1,a,u,h);h.start();var g=W.pbe.generatePkcs12Key(r,o,2,a,c,h);return f(l,g)};W.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=[mu(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(mu(n,i[o-1]+t+e));return i.join("").substr(0,r)};function mu(t,e){return t.start().update(e).digest().getBytes()}function xu(t){var e;if(!t)e="hmacWithSHA1";else if(e=W.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 bu(e)}function bu(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 op(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(W.oids[n]).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.NULL,!1,"")])),i}});var dc=ct((cb,lc)=>{var dt=ot();fr();St();var Dn=lc.exports=dt.sha512=dt.sha512||{};dt.md.sha512=dt.md.algorithms.sha512=Dn;var fc=dt.sha384=dt.sha512.sha384=dt.sha512.sha384||{};fc.create=function(){return Dn.create("SHA-384")};dt.md.sha384=dt.md.algorithms.sha384=fc;dt.sha512.sha256=dt.sha512.sha256||{create:function(){return Dn.create("SHA-512/256")}};dt.md["sha512/256"]=dt.md.algorithms["sha512/256"]=dt.sha512.sha256;dt.sha512.sha224=dt.sha512.sha224||{create:function(){return Dn.create("SHA-512/224")}};dt.md["sha512/224"]=dt.md.algorithms["sha512/224"]=dt.sha512.sha224;Dn.create=function(t){if(hc||Ay(),typeof t>"u"&&(t="SHA-512"),!(t in vr))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=vr[t],r=null,n=dt.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 u=a.messageLengthSize/4,c=0;c<u;++c)a.fullMessageLength.push(0);n=dt.util.createBuffer(),r=new Array(e.length);for(var c=0;c<e.length;++c)r[c]=e[c].slice(0);return a},a.start(),a.update=function(u,c){c==="utf8"&&(u=dt.util.encodeUtf8(u));var f=u.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var h=a.fullMessageLength.length-1;h>=0;--h)a.fullMessageLength[h]+=f[1],f[1]=f[0]+(a.fullMessageLength[h]/4294967296>>>0),a.fullMessageLength[h]=a.fullMessageLength[h]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(u),cc(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var u=dt.util.createBuffer();u.putBytes(n.bytes());var c=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=c&a.blockLength-1;u.putBytes(Fo.substr(0,a.blockLength-f));for(var h,l,g=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)h=a.fullMessageLength[d+1]*8,l=h/4294967296>>>0,g+=l,u.putInt32(g>>>0),g=h>>>0;u.putInt32(g);for(var p=new Array(r.length),d=0;d<r.length;++d)p[d]=r[d].slice(0);cc(p,i,u);var y=dt.util.createBuffer(),m;t==="SHA-512"?m=p.length:t==="SHA-384"?m=p.length-2:m=p.length-4;for(var d=0;d<m;++d)y.putInt32(p[d][0]),(d!==m-1||t!=="SHA-512/224")&&y.putInt32(p[d][1]);return y},a};var Fo=null,hc=!1,Vo=null,vr=null;function Ay(){Fo="\x80",Fo+=dt.util.fillString("\0",128),Vo=[[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]],vr={},vr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],vr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],vr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],vr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],hc=!0}function cc(t,e,r){for(var n,i,s,o,a,u,c,f,h,l,g,d,p,y,m,w,b,T,E,S,N,L,G,z,q,X,at,Kt,C,P,R,D,A,K,F,H=r.length();H>=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],P=D[0],R=D[1],n=((P>>>19|R<<13)^(R>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|R>>>19)^(R<<3|P>>>29)^(P<<26|R>>>6))>>>0,K=e[C-15],P=K[0],R=K[1],s=((P>>>1|R<<31)^(P>>>8|R<<24)^P>>>7)>>>0,o=((P<<31|R>>>1)^(P<<24|R>>>8)^(P<<25|R>>>7))>>>0,A=e[C-7],F=e[C-16],R=i+A[1]+o+F[1],e[C][0]=n+A[0]+s+F[0]+(R/4294967296>>>0)>>>0,e[C][1]=R>>>0;for(p=t[0][0],y=t[0][1],m=t[1][0],w=t[1][1],b=t[2][0],T=t[2][1],E=t[3][0],S=t[3][1],N=t[4][0],L=t[4][1],G=t[5][0],z=t[5][1],q=t[6][0],X=t[6][1],at=t[7][0],Kt=t[7][1],C=0;C<80;++C)c=((N>>>14|L<<18)^(N>>>18|L<<14)^(L>>>9|N<<23))>>>0,f=((N<<18|L>>>14)^(N<<14|L>>>18)^(L<<23|N>>>9))>>>0,h=(q^N&(G^q))>>>0,l=(X^L&(z^X))>>>0,a=((p>>>28|y<<4)^(y>>>2|p<<30)^(y>>>7|p<<25))>>>0,u=((p<<4|y>>>28)^(y<<30|p>>>2)^(y<<25|p>>>7))>>>0,g=(p&m|b&(p^m))>>>0,d=(y&w|T&(y^w))>>>0,R=Kt+f+l+Vo[C][1]+e[C][1],n=at+c+h+Vo[C][0]+e[C][0]+(R/4294967296>>>0)>>>0,i=R>>>0,R=u+d,s=a+g+(R/4294967296>>>0)>>>0,o=R>>>0,at=q,Kt=X,q=G,X=z,G=N,z=L,R=S+i,N=E+n+(R/4294967296>>>0)>>>0,L=R>>>0,E=b,S=T,b=m,T=w,m=p,w=y,R=i+o,p=n+s+(R/4294967296>>>0)>>>0,y=R>>>0;R=t[0][1]+y,t[0][0]=t[0][0]+p+(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,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]+L,t[4][0]=t[4][0]+N+(R/4294967296>>>0)>>>0,t[4][1]=R>>>0,R=t[5][1]+z,t[5][0]=t[5][0]+G+(R/4294967296>>>0)>>>0,t[5][1]=R>>>0,R=t[6][1]+X,t[6][0]=t[6][0]+q+(R/4294967296>>>0)>>>0,t[6][1]=R>>>0,R=t[7][1]+Kt,t[7][0]=t[7][0]+at+(R/4294967296>>>0)>>>0,t[7][1]=R>>>0,H-=128}}});var c1={};It(c1,{PubSubBaseProtocol:()=>jo});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 Br=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 ye(e,r))}},Xi=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},ye=globalThis.CustomEvent??Xi;var tn;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(tn||(tn={}));var ca=Symbol.for("@libp2p/peer-id");var rs={};It(rs,{base58btc:()=>Wt,base58flickr:()=>lf});function af(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,u=t.charAt(0),c=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var p=0,y=0,m=0,w=d.length;m!==w&&d[m]===0;)m++,p++;for(var b=(w-m)*f+1>>>0,T=new Uint8Array(b);m!==w;){for(var E=d[m],S=0,N=b-1;(E!==0||S<y)&&N!==-1;N--,S++)E+=256*T[N]>>>0,T[N]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");y=S,m++}for(var L=b-y;L!==b&&T[L]===0;)L++;for(var G=u.repeat(p);L<b;++L)G+=t.charAt(T[L]);return G}function l(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var y=0,m=0;d[p]===u;)y++,p++;for(var w=(d.length-p)*c+1>>>0,b=new Uint8Array(w);d[p];){var T=r[d.charCodeAt(p)];if(T===255)return;for(var E=0,S=w-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,p++}if(d[p]!==" "){for(var N=w-m;N!==w&&b[N]===0;)N++;for(var L=new Uint8Array(y+(w-N)),G=y;N!==w;)L[G++]=b[N++];return L}}}function g(d){var p=l(d);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:l,decode:g}}var uf=af,cf=uf,fa=cf;var b1=new Uint8Array(0);var ha=(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},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")};var la=t=>new TextEncoder().encode(t),da=t=>new TextDecoder().decode(t);var Ji=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ji=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ya(this,e)}},ts=class{constructor(e){this.decoders=e}or(e){return ya(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},ya=(t,e)=>new ts({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),es=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ji(e,r,n),this.decoder=new ji(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Ar=({name:t,prefix:e,encode:r,decode:n})=>new es(t,e,r,n),Ve=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=fa(r,e);return Ar({prefix:t,name:e,encode:n,decode:s=>Ie(i(s))})},ff=(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,u=0,c=0;for(let f=0;f<s;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);u=u<<r|h,a+=r,a>=8&&(a-=8,o[c++]=255&u>>a)}if(a>=r||255&u<<8-a)throw new SyntaxError("Unexpected end of data");return o},hf=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let u=0;u<t.length;++u)for(a=a<<8|t[u],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},vt=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Ar({prefix:e,name:t,encode(i){return hf(i,n,r)},decode(i){return ff(i,n,r,t)}});var Wt=Ve({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),lf=Ve({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ns={};It(ns,{base10:()=>df});var df=Ve({prefix:"9",name:"base10",alphabet:"0123456789"});var is={};It(is,{base16:()=>pf,base16upper:()=>yf});var pf=vt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),yf=vt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ss={};It(ss,{base2:()=>gf});var gf=vt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var os={};It(os,{base256emoji:()=>wf});var ga=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}"),mf=ga.reduce((t,e,r)=>(t[r]=e,t),[]),xf=ga.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function bf(t){return t.reduce((e,r)=>(e+=mf[r],e),"")}function vf(t){let e=[];for(let r of t){let n=xf[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var wf=Ar({prefix:"\u{1F680}",name:"base256emoji",encode:bf,decode:vf});var as={};It(as,{base32:()=>Ir,base32hex:()=>Af,base32hexpad:()=>Cf,base32hexpadupper:()=>_f,base32hexupper:()=>If,base32pad:()=>Sf,base32padupper:()=>Bf,base32upper:()=>Ef,base32z:()=>Tf});var Ir=vt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ef=vt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Sf=vt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Bf=vt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Af=vt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),If=vt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Cf=vt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),_f=vt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Tf=vt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var us={};It(us,{base36:()=>Rf,base36upper:()=>Nf});var Rf=Ve({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Nf=Ve({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var cs={};It(cs,{base64:()=>en,base64pad:()=>Lf,base64url:()=>Df,base64urlpad:()=>Pf});var en=vt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Lf=vt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Df=vt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Pf=vt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var fs={};It(fs,{base8:()=>kf});var kf=vt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var hs={};It(hs,{identity:()=>Uf});var Uf=Ar({prefix:"\0",name:"identity",encode:t=>da(t),decode:t=>la(t)});var P1=new TextEncoder,k1=new TextDecoder;var ds={};It(ds,{identity:()=>qe});var Mf=ba,ma=128,Ff=127,Vf=~Ff,qf=Math.pow(2,31);function ba(t,e,r){e=e||[],r=r||0;for(var n=r;t>=qf;)e[r++]=t&255|ma,t/=128;for(;t&Vf;)e[r++]=t&255|ma,t>>>=7;return e[r]=t|0,ba.bytes=r-n+1,e}var Hf=ls,zf=128,xa=127;function ls(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw ls.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&xa)<<i:(o&xa)*Math.pow(2,i),i+=7}while(o>=zf);return ls.bytes=s-n,r}var Gf=Math.pow(2,7),Yf=Math.pow(2,14),Wf=Math.pow(2,21),Qf=Math.pow(2,28),$f=Math.pow(2,35),Zf=Math.pow(2,42),Xf=Math.pow(2,49),Jf=Math.pow(2,56),jf=Math.pow(2,63),th=function(t){return t<Gf?1:t<Yf?2:t<Wf?3:t<Qf?4:t<$f?5:t<Zf?6:t<Xf?7:t<Jf?8:t<jf?9:10},eh={encode:Mf,decode:Hf,encodingLength:th},rh=eh,rn=rh;var nn=(t,e=0)=>[rn.decode(t,e),rn.decode.bytes],Cr=(t,e,r=0)=>(rn.encode(t,e,r),e),_r=t=>rn.encodingLength(t);var ge=(t,e)=>{let r=e.byteLength,n=_r(t),i=n+_r(r),s=new Uint8Array(i+r);return Cr(t,s,0),Cr(r,s,n),s.set(e,i),new Tr(t,r,e,s)},sn=t=>{let e=Ie(t),[r,n]=nn(e),[i,s]=nn(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Tr(r,i,o,e)},va=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&ha(t.bytes,r.bytes)}},Tr=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var wa=0,nh="identity",Ea=Ie,ih=t=>ge(wa,Ea(t)),qe={code:wa,name:nh,encode:Ea,digest:ih};var gs={};It(gs,{sha256:()=>Nt,sha512:()=>sh});var ys=({name:t,code:e,encode:r})=>new ps(t,e,r),ps=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?ge(this.code,r):r.then(n=>ge(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Ba=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Nt=ys({name:"sha2-256",code:18,encode:Ba("SHA-256")}),sh=ys({name:"sha2-512",code:19,encode:Ba("SHA-512")});var Aa=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return ah(r,ms(t),e||Wt.encoder);default:return uh(r,ms(t),e||Ir.encoder)}};var Ia=new WeakMap,ms=t=>{let e=Ia.get(t);if(e==null){let r=new Map;return Ia.set(t,r),r}return e},ir=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==on)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==ch)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=ge(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&va(e.multihash,n.multihash)}toString(e){return Aa(this,e)}toJSON(){return{"/":Aa(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new t(n,i,s,o||Ca(n,i,s.bytes))}else if(r[fh]===!0){let{version:n,multihash:i,code:s}=r,o=sn(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!==on)throw new Error(`Version 0 CID must use dag-pb (code: ${on}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Ca(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,on,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=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 Tr(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[h,l]=nn(e.subarray(r));return r+=l,h},i=n(),s=on;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(),u=n(),c=r+u,f=c-o;return{version:i,codec:s,multihashCode:a,digestSize:u,multihashSize:f,size:c}}static parse(e,r){let[n,i]=oh(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 ms(s).set(n,e),s}},oh=(t,e)=>{switch(t[0]){case"Q":{let r=e||Wt;return[Wt.prefix,r.decode(`${Wt.prefix}${t}`)]}case Wt.prefix:{let r=e||Wt;return[Wt.prefix,r.decode(t)]}case Ir.prefix:{let r=e||Ir;return[Ir.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},ah=(t,e,r)=>{let{prefix:n}=r;if(n!==Wt.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},uh=(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},on=112,ch=18,Ca=(t,e,r)=>{let n=_r(t),i=n+_r(e),s=new Uint8Array(i+r.byteLength);return Cr(t,s,0),Cr(e,s,n),s.set(r,i),s},fh=Symbol.for("@ipld/js-cid/CID");var Nr={...hs,...ss,...fs,...ns,...is,...as,...us,...rs,...cs,...os},X1={...gs,...ds};function Vt(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 hh=Symbol.for("nodejs.util.inspect.custom"),_a=Object.values(Nr).map(t=>t.decoder).reduce((t,e)=>t.or(e),Nr.identity.decoder),Ta=114,xs=36,bs=37,an=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()})`}[ca]=!0;toString(){return this.string==null&&(this.string=Wt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ir.createV1(Ta,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Vt(this.multihash.bytes,e);if(typeof e=="string")return Ct(e).equals(this);if(e?.multihash?.bytes!=null)return Vt(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[hh](){return`PeerId(${this.toString()})`}},Lr=class extends an{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Dr=class extends an{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Pr=class extends an{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Ct(t,e){if(e=e??_a,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=sn(Wt.decode(`z${t}`));return t.startsWith("12D")?new Dr({multihash:r}):t.startsWith("16U")?new Pr({multihash:r}):new Lr({multihash:r})}return un(_a.decode(t))}function un(t){try{let e=sn(t);if(e.code===qe.code){if(e.digest.length===xs)return new Dr({multihash:e});if(e.digest.length===bs)return new Pr({multihash:e})}if(e.code===Nt.code)return new Lr({multihash:e})}catch{return lh(ir.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function lh(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Ta)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Nt.code)return new Lr({multihash:t.multihash});if(e.code===qe.code){if(e.digest.length===xs)return new Dr({multihash:t.multihash});if(e.digest.length===bs)return new Pr({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Hn(t,e){return t.length===xs?new Dr({multihash:ge(qe.code,t),privateKey:e}):t.length===bs?new Pr({multihash:ge(qe.code,t),privateKey:e}):new Lr({multihash:await Nt.digest(t),publicKey:t,privateKey:e})}function Ce(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 cn=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){this.map.delete(e.toString())}entries(){return Ce(this.map.entries(),e=>[Ct(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,Ct(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 Ce(this.map.keys(),e=>Ct(e))}values(){return this.map.values()}get size(){return this.map.size}};var fn=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 Ce(this.set.entries(),e=>{let r=Ct(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=Ct(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Ce(this.set.values(),e=>Ct(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var vs=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Ce(this.list.entries(),e=>Ct(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Ce(this.list.entries(),e=>[e[0],Ct(e[1])])}every(e){return this.list.every((r,n)=>e(Ct(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let s=Ct(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(Ct(n),i,this));if(r!=null)return Ct(r)}findIndex(e){return this.list.findIndex((r,n)=>e(Ct(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(Ct(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return Ct(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return Ct(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};function zn(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Gn=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 Gn(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 Gn(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 ws=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Ur(t={}){return dh(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 dh(t,e){e=e??{};let r=e.onEnd,n=new kr,i,s,o,a=zn(),u=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=zn()})}},c=y=>s!=null?s(y):(n.push(y),i),f=y=>(n=new kr,s!=null?s({error:y}):(n.push({error:y}),i)),h=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 c({done:!1,value:y})},l=y=>o?i:(o=!0,y!=null?f(y):c({done:!0})),g=()=>(n=new kr,l(),{done:!0}),d=y=>(l(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:u,return:g,throw:d,push:h,end:l,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((T,E)=>{b=()=>{E(new ws)},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 p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(y){return p.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(y){return p.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:y=>p.onEmpty(y)},i}function ph(t){return t[Symbol.asyncIterator]!=null}function yh(...t){let e=[];for(let r of t)ph(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Ur({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 Ra=yh;function hn(t,...e){if(t==null)throw new Error("Empty pipeline");if(Es(t)){let n=t;t=()=>n.source}else if(La(t)||Na(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Es(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++)Es(r[n])&&(r[n]=mh(r[n]));return gh(...r)}var gh=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Na=t=>t?.[Symbol.asyncIterator]!=null,La=t=>t?.[Symbol.iterator]!=null,Es=t=>t==null?!1:t.sink!=null&&t.source!=null,mh=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Ur({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=t.source;if(Na(s))i=async function*(){yield*s,n.end()};else if(La(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Ra(n,i())}return t.source};var Bs=Rt(Pa(),1);var dn=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},As=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},ka=t=>globalThis.DOMException===void 0?new As(t):new DOMException(t),Ua=t=>{let e=t.reason===void 0?ka("This operation was aborted."):t.reason;return e instanceof Error?e:ka(e)};function Is(t,e,r,n){let i,s=new Promise((o,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){o(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:u}=n;u.aborted&&a(Ua(u)),u.addEventListener("abort",()=>{a(Ua(u))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(f){a(f)}return}let u=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,c=r instanceof Error?r:new dn(u);typeof t.cancel=="function"&&t.cancel(),a(c)},e),(async()=>{try{o(await t)}catch(u){a(u)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Cs(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 sr=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},_e,_s=class{constructor(){_e.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&sr(this,_e,"f")[this.size-1].priority>=r.priority){sr(this,_e,"f").push(n);return}let i=Cs(sr(this,_e,"f"),n,(s,o)=>o.priority-s.priority);sr(this,_e,"f").splice(i,0,n)}dequeue(){let e=sr(this,_e,"f").shift();return e?.run}filter(e){return sr(this,_e,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return sr(this,_e,"f").length}};_e=new WeakMap;var Ka=_s;var mt=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},M=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Et,yn,gn,ze,Jn,mn,Wn,oe,pn,jt,Qn,te,xn,He,$n,Oa,Ma,qa,Fa,Va,Zn,Ts,Rs,jn,Ha,Xn,ti=class extends Error{},Ns=class extends Bs.default{constructor(e){var r,n,i,s;if(super(),Et.add(this),yn.set(this,void 0),gn.set(this,void 0),ze.set(this,0),Jn.set(this,void 0),mn.set(this,void 0),Wn.set(this,0),oe.set(this,void 0),pn.set(this,void 0),jt.set(this,void 0),Qn.set(this,void 0),te.set(this,0),xn.set(this,void 0),He.set(this,void 0),$n.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Ka,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);mt(this,yn,e.carryoverConcurrencyCount,"f"),mt(this,gn,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),mt(this,Jn,e.intervalCap,"f"),mt(this,mn,e.interval,"f"),mt(this,jt,new e.queueClass,"f"),mt(this,Qn,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,mt(this,$n,e.throwOnTimeout===!0,"f"),mt(this,He,e.autoStart===!1,"f")}get concurrency(){return M(this,xn,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);mt(this,xn,e,"f"),M(this,Et,"m",jn).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:M(this,$n,"f"),...r},new Promise((n,i)=>{M(this,jt,"f").enqueue(async()=>{var s,o,a;mt(this,te,(o=M(this,te,"f"),o++,o),"f"),mt(this,ze,(a=M(this,ze,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new ti("The task was aborted.");let u=e({signal:r.signal});r.timeout&&(u=Is(Promise.resolve(u),r.timeout)),r.signal&&(u=Promise.race([u,M(this,Et,"m",Ha).call(this,r.signal)]));let c=await u;n(c),this.emit("completed",c)}catch(u){if(u instanceof dn&&!r.throwOnTimeout){n();return}i(u),this.emit("error",u)}finally{M(this,Et,"m",qa).call(this)}},r),this.emit("add"),M(this,Et,"m",Zn).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return M(this,He,"f")?(mt(this,He,!1,"f"),M(this,Et,"m",jn).call(this),this):this}pause(){mt(this,He,!0,"f")}clear(){mt(this,jt,new(M(this,Qn,"f")),"f")}async onEmpty(){M(this,jt,"f").size!==0&&await M(this,Et,"m",Xn).call(this,"empty")}async onSizeLessThan(e){M(this,jt,"f").size<e||await M(this,Et,"m",Xn).call(this,"next",()=>M(this,jt,"f").size<e)}async onIdle(){M(this,te,"f")===0&&M(this,jt,"f").size===0||await M(this,Et,"m",Xn).call(this,"idle")}get size(){return M(this,jt,"f").size}sizeBy(e){return M(this,jt,"f").filter(e).length}get pending(){return M(this,te,"f")}get isPaused(){return M(this,He,"f")}};yn=new WeakMap,gn=new WeakMap,ze=new WeakMap,Jn=new WeakMap,mn=new WeakMap,Wn=new WeakMap,oe=new WeakMap,pn=new WeakMap,jt=new WeakMap,Qn=new WeakMap,te=new WeakMap,xn=new WeakMap,He=new WeakMap,$n=new WeakMap,Et=new WeakSet,Oa=function(){return M(this,gn,"f")||M(this,ze,"f")<M(this,Jn,"f")},Ma=function(){return M(this,te,"f")<M(this,xn,"f")},qa=function(){var e;mt(this,te,(e=M(this,te,"f"),e--,e),"f"),M(this,Et,"m",Zn).call(this),this.emit("next")},Fa=function(){M(this,Et,"m",Rs).call(this),M(this,Et,"m",Ts).call(this),mt(this,pn,void 0,"f")},Va=function(){let e=Date.now();if(M(this,oe,"f")===void 0){let r=M(this,Wn,"f")-e;if(r<0)mt(this,ze,M(this,yn,"f")?M(this,te,"f"):0,"f");else return M(this,pn,"f")===void 0&&mt(this,pn,setTimeout(()=>{M(this,Et,"m",Fa).call(this)},r),"f"),!0}return!1},Zn=function(){if(M(this,jt,"f").size===0)return M(this,oe,"f")&&clearInterval(M(this,oe,"f")),mt(this,oe,void 0,"f"),this.emit("empty"),M(this,te,"f")===0&&this.emit("idle"),!1;if(!M(this,He,"f")){let e=!M(this,Et,"a",Va);if(M(this,Et,"a",Oa)&&M(this,Et,"a",Ma)){let r=M(this,jt,"f").dequeue();return r?(this.emit("active"),r(),e&&M(this,Et,"m",Ts).call(this),!0):!1}}return!1},Ts=function(){M(this,gn,"f")||M(this,oe,"f")!==void 0||(mt(this,oe,setInterval(()=>{M(this,Et,"m",Rs).call(this)},M(this,mn,"f")),"f"),mt(this,Wn,Date.now()+M(this,mn,"f"),"f"))},Rs=function(){M(this,ze,"f")===0&&M(this,te,"f")===0&&M(this,oe,"f")&&(clearInterval(M(this,oe,"f")),mt(this,oe,void 0,"f")),mt(this,ze,M(this,yn,"f")?M(this,te,"f"):0,"f"),M(this,Et,"m",jn).call(this)},jn=function(){for(;M(this,Et,"m",Zn).call(this););},Ha=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new ti("The task was aborted."))},{once:!0})})},Xn=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var za=Ns;var Lt={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 Ga(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 Ya(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function Wa(t,e){let r=Ga(t).return?.();Ya(r)&&r.catch(n=>{e.error("could not cause iterator to return",n)})}function or(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Te(t=0){return globalThis.Buffer?.alloc!=null?or(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ht(t=0){return globalThis.Buffer?.allocUnsafe!=null?or(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}var vh=Math.pow(2,7),wh=Math.pow(2,14),Eh=Math.pow(2,21),Ls=Math.pow(2,28),Ds=Math.pow(2,35),Ps=Math.pow(2,42),ks=Math.pow(2,49),nt=128,zt=127;function ar(t){if(t<vh)return 1;if(t<wh)return 2;if(t<Eh)return 3;if(t<Ls)return 4;if(t<Ds)return 5;if(t<Ps)return 6;if(t<ks)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Sh(t,e,r=0){switch(ar(t)){case 8:e[r++]=t&255|nt,t/=128;case 7:e[r++]=t&255|nt,t/=128;case 6:e[r++]=t&255|nt,t/=128;case 5:e[r++]=t&255|nt,t/=128;case 4:e[r++]=t&255|nt,t>>>=7;case 3:e[r++]=t&255|nt,t>>>=7;case 2:e[r++]=t&255|nt,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Bh(t,e,r=0){switch(ar(t)){case 8:e.set(r++,t&255|nt),t/=128;case 7:e.set(r++,t&255|nt),t/=128;case 6:e.set(r++,t&255|nt),t/=128;case 5:e.set(r++,t&255|nt),t/=128;case 4:e.set(r++,t&255|nt),t>>>=7;case 3:e.set(r++,t&255|nt),t>>>=7;case 2:e.set(r++,t&255|nt),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Ah(t,e){let r=t[e],n=0;if(n+=r&zt,r<nt||(r=t[e+1],n+=(r&zt)<<7,r<nt)||(r=t[e+2],n+=(r&zt)<<14,r<nt)||(r=t[e+3],n+=(r&zt)<<21,r<nt)||(r=t[e+4],n+=(r&zt)*Ls,r<nt)||(r=t[e+5],n+=(r&zt)*Ds,r<nt)||(r=t[e+6],n+=(r&zt)*Ps,r<nt)||(r=t[e+7],n+=(r&zt)*ks,r<nt))return n;throw new RangeError("Could not decode varint")}function Ih(t,e){let r=t.get(e),n=0;if(n+=r&zt,r<nt||(r=t.get(e+1),n+=(r&zt)<<7,r<nt)||(r=t.get(e+2),n+=(r&zt)<<14,r<nt)||(r=t.get(e+3),n+=(r&zt)<<21,r<nt)||(r=t.get(e+4),n+=(r&zt)*Ls,r<nt)||(r=t.get(e+5),n+=(r&zt)*Ds,r<nt)||(r=t.get(e+6),n+=(r&zt)*Ps,r<nt)||(r=t.get(e+7),n+=(r&zt)*ks,r<nt))return n;throw new RangeError("Could not decode varint")}function Qa(t,e,r=0){return e==null&&(e=Ht(ar(t))),e instanceof Uint8Array?Sh(t,e,r):Bh(t,e,r)}function $a(t,e=0){return t instanceof Uint8Array?Ah(t,e):Ih(t,e)}function Gt(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Ht(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return or(r)}var Ja=Symbol.for("@achingbrain/uint8arraylist");function Xa(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 ei(t){return!!t?.[Ja]}var Ge=class t{constructor(...e){Object.defineProperty(this,Ja,{value:!0}),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(ei(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(ei(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=Xa(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Xa(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(ei(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 Gt(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Gt(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,u=a+o.byteLength;if(i=u,e>=u)continue;let c=e>=a&&e<u,f=r>a&&r<=u;if(c&&f){if(e===a&&r===u){n.push(o);break}let h=e-a;n.push(o.subarray(h,h+(r-e)));break}if(c){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(f){if(r===u){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(!ei(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 h=0;h<s;h++)o[h]=-1;for(let h=0;h<i;h++)o[n[h]]=h;let a=o,u=this.byteLength-n.byteLength,c=n.byteLength-1,f;for(let h=r;h<=u;h+=f){f=0;for(let l=c;l>=0;l--){let g=this.get(h+l);if(n[l]!==g){f=Math.max(1,l-a[g]);break}}if(f===0)return h}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Ht(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=Te(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=Te(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=Te(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=Ht(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=Te(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=Te(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=Te(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=Te(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=Te(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(!Vt(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 ri(t){return t[Symbol.asyncIterator]!=null}var ni=t=>{let e=ar(t),r=Ht(e);return Qa(t,r),ni.bytes=e,r};ni.bytes=0;function ii(t,e){e=e??{};let r=e.lengthEncoder??ni;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return ri(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}ii.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??ni;return new Ge(r(t.byteLength),t)};var Kr=Rt(e0(),1);var _h=8,Th=1024*1024*4,ur;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(ur||(ur={}));var Us=t=>{let e=$a(t);return Us.bytes=ar(e),e};Us.bytes=0;function bn(t,e){let r=new Ge,n=ur.LENGTH,i=-1,s=e?.lengthDecoder??Us,o=e?.maxLengthLength??_h,a=e?.maxDataLength??Th;function*u(){for(;r.byteLength>0;){if(n===ur.LENGTH)try{if(i=s(r),i<0)throw(0,Kr.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Kr.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let c=s.bytes;r.consume(c),e?.onLength!=null&&e.onLength(i),n=ur.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>o)throw(0,Kr.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw c}if(n===ur.DATA){if(r.byteLength<i)break;let c=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(c),yield c,n=ur.LENGTH}}}return ri(t)?async function*(){for await(let c of t)r.append(c),yield*u();if(r.byteLength>0)throw(0,Kr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let c of t)r.append(c),yield*u();if(r.byteLength>0)throw(0,Kr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}bn.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 bn(n,{...e??{},onLength:s=>{r=s}})};var si=class extends Br{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 Ge(e):e)}attachInboundStream(e){let r=()=>{Wa(e.source,this.log)};return this._inboundAbortController.signal.addEventListener("abort",r,{once:!0}),this._rawInboundStream=e,this.inboundStream=hn(this._rawInboundStream,n=>bn(n)),this.dispatchEvent(new ye("stream:inbound")),this.inboundStream}async attachOutboundStream(e){let r=this.outboundStream;return this.outboundStream!=null&&this.outboundStream.end(),this._rawOutboundStream=e,this.outboundStream=Ur({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 ye("close"))}}),hn(this.outboundStream,n=>ii(n),this._rawOutboundStream).catch(n=>{this.log.error(n)}),r==null&&this.dispatchEvent(new ye("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 ye("close")))}};var M2=Rt(fi(),1),Mh=Rt(ot(),1);function m0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var g0=m0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Qs=m0("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=Ht(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Oh={utf8:g0,"utf-8":g0,hex:Nr.base16,latin1:Qs,ascii:Qs,binary:Qs,...Nr},hi=Oh;function xt(t,e="utf8"){let r=hi[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?or(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function _t(t,e="utf8"){let r=hi[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 Bt={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 x0={SHA1:20,SHA256:32,SHA512:64};var qh={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Hh=async(t,e)=>{let r=await Bt.get().subtle.sign({name:"HMAC"},t,e);return new Uint8Array(r,0,r.byteLength)};async function b0(t,e){let r=qh[t],n=await Bt.get().subtle.importKey("raw",e,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return Hh(n,i)},length:x0[t]}}var Mn={};It(Mn,{generateEphemeralKeyPair:()=>sc,generateKeyPair:()=>Xy,generateKeyPairFromSeed:()=>Jy,importKey:()=>r1,keyStretcher:()=>uc,keysPBM:()=>Zr,marshalPrivateKey:()=>e1,marshalPublicKey:()=>t1,supportedKeys:()=>Be,unmarshalPrivateKey:()=>Kc,unmarshalPublicKey:()=>jy});var fv=Rt(Sn(),1),hv=Rt(wu(),1);var $i=Rt(ot(),1);var Oo={};It(Oo,{Ed25519PrivateKey:()=>br,Ed25519PublicKey:()=>Ln,generateKeyPair:()=>wy,generateKeyPairFromSeed:()=>Ko,unmarshalEd25519PrivateKey:()=>by,unmarshalEd25519PublicKey:()=>vy});function Eu(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function oo(t,...e){if(!(t instanceof Uint8Array))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 Su(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Eu(t.outputLen),Eu(t.blockLen)}function qr(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 Bu(t,e){oo(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Ii=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Au=t=>t instanceof Uint8Array;var Ci=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),ce=(t,e)=>t<<32-e|t>>>e,ap=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ap)throw new Error("Non little-endian hardware is not supported");function ao(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function In(t){if(typeof t=="string"&&(t=ao(t)),!Au(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function _i(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!Au(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var Hr=class{clone(){return this._cloneInto()}},xm={}.toString;function Ti(t){let e=n=>t().update(In(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function zr(t=32){if(Ii&&typeof Ii.getRandomValues=="function")return Ii.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function up(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),u=n?4:0,c=n?0:4;t.setUint32(e+u,o,n),t.setUint32(e+c,a,n)}var Gr=class extends Hr{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=Ci(this.buffer)}update(e){qr(this);let{view:r,buffer:n,blockLen:i}=this;e=In(e);let s=e.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let u=Ci(e);for(;i<=s-o;o+=i)this.process(u,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){qr(this),Bu(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 h=o;h<i;h++)r[h]=0;up(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=Ci(e),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let c=u/4,f=this.get();if(c>f.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<c;h++)a.setUint32(4*h,f[h],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 Ri=BigInt(4294967295),uo=BigInt(32);function Iu(t,e=!1){return e?{h:Number(t&Ri),l:Number(t>>uo&Ri)}:{h:Number(t>>uo&Ri)|0,l:Number(t&Ri)|0}}function cp(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}=Iu(t[i],e);[r[i],n[i]]=[s,o]}return[r,n]}var fp=(t,e)=>BigInt(t>>>0)<<uo|BigInt(e>>>0),hp=(t,e,r)=>t>>>r,lp=(t,e,r)=>t<<32-r|e>>>r,dp=(t,e,r)=>t>>>r|e<<32-r,pp=(t,e,r)=>t<<32-r|e>>>r,yp=(t,e,r)=>t<<64-r|e>>>r-32,gp=(t,e,r)=>t>>>r-32|e<<64-r,mp=(t,e)=>e,xp=(t,e)=>t,bp=(t,e,r)=>t<<r|e>>>32-r,vp=(t,e,r)=>e<<r|t>>>32-r,wp=(t,e,r)=>e<<r-32|t>>>64-r,Ep=(t,e,r)=>t<<r-32|e>>>64-r;function Sp(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var Bp=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),Ap=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,Ip=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),Cp=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,_p=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Tp=(t,e,r,n,i,s)=>e+r+n+i+s+(t/2**32|0)|0;var Rp={fromBig:Iu,split:cp,toBig:fp,shrSH:hp,shrSL:lp,rotrSH:dp,rotrSL:pp,rotrBH:yp,rotrBL:gp,rotr32H:mp,rotr32L:xp,rotlSH:bp,rotlSL:vp,rotlBH:wp,rotlBL:Ep,add:Sp,add3L:Bp,add3H:Ap,add4L:Ip,add4H:Cp,add5H:Tp,add5L:_p},Q=Rp;var[Np,Lp]=Q.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),Ze=new Uint32Array(80),Xe=new Uint32Array(80),co=class extends Gr{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:u,Eh:c,El:f,Fh:h,Fl:l,Gh:g,Gl:d,Hh:p,Hl:y}=this;return[e,r,n,i,s,o,a,u,c,f,h,l,g,d,p,y]}set(e,r,n,i,s,o,a,u,c,f,h,l,g,d,p,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=u|0,this.Eh=c|0,this.El=f|0,this.Fh=h|0,this.Fl=l|0,this.Gh=g|0,this.Gl=d|0,this.Hh=p|0,this.Hl=y|0}process(e,r){for(let b=0;b<16;b++,r+=4)Ze[b]=e.getUint32(r),Xe[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let T=Ze[b-15]|0,E=Xe[b-15]|0,S=Q.rotrSH(T,E,1)^Q.rotrSH(T,E,8)^Q.shrSH(T,E,7),N=Q.rotrSL(T,E,1)^Q.rotrSL(T,E,8)^Q.shrSL(T,E,7),L=Ze[b-2]|0,G=Xe[b-2]|0,z=Q.rotrSH(L,G,19)^Q.rotrBH(L,G,61)^Q.shrSH(L,G,6),q=Q.rotrSL(L,G,19)^Q.rotrBL(L,G,61)^Q.shrSL(L,G,6),X=Q.add4L(N,q,Xe[b-7],Xe[b-16]),at=Q.add4H(X,S,z,Ze[b-7],Ze[b-16]);Ze[b]=at|0,Xe[b]=X|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:u,Dh:c,Dl:f,Eh:h,El:l,Fh:g,Fl:d,Gh:p,Gl:y,Hh:m,Hl:w}=this;for(let b=0;b<80;b++){let T=Q.rotrSH(h,l,14)^Q.rotrSH(h,l,18)^Q.rotrBH(h,l,41),E=Q.rotrSL(h,l,14)^Q.rotrSL(h,l,18)^Q.rotrBL(h,l,41),S=h&g^~h&p,N=l&d^~l&y,L=Q.add5L(w,E,N,Lp[b],Xe[b]),G=Q.add5H(L,m,T,S,Np[b],Ze[b]),z=L|0,q=Q.rotrSH(n,i,28)^Q.rotrBH(n,i,34)^Q.rotrBH(n,i,39),X=Q.rotrSL(n,i,28)^Q.rotrBL(n,i,34)^Q.rotrBL(n,i,39),at=n&s^n&a^s&a,Kt=i&o^i&u^o&u;m=p|0,w=y|0,p=g|0,y=d|0,g=h|0,d=l|0,{h,l}=Q.add(c|0,f|0,G|0,z|0),c=a|0,f=u|0,a=s|0,u=o|0,s=n|0,o=i|0;let C=Q.add3L(z,X,Kt);n=Q.add3H(C,G,q,at),i=C|0}({h:n,l:i}=Q.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=Q.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:u}=Q.add(this.Ch|0,this.Cl|0,a|0,u|0),{h:c,l:f}=Q.add(this.Dh|0,this.Dl|0,c|0,f|0),{h,l}=Q.add(this.Eh|0,this.El|0,h|0,l|0),{h:g,l:d}=Q.add(this.Fh|0,this.Fl|0,g|0,d|0),{h:p,l:y}=Q.add(this.Gh|0,this.Gl|0,p|0,y|0),{h:m,l:w}=Q.add(this.Hh|0,this.Hl|0,m|0,w|0),this.set(n,i,s,o,a,u,c,f,h,l,g,d,p,y,m,w)}roundClean(){Ze.fill(0),Xe.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 fo=Ti(()=>new co);var Di={};It(Di,{bitGet:()=>Mp,bitLen:()=>Op,bitMask:()=>Cn,bitSet:()=>Fp,bytesToHex:()=>De,bytesToNumberBE:()=>Pe,bytesToNumberLE:()=>Je,concatBytes:()=>ke,createHmacDrbg:()=>po,ensureBytes:()=>wt,equalBytes:()=>Up,hexToBytes:()=>pr,hexToNumber:()=>lo,numberToBytesBE:()=>je,numberToBytesLE:()=>yr,numberToHexUnpadded:()=>Tu,numberToVarBytesBE:()=>kp,utf8ToBytes:()=>Kp,validateObject:()=>Se});var _u=BigInt(0),Ni=BigInt(1),Dp=BigInt(2),Li=t=>t instanceof Uint8Array,Pp=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function De(t){if(!Li(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Pp[t[r]];return e}function Tu(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function lo(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function pr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let i=n*2,s=t.slice(i,i+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");r[n]=o}return r}function Pe(t){return lo(De(t))}function Je(t){if(!Li(t))throw new Error("Uint8Array expected");return lo(De(Uint8Array.from(t).reverse()))}function je(t,e){return pr(t.toString(16).padStart(e*2,"0"))}function yr(t,e){return je(t,e).reverse()}function kp(t){return pr(Tu(t))}function wt(t,e,r){let n;if(typeof e=="string")try{n=pr(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(Li(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=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!Li(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function Up(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function Kp(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Op(t){let e;for(e=0;t>_u;t>>=Ni,e+=1);return e}function Mp(t,e){return t>>BigInt(e)&Ni}var Fp=(t,e,r)=>t|(r?Ni:_u)<<BigInt(e),Cn=t=>(Dp<<BigInt(t-1))-Ni,ho=t=>new Uint8Array(t),Cu=t=>Uint8Array.from(t);function po(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=ho(t),i=ho(t),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...h)=>r(i,n,...h),u=(h=ho())=>{i=a(Cu([0]),h),n=a(),h.length!==0&&(i=a(Cu([1]),h),n=a())},c=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let h=0,l=[];for(;h<e;){n=a();let g=n.slice();l.push(g),h+=n.length}return ke(...l)};return(h,l)=>{o(),u(h);let g;for(;!(g=l(c()));)u();return o(),g}}var Vp={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"||t instanceof Uint8Array,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=Vp[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let u=t[i];if(!(o&&u===void 0)&&!a(u,t))throw new Error(`Invalid param ${String(i)}=${u} (${typeof u}), 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 Dt=BigInt(0),yt=BigInt(1),gr=BigInt(2),qp=BigInt(3),yo=BigInt(4),Ru=BigInt(5),Nu=BigInt(8),Hp=BigInt(9),zp=BigInt(16);function ut(t,e){let r=t%e;return r>=Dt?r:e+r}function Gp(t,e,r){if(r<=Dt||e<Dt)throw new Error("Expected power/modulo > 0");if(r===yt)return Dt;let n=yt;for(;e>Dt;)e&yt&&(n=n*t%r),t=t*t%r,e>>=yt;return n}function gt(t,e,r){let n=t;for(;e-- >Dt;)n*=n,n%=r;return n}function Pi(t,e){if(t===Dt||e<=Dt)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=ut(t,e),n=e,i=Dt,s=yt,o=yt,a=Dt;for(;r!==Dt;){let c=n/r,f=n%r,h=i-o*c,l=s-a*c;n=r,r=f,i=o,s=a,o=h,a=l}if(n!==yt)throw new Error("invert: does not exist");return ut(i,e)}function Yp(t){let e=(t-yt)/gr,r,n,i;for(r=t-yt,n=0;r%gr===Dt;r/=gr,n++);for(i=gr;i<t&&Gp(i,e,t)!==t-yt;i++);if(n===1){let o=(t+yt)/yo;return function(u,c){let f=u.pow(c,o);if(!u.eql(u.sqr(f),c))throw new Error("Cannot find square root");return f}}let s=(r+yt)/gr;return function(a,u){if(a.pow(u,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let c=n,f=a.pow(a.mul(a.ONE,i),r),h=a.pow(u,s),l=a.pow(u,r);for(;!a.eql(l,a.ONE);){if(a.eql(l,a.ZERO))return a.ZERO;let g=1;for(let p=a.sqr(l);g<c&&!a.eql(p,a.ONE);g++)p=a.sqr(p);let d=a.pow(f,yt<<BigInt(c-g-1));f=a.sqr(d),h=a.mul(h,d),l=a.mul(l,f),c=g}return h}}function Wp(t){if(t%yo===qp){let e=(t+yt)/yo;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%Nu===Ru){let e=(t-Ru)/Nu;return function(n,i){let s=n.mul(i,gr),o=n.pow(s,e),a=n.mul(i,o),u=n.mul(n.mul(a,gr),o),c=n.mul(a,n.sub(u,n.ONE));if(!n.eql(n.sqr(c),i))throw new Error("Cannot find square root");return c}}return t%zp,Yp(t)}var Lu=(t,e)=>(ut(t,e)&yt)===yt,Qp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function go(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Qp.reduce((n,i)=>(n[i]="function",n),e);return Se(t,r)}function $p(t,e,r){if(r<Dt)throw new Error("Expected power > 0");if(r===Dt)return t.ONE;if(r===yt)return e;let n=t.ONE,i=e;for(;r>Dt;)r&yt&&(n=t.mul(n,i)),i=t.sqr(i),r>>=yt;return n}function Zp(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 mo(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ki(t,e,r=!1,n={}){if(t<=Dt)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=mo(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=Wp(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:Cn(i),ZERO:Dt,ONE:yt,create:u=>ut(u,t),isValid:u=>{if(typeof u!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof u}`);return Dt<=u&&u<t},is0:u=>u===Dt,isOdd:u=>(u&yt)===yt,neg:u=>ut(-u,t),eql:(u,c)=>u===c,sqr:u=>ut(u*u,t),add:(u,c)=>ut(u+c,t),sub:(u,c)=>ut(u-c,t),mul:(u,c)=>ut(u*c,t),pow:(u,c)=>$p(a,u,c),div:(u,c)=>ut(u*Pi(c,t),t),sqrN:u=>u*u,addN:(u,c)=>u+c,subN:(u,c)=>u-c,mulN:(u,c)=>u*c,inv:u=>Pi(u,t),sqrt:n.sqrt||(u=>o(a,u)),invertBatch:u=>Zp(a,u),cmov:(u,c,f)=>f?c:u,toBytes:u=>r?yr(u,s):je(u,s),fromBytes:u=>{if(u.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${u.length}`);return r?Je(u):Pe(u)}});return Object.freeze(a)}function Du(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 Pu(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 xo(t){let e=Pu(t);return e+Math.ceil(e/2)}function ku(t,e,r=!1){let n=t.length,i=Pu(e),s=xo(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?Pe(t):Je(t),a=ut(o,e-yt)+yt;return r?yr(a,i):je(a,i)}var Jp=BigInt(0),bo=BigInt(1);function Ui(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>Jp;)s&bo&&(o=o.add(a)),a=a.double(),s>>=bo;return o},precomputeWindow(i,s){let{windows:o,windowSize:a}=n(s),u=[],c=i,f=c;for(let h=0;h<o;h++){f=c,u.push(f);for(let l=1;l<a;l++)f=f.add(c),u.push(f);c=f.double()}return u},wNAF(i,s,o){let{windows:a,windowSize:u}=n(i),c=t.ZERO,f=t.BASE,h=BigInt(2**i-1),l=2**i,g=BigInt(i);for(let d=0;d<a;d++){let p=d*u,y=Number(o&h);o>>=g,y>u&&(y-=l,o+=bo);let m=p,w=p+Math.abs(y)-1,b=d%2!==0,T=y<0;y===0?f=f.add(r(b,s[m])):c=c.add(r(T,s[w]))}return{p:c,f}},wNAFCached(i,s,o,a){let u=i._WINDOW_SIZE||1,c=s.get(i);return c||(c=this.precomputeWindow(i,u),u!==1&&s.set(i,a(c))),this.wNAF(u,c,o)}}}function _n(t){return go(t.Fp),Se(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...mo(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var fe=BigInt(0),ee=BigInt(1),Ki=BigInt(2),jp=BigInt(8),ty={zip215:!0};function ey(t){let e=_n(t);return Se(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Oi(t){let e=ey(t),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:u}=e,c=Ki<<BigInt(a*8)-ee,f=r.create,h=e.uvRatio||((D,A)=>{try{return{isValid:!0,value:r.sqrt(D*r.inv(A))}}catch{return{isValid:!1,value:fe}}}),l=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}),d=D=>typeof D=="bigint"&&fe<D,p=(D,A)=>d(D)&&d(A)&&D<A,y=D=>D===fe||p(D,c);function m(D,A){if(p(D,A))return D;throw new Error(`Expected valid scalar < ${A}, got ${typeof D} ${D}`)}function w(D){return D===fe?D:m(D,n)}let b=new Map;function T(D){if(!(D instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(A,K,F,H){if(this.ex=A,this.ey=K,this.ez=F,this.et=H,!y(A))throw new Error("x required");if(!y(K))throw new Error("y required");if(!y(F))throw new Error("z required");if(!y(H))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:F}=A||{};if(!y(K)||!y(F))throw new Error("invalid affine point");return new E(K,F,ee,f(K*F))}static normalizeZ(A){let K=r.invertBatch(A.map(F=>F.ez));return A.map((F,H)=>F.toAffine(K[H])).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:F,ey:H,ez:$,et:J}=this,st=f(F*F),j=f(H*H),rt=f($*$),At=f(rt*rt),bt=f(st*A),Ot=f(rt*f(bt+j)),Mt=f(At+f(K*f(st*j)));if(Ot!==Mt)throw new Error("bad point: equation left != right (1)");let Tt=f(F*H),Ft=f($*J);if(Tt!==Ft)throw new Error("bad point: equation left != right (2)")}equals(A){T(A);let{ex:K,ey:F,ez:H}=this,{ex:$,ey:J,ez:st}=A,j=f(K*st),rt=f($*H),At=f(F*st),bt=f(J*H);return j===rt&&At===bt}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:F,ez:H}=this,$=f(K*K),J=f(F*F),st=f(Ki*f(H*H)),j=f(A*$),rt=K+F,At=f(f(rt*rt)-$-J),bt=j+J,Ot=bt-st,Mt=j-J,Tt=f(At*Ot),Ft=f(bt*Mt),Ae=f(At*Mt),nr=f(Ot*bt);return new E(Tt,Ft,nr,Ae)}add(A){T(A);let{a:K,d:F}=e,{ex:H,ey:$,ez:J,et:st}=this,{ex:j,ey:rt,ez:At,et:bt}=A;if(K===BigInt(-1)){let ea=f(($-H)*(rt+j)),ra=f(($+H)*(rt-j)),Zi=f(ra-ea);if(Zi===fe)return this.double();let na=f(J*Ki*bt),ia=f(st*Ki*At),sa=ia+na,oa=ra+ea,aa=ia-na,Zc=f(sa*Zi),Xc=f(oa*aa),Jc=f(sa*aa),jc=f(Zi*oa);return new E(Zc,Xc,jc,Jc)}let Ot=f(H*j),Mt=f($*rt),Tt=f(st*F*bt),Ft=f(J*At),Ae=f((H+$)*(j+rt)-Ot-Mt),nr=Ft-Tt,jr=Ft+Tt,ta=f(Mt-K*Ot),Yc=f(Ae*nr),Wc=f(jr*ta),Qc=f(Ae*ta),$c=f(nr*jr);return new E(Yc,Wc,$c,Qc)}subtract(A){return this.add(A.negate())}wNAF(A){return L.wNAFCached(this,b,A,E.normalizeZ)}multiply(A){let{p:K,f:F}=this.wNAF(m(A,n));return E.normalizeZ([K,F])[0]}multiplyUnsafe(A){let K=w(A);return K===fe?N:this.equals(N)||K===ee?this:this.equals(S)?this.wNAF(K).p:L.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(u).is0()}isTorsionFree(){return L.unsafeLadder(this,n).is0()}toAffine(A){let{ex:K,ey:F,ez:H}=this,$=this.is0();A==null&&(A=$?jp:r.inv(H));let J=f(K*A),st=f(F*A),j=f(H*A);if($)return{x:fe,y:ee};if(j!==ee)throw new Error("invZ was invalid");return{x:J,y:st}}clearCofactor(){let{h:A}=e;return A===ee?this:this.multiplyUnsafe(A)}static fromHex(A,K=!1){let{d:F,a:H}=e,$=r.BYTES;A=wt("pointHex",A,$);let J=A.slice(),st=A[$-1];J[$-1]=st&-129;let j=Je(J);j===fe||(K?m(j,c):m(j,r.ORDER));let rt=f(j*j),At=f(rt-ee),bt=f(F*rt-H),{isValid:Ot,value:Mt}=h(At,bt);if(!Ot)throw new Error("Point.fromHex: invalid y coordinate");let Tt=(Mt&ee)===ee,Ft=(st&128)!==0;if(!K&&Mt===fe&&Ft)throw new Error("Point.fromHex: x=0 and x_0=1");return Ft!==Tt&&(Mt=f(-Mt)),E.fromAffine({x:Mt,y:j})}static fromPrivateKey(A){return q(A).point}toRawBytes(){let{x:A,y:K}=this.toAffine(),F=yr(K,r.BYTES);return F[F.length-1]|=A&ee?128:0,F}toHex(){return De(this.toRawBytes())}}E.BASE=new E(e.Gx,e.Gy,ee,f(e.Gx*e.Gy)),E.ZERO=new E(fe,ee,ee,fe);let{BASE:S,ZERO:N}=E,L=Ui(E,a*8);function G(D){return ut(D,n)}function z(D){return G(Je(D))}function q(D){let A=a;D=wt("private key",D,A);let K=wt("hashed private key",s(D),2*A),F=l(K.slice(0,A)),H=K.slice(A,2*A),$=z(F),J=S.multiply($),st=J.toRawBytes();return{head:F,prefix:H,scalar:$,point:J,pointBytes:st}}function X(D){return q(D).pointBytes}function at(D=new Uint8Array,...A){let K=ke(...A);return z(s(g(K,wt("context",D),!!i)))}function Kt(D,A,K={}){D=wt("message",D),i&&(D=i(D));let{prefix:F,scalar:H,pointBytes:$}=q(A),J=at(K.context,F,D),st=S.multiply(J).toRawBytes(),j=at(K.context,st,$,D),rt=G(J+j*H);w(rt);let At=ke(st,yr(rt,r.BYTES));return wt("result",At,a*2)}let C=ty;function P(D,A,K,F=C){let{context:H,zip215:$}=F,J=r.BYTES;D=wt("signature",D,2*J),A=wt("message",A),i&&(A=i(A));let st=Je(D.slice(J,2*J)),j,rt,At;try{j=E.fromHex(K,$),rt=E.fromHex(D.slice(0,J),$),At=S.multiplyUnsafe(st)}catch{return!1}if(!$&&j.isSmallOrder())return!1;let bt=at(H,rt.toRawBytes(),j.toRawBytes(),A);return rt.add(j.multiplyUnsafe(bt)).subtract(At).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:e,getPublicKey:X,sign:Kt,verify:P,ExtendedPoint:E,utils:{getExtendedPublicKey:q,randomPrivateKey:()=>o(r.BYTES),precompute(D=8,A=E.BASE){return A._setWindowSize(D),A.multiply(BigInt(3)),A}}}}var wo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Uu=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Fm=BigInt(0),ry=BigInt(1),vo=BigInt(2),ny=BigInt(5),Ku=BigInt(10),iy=BigInt(20),sy=BigInt(40),Ou=BigInt(80);function oy(t){let e=wo,n=t*t%e*t%e,i=gt(n,vo,e)*n%e,s=gt(i,ry,e)*t%e,o=gt(s,ny,e)*s%e,a=gt(o,Ku,e)*o%e,u=gt(a,iy,e)*a%e,c=gt(u,sy,e)*u%e,f=gt(c,Ou,e)*c%e,h=gt(f,Ou,e)*c%e,l=gt(h,Ku,e)*o%e;return{pow_p_5_8:gt(l,vo,e)*t%e,b2:n}}function ay(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function uy(t,e){let r=wo,n=ut(e*e*e,r),i=ut(n*n*e,r),s=oy(t*i).pow_p_5_8,o=ut(t*n*s,r),a=ut(e*o*o,r),u=o,c=ut(o*Uu,r),f=a===t,h=a===ut(-t,r),l=a===ut(-t*Uu,r);return f&&(o=u),(h||l)&&(o=c),Lu(o,r)&&(o=ut(-o,r)),{isValid:f||h,value:o}}var Ue=ki(wo,void 0,!0),Eo={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Ue,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:fo,randomBytes:zr,adjustScalarBytes:ay,uvRatio:uy},Yr=Oi(Eo);function Mu(t,e,r){if(e.length>255)throw new Error("Context is too big");return _i(ao("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var Vm=Oi({...Eo,domain:Mu}),qm=Oi({...Eo,domain:Mu,prehash:fo});var cy=(Ue.ORDER+BigInt(3))/BigInt(8),Hm=Ue.pow(vo,cy),zm=Ue.sqrt(Ue.neg(Ue.ONE)),Gm=(Ue.ORDER-BigInt(5))/BigInt(8),Ym=BigInt(486662);var Wm=Du(Ue,Ue.neg(BigInt(486664)));var Qm=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),$m=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Zm=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Xm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Jm=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Wr=32,Ke=64,Mi=32;async function Fu(){let t=Yr.utils.randomPrivateKey(),e=Yr.getPublicKey(t);return{privateKey:zu(t,e),publicKey:e}}async function Vu(t){if(t.length!==Mi)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=Yr.getPublicKey(e);return{privateKey:zu(e,r),publicKey:r}}async function qu(t,e){let r=t.subarray(0,Mi);return Yr.sign(e,r)}async function Hu(t,e,r){return Yr.verify(e,r,t)}function zu(t,e){let r=new Uint8Array(Ke);for(let n=0;n<Mi;n++)r[n]=t[n],r[Mi+n]=e[n];return r}var So={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Fi(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=Bt.get();r*=8;async function u(h,l){let g=a.getRandomValues(new Uint8Array(s)),d=a.getRandomValues(new Uint8Array(n)),p={name:e,iv:d};typeof l=="string"&&(l=xt(l));let y;if(l.length===0){y=await a.subtle.importKey("jwk",So,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,b,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",So,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,b,{name:e,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(p,y,h);return Gt([g,p.iv,new Uint8Array(m)])}async function c(h,l){let g=h.subarray(0,s),d=h.subarray(s,s+n),p=h.subarray(s+n),y={name:e,iv:d};typeof l=="string"&&(l=xt(l));let m;if(l.length===0)try{let b={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},T=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,T,{name:e,length:r},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",So,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},T=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,T,{name:e,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(y,m,p);return new Uint8Array(w)}return{encrypt:u,decrypt:c}}async function Qr(t,e){let n=await Fi().encrypt(t,e);return en.encode(n)}var Zr={};It(Zr,{KeyType:()=>lt,PrivateKey:()=>de,PublicKey:()=>le});var Bo=new Float32Array([-0]),tr=new Uint8Array(Bo.buffer);function Yu(t,e,r){Bo[0]=t,e[r]=tr[0],e[r+1]=tr[1],e[r+2]=tr[2],e[r+3]=tr[3]}function Wu(t,e){return tr[0]=t[e],tr[1]=t[e+1],tr[2]=t[e+2],tr[3]=t[e+3],Bo[0]}var Ao=new Float64Array([-0]),Yt=new Uint8Array(Ao.buffer);function Qu(t,e,r){Ao[0]=t,e[r]=Yt[0],e[r+1]=Yt[1],e[r+2]=Yt[2],e[r+3]=Yt[3],e[r+4]=Yt[4],e[r+5]=Yt[5],e[r+6]=Yt[6],e[r+7]=Yt[7]}function $u(t,e){return Yt[0]=t[e],Yt[1]=t[e+1],Yt[2]=t[e+2],Yt[3]=t[e+3],Yt[4]=t[e+4],Yt[5]=t[e+5],Yt[6]=t[e+6],Yt[7]=t[e+7],Ao[0]}var hy=BigInt(Number.MAX_SAFE_INTEGER),ly=BigInt(Number.MIN_SAFE_INTEGER),Jt=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 mr;if(e<hy&&e>ly)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>Zu&&(i=0n,++n>Zu&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return mr;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):mr}},mr=new Jt(0,0);mr.toBigInt=function(){return 0n};mr.zzEncode=mr.zzDecode=function(){return this};mr.length=function(){return 1};var Zu=4294967296n;function Xu(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 Ju(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 Io(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 he(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Vi(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var Co=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,he(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 he(this,4);return Vi(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw he(this,4);return Vi(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw he(this,4);let e=Wu(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw he(this,4);let e=$u(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 he(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return Ju(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw he(this,e);this.pos+=e}else do if(this.pos>=this.len)throw he(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 Jt(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 he(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 he(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 he(this,8);let e=Vi(this.buf,this.pos+=4),r=Vi(this.buf,this.pos+=4);return new Jt(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 _o(t){return new Co(t instanceof Uint8Array?t:t.subarray())}function qi(t,e){let r=_o(t);return e.decode(r)}function To(t){let e=t??8192,r=e>>>1,n,i=e;return function(o){if(o<1||o>r)return Ht(o);i+o>e&&(n=Ht(e),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var xr=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Ro(){}var Lo=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},dy=To();function py(t){return globalThis.Buffer!=null?Ht(t):dy(t)}var Nn=class{len;head;tail;states;constructor(){this.len=0,this.head=new xr(Ro,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new xr(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Do((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(Tn,10,Jt.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=Jt.fromBigInt(e);return this._push(Tn,r.length(),r)}uint64Number(e){let r=Jt.fromNumber(e);return this._push(Tn,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=Jt.fromBigInt(e).zzEncode();return this._push(Tn,r.length(),r)}sint64Number(e){let r=Jt.fromNumber(e).zzEncode();return this._push(Tn,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(No,1,e?1:0)}fixed32(e){return this._push(Rn,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=Jt.fromBigInt(e);return this._push(Rn,4,r.lo)._push(Rn,4,r.hi)}fixed64Number(e){let r=Jt.fromNumber(e);return this._push(Rn,4,r.lo)._push(Rn,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(Yu,4,e)}double(e){return this._push(Qu,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(No,1,0):this.uint32(r)._push(gy,r,e)}string(e){let r=Xu(e);return r!==0?this.uint32(r)._push(Io,r,e):this._push(No,1,0)}fork(){return this.states=new Lo(this),this.head=this.tail=new xr(Ro,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 xr(Ro,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=py(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function No(t,e,r){e[r]=t&255}function yy(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Do=class extends xr{next;constructor(e,r){super(yy,e,r),this.next=void 0}};function Tn(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 Rn(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 gy(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(Nn.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(my,e,t),this},Nn.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(xy,e,t),this});function my(t,e,r){e.set(t,r)}function xy(t,e,r){t.length<40?Io(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(xt(t),r)}function Po(){return new Nn}function Hi(t,e){let r=Po();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 zi(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function ko(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 zi("enum",$r.VARINT,r,n)}function Gi(t,e){return zi("message",$r.LENGTH_DELIMITED,t,e)}var lt;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(lt||(lt={}));var Uo;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Uo||(Uo={}));(function(t){t.codec=()=>ko(Uo)})(lt||(lt={}));var le;(function(t){let e;t.codec=()=>(e==null&&(e=Gi((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=>Hi(r,t.codec()),t.decode=r=>qi(r,t.codec())})(le||(le={}));var de;(function(t){let e;t.codec=()=>(e==null&&(e=Gi((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=>Hi(r,t.codec()),t.decode=r=>qi(r,t.codec())})(de||(de={}));var Ln=class{_key;constructor(e){this._key=Xr(e,Wr)}async verify(e,r){return Hu(this._key,r,e)}marshal(){return this._key}get bytes(){return le.encode({Type:lt.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}},br=class{_key;_publicKey;constructor(e,r){this._key=Xr(e,Ke),this._publicKey=Xr(r,Wr)}async sign(e){return qu(this._key,e)}get public(){return new Ln(this._publicKey)}marshal(){return this._key}get bytes(){return de.encode({Type:lt.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}async id(){let e=qe.digest(this.public.bytes);return Wt.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Qr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function by(t){if(t.length>Ke){t=Xr(t,Ke+Wr);let n=t.subarray(0,Ke),i=t.subarray(Ke,t.length);return new br(n,i)}t=Xr(t,Ke);let e=t.subarray(0,Ke),r=t.subarray(Wr);return new br(e,r)}function vy(t){return t=Xr(t,Wr),new Ln(t)}async function wy(){let{privateKey:t,publicKey:e}=await Fu();return new br(t,e)}async function Ko(t){let{privateKey:e,publicKey:r}=await Vu(t);return new br(e,r)}function Xr(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 qx=Rt(St(),1),Hx=Rt(Ei(),1),tc=Rt(ot(),1);function pe(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=Gt([new Uint8Array(e-r.length),r])}return _t(r,"base64url")}function re(t){let e=Yi(t);return new tc.default.jsbn.BigInteger(_t(e,"base16"),16)}function Yi(t,e){let r=xt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Gt([new Uint8Array(e-r.length),r])}return r}var ec={"P-256":256,"P-384":384,"P-521":521},Ey=Object.keys(ec),Mo=Ey.join(" / ");async function rc(t){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new O(`Unknown curve: ${t}. Must be ${Mo}`,"ERR_INVALID_CURVE");let e=await Bt.get().subtle.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),r=async(s,o)=>{let a;o!=null?a=await Bt.get().subtle.importKey("jwk",By(t,o),{name:"ECDH",namedCurve:t},!1,["deriveBits"]):a=e.privateKey;let u=await Bt.get().subtle.importKey("jwk",ic(t,s),{name:"ECDH",namedCurve:t},!1,[]),c=await Bt.get().subtle.deriveBits({name:"ECDH",namedCurve:t,public:u},a,ec[t]);return new Uint8Array(c,0,c.byteLength)},n=await Bt.get().subtle.exportKey("jwk",e.publicKey);return{key:Sy(n),genSharedKey:r}}var nc={"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 ${Mo}`,"ERR_INVALID_CURVE");let e=nc[t.crv];return Gt([Uint8Array.from([4]),Yi(t.x,e),Yi(t.y,e)],1+e*2)}function ic(t,e){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new O(`Unknown curve: ${t}. Must be ${Mo}`,"ERR_INVALID_CURVE");let r=nc[t];if(!Vt(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:_t(e.subarray(1,r+1),"base64url"),y:_t(e.subarray(1+r),"base64url"),ext:!0}}var By=(t,e)=>({...ic(t,e.public),d:_t(e.private,"base64url")});var sc=rc;async function oc(t,e){let r=en.decode(t);return Fi().decrypt(r,e)}var ac={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function uc(t,e,r){let n=ac[t];if(n==null){let w=Object.keys(ac).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=xt("key expansion"),u=2*(s+i+o),c=await b0(e,r),f=await c.digest(a),h=[],l=0;for(;l<u;){let w=await c.digest(Gt([f,a])),b=w.length;l+b>u&&(b=u-l),h.push(w),l+=b,f=await c.digest(f)}let g=u/2,d=Gt(h),p=d.subarray(0,g),y=d.subarray(g,u),m=w=>({iv:w.subarray(0,s),cipherKey:w.subarray(s,s+i),macKey:w.subarray(s+i)});return{k1:m(p),k2:m(y)}}var zo={};It(zo,{MAX_KEY_SIZE:()=>Un,RsaPrivateKey:()=>Jr,RsaPublicKey:()=>kn,fromJwk:()=>Py,generateKeyPair:()=>ky,unmarshalRsaPrivateKey:()=>Ly,unmarshalRsaPublicKey:()=>Dy});var Pn=Rt(ot(),1);var Nb=Rt(dc(),1);function wr(t){if(isNaN(t)||t<=0)throw new O("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return zr(t)}var db=Rt(Ai(),1),qo=Rt(ot(),1);function pc(t,e){return e.map(r=>re(t[r]))}function yc(t){return qo.default.pki.setRsaPrivateKey(...pc(t,["n","e","d","p","q","dp","dq","qi"]))}function gc(t){return qo.default.pki.setRsaPublicKey(...pc(t,["n","e"]))}var Er={};It(Er,{jwkToPkcs1:()=>Cy,jwkToPkix:()=>Ty,pkcs1ToJwk:()=>Iy,pkixToJwk:()=>_y});var gb=Rt(Sn(),1),mb=Rt(Ai(),1);var Oe=Rt(ot(),1);function Iy(t){let e=Oe.default.asn1.fromDer(_t(t,"ascii")),r=Oe.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:pe(r.n),e:pe(r.e),d:pe(r.d),p:pe(r.p),q:pe(r.q),dp:pe(r.dP),dq:pe(r.dQ),qi:pe(r.qInv),alg:"RS256"}}function Cy(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=Oe.default.pki.privateKeyToAsn1({n:re(t.n),e:re(t.e),d:re(t.d),p:re(t.p),q:re(t.q),dP:re(t.dp),dQ:re(t.dq),qInv:re(t.qi)});return xt(Oe.default.asn1.toDer(e).getBytes(),"ascii")}function _y(t){let e=Oe.default.asn1.fromDer(_t(t,"ascii")),r=Oe.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:pe(r.n),e:pe(r.e)}}function Ty(t){if(t.n==null||t.e==null)throw new O("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Oe.default.pki.publicKeyToAsn1({n:re(t.n),e:re(t.e)});return xt(Oe.default.asn1.toDer(e).getBytes(),"ascii")}async function mc(t){let e=await Bt.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 vc(e);return{privateKey:r[0],publicKey:r[1]}}async function Ho(t){let r=[await Bt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Ry(t)],n=await vc({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function xc(t,e){let r=await Bt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Bt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function bc(t,e,r){let n=await Bt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Bt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function vc(t){if(t.privateKey==null||t.publicKey==null)throw new O("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Bt.get().subtle.exportKey("jwk",t.privateKey),Bt.get().subtle.exportKey("jwk",t.publicKey)])}async function Ry(t){return Bt.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 wc(t,e,r,n){let i=e?gc(t):yc(t),s=_t(Uint8Array.from(r),"ascii"),o=n(s,i);return xt(o,"ascii")}function Ec(t,e){return wc(t,!0,e,(r,n)=>n.encrypt(r))}function Sc(t,e){return wc(t,!1,e,(r,n)=>n.decrypt(r))}function Wi(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 xt(t.n,"base64url").length*8}var Un=8192,kn=class{_key;constructor(e){this._key=e}async verify(e,r){return bc(this._key,r,e)}marshal(){return Er.jwkToPkix(this._key)}get bytes(){return le.encode({Type:lt.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Ec(this._key,e)}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}},Jr=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return wr(16)}async sign(e){return xc(this._key,e)}get public(){if(this._publicKey==null)throw new O("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new kn(this._publicKey)}decrypt(e){return Sc(this._key,e)}marshal(){return Er.jwkToPkcs1(this._key)}get bytes(){return de.encode({Type:lt.RSA,Data:this.marshal()}).subarray()}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return _t(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Pn.default.util.ByteBuffer(this.marshal()),i=Pn.default.asn1.fromDer(n),s=Pn.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Pn.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Qr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Ly(t){let e=Er.pkcs1ToJwk(t);if(Wi(e)>Un)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Ho(e);return new Jr(r.privateKey,r.publicKey)}function Dy(t){let e=Er.pkixToJwk(t);if(Wi(e)>Un)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new kn(e)}async function Py(t){if(Wi(t)>Un)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Ho(t);return new Jr(e.privateKey,e.publicKey)}async function ky(t){if(t>Un)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await mc(t);return new Jr(e.privateKey,e.publicKey)}var Zo={};It(Zo,{Secp256k1PrivateKey:()=>On,Secp256k1PublicKey:()=>Kn,generateKeyPair:()=>Zy,unmarshalSecp256k1PrivateKey:()=>Qy,unmarshalSecp256k1PublicKey:()=>$y});var Uy=(t,e,r)=>t&e^~t&r,Ky=(t,e,r)=>t&e^t&r^e&r,Oy=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]),er=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rr=new Uint32Array(64),Go=class extends Gr{constructor(){super(64,32,8,!1),this.A=er[0]|0,this.B=er[1]|0,this.C=er[2]|0,this.D=er[3]|0,this.E=er[4]|0,this.F=er[5]|0,this.G=er[6]|0,this.H=er[7]|0}get(){let{A:e,B:r,C:n,D:i,E:s,F:o,G:a,H:u}=this;return[e,r,n,i,s,o,a,u]}set(e,r,n,i,s,o,a,u){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=u|0}process(e,r){for(let h=0;h<16;h++,r+=4)rr[h]=e.getUint32(r,!1);for(let h=16;h<64;h++){let l=rr[h-15],g=rr[h-2],d=ce(l,7)^ce(l,18)^l>>>3,p=ce(g,17)^ce(g,19)^g>>>10;rr[h]=p+rr[h-7]+d+rr[h-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:u,G:c,H:f}=this;for(let h=0;h<64;h++){let l=ce(a,6)^ce(a,11)^ce(a,25),g=f+l+Uy(a,u,c)+Oy[h]+rr[h]|0,p=(ce(n,2)^ce(n,13)^ce(n,22))+Ky(n,i,s)|0;f=c,c=u,u=a,a=o+g|0,o=s,s=i,i=n,n=g+p|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,u=u+this.F|0,c=c+this.G|0,f=f+this.H|0,this.set(n,i,s,o,a,u,c,f)}roundClean(){rr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Bc=Ti(()=>new Go);function My(t){let e=_n(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:Fy,hexToBytes:Vy}=Di,Sr={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=Sr;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:Fy(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=Sr,r=typeof t=="string"?Vy(t):t;if(!(r instanceof Uint8Array))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}=Sr._parseInt(r.subarray(2)),{d:o,l:a}=Sr._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(t){let e=c=>Number.parseInt(c[0],16)&8?"00"+c:c,r=c=>{let f=c.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),u=r(o);return`30${r(o+s+4)}02${u}${i}02${a}${n}`}},Me=BigInt(0),se=BigInt(1),Fb=BigInt(2),Ac=BigInt(3),Vb=BigInt(4);function qy(t){let e=My(t),{Fp:r}=e,n=e.toBytes||((d,p,y)=>{let m=p.toAffine();return ke(Uint8Array.from([4]),r.toBytes(m.x),r.toBytes(m.y))}),i=e.fromBytes||(d=>{let p=d.subarray(1),y=r.fromBytes(p.subarray(0,r.BYTES)),m=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:y,y:m}});function s(d){let{a:p,b:y}=e,m=r.sqr(d),w=r.mul(m,d);return r.add(r.add(w,r.mul(d,p)),y)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(d){return typeof d=="bigint"&&Me<d&&d<e.n}function a(d){if(!o(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function u(d){let{allowedPrivateKeyLengths:p,nByteLength:y,wrapPrivateKey:m,n:w}=e;if(p&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=De(d)),typeof d!="string"||!p.includes(d.length))throw new Error("Invalid key");d=d.padStart(y*2,"0")}let b;try{b=typeof d=="bigint"?d:Pe(wt("private key",d,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof d}`)}return m&&(b=ut(b,w)),a(b),b}let c=new Map;function f(d){if(!(d instanceof h))throw new Error("ProjectivePoint expected")}class h{constructor(p,y,m){if(this.px=p,this.py=y,this.pz=m,p==null||!r.isValid(p))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(p){let{x:y,y:m}=p||{};if(!p||!r.isValid(y)||!r.isValid(m))throw new Error("invalid affine point");if(p instanceof h)throw new Error("projective point not allowed");let w=b=>r.eql(b,r.ZERO);return w(y)&&w(m)?h.ZERO:new h(y,m,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let y=r.invertBatch(p.map(m=>m.pz));return p.map((m,w)=>m.toAffine(y[w])).map(h.fromAffine)}static fromHex(p){let y=h.fromAffine(i(wt("pointHex",p)));return y.assertValidity(),y}static fromPrivateKey(p){return h.BASE.multiply(u(p))}_setWindowSize(p){this._WINDOW_SIZE=p,c.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y}=this.toAffine();if(!r.isValid(p)||!r.isValid(y))throw new Error("bad point: x or y not FE");let m=r.sqr(y),w=s(p);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:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:y,py:m,pz:w}=this,{px:b,py:T,pz:E}=p,S=r.eql(r.mul(y,E),r.mul(b,w)),N=r.eql(r.mul(m,E),r.mul(T,w));return S&&N}negate(){return new h(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:y}=e,m=r.mul(y,Ac),{px:w,py:b,pz:T}=this,E=r.ZERO,S=r.ZERO,N=r.ZERO,L=r.mul(w,w),G=r.mul(b,b),z=r.mul(T,T),q=r.mul(w,b);return q=r.add(q,q),N=r.mul(w,T),N=r.add(N,N),E=r.mul(p,N),S=r.mul(m,z),S=r.add(E,S),E=r.sub(G,S),S=r.add(G,S),S=r.mul(E,S),E=r.mul(q,E),N=r.mul(m,N),z=r.mul(p,z),q=r.sub(L,z),q=r.mul(p,q),q=r.add(q,N),N=r.add(L,L),L=r.add(N,L),L=r.add(L,z),L=r.mul(L,q),S=r.add(S,L),z=r.mul(b,T),z=r.add(z,z),L=r.mul(z,q),E=r.sub(E,L),N=r.mul(z,G),N=r.add(N,N),N=r.add(N,N),new h(E,S,N)}add(p){f(p);let{px:y,py:m,pz:w}=this,{px:b,py:T,pz:E}=p,S=r.ZERO,N=r.ZERO,L=r.ZERO,G=e.a,z=r.mul(e.b,Ac),q=r.mul(y,b),X=r.mul(m,T),at=r.mul(w,E),Kt=r.add(y,m),C=r.add(b,T);Kt=r.mul(Kt,C),C=r.add(q,X),Kt=r.sub(Kt,C),C=r.add(y,w);let P=r.add(b,E);return C=r.mul(C,P),P=r.add(q,at),C=r.sub(C,P),P=r.add(m,w),S=r.add(T,E),P=r.mul(P,S),S=r.add(X,at),P=r.sub(P,S),L=r.mul(G,C),S=r.mul(z,at),L=r.add(S,L),S=r.sub(X,L),L=r.add(X,L),N=r.mul(S,L),X=r.add(q,q),X=r.add(X,q),at=r.mul(G,at),C=r.mul(z,C),X=r.add(X,at),at=r.sub(q,at),at=r.mul(G,at),C=r.add(C,at),q=r.mul(X,C),N=r.add(N,q),q=r.mul(P,C),S=r.mul(Kt,S),S=r.sub(S,q),q=r.mul(Kt,X),L=r.mul(P,L),L=r.add(L,q),new h(S,N,L)}subtract(p){return this.add(p.negate())}is0(){return this.equals(h.ZERO)}wNAF(p){return g.wNAFCached(this,c,p,y=>{let m=r.invertBatch(y.map(w=>w.pz));return y.map((w,b)=>w.toAffine(m[b])).map(h.fromAffine)})}multiplyUnsafe(p){let y=h.ZERO;if(p===Me)return y;if(a(p),p===se)return this;let{endo:m}=e;if(!m)return g.unsafeLadder(this,p);let{k1neg:w,k1:b,k2neg:T,k2:E}=m.splitScalar(p),S=y,N=y,L=this;for(;b>Me||E>Me;)b&se&&(S=S.add(L)),E&se&&(N=N.add(L)),L=L.double(),b>>=se,E>>=se;return w&&(S=S.negate()),T&&(N=N.negate()),N=new h(r.mul(N.px,m.beta),N.py,N.pz),S.add(N)}multiply(p){a(p);let y=p,m,w,{endo:b}=e;if(b){let{k1neg:T,k1:E,k2neg:S,k2:N}=b.splitScalar(y),{p:L,f:G}=this.wNAF(E),{p:z,f:q}=this.wNAF(N);L=g.constTimeNegate(T,L),z=g.constTimeNegate(S,z),z=new h(r.mul(z.px,b.beta),z.py,z.pz),m=L.add(z),w=G.add(q)}else{let{p:T,f:E}=this.wNAF(y);m=T,w=E}return h.normalizeZ([m,w])[0]}multiplyAndAddUnsafe(p,y,m){let w=h.BASE,b=(E,S)=>S===Me||S===se||!E.equals(w)?E.multiplyUnsafe(S):E.multiply(S),T=b(this,y).add(b(p,m));return T.is0()?void 0:T}toAffine(p){let{px:y,py:m,pz:w}=this,b=this.is0();p==null&&(p=b?r.ONE:r.inv(w));let T=r.mul(y,p),E=r.mul(m,p),S=r.mul(w,p);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:T,y:E}}isTorsionFree(){let{h:p,isTorsionFree:y}=e;if(p===se)return!0;if(y)return y(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:y}=e;return p===se?this:y?y(h,this):this.multiplyUnsafe(e.h)}toRawBytes(p=!0){return this.assertValidity(),n(h,this,p)}toHex(p=!0){return De(this.toRawBytes(p))}}h.BASE=new h(e.Gx,e.Gy,r.ONE),h.ZERO=new h(r.ZERO,r.ONE,r.ZERO);let l=e.nBitLength,g=Ui(h,e.endo?Math.ceil(l/2):l);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:u,weierstrassEquation:s,isWithinCurveOrder:o}}function Hy(t){let e=_n(t);return Se(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Ic(t){let e=Hy(t),{Fp:r,n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function o(C){return Me<C&&C<r.ORDER}function a(C){return ut(C,n)}function u(C){return Pi(C,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:f,weierstrassEquation:h,isWithinCurveOrder:l}=qy({...e,toBytes(C,P,R){let D=P.toAffine(),A=r.toBytes(D.x),K=ke;return R?K(Uint8Array.from([P.hasEvenY()?2:3]),A):K(Uint8Array.from([4]),A,r.toBytes(D.y))},fromBytes(C){let P=C.length,R=C[0],D=C.subarray(1);if(P===i&&(R===2||R===3)){let A=Pe(D);if(!o(A))throw new Error("Point is not on curve");let K=h(A),F=r.sqrt(K),H=(F&se)===se;return(R&1)===1!==H&&(F=r.neg(F)),{x:A,y:F}}else if(P===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 ${P} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),g=C=>De(je(C,e.nByteLength));function d(C){let P=n>>se;return C>P}function p(C){return d(C)?a(-C):C}let y=(C,P,R)=>Pe(C.slice(P,R));class m{constructor(P,R,D){this.r=P,this.s=R,this.recovery=D,this.assertValidity()}static fromCompact(P){let R=e.nByteLength;return P=wt("compactSignature",P,R*2),new m(y(P,0,R),y(P,R,2*R))}static fromDER(P){let{r:R,s:D}=Sr.toSig(wt("DER",P));return new m(R,D)}assertValidity(){if(!l(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!l(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(P){return new m(this.r,this.s,P)}recoverPublicKey(P){let{r:R,s:D,recovery:A}=this,K=N(wt("msgHash",P));if(A==null||![0,1,2,3].includes(A))throw new Error("recovery id invalid");let F=A===2||A===3?R+e.n:R;if(F>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=A&1?"03":"02",$=c.fromHex(H+g(F)),J=u(F),st=a(-K*J),j=a(D*J),rt=c.BASE.multiplyAndAddUnsafe($,st,j);if(!rt)throw new Error("point at infinify");return rt.assertValidity(),rt}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new m(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return pr(this.toDERHex())}toDERHex(){return Sr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return pr(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=xo(e.n);return ku(e.randomBytes(C),e.n)},precompute(C=8,P=c.BASE){return P._setWindowSize(C),P.multiply(BigInt(3)),P}};function b(C,P=!0){return c.fromPrivateKey(C).toRawBytes(P)}function T(C){let P=C instanceof Uint8Array,R=typeof C=="string",D=(P||R)&&C.length;return P?D===i||D===s:R?D===2*i||D===2*s:C instanceof c}function E(C,P,R=!0){if(T(C))throw new Error("first arg must be private key");if(!T(P))throw new Error("second arg must be public key");return c.fromHex(P).multiply(f(C)).toRawBytes(R)}let S=e.bits2int||function(C){let P=Pe(C),R=C.length*8-e.nBitLength;return R>0?P>>BigInt(R):P},N=e.bits2int_modN||function(C){return a(S(C))},L=Cn(e.nBitLength);function G(C){if(typeof C!="bigint")throw new Error("bigint expected");if(!(Me<=C&&C<L))throw new Error(`bigint expected < 2^${e.nBitLength}`);return je(C,e.nByteLength)}function z(C,P,R=q){if(["recovered","canonical"].some(bt=>bt in R))throw new Error("sign() legacy options not supported");let{hash:D,randomBytes:A}=e,{lowS:K,prehash:F,extraEntropy:H}=R;K==null&&(K=!0),C=wt("msgHash",C),F&&(C=wt("prehashed msgHash",D(C)));let $=N(C),J=f(P),st=[G(J),G($)];if(H!=null){let bt=H===!0?A(r.BYTES):H;st.push(wt("extraEntropy",bt))}let j=ke(...st),rt=$;function At(bt){let Ot=S(bt);if(!l(Ot))return;let Mt=u(Ot),Tt=c.BASE.multiply(Ot).toAffine(),Ft=a(Tt.x);if(Ft===Me)return;let Ae=a(Mt*a(rt+Ft*J));if(Ae===Me)return;let nr=(Tt.x===Ft?0:2)|Number(Tt.y&se),jr=Ae;return K&&d(Ae)&&(jr=p(Ae),nr^=1),new m(Ft,jr,nr)}return{seed:j,k2sig:At}}let q={lowS:e.lowS,prehash:!1},X={lowS:e.lowS,prehash:!1};function at(C,P,R=q){let{seed:D,k2sig:A}=z(C,P,R),K=e;return po(K.hash.outputLen,K.nByteLength,K.hmac)(D,A)}c.BASE._setWindowSize(8);function Kt(C,P,R,D=X){let A=C;if(P=wt("msgHash",P),R=wt("publicKey",R),"strict"in D)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:F}=D,H,$;try{if(typeof A=="string"||A instanceof Uint8Array)try{H=m.fromDER(A)}catch(Tt){if(!(Tt instanceof Sr.Err))throw Tt;H=m.fromCompact(A)}else if(typeof A=="object"&&typeof A.r=="bigint"&&typeof A.s=="bigint"){let{r:Tt,s:Ft}=A;H=new m(Tt,Ft)}else throw new Error("PARSE");$=c.fromHex(R)}catch(Tt){if(Tt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&H.hasHighS())return!1;F&&(P=e.hash(P));let{r:J,s:st}=H,j=N(P),rt=u(st),At=a(j*rt),bt=a(J*rt),Ot=c.BASE.multiplyAndAddUnsafe($,At,bt)?.toAffine();return Ot?a(Ot.x)===J:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:E,sign:at,verify:Kt,ProjectivePoint:c,Signature:m,utils:w}}var Qi=class extends Hr{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Su(e);let n=In(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 qr(this),this.iHash.update(e),this}digestInto(e){qr(this),oo(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()}},Yo=(t,e,r)=>new Qi(t,e).update(r).digest();Yo.create=(t,e)=>new Qi(t,e);function zy(t){return{hash:t,hmac:(e,...r)=>Yo(t,e,_i(...r)),randomBytes:zr}}function Cc(t,e){let r=n=>Ic({...t,...zy(n)});return Object.freeze({...r(e),create:r})}var Rc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),_c=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Gy=BigInt(1),Wo=BigInt(2),Tc=(t,e)=>(t+e/Wo)/e;function Yy(t){let e=Rc,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),u=BigInt(88),c=t*t*t%e,f=c*c*t%e,h=gt(f,r,e)*f%e,l=gt(h,r,e)*f%e,g=gt(l,Wo,e)*c%e,d=gt(g,i,e)*g%e,p=gt(d,s,e)*d%e,y=gt(p,a,e)*p%e,m=gt(y,u,e)*y%e,w=gt(m,a,e)*p%e,b=gt(w,r,e)*f%e,T=gt(b,o,e)*d%e,E=gt(T,n,e)*c%e,S=gt(E,Wo,e);if(!Qo.eql(Qo.sqr(S),t))throw new Error("Cannot find square root");return S}var Qo=ki(Rc,void 0,void 0,{sqrt:Yy}),Fe=Cc({a:BigInt(0),b:BigInt(7),Fp:Qo,n:_c,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=_c,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Gy*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=Tc(s*t,e),u=Tc(-n*t,e),c=ut(t-a*r-u*i,e),f=ut(-a*n-u*s,e),h=c>o,l=f>o;if(h&&(c=e-c),l&&(f=e-f),c>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:h,k1:c,k2neg:l,k2:f}}}},Bc),jb=BigInt(0);var tv=Fe.ProjectivePoint;function Nc(){return Fe.utils.randomPrivateKey()}async function Lc(t,e){let{digest:r}=await Nt.digest(e);try{return Fe.sign(r,t).toDERRawBytes()}catch(n){throw new O(String(n),"ERR_INVALID_INPUT")}}async function Dc(t,e,r){try{let{digest:n}=await Nt.digest(r);return Fe.verify(e,n,t)}catch(n){throw new O(String(n),"ERR_INVALID_INPUT")}}function Pc(t){return Fe.ProjectivePoint.fromHex(t).toRawBytes(!0)}function kc(t){try{Fe.getPublicKey(t,!0)}catch(e){throw new O(String(e),"ERR_INVALID_PRIVATE_KEY")}}function $o(t){try{Fe.ProjectivePoint.fromHex(t)}catch(e){throw new O(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Uc(t){try{return Fe.getPublicKey(t,!0)}catch(e){throw new O(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Kn=class{_key;constructor(e){$o(e),this._key=e}async verify(e,r){return Dc(this._key,r,e)}marshal(){return Pc(this._key)}get bytes(){return le.encode({Type:lt.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}},On=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Uc(e),kc(this._key),$o(this._publicKey)}async sign(e){return Lc(this._key,e)}get public(){return new Kn(this._publicKey)}marshal(){return this._key}get bytes(){return de.encode({Type:lt.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return _t(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Qr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Qy(t){return new On(t)}function $y(t){return new Kn(t)}async function Zy(){let t=Nc();return new On(t)}var Be={rsa:zo,ed25519:Oo,secp256k1:Zo};function Xo(t){let e=Object.keys(Be).join(" / ");return new O(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Jo(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Be[t];throw Xo(t)}async function Xy(t,e){return Jo(t).generateKeyPair(e??2048)}async function Jy(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 Ko(e)}function jy(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 Xo(e.Type??"unknown")}}function t1(t,e){return e=(e??"rsa").toLowerCase(),Jo(e),t.bytes}async function Kc(t){let e=de.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 Xo(e.Type??"RSA")}}function e1(t,e){return e=(e??"rsa").toLowerCase(),Jo(e),t.bytes}async function r1(t,e){try{let i=await oc(t,e);return await Kc(i)}catch{}let r=$i.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=$i.default.asn1.toDer($i.default.pki.privateKeyToAsn1(r));return n=xt(n.getBytes(),"ascii"),Be.rsa.unmarshalRsaPrivateKey(n)}var n1=Rt(Zs(),1),i1=Rt(St(),1);function Oc(){return BigInt(`0x${_t(wr(8),"base16")}`)}var Mc=(t,e)=>{let r=xt(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},Fc=t=>Nt.encode(t);var Vc=function(t){return Array.isArray(t)?t:[t]},s1=async t=>{if(t.sequenceNumber==null||t.from==null||t.signature==null)return!1;let e=un(t.from);return e.publicKey!=null?!0:t.key!=null?(await Hn(t.key)).equals(e):!1},qc=async t=>{if(t.from==null)throw new O("RPC message was missing from",Lt.ERR_MISSING_FROM);if(!await s1(t))return{type:"unsigned",topic:t.topic??"",data:t.data??new Uint8Array(0)};let e=un(t.from),r={type:"signed",from:un(t.from),topic:t.topic??"",sequenceNumber:a1(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",Lt.ERR_MISSING_KEY);return r},Fn=t=>t.type==="signed"?{from:t.from.multihash.bytes,data:t.data,sequenceNumber:o1(t.sequenceNumber),topic:t.topic,signature:t.signature,key:t.key}:{data:t.data,topic:t.topic},o1=t=>{let e=t.toString(16);return e.length%2!==0&&(e=`0${e}`),xt(e,"base16")},a1=t=>BigInt(`0x${_t(t,"base16")}`);var Hc=xt("libp2p-pubsub:");async function zc(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=Gt([Hc,r(Fn(n)).subarray()]),s=await Mn.unmarshalPrivateKey(t.privateKey);return n.signature=await s.sign(i),n.key=t.publicKey,n}async function Gc(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=Gt([Hc,e({...Fn(t),signature:void 0,key:void 0}).subarray()]),n=await u1(t);return Mn.unmarshalPublicKey(n).verify(r,t.signature)}async function u1(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 Hn(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 jo=class extends Br{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:u=1,maxOutboundStreams:c=1}=r;this.log=e.logger.forComponent("libp2p:pubsub"),this.components=e,this.multicodecs=Vc(n),this.enabled=r.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new cn,this.globalSignaturePolicy=i==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=s,this.emitSelf=o,this.topicValidators=new Map,this.queue=new za({concurrency:a}),this.maxInboundStreams=u,this.maxOutboundStreams=c,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 si(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 hn(r,async i=>{for await(let s of i){let o=this.decodeRpc(s),a=[];for(let u of o.messages??[]){if(u.from==null||u.data==null||u.topic==null){this.log("message from %p was missing from, data or topic fields, dropping",e);continue}a.push({from:u.from,data:u.data,topic:u.topic,sequenceNumber:u.sequenceNumber??void 0,signature:u.signature??void 0,key:u.key??void 0})}this.processRpc(e,n,{subscriptions:(o.subscriptions??[]).map(u=>({subscribe:!!u.subscribe,topic:u.topic??""})),messages:a}).catch(u=>{this.log(u)})}})}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 ye("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 qc(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 fn,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 ye("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',Lt.ERR_MISSING_SIGNATURE);if(e.sequenceNumber==null)throw new O("Need seqno when signature policy is StrictSign but it was missing",Lt.ERR_MISSING_SEQNO);if(e.key==null)throw new O("Need key when signature policy is StrictSign but it was missing",Lt.ERR_MISSING_KEY);return Mc(e.key,e.sequenceNumber);case"StrictNoSign":return Fc(e.data);default:throw new O("Cannot get message id: unhandled signature policy",Lt.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(Fn)})}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',Lt.ERR_MISSING_SIGNATURE);if(r.signature!=null)throw new O("StrictNoSigning: signature should not be present",Lt.ERR_UNEXPECTED_SIGNATURE);if(r.key!=null)throw new O("StrictNoSigning: key should not be present",Lt.ERR_UNEXPECTED_KEY);if(r.sequenceNumber!=null)throw new O("StrictNoSigning: seqno should not be present",Lt.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',Lt.ERR_MISSING_SIGNATURE);if(r.signature==null)throw new O("StrictSigning: Signing required and no signature was present",Lt.ERR_MISSING_SIGNATURE);if(r.sequenceNumber==null)throw new O("StrictSigning: Signing required and no sequenceNumber was present",Lt.ERR_MISSING_SEQNO);if(!await Gc(r,this.encodeMessage.bind(this)))throw new O("StrictSigning: Invalid message signature",Lt.ERR_INVALID_SIGNATURE);break;default:throw new O("Cannot validate message: unhandled signature policy",Lt.ERR_UNHANDLED_SIGNATURE_POLICY)}let i=this.topicValidators.get(r.topic);if(i!=null){let s=await i(e,r);if(s===tn.Reject||s===tn.Ignore)throw new O("Message validation failed",Lt.ERR_TOPIC_VALIDATOR_REJECT)}}async buildMessage(e){switch(this.globalSignaturePolicy){case"StrictSign":return zc(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",Lt.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:Oc()};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 ye("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())}};return of(c1);})();
|
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 rl(t){return t.replace(/^\s+/,"")}});var M0=ct((sm,O0)=>{var xe=ot();fr();St();var k0=O0.exports=xe.sha256=xe.sha256||{};xe.md.sha256=xe.md.algorithms.sha256=k0;k0.create=function(){U0||nl();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(Xs.substr(0,n.blockLength-o));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};P0(h,r,i);var l=xe.util.createBuffer();return l.putInt32(h.h0),l.putInt32(h.h1),l.putInt32(h.h2),l.putInt32(h.h3),l.putInt32(h.h4),l.putInt32(h.h5),l.putInt32(h.h6),l.putInt32(h.h7),l},n};var Xs=null,U0=!1,K0=null;function nl(){Xs="\x80",Xs+=xe.util.fillString("\0",64),K0=[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],U0=!0}function P0(t,e,r){for(var n,i,s,o,a,u,c,f,h,l,g,d,p,y,m,w=r.length();w>=64;){for(c=0;c<16;++c)e[c]=r.getInt32();for(;c<64;++c)n=e[c-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[c-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[c]=n+e[c-7]+i+e[c-16]|0;for(f=t.h0,h=t.h1,l=t.h2,g=t.h3,d=t.h4,p=t.h5,y=t.h6,m=t.h7,c=0;c<64;++c)o=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=y^d&(p^y),s=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),u=f&h|l&(f^h),n=m+o+a+K0[c]+e[c],i=s+u,m=y,y=p,p=d,d=g+n>>>0,g=l,l=h,h=f,f=n+i>>>0;t.h0=t.h0+f|0,t.h1=t.h1+h|0,t.h2=t.h2+l|0,t.h3=t.h3+g|0,t.h4=t.h4+d|0,t.h5=t.h5+p|0,t.h6=t.h6+y|0,t.h7=t.h7+m|0,w-=64}}});var V0=ct((om,F0)=>{var be=ot();St();var bi=null;be.util.isNodejs&&!be.options.usePureJavaScript&&!process.versions["node-webkit"]&&(bi=gi());var il=F0.exports=be.prng=be.prng||{};il.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(c,f){if(!f)return e.generateSync(c);var h=e.plugin.cipher,l=e.plugin.increment,g=e.plugin.formatKey,d=e.plugin.formatSeed,p=be.util.createBuffer();e.key=null,y();function y(m){if(m)return f(m);if(p.length()>=c)return f(null,p.getBytes(c));if(e.generated>1048575&&(e.key=null),e.key===null)return be.util.nextTick(function(){s(y)});var w=h(e.key,e.seed);e.generated+=w.length,p.putBytes(w),e.key=g(h(e.key,l(e.seed))),e.seed=d(h(e.key,e.seed)),be.util.setImmediate(y)}},e.generateSync=function(c){var f=e.plugin.cipher,h=e.plugin.increment,l=e.plugin.formatKey,g=e.plugin.formatSeed;e.key=null;for(var d=be.util.createBuffer();d.length()<c;){e.generated>1048575&&(e.key=null),e.key===null&&o();var p=f(e.key,e.seed);e.generated+=p.length,d.putBytes(p),e.key=l(f(e.key,h(e.seed))),e.seed=g(f(e.key,e.seed))}return d.getBytes(c)};function s(c){if(e.pools[0].messageLength>=32)return a(),c();var f=32-e.pools[0].messageLength<<5;e.seedFile(f,function(h,l){if(h)return c(h);e.collect(l),a(),c()})}function o(){if(e.pools[0].messageLength>=32)return a();var c=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(c)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var c=e.plugin.md.create();c.update(e.keyBytes);for(var f=1,h=0;h<32;++h)e.reseeds%f===0&&(c.update(e.pools[h].digest().getBytes()),e.pools[h].start()),f=f<<1;e.keyBytes=c.digest().getBytes(),c.start(),c.update(e.keyBytes);var l=c.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(l),e.generated=0}function u(c){var f=null,h=be.util.globalScope,l=h.crypto||h.msCrypto;l&&l.getRandomValues&&(f=function(E){return l.getRandomValues(E)});var g=be.util.createBuffer();if(f)for(;g.length()<c;){var d=Math.max(1,Math.min(c-g.length(),65536)/4),p=new Uint32Array(Math.floor(d));try{f(p);for(var y=0;y<p.length;++y)g.putInt32(p[y])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(g.length()<c)for(var m,w,b,T=Math.floor(Math.random()*65536);g.length()<c;){w=16807*(T&65535),m=16807*(T>>16),w+=(m&32767)<<16,w+=m>>15,w=(w&2147483647)+(w>>31),T=w&4294967295;for(var y=0;y<3;++y)b=T>>>(y<<3),b^=Math.floor(Math.random()*256),g.putByte(b&255)}return g.getBytes(c)}return bi?(e.seedFile=function(c,f){bi.randomBytes(c,function(h,l){if(h)return f(h);f(null,l.toString())})},e.seedFileSync=function(c){return bi.randomBytes(c).toString()}):(e.seedFile=function(c,f){try{f(null,u(c))}catch(h){f(h)}},e.seedFileSync=u),e.collect=function(c){for(var f=c.length,h=0;h<f;++h)e.pools[e.pool].update(c.substr(h,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(c,f){for(var h="",l=0;l<f;l+=8)h+=String.fromCharCode(c>>l&255);e.collect(h)},e.registerWorker=function(c){if(c===self)e.seedFile=function(h,l){function g(d){var p=d.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",g),l(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",g),self.postMessage({forge:{prng:{needed:h}}})};else{var f=function(h){var l=h.data;l.forge&&l.forge.prng&&e.seedFile(l.forge.prng.needed,function(g,d){c.postMessage({forge:{prng:{err:g,bytes:d}}})})};c.addEventListener("message",f)}},e}});var Bn=ct((am,Js)=>{var Ut=ot();fi();M0();V0();St();(function(){if(Ut.random&&Ut.random.getBytes){Js.exports=Ut.random;return}(function(t){var e={},r=new Array(4),n=Ut.util.createBuffer();e.formatKey=function(h){var l=Ut.util.createBuffer(h);return h=new Array(4),h[0]=l.getInt32(),h[1]=l.getInt32(),h[2]=l.getInt32(),h[3]=l.getInt32(),Ut.aes._expandKey(h,!1)},e.formatSeed=function(h){var l=Ut.util.createBuffer(h);return h=new Array(4),h[0]=l.getInt32(),h[1]=l.getInt32(),h[2]=l.getInt32(),h[3]=l.getInt32(),h},e.cipher=function(h,l){return Ut.aes._updateBlock(h,l,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(h){return++h[3],h},e.md=Ut.md.sha256;function i(){var h=Ut.prng.create(e);return h.getBytes=function(l,g){return h.generate(l,g)},h.getBytesSync=function(l){return h.generate(l)},h}var s=i(),o=null,a=Ut.util.globalScope,u=a.crypto||a.msCrypto;if(u&&u.getRandomValues&&(o=function(h){return u.getRandomValues(h)}),Ut.options.usePureJavaScript||!Ut.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var c="";for(var f in navigator)try{typeof navigator[f]=="string"&&(c+=navigator[f])}catch{}s.collect(c),c=null}t&&(t().mousemove(function(h){s.collectInt(h.clientX,16),s.collectInt(h.clientY,16)}),t().keypress(function(h){s.collectInt(h.charCode,8)}))}if(!Ut.random)Ut.random=s;else for(var f in s)Ut.random[f]=s[f];Ut.random.createInstance=i,Js.exports=Ut.random})(typeof jQuery<"u"?jQuery:null)})()});var G0=ct((um,z0)=>{var Xt=ot();St();var js=[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],q0=[1,2,3,5],sl=function(t,e){return t<<e&65535|(t&65535)>>16-e},ol=function(t,e){return(t&65535)>>e|t<<16-e&65535};z0.exports=Xt.rc2=Xt.rc2||{};Xt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Xt.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(js[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,js[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,js[r.at(a+1)^r.at(a+s)]);return r};var H0=function(t,e,r){var n=!1,i=null,s=null,o=null,a,u,c,f,h=[];for(t=Xt.rc2.expandKey(t,e),c=0;c<64;c++)h.push(t.getInt16Le());r?(a=function(d){for(c=0;c<4;c++)d[c]+=h[f]+(d[(c+3)%4]&d[(c+2)%4])+(~d[(c+3)%4]&d[(c+1)%4]),d[c]=sl(d[c],q0[c]),f++},u=function(d){for(c=0;c<4;c++)d[c]+=h[d[(c+3)%4]&63]}):(a=function(d){for(c=3;c>=0;c--)d[c]=ol(d[c],q0[c]),d[c]-=h[f]+(d[(c+3)%4]&d[(c+2)%4])+(~d[(c+3)%4]&d[(c+1)%4]),f--},u=function(d){for(c=3;c>=0;c--)d[c]-=h[d[(c+3)%4]&63]});var l=function(d){var p=[];for(c=0;c<4;c++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),p.push(y&65535)}f=r?0:63;for(var m=0;m<d.length;m++)for(var w=0;w<d[m][0];w++)d[m][1](p);for(c=0;c<4;c++)o!==null&&(r?o.putInt16Le(p[c]):p[c]^=o.getInt16Le()),s.putInt16Le(p[c])},g=null;return g={start:function(d,p){d&&typeof d=="string"&&(d=Xt.util.createBuffer(d)),n=!1,i=Xt.util.createBuffer(),s=p||new Xt.util.createBuffer,o=d,g.output=s},update:function(d){for(n||i.putBuffer(d);i.length()>=8;)l([[5,a],[1,u],[6,a],[1,u],[5,a]])},finish:function(d){var p=!0;if(r)if(d)p=d(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(p&&(n=!0,g.update()),!r&&(p=i.length()===0,p))if(d)p=d(8,s,!r);else{var m=s.length(),w=s.at(m-1);w>m?p=!1:s.truncate(w)}return p}},g};Xt.rc2.startEncrypting=function(t,e,r){var n=Xt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Xt.rc2.createEncryptionCipher=function(t,e){return H0(t,e,!0)};Xt.rc2.startDecrypting=function(t,e,r){var n=Xt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Xt.rc2.createDecryptionCipher=function(t,e){return H0(t,e,!1)}});var Ei=ct((cm,j0)=>{var to=ot();j0.exports=to.jsbn=to.jsbn||{};var Le,al=0xdeadbeefcafe,Y0=(al&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))}to.jsbn.BigInteger=I;function et(){return new I(null)}function ul(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 cl(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var u=this.data[t]&32767,c=this.data[t++]>>15,f=a*u+c*o;u=o*u+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(u>>>30)+(f>>>15)+a*c+(i>>>30),r.data[n++]=u&1073741823}return i}function W0(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var u=this.data[t]&16383,c=this.data[t++]>>14,f=a*u+c*o;u=o*u+((f&16383)<<14)+r.data[n]+i,i=(u>>28)+(f>>14)+a*c,r.data[n++]=u&268435455}return i}typeof navigator>"u"?(I.prototype.am=W0,Le=28):Y0&&navigator.appName=="Microsoft Internet Explorer"?(I.prototype.am=cl,Le=30):Y0&&navigator.appName!="Netscape"?(I.prototype.am=ul,Le=26):(I.prototype.am=W0,Le=28);I.prototype.DB=Le;I.prototype.DM=(1<<Le)-1;I.prototype.DV=1<<Le;var eo=52;I.prototype.FV=Math.pow(2,eo);I.prototype.F1=eo-Le;I.prototype.F2=2*Le-eo;var fl="0123456789abcdefghijklmnopqrstuvwxyz",vi=new Array,Fr,ne;Fr=48;for(ne=0;ne<=9;++ne)vi[Fr++]=ne;Fr=97;for(ne=10;ne<36;++ne)vi[Fr++]=ne;Fr=65;for(ne=10;ne<36;++ne)vi[Fr++]=ne;function Q0(t){return fl.charAt(t)}function $0(t,e){var r=vi[t.charCodeAt(e)];return r??-1}function hl(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 ll(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 $e(t){var e=et();return e.fromInt(t),e}function dl(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:$0(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 pl(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function yl(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=Q0(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+=Q0(n));return i?s:"0"}function gl(){var t=et();return I.ZERO.subTo(this,t),t}function ml(){return this.s<0?this.negate():this}function xl(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 wi(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 bl(){return this.t<=0?0:this.DB*(this.t-1)+wi(this.data[this.t-1]^this.s&this.DM)}function vl(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 wl(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 El(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 Sl(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 Bl(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 Al(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 Il(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 Cl(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=et());var s=et(),o=this.s,a=t.s,u=this.DB-wi(n.data[n.t-1]);u>0?(n.lShiftTo(u,s),i.lShiftTo(u,r)):(n.copyTo(s),i.copyTo(r));var c=s.t,f=s.data[c-1];if(f!=0){var h=f*(1<<this.F1)+(c>1?s.data[c-2]>>this.F2:0),l=this.FV/h,g=(1<<this.F1)/h,d=1<<this.F2,p=r.t,y=p-c,m=e??et();for(s.dlShiftTo(y,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),I.ONE.dlShiftTo(c,m),m.subTo(s,s);s.t<c;)s.data[s.t++]=0;for(;--y>=0;){var w=r.data[--p]==f?this.DM:Math.floor(r.data[p]*l+(r.data[p-1]+d)*g);if((r.data[p]+=s.am(0,w,r,y,0,c))<w)for(s.dlShiftTo(y,m),r.subTo(m,r);r.data[p]<--w;)r.subTo(m,r)}e!=null&&(r.drShiftTo(c,e),o!=a&&I.ZERO.subTo(e,e)),r.t=c,r.clamp(),u>0&&r.rShiftTo(u,r),o<0&&I.ZERO.subTo(r,r)}}}function _l(t){var e=et();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(I.ZERO)>0&&t.subTo(e,e),e}function hr(t){this.m=t}function Tl(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function Rl(t){return t}function Nl(t){t.divRemTo(this.m,null,t)}function Ll(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Dl(t,e){t.squareTo(e),this.reduce(e)}hr.prototype.convert=Tl;hr.prototype.revert=Rl;hr.prototype.reduce=Nl;hr.prototype.mulTo=Ll;hr.prototype.sqrTo=Dl;function Pl(){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 lr(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 kl(t){var e=et();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 Ul(t){var e=et();return t.copyTo(e),this.reduce(e),e}function Kl(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 Ol(t,e){t.squareTo(e),this.reduce(e)}function Ml(t,e,r){t.multiplyTo(e,r),this.reduce(r)}lr.prototype.convert=kl;lr.prototype.revert=Ul;lr.prototype.reduce=Kl;lr.prototype.mulTo=Ml;lr.prototype.sqrTo=Ol;function Fl(){return(this.t>0?this.data[0]&1:this.s)==0}function Vl(t,e){if(t>4294967295||t<1)return I.ONE;var r=et(),n=et(),i=e.convert(this),s=wi(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 ql(t,e){var r;return t<256||e.isEven()?r=new hr(e):r=new lr(e),this.exp(t,r)}I.prototype.copyTo=hl;I.prototype.fromInt=ll;I.prototype.fromString=dl;I.prototype.clamp=pl;I.prototype.dlShiftTo=vl;I.prototype.drShiftTo=wl;I.prototype.lShiftTo=El;I.prototype.rShiftTo=Sl;I.prototype.subTo=Bl;I.prototype.multiplyTo=Al;I.prototype.squareTo=Il;I.prototype.divRemTo=Cl;I.prototype.invDigit=Pl;I.prototype.isEven=Fl;I.prototype.exp=Vl;I.prototype.toString=yl;I.prototype.negate=gl;I.prototype.abs=ml;I.prototype.compareTo=xl;I.prototype.bitLength=bl;I.prototype.mod=_l;I.prototype.modPowInt=ql;I.ZERO=$e(0);I.ONE=$e(1);function Hl(){var t=et();return this.copyTo(t),t}function zl(){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 Gl(){return this.t==0?this.s:this.data[0]<<24>>24}function Yl(){return this.t==0?this.s:this.data[0]<<16>>16}function Wl(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Ql(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function $l(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=$e(r),i=et(),s=et(),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 Zl(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 u=$0(t,a);if(u<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+u,++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 Xl(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),ro,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 Jl(){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 jl(t){return this.compareTo(t)==0}function td(t){return this.compareTo(t)<0?this:t}function ed(t){return this.compareTo(t)>0?this:t}function rd(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 nd(t,e){return t&e}function id(t){var e=et();return this.bitwiseTo(t,nd,e),e}function ro(t,e){return t|e}function sd(t){var e=et();return this.bitwiseTo(t,ro,e),e}function Z0(t,e){return t^e}function od(t){var e=et();return this.bitwiseTo(t,Z0,e),e}function X0(t,e){return t&~e}function ad(t){var e=et();return this.bitwiseTo(t,X0,e),e}function ud(){for(var t=et(),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 cd(t){var e=et();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function fd(t){var e=et();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function hd(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 ld(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+hd(this.data[t]);return this.s<0?this.t*this.DB:-1}function dd(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function pd(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=dd(this.data[r]^e);return t}function yd(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function gd(t,e){var r=I.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function md(t){return this.changeBit(t,ro)}function xd(t){return this.changeBit(t,X0)}function bd(t){return this.changeBit(t,Z0)}function vd(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 wd(t){var e=et();return this.addTo(t,e),e}function Ed(t){var e=et();return this.subTo(t,e),e}function Sd(t){var e=et();return this.multiplyTo(t,e),e}function Bd(t){var e=et();return this.divRemTo(t,e,null),e}function Ad(t){var e=et();return this.divRemTo(t,null,e),e}function Id(t){var e=et(),r=et();return this.divRemTo(t,e,r),new Array(e,r)}function Cd(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function _d(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 An(){}function J0(t){return t}function Td(t,e,r){t.multiplyTo(e,r)}function Rd(t,e){t.squareTo(e)}An.prototype.convert=J0;An.prototype.revert=J0;An.prototype.mulTo=Td;An.prototype.sqrTo=Rd;function Nd(t){return this.exp(t,new An)}function Ld(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 Dd(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 Vr(t){this.r2=et(),this.q3=et(),I.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function Pd(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=et();return t.copyTo(e),this.reduce(e),e}function kd(t){return t}function Ud(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 Kd(t,e){t.squareTo(e),this.reduce(e)}function Od(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Vr.prototype.convert=Pd;Vr.prototype.revert=kd;Vr.prototype.reduce=Ud;Vr.prototype.mulTo=Od;Vr.prototype.sqrTo=Kd;function Md(t,e){var r=t.bitLength(),n,i=$e(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 hr(e):e.isEven()?s=new Vr(e):s=new lr(e);var o=new Array,a=3,u=n-1,c=(1<<n)-1;if(o[1]=s.convert(this),n>1){var f=et();for(s.sqrTo(o[1],f);a<=c;)o[a]=et(),s.mulTo(f,o[a-2],o[a]),a+=2}var h=t.t-1,l,g=!0,d=et(),p;for(r=wi(t.data[h])-1;h>=0;){for(r>=u?l=t.data[h]>>r-u&c:(l=(t.data[h]&(1<<r+1)-1)<<u-r,h>0&&(l|=t.data[h-1]>>this.DB+r-u)),a=n;!(l&1);)l>>=1,--a;if((r-=a)<0&&(r+=this.DB,--h),g)o[l].copyTo(i),g=!1;else{for(;a>1;)s.sqrTo(i,d),s.sqrTo(d,i),a-=2;a>0?s.sqrTo(i,d):(p=i,i=d,d=p),s.mulTo(d,o[l],i)}for(;h>=0&&!(t.data[h]&1<<r);)s.sqrTo(i,d),p=i,i=d,d=p,--r<0&&(r=this.DB-1,--h)}return s.revert(i)}function Fd(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 Vd(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 qd(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return I.ZERO;for(var r=t.clone(),n=this.clone(),i=$e(1),s=$e(0),o=$e(0),a=$e(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 ue=[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],Hd=(1<<26)/ue[ue.length-1];function zd(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=ue[ue.length-1]){for(e=0;e<ue.length;++e)if(r.data[0]==ue[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<ue.length;){for(var n=ue[e],i=e+1;i<ue.length&&n<Hd;)n*=ue[i++];for(n=r.modInt(n);e<i;)if(n%ue[e++]==0)return!1}return r.millerRabin(t)}function Gd(t){var e=this.subtract(I.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Yd(),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 u=1;u++<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 Yd(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}I.prototype.chunkSize=Wl;I.prototype.toRadix=$l;I.prototype.fromRadix=Zl;I.prototype.fromNumber=Xl;I.prototype.bitwiseTo=rd;I.prototype.changeBit=gd;I.prototype.addTo=vd;I.prototype.dMultiply=Cd;I.prototype.dAddOffset=_d;I.prototype.multiplyLowerTo=Ld;I.prototype.multiplyUpperTo=Dd;I.prototype.modInt=Vd;I.prototype.millerRabin=Gd;I.prototype.clone=Hl;I.prototype.intValue=zl;I.prototype.byteValue=Gl;I.prototype.shortValue=Yl;I.prototype.signum=Ql;I.prototype.toByteArray=Jl;I.prototype.equals=jl;I.prototype.min=td;I.prototype.max=ed;I.prototype.and=id;I.prototype.or=sd;I.prototype.xor=od;I.prototype.andNot=ad;I.prototype.not=ud;I.prototype.shiftLeft=cd;I.prototype.shiftRight=fd;I.prototype.getLowestSetBit=ld;I.prototype.bitCount=pd;I.prototype.testBit=yd;I.prototype.setBit=md;I.prototype.clearBit=xd;I.prototype.flipBit=bd;I.prototype.add=wd;I.prototype.subtract=Ed;I.prototype.multiply=Sd;I.prototype.divide=Bd;I.prototype.remainder=Ad;I.prototype.divideAndRemainder=Id;I.prototype.modPow=Md;I.prototype.modInverse=qd;I.prototype.pow=Nd;I.prototype.gcd=Fd;I.prototype.isProbablePrime=zd});var iu=ct((fm,nu)=>{var ve=ot();fr();St();var eu=nu.exports=ve.sha1=ve.sha1||{};ve.md.sha1=ve.md.algorithms.sha1=eu;eu.create=function(){ru||Wd();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),tu(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(no.substr(0,n.blockLength-o));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};tu(h,r,i);var l=ve.util.createBuffer();return l.putInt32(h.h0),l.putInt32(h.h1),l.putInt32(h.h2),l.putInt32(h.h3),l.putInt32(h.h4),l},n};var no=null,ru=!1;function Wd(){no="\x80",no+=ve.util.fillString("\0",64),ru=!0}function tu(t,e,r){for(var n,i,s,o,a,u,c,f,h=r.length();h>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,u=t.h4,f=0;f<16;++f)n=r.getInt32(),e[f]=n,c=a^s&(o^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=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,c=a^s&(o^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=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,c=s^o^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=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,c=s^o^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=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,c=s&o|a&(s^o),n=(i<<5|i>>>27)+c+u+2400959708+n,u=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,c=s^o^a,n=(i<<5|i>>>27)+c+u+3395469782+n,u=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+u|0,h-=64}}});var au=ct((hm,ou)=>{var we=ot();St();Bn();iu();var su=ou.exports=we.pkcs1=we.pkcs1||{};su.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),u=a-2*s.digestLength-2;if(e.length>u){var c=new Error("RSAES-OAEP input message length is too long.");throw c.length=e.length,c.maxLength=u,c}n||(n=""),s.update(n,"raw");for(var f=s.digest(),h="",l=u-e.length,g=0;g<l;g++)h+="\0";var d=f.getBytes()+h+""+e;if(!i)i=we.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var c=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw c.seedLength=i.length,c.digestLength=s.digestLength,c}var p=Si(i,a-s.digestLength-1,o),y=we.util.xorBytes(d,p,d.length),m=Si(y,s.digestLength,o),w=we.util.xorBytes(i,m,i.length);return"\0"+w+y};su.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(),u=e.charAt(0),c=e.substring(1,i.digestLength+1),f=e.substring(1+i.digestLength),h=Si(f,i.digestLength,s),l=we.util.xorBytes(c,h,c.length),g=Si(l,o-i.digestLength-1,s),d=we.util.xorBytes(f,g,f.length),p=d.substring(0,i.digestLength),y=u!=="\0",m=0;m<i.digestLength;++m)y|=a.charAt(m)!==p.charAt(m);for(var w=1,b=i.digestLength,T=i.digestLength;T<d.length;T++){var E=d.charCodeAt(T),S=E&1^1,N=w?65534:0;y|=E&N,w=w&S,b+=w}if(y||d.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(b+1)};function Si(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 uu=ct((lm,io)=>{var Ze=ot();St();Ei();Bn();(function(){if(Ze.prime){io.exports=Ze.prime;return}var t=io.exports=Ze.prime=Ze.prime||{},e=Ze.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(h,l){return h|l};t.generateProbablePrime=function(h,l,g){typeof l=="function"&&(g=l,l={}),l=l||{};var d=l.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var p=l.prng||Ze.random,y={nextBytes:function(m){for(var w=p.getBytesSync(m.length),b=0;b<m.length;++b)m[b]=w.charCodeAt(b)}};if(d.name==="PRIMEINC")return s(h,y,d.options,g);throw new Error("Invalid prime generation algorithm: "+d.name)};function s(h,l,g,d){return"workers"in g?u(h,l,g,d):o(h,l,g,d)}function o(h,l,g,d){var p=c(h,l),y=0,m=f(p.bitLength());"millerRabinTests"in g&&(m=g.millerRabinTests);var w=10;"maxBlockTime"in g&&(w=g.maxBlockTime),a(p,h,l,y,m,w,d)}function a(h,l,g,d,p,y,m){var w=+new Date;do{if(h.bitLength()>l&&(h=c(l,g)),h.isProbablePrime(p))return m(null,h);h.dAddOffset(r[d++%8],0)}while(y<0||+new Date-w<y);Ze.util.setImmediate(function(){a(h,l,g,d,p,y,m)})}function u(h,l,g,d){if(typeof Worker>"u")return o(h,l,g,d);var p=c(h,l),y=g.workers,m=g.workLoad||100,w=m*30/8,b=g.workerScript||"forge/prime.worker.js";if(y===-1)return Ze.util.estimateCores(function(E,S){E&&(S=2),y=S-1,T()});T();function T(){y=Math.max(1,y);for(var E=[],S=0;S<y;++S)E[S]=new Worker(b);for(var N=y,S=0;S<y;++S)E[S].addEventListener("message",G);var L=!1;function G(z){if(!L){--N;var q=z.data;if(q.found){for(var X=0;X<E.length;++X)E[X].terminate();return L=!0,d(null,new e(q.prime,16))}p.bitLength()>h&&(p=c(h,l));var at=p.toString(16);z.target.postMessage({hex:at,workLoad:m}),p.dAddOffset(w,0)}}}}function c(h,l){var g=new e(h,l),d=h-1;return g.testBit(d)||g.bitwiseTo(e.ONE.shiftLeft(d),i,g),g.dAddOffset(31-g.mod(n).byteValue(),0),g}function f(h){return h<=100?27:h<=150?18:h<=200?15:h<=250?12:h<=300?9:h<=350?8:h<=400?7:h<=500?6:h<=600?5:h<=800?4:h<=1250?3:2}})()});var Ai=ct((dm,yu)=>{var V=ot();Sn();Ei();li();au();uu();Bn();St();typeof tt>"u"&&(tt=V.jsbn.BigInteger);var tt,so=V.util.isNodejs?gi():null,v=V.asn1,ie=V.util;V.pki=V.pki||{};yu.exports=V.pki.rsa=V.rsa=V.rsa||{};var Y=V.pki,Qd=[6,4,2,4,2,4,6,2],$d={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"}]},Zd={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"}]},Xd={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"}]},Jd=V.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"}]}]},jd={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"}]},tp=function(t){var e;if(t.algorithm in Y.oids)e=Y.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=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()},du=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(tt.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(tt.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new tt(V.util.bytesToHex(V.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(tt.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};Y.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=pu(t,e,r)):(i=V.util.createBuffer(),i.putBytes(t));for(var o=new tt(i.toHex(),16),a=du(o,e,n),u=a.toString(16),c=V.util.createBuffer(),f=s-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(V.util.hexToBytes(u)),c.getBytes()};Y.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 tt(V.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=du(o,e,r),u=a.toString(16),c=V.util.createBuffer(),f=i-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(V.util.hexToBytes(u)),n!==!1?Bi(c.getBytes(),e,r):c.getBytes()};Y.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||V.random,i={nextBytes:function(a){for(var u=n.getBytesSync(a.length),c=0;c<a.length;++c)a[c]=u.charCodeAt(c)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new tt(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};Y.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new tt(null);r.fromInt(30);for(var n=0,i=function(h,l){return h|l},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var u=t.p===null?t.pBits:t.qBits,c=u-1;t.pqState===0?(t.num=new tt(u,t.rng),t.num.testBit(c)||t.num.bitwiseTo(tt.ONE.shiftLeft(c),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>u?t.pqState=0:t.num.isProbablePrime(rp(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Qd[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(tt.ONE).gcd(t.e).compareTo(tt.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(tt.ONE),t.q1=t.q.subtract(tt.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(tt.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var f=t.e.modInverse(t.phi);t.keys={privateKey:Y.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:Y.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};Y.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!V.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(cu("generateKeyPair"))return so.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,u,c){if(a)return n(a);n(null,{privateKey:Y.privateKeyFromPem(c),publicKey:Y.publicKeyFromPem(u)})});if(fu("generateKey")&&fu("exportKey"))return ie.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:lu(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return ie.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var u=Y.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(a)));n(null,{privateKey:u,publicKey:Y.setRsaPublicKey(u.n,u.e)})}});if(hu("generateKey")&&hu("exportKey")){var i=ie.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:lu(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,c=ie.globalScope.msCrypto.subtle.exportKey("pkcs8",u.privateKey);c.oncomplete=function(f){var h=f.target.result,l=Y.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(h)));n(null,{privateKey:l,publicKey:Y.setRsaPublicKey(l.n,l.e)})},c.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(cu("generateKeyPairSync")){var s=so.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Y.privateKeyFromPem(s.privateKey),publicKey:Y.publicKeyFromPem(s.publicKey)}}}var o=Y.rsa.createKeyPairGenerationState(t,e,r);if(!n)return Y.rsa.stepKeyPairGenerationState(o,0),o.keys;ep(o,r,n)};Y.setRsaPublicKey=Y.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,u,c){return pu(a,u,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,u){return V.pkcs1.encode_rsa_oaep(u,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 Y.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(u,c){c=Bi(c,r,!0);var f=v.fromDer(c,{parseAllBytes:o._parseAllDigestBytes}),h={},l=[];if(!v.validate(f,jd,h,l)){var g=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw g.errors=l,g}var d=v.derToOid(h.algorithmIdentifier);if(!(d===V.oids.md2||d===V.oids.md5||d===V.oids.sha1||d===V.oids.sha224||d===V.oids.sha256||d===V.oids.sha384||d===V.oids.sha512||d===V.oids["sha512-224"]||d===V.oids["sha512-256"])){var g=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw g.oid=d,g}if((d===V.oids.md2||d===V.oids.md5)&&!("parameters"in h))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return u===h.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(u,c){return c=Bi(c,r,!0),u===c}});var a=Y.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};Y.setRsaPrivateKey=Y.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var u={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return u.decrypt=function(c,f,h){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var l=Y.rsa.decrypt(c,u,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Bi};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(g,d){return V.pkcs1.decode_rsa_oaep(d,g,h)}};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(l,u,!1)},u.sign=function(c,f){var h=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:tp},h=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return c}},h=1);var l=f.encode(c,u.n.bitLength());return Y.rsa.encrypt(l,u,h)},u};Y.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(Y.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())])};Y.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,$d,e,r)&&(t=v.fromDer(V.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Zd,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,u,c,f,h;return i=V.util.createBuffer(e.privateKeyModulus).toHex(),s=V.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=V.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=V.util.createBuffer(e.privateKeyPrime1).toHex(),u=V.util.createBuffer(e.privateKeyPrime2).toHex(),c=V.util.createBuffer(e.privateKeyExponent1).toHex(),f=V.util.createBuffer(e.privateKeyExponent2).toHex(),h=V.util.createBuffer(e.privateKeyCoefficient).toHex(),Y.setRsaPrivateKey(new tt(i,16),new tt(s,16),new tt(o,16),new tt(a,16),new tt(u,16),new tt(c,16),new tt(f,16),new tt(h,16))};Y.privateKeyToAsn1=Y.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))])};Y.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Jd,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==Y.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,Xd,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=V.util.createBuffer(e.publicKeyModulus).toHex(),o=V.util.createBuffer(e.publicKeyExponent).toHex();return Y.setRsaPublicKey(new tt(s,16),new tt(o,16))};Y.publicKeyToAsn1=Y.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(Y.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[Y.publicKeyToRSAPublicKey(t)])])};Y.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 pu(t,e,r){var n=V.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var u=0;u<o;++u)n.putByte(a)}else for(;o>0;){for(var c=0,f=V.random.getBytes(o),u=0;u<o;++u)a=f.charCodeAt(u),a===0?++c:n.putByte(a);o=c}return n.putByte(0),n.putBytes(t),n}function Bi(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=V.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var u=0;if(a===0){u=i-3-n;for(var c=0;c<u;++c)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(u=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++u}else if(a===2)for(u=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++u}var f=s.getByte();if(f!==0||u!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function ep(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,u){if(a)return r(a);if(t.p=u,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,u){V.prime.generateProbablePrime(a,n,u)}function o(a,u){if(a)return r(a);if(t.q=u,t.p.compareTo(t.q)<0){var c=t.p;t.p=t.q,t.q=c}if(t.p.subtract(tt.ONE).gcd(t.e).compareTo(tt.ONE)!==0){t.p=null,i();return}if(t.q.subtract(tt.ONE).gcd(t.e).compareTo(tt.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(tt.ONE),t.q1=t.q.subtract(tt.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(tt.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:Y.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:Y.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Ee(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=V.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function rp(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 cu(t){return V.util.isNodejs&&typeof so[t]=="function"}function fu(t){return typeof ie.globalScope<"u"&&typeof ie.globalScope.crypto=="object"&&typeof ie.globalScope.crypto.subtle=="object"&&typeof ie.globalScope.crypto.subtle[t]=="function"}function hu(t){return typeof ie.globalScope<"u"&&typeof ie.globalScope.msCrypto=="object"&&typeof ie.globalScope.msCrypto.subtle=="object"&&typeof ie.globalScope.msCrypto.subtle[t]=="function"}function lu(t){for(var e=V.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var wu=ct((pm,vu)=>{var U=ot();fi();Sn();I0();fr();li();Zs();D0();Bn();G0();Ai();St();typeof gu>"u"&&(gu=U.jsbn.BigInteger);var gu,B=U.asn1,W=U.pki=U.pki||{};vu.exports=W.pbe=U.pbe=U.pbe||{};var dr=W.oids,np={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"}]},ip={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"}]}]},sp={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"}]};W.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,u;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var c,f,h;switch(r.algorithm){case"aes128":o=16,c=16,f=dr["aes128-CBC"],h=U.aes.createEncryptionCipher;break;case"aes192":o=24,c=16,f=dr["aes192-CBC"],h=U.aes.createEncryptionCipher;break;case"aes256":o=32,c=16,f=dr["aes256-CBC"],h=U.aes.createEncryptionCipher;break;case"des":o=8,c=8,f=dr.desCBC,h=U.des.createEncryptionCipher;break;default:var l=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw l.algorithm=r.algorithm,l}var g="hmacWith"+r.prfAlgorithm.toUpperCase(),d=bu(g),p=U.pkcs5.pbkdf2(e,n,i,o,d),y=U.random.getBytesSync(c),m=h(p);m.start(y),m.update(B.toDer(t)),m.finish(),u=m.output.getBytes();var w=op(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(dr.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(dr.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),p=W.pbe.generatePkcs12Key(e,b,1,i,o),y=W.pbe.generatePkcs12Key(e,b,2,i,o),m=U.des.createEncryptionCipher(p);m.start(y),m.update(B.toDer(t)),m.finish(),u=m.output.getBytes(),a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(dr["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 l=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw l.algorithm=r.algorithm,l}var T=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[a,B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,u)]);return T};W.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!B.validate(t,np,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=W.pbe.getCipher(o,n.encryptionParams,e),u=U.util.createBuffer(n.encryptedData);return a.update(u),a.finish()&&(r=B.fromDer(a.output)),r};W.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:B.toDer(t).getBytes()};return U.pem.encode(r,{maxline:e})};W.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)};W.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=W.wrapRsaPrivateKey(W.privateKeyToAsn1(t));return n=W.encryptPrivateKeyInfo(n,e,r),W.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 u=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw u.algorithm=r.algorithm,u}var c=U.pbe.opensslDeriveBytes(e,s.substr(0,8),o),f=a(c);f.start(s),f.update(B.toDer(W.privateKeyToAsn1(t))),f.finish();var h={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(h)};W.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(h){return U.rc2.createDecryptionCipher(h,40)};break;case"RC2-64-CBC":s=8,o=function(h){return U.rc2.createDecryptionCipher(h,64)};break;case"RC2-128-CBC":s=16,o=function(h){return U.rc2.createDecryptionCipher(h,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=U.util.hexToBytes(n.dekInfo.parameters),u=U.pbe.opensslDeriveBytes(e,a.substr(0,8),s),c=o(u);if(c.start(a),c.update(U.util.createBuffer(n.body)),c.finish())r=c.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=W.decryptPrivateKeyInfo(B.fromDer(r),e):r=B.fromDer(r),r!==null&&(r=W.privateKeyFromAsn1(r)),r};W.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 u=s.digestLength,c=s.blockLength,f=new U.util.ByteBuffer,h=new U.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)h.putInt16(t.charCodeAt(a));h.putInt16(0)}var l=h.length(),g=e.length(),d=new U.util.ByteBuffer;d.fillWithByte(r,c);var p=c*Math.ceil(g/c),y=new U.util.ByteBuffer;for(a=0;a<p;a++)y.putByte(e.at(a%g));var m=c*Math.ceil(l/c),w=new U.util.ByteBuffer;for(a=0;a<m;a++)w.putByte(h.at(a%l));var b=y;b.putBuffer(w);for(var T=Math.ceil(i/u),E=1;E<=T;E++){var S=new U.util.ByteBuffer;S.putBytes(d.bytes()),S.putBytes(b.bytes());for(var N=0;N<n;N++)s.start(),s.update(S.getBytes()),S=s.digest();var L=new U.util.ByteBuffer;for(a=0;a<c;a++)L.putByte(S.at(a%u));var G=Math.ceil(g/c)+Math.ceil(l/c),z=new U.util.ByteBuffer;for(o=0;o<G;o++){var q=new U.util.ByteBuffer(b.getBytes(c)),X=511;for(a=L.length()-1;a>=0;a--)X=X>>8,X+=L.at(a)+q.at(a),q.setAt(a,X&255);z.putBuffer(q)}b=z,f.putBuffer(S)}return f.truncate(f.length()-i),f};W.pbe.getCipher=function(t,e,r){switch(t){case W.oids.pkcs5PBES2:return W.pbe.getCipherForPBES2(t,e,r);case W.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case W.oids["pbewithSHAAnd40BitRC2-CBC"]:return W.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}};W.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!B.validate(e,ip,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!==W.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!==W.oids["aes128-CBC"]&&t!==W.oids["aes192-CBC"]&&t!==W.oids["aes256-CBC"]&&t!==W.oids["des-EDE3-CBC"]&&t!==W.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 u,c;switch(W.oids[t]){case"aes128-CBC":u=16,c=U.aes.createDecryptionCipher;break;case"aes192-CBC":u=24,c=U.aes.createDecryptionCipher;break;case"aes256-CBC":u=32,c=U.aes.createDecryptionCipher;break;case"des-EDE3-CBC":u=24,c=U.des.createDecryptionCipher;break;case"desCBC":u=8,c=U.des.createDecryptionCipher;break}var f=xu(n.prfOid),h=U.pkcs5.pbkdf2(r,o,a,u,f),l=n.encIv,g=c(h);return g.start(l),g};W.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!B.validate(e,sp,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 u,c,f;switch(t){case W.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:u=24,c=8,f=U.des.startDecrypting;break;case W.oids["pbewithSHAAnd40BitRC2-CBC"]:u=5,c=8,f=function(p,y){var m=U.rc2.createDecryptionCipher(p,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 h=xu(n.prfOid),l=W.pbe.generatePkcs12Key(r,o,1,a,u,h);h.start();var g=W.pbe.generatePkcs12Key(r,o,2,a,c,h);return f(l,g)};W.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=[mu(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(mu(n,i[o-1]+t+e));return i.join("").substr(0,r)};function mu(t,e){return t.start().update(e).digest().getBytes()}function xu(t){var e;if(!t)e="hmacWithSHA1";else if(e=W.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 bu(e)}function bu(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 op(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(W.oids[n]).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.NULL,!1,"")])),i}});var dc=ct((cb,lc)=>{var dt=ot();fr();St();var Dn=lc.exports=dt.sha512=dt.sha512||{};dt.md.sha512=dt.md.algorithms.sha512=Dn;var fc=dt.sha384=dt.sha512.sha384=dt.sha512.sha384||{};fc.create=function(){return Dn.create("SHA-384")};dt.md.sha384=dt.md.algorithms.sha384=fc;dt.sha512.sha256=dt.sha512.sha256||{create:function(){return Dn.create("SHA-512/256")}};dt.md["sha512/256"]=dt.md.algorithms["sha512/256"]=dt.sha512.sha256;dt.sha512.sha224=dt.sha512.sha224||{create:function(){return Dn.create("SHA-512/224")}};dt.md["sha512/224"]=dt.md.algorithms["sha512/224"]=dt.sha512.sha224;Dn.create=function(t){if(hc||Ay(),typeof t>"u"&&(t="SHA-512"),!(t in vr))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=vr[t],r=null,n=dt.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 u=a.messageLengthSize/4,c=0;c<u;++c)a.fullMessageLength.push(0);n=dt.util.createBuffer(),r=new Array(e.length);for(var c=0;c<e.length;++c)r[c]=e[c].slice(0);return a},a.start(),a.update=function(u,c){c==="utf8"&&(u=dt.util.encodeUtf8(u));var f=u.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var h=a.fullMessageLength.length-1;h>=0;--h)a.fullMessageLength[h]+=f[1],f[1]=f[0]+(a.fullMessageLength[h]/4294967296>>>0),a.fullMessageLength[h]=a.fullMessageLength[h]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(u),cc(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var u=dt.util.createBuffer();u.putBytes(n.bytes());var c=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=c&a.blockLength-1;u.putBytes(Fo.substr(0,a.blockLength-f));for(var h,l,g=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)h=a.fullMessageLength[d+1]*8,l=h/4294967296>>>0,g+=l,u.putInt32(g>>>0),g=h>>>0;u.putInt32(g);for(var p=new Array(r.length),d=0;d<r.length;++d)p[d]=r[d].slice(0);cc(p,i,u);var y=dt.util.createBuffer(),m;t==="SHA-512"?m=p.length:t==="SHA-384"?m=p.length-2:m=p.length-4;for(var d=0;d<m;++d)y.putInt32(p[d][0]),(d!==m-1||t!=="SHA-512/224")&&y.putInt32(p[d][1]);return y},a};var Fo=null,hc=!1,Vo=null,vr=null;function Ay(){Fo="\x80",Fo+=dt.util.fillString("\0",128),Vo=[[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]],vr={},vr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],vr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],vr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],vr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],hc=!0}function cc(t,e,r){for(var n,i,s,o,a,u,c,f,h,l,g,d,p,y,m,w,b,T,E,S,N,L,G,z,q,X,at,Kt,C,P,R,D,A,K,F,H=r.length();H>=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],P=D[0],R=D[1],n=((P>>>19|R<<13)^(R>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|R>>>19)^(R<<3|P>>>29)^(P<<26|R>>>6))>>>0,K=e[C-15],P=K[0],R=K[1],s=((P>>>1|R<<31)^(P>>>8|R<<24)^P>>>7)>>>0,o=((P<<31|R>>>1)^(P<<24|R>>>8)^(P<<25|R>>>7))>>>0,A=e[C-7],F=e[C-16],R=i+A[1]+o+F[1],e[C][0]=n+A[0]+s+F[0]+(R/4294967296>>>0)>>>0,e[C][1]=R>>>0;for(p=t[0][0],y=t[0][1],m=t[1][0],w=t[1][1],b=t[2][0],T=t[2][1],E=t[3][0],S=t[3][1],N=t[4][0],L=t[4][1],G=t[5][0],z=t[5][1],q=t[6][0],X=t[6][1],at=t[7][0],Kt=t[7][1],C=0;C<80;++C)c=((N>>>14|L<<18)^(N>>>18|L<<14)^(L>>>9|N<<23))>>>0,f=((N<<18|L>>>14)^(N<<14|L>>>18)^(L<<23|N>>>9))>>>0,h=(q^N&(G^q))>>>0,l=(X^L&(z^X))>>>0,a=((p>>>28|y<<4)^(y>>>2|p<<30)^(y>>>7|p<<25))>>>0,u=((p<<4|y>>>28)^(y<<30|p>>>2)^(y<<25|p>>>7))>>>0,g=(p&m|b&(p^m))>>>0,d=(y&w|T&(y^w))>>>0,R=Kt+f+l+Vo[C][1]+e[C][1],n=at+c+h+Vo[C][0]+e[C][0]+(R/4294967296>>>0)>>>0,i=R>>>0,R=u+d,s=a+g+(R/4294967296>>>0)>>>0,o=R>>>0,at=q,Kt=X,q=G,X=z,G=N,z=L,R=S+i,N=E+n+(R/4294967296>>>0)>>>0,L=R>>>0,E=b,S=T,b=m,T=w,m=p,w=y,R=i+o,p=n+s+(R/4294967296>>>0)>>>0,y=R>>>0;R=t[0][1]+y,t[0][0]=t[0][0]+p+(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,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]+L,t[4][0]=t[4][0]+N+(R/4294967296>>>0)>>>0,t[4][1]=R>>>0,R=t[5][1]+z,t[5][0]=t[5][0]+G+(R/4294967296>>>0)>>>0,t[5][1]=R>>>0,R=t[6][1]+X,t[6][0]=t[6][0]+q+(R/4294967296>>>0)>>>0,t[6][1]=R>>>0,R=t[7][1]+Kt,t[7][0]=t[7][0]+at+(R/4294967296>>>0)>>>0,t[7][1]=R>>>0,H-=128}}});var c1={};It(c1,{PubSubBaseProtocol:()=>jo});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 Br=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 ye(e,r))}},Xi=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},ye=globalThis.CustomEvent??Xi;var tn;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(tn||(tn={}));var ca=Symbol.for("@libp2p/peer-id");var rs={};It(rs,{base58btc:()=>Wt,base58flickr:()=>lf});function af(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,u=t.charAt(0),c=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var p=0,y=0,m=0,w=d.length;m!==w&&d[m]===0;)m++,p++;for(var b=(w-m)*f+1>>>0,T=new Uint8Array(b);m!==w;){for(var E=d[m],S=0,N=b-1;(E!==0||S<y)&&N!==-1;N--,S++)E+=256*T[N]>>>0,T[N]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");y=S,m++}for(var L=b-y;L!==b&&T[L]===0;)L++;for(var G=u.repeat(p);L<b;++L)G+=t.charAt(T[L]);return G}function l(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var y=0,m=0;d[p]===u;)y++,p++;for(var w=(d.length-p)*c+1>>>0,b=new Uint8Array(w);d[p];){var T=r[d.charCodeAt(p)];if(T===255)return;for(var E=0,S=w-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,p++}if(d[p]!==" "){for(var N=w-m;N!==w&&b[N]===0;)N++;for(var L=new Uint8Array(y+(w-N)),G=y;N!==w;)L[G++]=b[N++];return L}}}function g(d){var p=l(d);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:l,decode:g}}var uf=af,cf=uf,fa=cf;var b1=new Uint8Array(0);var ha=(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},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")};var la=t=>new TextEncoder().encode(t),da=t=>new TextDecoder().decode(t);var Ji=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ji=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ya(this,e)}},ts=class{constructor(e){this.decoders=e}or(e){return ya(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},ya=(t,e)=>new ts({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),es=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ji(e,r,n),this.decoder=new ji(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Ar=({name:t,prefix:e,encode:r,decode:n})=>new es(t,e,r,n),Ve=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=fa(r,e);return Ar({prefix:t,name:e,encode:n,decode:s=>Ie(i(s))})},ff=(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,u=0,c=0;for(let f=0;f<s;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);u=u<<r|h,a+=r,a>=8&&(a-=8,o[c++]=255&u>>a)}if(a>=r||255&u<<8-a)throw new SyntaxError("Unexpected end of data");return o},hf=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let u=0;u<t.length;++u)for(a=a<<8|t[u],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},vt=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Ar({prefix:e,name:t,encode(i){return hf(i,n,r)},decode(i){return ff(i,n,r,t)}});var Wt=Ve({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),lf=Ve({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ns={};It(ns,{base10:()=>df});var df=Ve({prefix:"9",name:"base10",alphabet:"0123456789"});var is={};It(is,{base16:()=>pf,base16upper:()=>yf});var pf=vt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),yf=vt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ss={};It(ss,{base2:()=>gf});var gf=vt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var os={};It(os,{base256emoji:()=>wf});var ga=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}"),mf=ga.reduce((t,e,r)=>(t[r]=e,t),[]),xf=ga.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function bf(t){return t.reduce((e,r)=>(e+=mf[r],e),"")}function vf(t){let e=[];for(let r of t){let n=xf[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var wf=Ar({prefix:"\u{1F680}",name:"base256emoji",encode:bf,decode:vf});var as={};It(as,{base32:()=>Ir,base32hex:()=>Af,base32hexpad:()=>Cf,base32hexpadupper:()=>_f,base32hexupper:()=>If,base32pad:()=>Sf,base32padupper:()=>Bf,base32upper:()=>Ef,base32z:()=>Tf});var Ir=vt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ef=vt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Sf=vt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Bf=vt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Af=vt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),If=vt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Cf=vt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),_f=vt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Tf=vt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var us={};It(us,{base36:()=>Rf,base36upper:()=>Nf});var Rf=Ve({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Nf=Ve({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var cs={};It(cs,{base64:()=>en,base64pad:()=>Lf,base64url:()=>Df,base64urlpad:()=>Pf});var en=vt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Lf=vt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Df=vt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Pf=vt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var fs={};It(fs,{base8:()=>kf});var kf=vt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var hs={};It(hs,{identity:()=>Uf});var Uf=Ar({prefix:"\0",name:"identity",encode:t=>da(t),decode:t=>la(t)});var P1=new TextEncoder,k1=new TextDecoder;var ds={};It(ds,{identity:()=>qe});var Mf=ba,ma=128,Ff=127,Vf=~Ff,qf=Math.pow(2,31);function ba(t,e,r){e=e||[],r=r||0;for(var n=r;t>=qf;)e[r++]=t&255|ma,t/=128;for(;t&Vf;)e[r++]=t&255|ma,t>>>=7;return e[r]=t|0,ba.bytes=r-n+1,e}var Hf=ls,zf=128,xa=127;function ls(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw ls.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&xa)<<i:(o&xa)*Math.pow(2,i),i+=7}while(o>=zf);return ls.bytes=s-n,r}var Gf=Math.pow(2,7),Yf=Math.pow(2,14),Wf=Math.pow(2,21),Qf=Math.pow(2,28),$f=Math.pow(2,35),Zf=Math.pow(2,42),Xf=Math.pow(2,49),Jf=Math.pow(2,56),jf=Math.pow(2,63),th=function(t){return t<Gf?1:t<Yf?2:t<Wf?3:t<Qf?4:t<$f?5:t<Zf?6:t<Xf?7:t<Jf?8:t<jf?9:10},eh={encode:Mf,decode:Hf,encodingLength:th},rh=eh,rn=rh;var nn=(t,e=0)=>[rn.decode(t,e),rn.decode.bytes],Cr=(t,e,r=0)=>(rn.encode(t,e,r),e),_r=t=>rn.encodingLength(t);var ge=(t,e)=>{let r=e.byteLength,n=_r(t),i=n+_r(r),s=new Uint8Array(i+r);return Cr(t,s,0),Cr(r,s,n),s.set(e,i),new Tr(t,r,e,s)},sn=t=>{let e=Ie(t),[r,n]=nn(e),[i,s]=nn(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Tr(r,i,o,e)},va=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&ha(t.bytes,r.bytes)}},Tr=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var wa=0,nh="identity",Ea=Ie,ih=t=>ge(wa,Ea(t)),qe={code:wa,name:nh,encode:Ea,digest:ih};var gs={};It(gs,{sha256:()=>Nt,sha512:()=>sh});var ys=({name:t,code:e,encode:r})=>new ps(t,e,r),ps=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?ge(this.code,r):r.then(n=>ge(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Ba=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Nt=ys({name:"sha2-256",code:18,encode:Ba("SHA-256")}),sh=ys({name:"sha2-512",code:19,encode:Ba("SHA-512")});var Aa=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return ah(r,ms(t),e||Wt.encoder);default:return uh(r,ms(t),e||Ir.encoder)}};var Ia=new WeakMap,ms=t=>{let e=Ia.get(t);if(e==null){let r=new Map;return Ia.set(t,r),r}return e},sr=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==on)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==ch)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=ge(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&va(e.multihash,n.multihash)}toString(e){return Aa(this,e)}toJSON(){return{"/":Aa(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new t(n,i,s,o||Ca(n,i,s.bytes))}else if(r[fh]===!0){let{version:n,multihash:i,code:s}=r,o=sn(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!==on)throw new Error(`Version 0 CID must use dag-pb (code: ${on}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Ca(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,on,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=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 Tr(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[h,l]=nn(e.subarray(r));return r+=l,h},i=n(),s=on;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(),u=n(),c=r+u,f=c-o;return{version:i,codec:s,multihashCode:a,digestSize:u,multihashSize:f,size:c}}static parse(e,r){let[n,i]=oh(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 ms(s).set(n,e),s}},oh=(t,e)=>{switch(t[0]){case"Q":{let r=e||Wt;return[Wt.prefix,r.decode(`${Wt.prefix}${t}`)]}case Wt.prefix:{let r=e||Wt;return[Wt.prefix,r.decode(t)]}case Ir.prefix:{let r=e||Ir;return[Ir.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},ah=(t,e,r)=>{let{prefix:n}=r;if(n!==Wt.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},uh=(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},on=112,ch=18,Ca=(t,e,r)=>{let n=_r(t),i=n+_r(e),s=new Uint8Array(i+r.byteLength);return Cr(t,s,0),Cr(e,s,n),s.set(r,i),s},fh=Symbol.for("@ipld/js-cid/CID");var Nr={...hs,...ss,...fs,...ns,...is,...as,...us,...rs,...cs,...os},X1={...gs,...ds};function Vt(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 hh=Symbol.for("nodejs.util.inspect.custom"),_a=Object.values(Nr).map(t=>t.decoder).reduce((t,e)=>t.or(e),Nr.identity.decoder),Ta=114,xs=36,bs=37,an=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()})`}[ca]=!0;toString(){return this.string==null&&(this.string=Wt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return sr.createV1(Ta,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Vt(this.multihash.bytes,e);if(typeof e=="string")return Ct(e).equals(this);if(e?.multihash?.bytes!=null)return Vt(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[hh](){return`PeerId(${this.toString()})`}},Lr=class extends an{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Dr=class extends an{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Pr=class extends an{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Ct(t,e){if(e=e??_a,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=sn(Wt.decode(`z${t}`));return t.startsWith("12D")?new Dr({multihash:r}):t.startsWith("16U")?new Pr({multihash:r}):new Lr({multihash:r})}return un(_a.decode(t))}function un(t){try{let e=sn(t);if(e.code===qe.code){if(e.digest.length===xs)return new Dr({multihash:e});if(e.digest.length===bs)return new Pr({multihash:e})}if(e.code===Nt.code)return new Lr({multihash:e})}catch{return lh(sr.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function lh(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Ta)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Nt.code)return new Lr({multihash:t.multihash});if(e.code===qe.code){if(e.digest.length===xs)return new Dr({multihash:t.multihash});if(e.digest.length===bs)return new Pr({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Hn(t,e){return t.length===xs?new Dr({multihash:ge(qe.code,t),privateKey:e}):t.length===bs?new Pr({multihash:ge(qe.code,t),privateKey:e}):new Lr({multihash:await Nt.digest(t),publicKey:t,privateKey:e})}function Ce(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 cn=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){this.map.delete(e.toString())}entries(){return Ce(this.map.entries(),e=>[Ct(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,Ct(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 Ce(this.map.keys(),e=>Ct(e))}values(){return this.map.values()}get size(){return this.map.size}};var fn=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 Ce(this.set.entries(),e=>{let r=Ct(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=Ct(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Ce(this.set.values(),e=>Ct(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var vs=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Ce(this.list.entries(),e=>Ct(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Ce(this.list.entries(),e=>[e[0],Ct(e[1])])}every(e){return this.list.every((r,n)=>e(Ct(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let s=Ct(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(Ct(n),i,this));if(r!=null)return Ct(r)}findIndex(e){return this.list.findIndex((r,n)=>e(Ct(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(Ct(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return Ct(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return Ct(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};function zn(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Gn=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 Gn(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 Gn(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 ws=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Ur(t={}){return dh(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 dh(t,e){e=e??{};let r=e.onEnd,n=new kr,i,s,o,a=zn(),u=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=zn()})}},c=y=>s!=null?s(y):(n.push(y),i),f=y=>(n=new kr,s!=null?s({error:y}):(n.push({error:y}),i)),h=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 c({done:!1,value:y})},l=y=>o?i:(o=!0,y!=null?f(y):c({done:!0})),g=()=>(n=new kr,l(),{done:!0}),d=y=>(l(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:u,return:g,throw:d,push:h,end:l,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((T,E)=>{b=()=>{E(new ws)},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 p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(y){return p.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(y){return p.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:y=>p.onEmpty(y)},i}function ph(t){return t[Symbol.asyncIterator]!=null}function yh(...t){let e=[];for(let r of t)ph(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Ur({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 Ra=yh;function hn(t,...e){if(t==null)throw new Error("Empty pipeline");if(Es(t)){let n=t;t=()=>n.source}else if(La(t)||Na(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Es(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++)Es(r[n])&&(r[n]=mh(r[n]));return gh(...r)}var gh=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Na=t=>t?.[Symbol.asyncIterator]!=null,La=t=>t?.[Symbol.iterator]!=null,Es=t=>t==null?!1:t.sink!=null&&t.source!=null,mh=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Ur({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=t.source;if(Na(s))i=async function*(){yield*s,n.end()};else if(La(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Ra(n,i())}return t.source};var Bs=Rt(Pa(),1);var dn=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},As=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},ka=t=>globalThis.DOMException===void 0?new As(t):new DOMException(t),Ua=t=>{let e=t.reason===void 0?ka("This operation was aborted."):t.reason;return e instanceof Error?e:ka(e)};function Is(t,e,r,n){let i,s=new Promise((o,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){o(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:u}=n;u.aborted&&a(Ua(u)),u.addEventListener("abort",()=>{a(Ua(u))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(f){a(f)}return}let u=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,c=r instanceof Error?r:new dn(u);typeof t.cancel=="function"&&t.cancel(),a(c)},e),(async()=>{try{o(await t)}catch(u){a(u)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Cs(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 or=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},_e,_s=class{constructor(){_e.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&or(this,_e,"f")[this.size-1].priority>=r.priority){or(this,_e,"f").push(n);return}let i=Cs(or(this,_e,"f"),n,(s,o)=>o.priority-s.priority);or(this,_e,"f").splice(i,0,n)}dequeue(){let e=or(this,_e,"f").shift();return e?.run}filter(e){return or(this,_e,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return or(this,_e,"f").length}};_e=new WeakMap;var Ka=_s;var mt=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},M=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Et,yn,gn,ze,Jn,mn,Wn,oe,pn,jt,Qn,te,xn,He,$n,Oa,Ma,qa,Fa,Va,Zn,Ts,Rs,jn,Ha,Xn,ti=class extends Error{},Ns=class extends Bs.default{constructor(e){var r,n,i,s;if(super(),Et.add(this),yn.set(this,void 0),gn.set(this,void 0),ze.set(this,0),Jn.set(this,void 0),mn.set(this,void 0),Wn.set(this,0),oe.set(this,void 0),pn.set(this,void 0),jt.set(this,void 0),Qn.set(this,void 0),te.set(this,0),xn.set(this,void 0),He.set(this,void 0),$n.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Ka,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);mt(this,yn,e.carryoverConcurrencyCount,"f"),mt(this,gn,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),mt(this,Jn,e.intervalCap,"f"),mt(this,mn,e.interval,"f"),mt(this,jt,new e.queueClass,"f"),mt(this,Qn,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,mt(this,$n,e.throwOnTimeout===!0,"f"),mt(this,He,e.autoStart===!1,"f")}get concurrency(){return M(this,xn,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);mt(this,xn,e,"f"),M(this,Et,"m",jn).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:M(this,$n,"f"),...r},new Promise((n,i)=>{M(this,jt,"f").enqueue(async()=>{var s,o,a;mt(this,te,(o=M(this,te,"f"),o++,o),"f"),mt(this,ze,(a=M(this,ze,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new ti("The task was aborted.");let u=e({signal:r.signal});r.timeout&&(u=Is(Promise.resolve(u),r.timeout)),r.signal&&(u=Promise.race([u,M(this,Et,"m",Ha).call(this,r.signal)]));let c=await u;n(c),this.emit("completed",c)}catch(u){if(u instanceof dn&&!r.throwOnTimeout){n();return}i(u),this.emit("error",u)}finally{M(this,Et,"m",qa).call(this)}},r),this.emit("add"),M(this,Et,"m",Zn).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return M(this,He,"f")?(mt(this,He,!1,"f"),M(this,Et,"m",jn).call(this),this):this}pause(){mt(this,He,!0,"f")}clear(){mt(this,jt,new(M(this,Qn,"f")),"f")}async onEmpty(){M(this,jt,"f").size!==0&&await M(this,Et,"m",Xn).call(this,"empty")}async onSizeLessThan(e){M(this,jt,"f").size<e||await M(this,Et,"m",Xn).call(this,"next",()=>M(this,jt,"f").size<e)}async onIdle(){M(this,te,"f")===0&&M(this,jt,"f").size===0||await M(this,Et,"m",Xn).call(this,"idle")}get size(){return M(this,jt,"f").size}sizeBy(e){return M(this,jt,"f").filter(e).length}get pending(){return M(this,te,"f")}get isPaused(){return M(this,He,"f")}};yn=new WeakMap,gn=new WeakMap,ze=new WeakMap,Jn=new WeakMap,mn=new WeakMap,Wn=new WeakMap,oe=new WeakMap,pn=new WeakMap,jt=new WeakMap,Qn=new WeakMap,te=new WeakMap,xn=new WeakMap,He=new WeakMap,$n=new WeakMap,Et=new WeakSet,Oa=function(){return M(this,gn,"f")||M(this,ze,"f")<M(this,Jn,"f")},Ma=function(){return M(this,te,"f")<M(this,xn,"f")},qa=function(){var e;mt(this,te,(e=M(this,te,"f"),e--,e),"f"),M(this,Et,"m",Zn).call(this),this.emit("next")},Fa=function(){M(this,Et,"m",Rs).call(this),M(this,Et,"m",Ts).call(this),mt(this,pn,void 0,"f")},Va=function(){let e=Date.now();if(M(this,oe,"f")===void 0){let r=M(this,Wn,"f")-e;if(r<0)mt(this,ze,M(this,yn,"f")?M(this,te,"f"):0,"f");else return M(this,pn,"f")===void 0&&mt(this,pn,setTimeout(()=>{M(this,Et,"m",Fa).call(this)},r),"f"),!0}return!1},Zn=function(){if(M(this,jt,"f").size===0)return M(this,oe,"f")&&clearInterval(M(this,oe,"f")),mt(this,oe,void 0,"f"),this.emit("empty"),M(this,te,"f")===0&&this.emit("idle"),!1;if(!M(this,He,"f")){let e=!M(this,Et,"a",Va);if(M(this,Et,"a",Oa)&&M(this,Et,"a",Ma)){let r=M(this,jt,"f").dequeue();return r?(this.emit("active"),r(),e&&M(this,Et,"m",Ts).call(this),!0):!1}}return!1},Ts=function(){M(this,gn,"f")||M(this,oe,"f")!==void 0||(mt(this,oe,setInterval(()=>{M(this,Et,"m",Rs).call(this)},M(this,mn,"f")),"f"),mt(this,Wn,Date.now()+M(this,mn,"f"),"f"))},Rs=function(){M(this,ze,"f")===0&&M(this,te,"f")===0&&M(this,oe,"f")&&(clearInterval(M(this,oe,"f")),mt(this,oe,void 0,"f")),mt(this,ze,M(this,yn,"f")?M(this,te,"f"):0,"f"),M(this,Et,"m",jn).call(this)},jn=function(){for(;M(this,Et,"m",Zn).call(this););},Ha=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new ti("The task was aborted."))},{once:!0})})},Xn=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var za=Ns;var Lt={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 Ga(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 Ya(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function Wa(t,e){let r=Ga(t).return?.();Ya(r)&&r.catch(n=>{e.error("could not cause iterator to return",n)})}function Ge(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Te(t=0){return globalThis.Buffer?.alloc!=null?Ge(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ht(t=0){return globalThis.Buffer?.allocUnsafe!=null?Ge(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}var vh=Math.pow(2,7),wh=Math.pow(2,14),Eh=Math.pow(2,21),Ls=Math.pow(2,28),Ds=Math.pow(2,35),Ps=Math.pow(2,42),ks=Math.pow(2,49),nt=128,zt=127;function ar(t){if(t<vh)return 1;if(t<wh)return 2;if(t<Eh)return 3;if(t<Ls)return 4;if(t<Ds)return 5;if(t<Ps)return 6;if(t<ks)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Sh(t,e,r=0){switch(ar(t)){case 8:e[r++]=t&255|nt,t/=128;case 7:e[r++]=t&255|nt,t/=128;case 6:e[r++]=t&255|nt,t/=128;case 5:e[r++]=t&255|nt,t/=128;case 4:e[r++]=t&255|nt,t>>>=7;case 3:e[r++]=t&255|nt,t>>>=7;case 2:e[r++]=t&255|nt,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Bh(t,e,r=0){switch(ar(t)){case 8:e.set(r++,t&255|nt),t/=128;case 7:e.set(r++,t&255|nt),t/=128;case 6:e.set(r++,t&255|nt),t/=128;case 5:e.set(r++,t&255|nt),t/=128;case 4:e.set(r++,t&255|nt),t>>>=7;case 3:e.set(r++,t&255|nt),t>>>=7;case 2:e.set(r++,t&255|nt),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Ah(t,e){let r=t[e],n=0;if(n+=r&zt,r<nt||(r=t[e+1],n+=(r&zt)<<7,r<nt)||(r=t[e+2],n+=(r&zt)<<14,r<nt)||(r=t[e+3],n+=(r&zt)<<21,r<nt)||(r=t[e+4],n+=(r&zt)*Ls,r<nt)||(r=t[e+5],n+=(r&zt)*Ds,r<nt)||(r=t[e+6],n+=(r&zt)*Ps,r<nt)||(r=t[e+7],n+=(r&zt)*ks,r<nt))return n;throw new RangeError("Could not decode varint")}function Ih(t,e){let r=t.get(e),n=0;if(n+=r&zt,r<nt||(r=t.get(e+1),n+=(r&zt)<<7,r<nt)||(r=t.get(e+2),n+=(r&zt)<<14,r<nt)||(r=t.get(e+3),n+=(r&zt)<<21,r<nt)||(r=t.get(e+4),n+=(r&zt)*Ls,r<nt)||(r=t.get(e+5),n+=(r&zt)*Ds,r<nt)||(r=t.get(e+6),n+=(r&zt)*Ps,r<nt)||(r=t.get(e+7),n+=(r&zt)*ks,r<nt))return n;throw new RangeError("Could not decode varint")}function Qa(t,e,r=0){return e==null&&(e=Ht(ar(t))),e instanceof Uint8Array?Sh(t,e,r):Bh(t,e,r)}function $a(t,e=0){return t instanceof Uint8Array?Ah(t,e):Ih(t,e)}function Gt(t,e){if(globalThis.Buffer!=null)return Ge(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Ht(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Ge(r)}var Ja=Symbol.for("@achingbrain/uint8arraylist");function Xa(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 ei(t){return!!t?.[Ja]}var Ye=class t{bufs;length;[Ja]=!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(ei(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(ei(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=Xa(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Xa(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(ei(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 Gt(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Gt(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,u=a+o.byteLength;if(i=u,e>=u)continue;let c=e>=a&&e<u,f=r>a&&r<=u;if(c&&f){if(e===a&&r===u){n.push(o);break}let h=e-a;n.push(o.subarray(h,h+(r-e)));break}if(c){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(f){if(r===u){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(!ei(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 h=0;h<s;h++)o[h]=-1;for(let h=0;h<i;h++)o[n[h]]=h;let a=o,u=this.byteLength-n.byteLength,c=n.byteLength-1,f;for(let h=r;h<=u;h+=f){f=0;for(let l=c;l>=0;l--){let g=this.get(h+l);if(n[l]!==g){f=Math.max(1,l-a[g]);break}}if(f===0)return h}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Ht(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=Te(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=Te(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=Te(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=Ht(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=Te(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=Te(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=Te(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=Te(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=Te(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(!Vt(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 ri(t){return t[Symbol.asyncIterator]!=null}var ni=t=>{let e=ar(t),r=Ht(e);return Qa(t,r),ni.bytes=e,r};ni.bytes=0;function ii(t,e){e=e??{};let r=e.lengthEncoder??ni;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return ri(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}ii.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??ni;return new Ye(r(t.byteLength),t)};var Kr=Rt(e0(),1);var _h=8,Th=1024*1024*4,ur;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(ur||(ur={}));var Us=t=>{let e=$a(t);return Us.bytes=ar(e),e};Us.bytes=0;function bn(t,e){let r=new Ye,n=ur.LENGTH,i=-1,s=e?.lengthDecoder??Us,o=e?.maxLengthLength??_h,a=e?.maxDataLength??Th;function*u(){for(;r.byteLength>0;){if(n===ur.LENGTH)try{if(i=s(r),i<0)throw(0,Kr.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Kr.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let c=s.bytes;r.consume(c),e?.onLength!=null&&e.onLength(i),n=ur.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>o)throw(0,Kr.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw c}if(n===ur.DATA){if(r.byteLength<i)break;let c=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(c),yield c,n=ur.LENGTH}}}return ri(t)?async function*(){for await(let c of t)r.append(c),yield*u();if(r.byteLength>0)throw(0,Kr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let c of t)r.append(c),yield*u();if(r.byteLength>0)throw(0,Kr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}bn.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 bn(n,{...e??{},onLength:s=>{r=s}})};var si=class extends Br{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 Ye(e):e)}attachInboundStream(e){let r=()=>{Wa(e.source,this.log)};return this._inboundAbortController.signal.addEventListener("abort",r,{once:!0}),this._rawInboundStream=e,this.inboundStream=hn(this._rawInboundStream,n=>bn(n)),this.dispatchEvent(new ye("stream:inbound")),this.inboundStream}async attachOutboundStream(e){let r=this.outboundStream;return this.outboundStream!=null&&this.outboundStream.end(),this._rawOutboundStream=e,this.outboundStream=Ur({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 ye("close"))}}),hn(this.outboundStream,n=>ii(n),this._rawOutboundStream).catch(n=>{this.log.error(n)}),r==null&&this.dispatchEvent(new ye("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 ye("close")))}};var M2=Rt(fi(),1),Mh=Rt(ot(),1);function m0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var g0=m0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Qs=m0("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=Ht(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Oh={utf8:g0,"utf-8":g0,hex:Nr.base16,latin1:Qs,ascii:Qs,binary:Qs,...Nr},hi=Oh;function xt(t,e="utf8"){let r=hi[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ge(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function _t(t,e="utf8"){let r=hi[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 Bt={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 x0={SHA1:20,SHA256:32,SHA512:64};var qh={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Hh=async(t,e)=>{let r=await Bt.get().subtle.sign({name:"HMAC"},t,e);return new Uint8Array(r,0,r.byteLength)};async function b0(t,e){let r=qh[t],n=await Bt.get().subtle.importKey("raw",e,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return Hh(n,i)},length:x0[t]}}var Mn={};It(Mn,{generateEphemeralKeyPair:()=>sc,generateKeyPair:()=>Xy,generateKeyPairFromSeed:()=>Jy,importKey:()=>r1,keyStretcher:()=>uc,keysPBM:()=>Zr,marshalPrivateKey:()=>e1,marshalPublicKey:()=>t1,supportedKeys:()=>Be,unmarshalPrivateKey:()=>Kc,unmarshalPublicKey:()=>jy});var fv=Rt(Sn(),1),hv=Rt(wu(),1);var $i=Rt(ot(),1);var Oo={};It(Oo,{Ed25519PrivateKey:()=>br,Ed25519PublicKey:()=>Ln,generateKeyPair:()=>wy,generateKeyPairFromSeed:()=>Ko,unmarshalEd25519PrivateKey:()=>by,unmarshalEd25519PublicKey:()=>vy});function Eu(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function oo(t,...e){if(!(t instanceof Uint8Array))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 Su(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Eu(t.outputLen),Eu(t.blockLen)}function qr(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 Bu(t,e){oo(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Ii=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Au=t=>t instanceof Uint8Array;var Ci=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),ce=(t,e)=>t<<32-e|t>>>e,ap=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ap)throw new Error("Non little-endian hardware is not supported");function ao(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function In(t){if(typeof t=="string"&&(t=ao(t)),!Au(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function _i(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!Au(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var Hr=class{clone(){return this._cloneInto()}},xm={}.toString;function Ti(t){let e=n=>t().update(In(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function zr(t=32){if(Ii&&typeof Ii.getRandomValues=="function")return Ii.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function up(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),u=n?4:0,c=n?0:4;t.setUint32(e+u,o,n),t.setUint32(e+c,a,n)}var Gr=class extends Hr{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=Ci(this.buffer)}update(e){qr(this);let{view:r,buffer:n,blockLen:i}=this;e=In(e);let s=e.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let u=Ci(e);for(;i<=s-o;o+=i)this.process(u,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){qr(this),Bu(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 h=o;h<i;h++)r[h]=0;up(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=Ci(e),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let c=u/4,f=this.get();if(c>f.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<c;h++)a.setUint32(4*h,f[h],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 Ri=BigInt(4294967295),uo=BigInt(32);function Iu(t,e=!1){return e?{h:Number(t&Ri),l:Number(t>>uo&Ri)}:{h:Number(t>>uo&Ri)|0,l:Number(t&Ri)|0}}function cp(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}=Iu(t[i],e);[r[i],n[i]]=[s,o]}return[r,n]}var fp=(t,e)=>BigInt(t>>>0)<<uo|BigInt(e>>>0),hp=(t,e,r)=>t>>>r,lp=(t,e,r)=>t<<32-r|e>>>r,dp=(t,e,r)=>t>>>r|e<<32-r,pp=(t,e,r)=>t<<32-r|e>>>r,yp=(t,e,r)=>t<<64-r|e>>>r-32,gp=(t,e,r)=>t>>>r-32|e<<64-r,mp=(t,e)=>e,xp=(t,e)=>t,bp=(t,e,r)=>t<<r|e>>>32-r,vp=(t,e,r)=>e<<r|t>>>32-r,wp=(t,e,r)=>e<<r-32|t>>>64-r,Ep=(t,e,r)=>t<<r-32|e>>>64-r;function Sp(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var Bp=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),Ap=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,Ip=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),Cp=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,_p=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Tp=(t,e,r,n,i,s)=>e+r+n+i+s+(t/2**32|0)|0;var Rp={fromBig:Iu,split:cp,toBig:fp,shrSH:hp,shrSL:lp,rotrSH:dp,rotrSL:pp,rotrBH:yp,rotrBL:gp,rotr32H:mp,rotr32L:xp,rotlSH:bp,rotlSL:vp,rotlBH:wp,rotlBL:Ep,add:Sp,add3L:Bp,add3H:Ap,add4L:Ip,add4H:Cp,add5H:Tp,add5L:_p},Q=Rp;var[Np,Lp]=Q.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),Xe=new Uint32Array(80),Je=new Uint32Array(80),co=class extends Gr{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:u,Eh:c,El:f,Fh:h,Fl:l,Gh:g,Gl:d,Hh:p,Hl:y}=this;return[e,r,n,i,s,o,a,u,c,f,h,l,g,d,p,y]}set(e,r,n,i,s,o,a,u,c,f,h,l,g,d,p,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=u|0,this.Eh=c|0,this.El=f|0,this.Fh=h|0,this.Fl=l|0,this.Gh=g|0,this.Gl=d|0,this.Hh=p|0,this.Hl=y|0}process(e,r){for(let b=0;b<16;b++,r+=4)Xe[b]=e.getUint32(r),Je[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let T=Xe[b-15]|0,E=Je[b-15]|0,S=Q.rotrSH(T,E,1)^Q.rotrSH(T,E,8)^Q.shrSH(T,E,7),N=Q.rotrSL(T,E,1)^Q.rotrSL(T,E,8)^Q.shrSL(T,E,7),L=Xe[b-2]|0,G=Je[b-2]|0,z=Q.rotrSH(L,G,19)^Q.rotrBH(L,G,61)^Q.shrSH(L,G,6),q=Q.rotrSL(L,G,19)^Q.rotrBL(L,G,61)^Q.shrSL(L,G,6),X=Q.add4L(N,q,Je[b-7],Je[b-16]),at=Q.add4H(X,S,z,Xe[b-7],Xe[b-16]);Xe[b]=at|0,Je[b]=X|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:u,Dh:c,Dl:f,Eh:h,El:l,Fh:g,Fl:d,Gh:p,Gl:y,Hh:m,Hl:w}=this;for(let b=0;b<80;b++){let T=Q.rotrSH(h,l,14)^Q.rotrSH(h,l,18)^Q.rotrBH(h,l,41),E=Q.rotrSL(h,l,14)^Q.rotrSL(h,l,18)^Q.rotrBL(h,l,41),S=h&g^~h&p,N=l&d^~l&y,L=Q.add5L(w,E,N,Lp[b],Je[b]),G=Q.add5H(L,m,T,S,Np[b],Xe[b]),z=L|0,q=Q.rotrSH(n,i,28)^Q.rotrBH(n,i,34)^Q.rotrBH(n,i,39),X=Q.rotrSL(n,i,28)^Q.rotrBL(n,i,34)^Q.rotrBL(n,i,39),at=n&s^n&a^s&a,Kt=i&o^i&u^o&u;m=p|0,w=y|0,p=g|0,y=d|0,g=h|0,d=l|0,{h,l}=Q.add(c|0,f|0,G|0,z|0),c=a|0,f=u|0,a=s|0,u=o|0,s=n|0,o=i|0;let C=Q.add3L(z,X,Kt);n=Q.add3H(C,G,q,at),i=C|0}({h:n,l:i}=Q.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=Q.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:u}=Q.add(this.Ch|0,this.Cl|0,a|0,u|0),{h:c,l:f}=Q.add(this.Dh|0,this.Dl|0,c|0,f|0),{h,l}=Q.add(this.Eh|0,this.El|0,h|0,l|0),{h:g,l:d}=Q.add(this.Fh|0,this.Fl|0,g|0,d|0),{h:p,l:y}=Q.add(this.Gh|0,this.Gl|0,p|0,y|0),{h:m,l:w}=Q.add(this.Hh|0,this.Hl|0,m|0,w|0),this.set(n,i,s,o,a,u,c,f,h,l,g,d,p,y,m,w)}roundClean(){Xe.fill(0),Je.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 fo=Ti(()=>new co);var Di={};It(Di,{bitGet:()=>Mp,bitLen:()=>Op,bitMask:()=>Cn,bitSet:()=>Fp,bytesToHex:()=>De,bytesToNumberBE:()=>Pe,bytesToNumberLE:()=>je,concatBytes:()=>ke,createHmacDrbg:()=>po,ensureBytes:()=>wt,equalBytes:()=>Up,hexToBytes:()=>pr,hexToNumber:()=>lo,numberToBytesBE:()=>tr,numberToBytesLE:()=>yr,numberToHexUnpadded:()=>Tu,numberToVarBytesBE:()=>kp,utf8ToBytes:()=>Kp,validateObject:()=>Se});var _u=BigInt(0),Ni=BigInt(1),Dp=BigInt(2),Li=t=>t instanceof Uint8Array,Pp=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function De(t){if(!Li(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Pp[t[r]];return e}function Tu(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function lo(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function pr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let i=n*2,s=t.slice(i,i+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");r[n]=o}return r}function Pe(t){return lo(De(t))}function je(t){if(!Li(t))throw new Error("Uint8Array expected");return lo(De(Uint8Array.from(t).reverse()))}function tr(t,e){return pr(t.toString(16).padStart(e*2,"0"))}function yr(t,e){return tr(t,e).reverse()}function kp(t){return pr(Tu(t))}function wt(t,e,r){let n;if(typeof e=="string")try{n=pr(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(Li(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=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!Li(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function Up(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function Kp(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Op(t){let e;for(e=0;t>_u;t>>=Ni,e+=1);return e}function Mp(t,e){return t>>BigInt(e)&Ni}var Fp=(t,e,r)=>t|(r?Ni:_u)<<BigInt(e),Cn=t=>(Dp<<BigInt(t-1))-Ni,ho=t=>new Uint8Array(t),Cu=t=>Uint8Array.from(t);function po(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=ho(t),i=ho(t),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...h)=>r(i,n,...h),u=(h=ho())=>{i=a(Cu([0]),h),n=a(),h.length!==0&&(i=a(Cu([1]),h),n=a())},c=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let h=0,l=[];for(;h<e;){n=a();let g=n.slice();l.push(g),h+=n.length}return ke(...l)};return(h,l)=>{o(),u(h);let g;for(;!(g=l(c()));)u();return o(),g}}var Vp={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"||t instanceof Uint8Array,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=Vp[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let u=t[i];if(!(o&&u===void 0)&&!a(u,t))throw new Error(`Invalid param ${String(i)}=${u} (${typeof u}), 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 Dt=BigInt(0),yt=BigInt(1),gr=BigInt(2),qp=BigInt(3),yo=BigInt(4),Ru=BigInt(5),Nu=BigInt(8),Hp=BigInt(9),zp=BigInt(16);function ut(t,e){let r=t%e;return r>=Dt?r:e+r}function Gp(t,e,r){if(r<=Dt||e<Dt)throw new Error("Expected power/modulo > 0");if(r===yt)return Dt;let n=yt;for(;e>Dt;)e&yt&&(n=n*t%r),t=t*t%r,e>>=yt;return n}function gt(t,e,r){let n=t;for(;e-- >Dt;)n*=n,n%=r;return n}function Pi(t,e){if(t===Dt||e<=Dt)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=ut(t,e),n=e,i=Dt,s=yt,o=yt,a=Dt;for(;r!==Dt;){let c=n/r,f=n%r,h=i-o*c,l=s-a*c;n=r,r=f,i=o,s=a,o=h,a=l}if(n!==yt)throw new Error("invert: does not exist");return ut(i,e)}function Yp(t){let e=(t-yt)/gr,r,n,i;for(r=t-yt,n=0;r%gr===Dt;r/=gr,n++);for(i=gr;i<t&&Gp(i,e,t)!==t-yt;i++);if(n===1){let o=(t+yt)/yo;return function(u,c){let f=u.pow(c,o);if(!u.eql(u.sqr(f),c))throw new Error("Cannot find square root");return f}}let s=(r+yt)/gr;return function(a,u){if(a.pow(u,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let c=n,f=a.pow(a.mul(a.ONE,i),r),h=a.pow(u,s),l=a.pow(u,r);for(;!a.eql(l,a.ONE);){if(a.eql(l,a.ZERO))return a.ZERO;let g=1;for(let p=a.sqr(l);g<c&&!a.eql(p,a.ONE);g++)p=a.sqr(p);let d=a.pow(f,yt<<BigInt(c-g-1));f=a.sqr(d),h=a.mul(h,d),l=a.mul(l,f),c=g}return h}}function Wp(t){if(t%yo===qp){let e=(t+yt)/yo;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%Nu===Ru){let e=(t-Ru)/Nu;return function(n,i){let s=n.mul(i,gr),o=n.pow(s,e),a=n.mul(i,o),u=n.mul(n.mul(a,gr),o),c=n.mul(a,n.sub(u,n.ONE));if(!n.eql(n.sqr(c),i))throw new Error("Cannot find square root");return c}}return t%zp,Yp(t)}var Lu=(t,e)=>(ut(t,e)&yt)===yt,Qp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function go(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Qp.reduce((n,i)=>(n[i]="function",n),e);return Se(t,r)}function $p(t,e,r){if(r<Dt)throw new Error("Expected power > 0");if(r===Dt)return t.ONE;if(r===yt)return e;let n=t.ONE,i=e;for(;r>Dt;)r&yt&&(n=t.mul(n,i)),i=t.sqr(i),r>>=yt;return n}function Zp(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 mo(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ki(t,e,r=!1,n={}){if(t<=Dt)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=mo(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=Wp(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:Cn(i),ZERO:Dt,ONE:yt,create:u=>ut(u,t),isValid:u=>{if(typeof u!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof u}`);return Dt<=u&&u<t},is0:u=>u===Dt,isOdd:u=>(u&yt)===yt,neg:u=>ut(-u,t),eql:(u,c)=>u===c,sqr:u=>ut(u*u,t),add:(u,c)=>ut(u+c,t),sub:(u,c)=>ut(u-c,t),mul:(u,c)=>ut(u*c,t),pow:(u,c)=>$p(a,u,c),div:(u,c)=>ut(u*Pi(c,t),t),sqrN:u=>u*u,addN:(u,c)=>u+c,subN:(u,c)=>u-c,mulN:(u,c)=>u*c,inv:u=>Pi(u,t),sqrt:n.sqrt||(u=>o(a,u)),invertBatch:u=>Zp(a,u),cmov:(u,c,f)=>f?c:u,toBytes:u=>r?yr(u,s):tr(u,s),fromBytes:u=>{if(u.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${u.length}`);return r?je(u):Pe(u)}});return Object.freeze(a)}function Du(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 Pu(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 xo(t){let e=Pu(t);return e+Math.ceil(e/2)}function ku(t,e,r=!1){let n=t.length,i=Pu(e),s=xo(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?Pe(t):je(t),a=ut(o,e-yt)+yt;return r?yr(a,i):tr(a,i)}var Jp=BigInt(0),bo=BigInt(1);function Ui(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>Jp;)s&bo&&(o=o.add(a)),a=a.double(),s>>=bo;return o},precomputeWindow(i,s){let{windows:o,windowSize:a}=n(s),u=[],c=i,f=c;for(let h=0;h<o;h++){f=c,u.push(f);for(let l=1;l<a;l++)f=f.add(c),u.push(f);c=f.double()}return u},wNAF(i,s,o){let{windows:a,windowSize:u}=n(i),c=t.ZERO,f=t.BASE,h=BigInt(2**i-1),l=2**i,g=BigInt(i);for(let d=0;d<a;d++){let p=d*u,y=Number(o&h);o>>=g,y>u&&(y-=l,o+=bo);let m=p,w=p+Math.abs(y)-1,b=d%2!==0,T=y<0;y===0?f=f.add(r(b,s[m])):c=c.add(r(T,s[w]))}return{p:c,f}},wNAFCached(i,s,o,a){let u=i._WINDOW_SIZE||1,c=s.get(i);return c||(c=this.precomputeWindow(i,u),u!==1&&s.set(i,a(c))),this.wNAF(u,c,o)}}}function _n(t){return go(t.Fp),Se(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...mo(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var fe=BigInt(0),ee=BigInt(1),Ki=BigInt(2),jp=BigInt(8),ty={zip215:!0};function ey(t){let e=_n(t);return Se(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Oi(t){let e=ey(t),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:u}=e,c=Ki<<BigInt(a*8)-ee,f=r.create,h=e.uvRatio||((D,A)=>{try{return{isValid:!0,value:r.sqrt(D*r.inv(A))}}catch{return{isValid:!1,value:fe}}}),l=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}),d=D=>typeof D=="bigint"&&fe<D,p=(D,A)=>d(D)&&d(A)&&D<A,y=D=>D===fe||p(D,c);function m(D,A){if(p(D,A))return D;throw new Error(`Expected valid scalar < ${A}, got ${typeof D} ${D}`)}function w(D){return D===fe?D:m(D,n)}let b=new Map;function T(D){if(!(D instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(A,K,F,H){if(this.ex=A,this.ey=K,this.ez=F,this.et=H,!y(A))throw new Error("x required");if(!y(K))throw new Error("y required");if(!y(F))throw new Error("z required");if(!y(H))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:F}=A||{};if(!y(K)||!y(F))throw new Error("invalid affine point");return new E(K,F,ee,f(K*F))}static normalizeZ(A){let K=r.invertBatch(A.map(F=>F.ez));return A.map((F,H)=>F.toAffine(K[H])).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:F,ey:H,ez:$,et:J}=this,st=f(F*F),j=f(H*H),rt=f($*$),At=f(rt*rt),bt=f(st*A),Ot=f(rt*f(bt+j)),Mt=f(At+f(K*f(st*j)));if(Ot!==Mt)throw new Error("bad point: equation left != right (1)");let Tt=f(F*H),Ft=f($*J);if(Tt!==Ft)throw new Error("bad point: equation left != right (2)")}equals(A){T(A);let{ex:K,ey:F,ez:H}=this,{ex:$,ey:J,ez:st}=A,j=f(K*st),rt=f($*H),At=f(F*st),bt=f(J*H);return j===rt&&At===bt}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:F,ez:H}=this,$=f(K*K),J=f(F*F),st=f(Ki*f(H*H)),j=f(A*$),rt=K+F,At=f(f(rt*rt)-$-J),bt=j+J,Ot=bt-st,Mt=j-J,Tt=f(At*Ot),Ft=f(bt*Mt),Ae=f(At*Mt),ir=f(Ot*bt);return new E(Tt,Ft,ir,Ae)}add(A){T(A);let{a:K,d:F}=e,{ex:H,ey:$,ez:J,et:st}=this,{ex:j,ey:rt,ez:At,et:bt}=A;if(K===BigInt(-1)){let ea=f(($-H)*(rt+j)),ra=f(($+H)*(rt-j)),Zi=f(ra-ea);if(Zi===fe)return this.double();let na=f(J*Ki*bt),ia=f(st*Ki*At),sa=ia+na,oa=ra+ea,aa=ia-na,Zc=f(sa*Zi),Xc=f(oa*aa),Jc=f(sa*aa),jc=f(Zi*oa);return new E(Zc,Xc,jc,Jc)}let Ot=f(H*j),Mt=f($*rt),Tt=f(st*F*bt),Ft=f(J*At),Ae=f((H+$)*(j+rt)-Ot-Mt),ir=Ft-Tt,jr=Ft+Tt,ta=f(Mt-K*Ot),Yc=f(Ae*ir),Wc=f(jr*ta),Qc=f(Ae*ta),$c=f(ir*jr);return new E(Yc,Wc,$c,Qc)}subtract(A){return this.add(A.negate())}wNAF(A){return L.wNAFCached(this,b,A,E.normalizeZ)}multiply(A){let{p:K,f:F}=this.wNAF(m(A,n));return E.normalizeZ([K,F])[0]}multiplyUnsafe(A){let K=w(A);return K===fe?N:this.equals(N)||K===ee?this:this.equals(S)?this.wNAF(K).p:L.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(u).is0()}isTorsionFree(){return L.unsafeLadder(this,n).is0()}toAffine(A){let{ex:K,ey:F,ez:H}=this,$=this.is0();A==null&&(A=$?jp:r.inv(H));let J=f(K*A),st=f(F*A),j=f(H*A);if($)return{x:fe,y:ee};if(j!==ee)throw new Error("invZ was invalid");return{x:J,y:st}}clearCofactor(){let{h:A}=e;return A===ee?this:this.multiplyUnsafe(A)}static fromHex(A,K=!1){let{d:F,a:H}=e,$=r.BYTES;A=wt("pointHex",A,$);let J=A.slice(),st=A[$-1];J[$-1]=st&-129;let j=je(J);j===fe||(K?m(j,c):m(j,r.ORDER));let rt=f(j*j),At=f(rt-ee),bt=f(F*rt-H),{isValid:Ot,value:Mt}=h(At,bt);if(!Ot)throw new Error("Point.fromHex: invalid y coordinate");let Tt=(Mt&ee)===ee,Ft=(st&128)!==0;if(!K&&Mt===fe&&Ft)throw new Error("Point.fromHex: x=0 and x_0=1");return Ft!==Tt&&(Mt=f(-Mt)),E.fromAffine({x:Mt,y:j})}static fromPrivateKey(A){return q(A).point}toRawBytes(){let{x:A,y:K}=this.toAffine(),F=yr(K,r.BYTES);return F[F.length-1]|=A&ee?128:0,F}toHex(){return De(this.toRawBytes())}}E.BASE=new E(e.Gx,e.Gy,ee,f(e.Gx*e.Gy)),E.ZERO=new E(fe,ee,ee,fe);let{BASE:S,ZERO:N}=E,L=Ui(E,a*8);function G(D){return ut(D,n)}function z(D){return G(je(D))}function q(D){let A=a;D=wt("private key",D,A);let K=wt("hashed private key",s(D),2*A),F=l(K.slice(0,A)),H=K.slice(A,2*A),$=z(F),J=S.multiply($),st=J.toRawBytes();return{head:F,prefix:H,scalar:$,point:J,pointBytes:st}}function X(D){return q(D).pointBytes}function at(D=new Uint8Array,...A){let K=ke(...A);return z(s(g(K,wt("context",D),!!i)))}function Kt(D,A,K={}){D=wt("message",D),i&&(D=i(D));let{prefix:F,scalar:H,pointBytes:$}=q(A),J=at(K.context,F,D),st=S.multiply(J).toRawBytes(),j=at(K.context,st,$,D),rt=G(J+j*H);w(rt);let At=ke(st,yr(rt,r.BYTES));return wt("result",At,a*2)}let C=ty;function P(D,A,K,F=C){let{context:H,zip215:$}=F,J=r.BYTES;D=wt("signature",D,2*J),A=wt("message",A),i&&(A=i(A));let st=je(D.slice(J,2*J)),j,rt,At;try{j=E.fromHex(K,$),rt=E.fromHex(D.slice(0,J),$),At=S.multiplyUnsafe(st)}catch{return!1}if(!$&&j.isSmallOrder())return!1;let bt=at(H,rt.toRawBytes(),j.toRawBytes(),A);return rt.add(j.multiplyUnsafe(bt)).subtract(At).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:e,getPublicKey:X,sign:Kt,verify:P,ExtendedPoint:E,utils:{getExtendedPublicKey:q,randomPrivateKey:()=>o(r.BYTES),precompute(D=8,A=E.BASE){return A._setWindowSize(D),A.multiply(BigInt(3)),A}}}}var wo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Uu=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Fm=BigInt(0),ry=BigInt(1),vo=BigInt(2),ny=BigInt(5),Ku=BigInt(10),iy=BigInt(20),sy=BigInt(40),Ou=BigInt(80);function oy(t){let e=wo,n=t*t%e*t%e,i=gt(n,vo,e)*n%e,s=gt(i,ry,e)*t%e,o=gt(s,ny,e)*s%e,a=gt(o,Ku,e)*o%e,u=gt(a,iy,e)*a%e,c=gt(u,sy,e)*u%e,f=gt(c,Ou,e)*c%e,h=gt(f,Ou,e)*c%e,l=gt(h,Ku,e)*o%e;return{pow_p_5_8:gt(l,vo,e)*t%e,b2:n}}function ay(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function uy(t,e){let r=wo,n=ut(e*e*e,r),i=ut(n*n*e,r),s=oy(t*i).pow_p_5_8,o=ut(t*n*s,r),a=ut(e*o*o,r),u=o,c=ut(o*Uu,r),f=a===t,h=a===ut(-t,r),l=a===ut(-t*Uu,r);return f&&(o=u),(h||l)&&(o=c),Lu(o,r)&&(o=ut(-o,r)),{isValid:f||h,value:o}}var Ue=ki(wo,void 0,!0),Eo={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Ue,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:fo,randomBytes:zr,adjustScalarBytes:ay,uvRatio:uy},Yr=Oi(Eo);function Mu(t,e,r){if(e.length>255)throw new Error("Context is too big");return _i(ao("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var Vm=Oi({...Eo,domain:Mu}),qm=Oi({...Eo,domain:Mu,prehash:fo});var cy=(Ue.ORDER+BigInt(3))/BigInt(8),Hm=Ue.pow(vo,cy),zm=Ue.sqrt(Ue.neg(Ue.ONE)),Gm=(Ue.ORDER-BigInt(5))/BigInt(8),Ym=BigInt(486662);var Wm=Du(Ue,Ue.neg(BigInt(486664)));var Qm=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),$m=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Zm=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Xm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Jm=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Wr=32,Ke=64,Mi=32;function Fu(){let t=Yr.utils.randomPrivateKey(),e=Yr.getPublicKey(t);return{privateKey:zu(t,e),publicKey:e}}function Vu(t){if(t.length!==Mi)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=Yr.getPublicKey(e);return{privateKey:zu(e,r),publicKey:r}}function qu(t,e){let r=t.subarray(0,Mi);return Yr.sign(e instanceof Uint8Array?e:e.subarray(),r)}function Hu(t,e,r){return Yr.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function zu(t,e){let r=new Uint8Array(Ke);for(let n=0;n<Mi;n++)r[n]=t[n],r[Mi+n]=e[n];return r}var So={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Fi(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=Bt.get();r*=8;async function u(h,l){let g=a.getRandomValues(new Uint8Array(s)),d=a.getRandomValues(new Uint8Array(n)),p={name:e,iv:d};typeof l=="string"&&(l=xt(l));let y;if(l.length===0){y=await a.subtle.importKey("jwk",So,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,b,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",So,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,b,{name:e,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(p,y,h);return Gt([g,p.iv,new Uint8Array(m)])}async function c(h,l){let g=h.subarray(0,s),d=h.subarray(s,s+n),p=h.subarray(s+n),y={name:e,iv:d};typeof l=="string"&&(l=xt(l));let m;if(l.length===0)try{let b={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},T=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,T,{name:e,length:r},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",So,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},T=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,T,{name:e,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(y,m,p);return new Uint8Array(w)}return{encrypt:u,decrypt:c}}async function Qr(t,e){let n=await Fi().encrypt(t,e);return en.encode(n)}var Zr={};It(Zr,{KeyType:()=>lt,PrivateKey:()=>de,PublicKey:()=>le});var Bo=new Float32Array([-0]),er=new Uint8Array(Bo.buffer);function Yu(t,e,r){Bo[0]=t,e[r]=er[0],e[r+1]=er[1],e[r+2]=er[2],e[r+3]=er[3]}function Wu(t,e){return er[0]=t[e],er[1]=t[e+1],er[2]=t[e+2],er[3]=t[e+3],Bo[0]}var Ao=new Float64Array([-0]),Yt=new Uint8Array(Ao.buffer);function Qu(t,e,r){Ao[0]=t,e[r]=Yt[0],e[r+1]=Yt[1],e[r+2]=Yt[2],e[r+3]=Yt[3],e[r+4]=Yt[4],e[r+5]=Yt[5],e[r+6]=Yt[6],e[r+7]=Yt[7]}function $u(t,e){return Yt[0]=t[e],Yt[1]=t[e+1],Yt[2]=t[e+2],Yt[3]=t[e+3],Yt[4]=t[e+4],Yt[5]=t[e+5],Yt[6]=t[e+6],Yt[7]=t[e+7],Ao[0]}var hy=BigInt(Number.MAX_SAFE_INTEGER),ly=BigInt(Number.MIN_SAFE_INTEGER),Jt=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 mr;if(e<hy&&e>ly)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>Zu&&(i=0n,++n>Zu&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return mr;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):mr}},mr=new Jt(0,0);mr.toBigInt=function(){return 0n};mr.zzEncode=mr.zzDecode=function(){return this};mr.length=function(){return 1};var Zu=4294967296n;function Xu(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 Ju(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 Io(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 he(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Vi(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var Co=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,he(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 he(this,4);return Vi(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw he(this,4);return Vi(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw he(this,4);let e=Wu(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw he(this,4);let e=$u(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 he(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return Ju(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw he(this,e);this.pos+=e}else do if(this.pos>=this.len)throw he(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 Jt(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 he(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 he(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 he(this,8);let e=Vi(this.buf,this.pos+=4),r=Vi(this.buf,this.pos+=4);return new Jt(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 _o(t){return new Co(t instanceof Uint8Array?t:t.subarray())}function qi(t,e){let r=_o(t);return e.decode(r)}function To(t){let e=t??8192,r=e>>>1,n,i=e;return function(o){if(o<1||o>r)return Ht(o);i+o>e&&(n=Ht(e),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var xr=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Ro(){}var Lo=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},dy=To();function py(t){return globalThis.Buffer!=null?Ht(t):dy(t)}var Nn=class{len;head;tail;states;constructor(){this.len=0,this.head=new xr(Ro,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new xr(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Do((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(Tn,10,Jt.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=Jt.fromBigInt(e);return this._push(Tn,r.length(),r)}uint64Number(e){let r=Jt.fromNumber(e);return this._push(Tn,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=Jt.fromBigInt(e).zzEncode();return this._push(Tn,r.length(),r)}sint64Number(e){let r=Jt.fromNumber(e).zzEncode();return this._push(Tn,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(No,1,e?1:0)}fixed32(e){return this._push(Rn,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=Jt.fromBigInt(e);return this._push(Rn,4,r.lo)._push(Rn,4,r.hi)}fixed64Number(e){let r=Jt.fromNumber(e);return this._push(Rn,4,r.lo)._push(Rn,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(Yu,4,e)}double(e){return this._push(Qu,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(No,1,0):this.uint32(r)._push(gy,r,e)}string(e){let r=Xu(e);return r!==0?this.uint32(r)._push(Io,r,e):this._push(No,1,0)}fork(){return this.states=new Lo(this),this.head=this.tail=new xr(Ro,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 xr(Ro,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=py(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function No(t,e,r){e[r]=t&255}function yy(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Do=class extends xr{next;constructor(e,r){super(yy,e,r),this.next=void 0}};function Tn(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 Rn(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 gy(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(Nn.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(my,e,t),this},Nn.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(xy,e,t),this});function my(t,e,r){e.set(t,r)}function xy(t,e,r){t.length<40?Io(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(xt(t),r)}function Po(){return new Nn}function Hi(t,e){let r=Po();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 zi(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function ko(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 zi("enum",$r.VARINT,r,n)}function Gi(t,e){return zi("message",$r.LENGTH_DELIMITED,t,e)}var lt;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(lt||(lt={}));var Uo;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Uo||(Uo={}));(function(t){t.codec=()=>ko(Uo)})(lt||(lt={}));var le;(function(t){let e;t.codec=()=>(e==null&&(e=Gi((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=>Hi(r,t.codec()),t.decode=r=>qi(r,t.codec())})(le||(le={}));var de;(function(t){let e;t.codec=()=>(e==null&&(e=Gi((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=>Hi(r,t.codec()),t.decode=r=>qi(r,t.codec())})(de||(de={}));var Ln=class{_key;constructor(e){this._key=Xr(e,Wr)}async verify(e,r){return Hu(this._key,r,e)}marshal(){return this._key}get bytes(){return le.encode({Type:lt.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}},br=class{_key;_publicKey;constructor(e,r){this._key=Xr(e,Ke),this._publicKey=Xr(r,Wr)}async sign(e){return qu(this._key,e)}get public(){return new Ln(this._publicKey)}marshal(){return this._key}get bytes(){return de.encode({Type:lt.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}async id(){let e=qe.digest(this.public.bytes);return Wt.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Qr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function by(t){if(t.length>Ke){t=Xr(t,Ke+Wr);let n=t.subarray(0,Ke),i=t.subarray(Ke,t.length);return new br(n,i)}t=Xr(t,Ke);let e=t.subarray(0,Ke),r=t.subarray(Wr);return new br(e,r)}function vy(t){return t=Xr(t,Wr),new Ln(t)}async function wy(){let{privateKey:t,publicKey:e}=Fu();return new br(t,e)}async function Ko(t){let{privateKey:e,publicKey:r}=Vu(t);return new br(e,r)}function Xr(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 qx=Rt(St(),1),Hx=Rt(Ei(),1),tc=Rt(ot(),1);function pe(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=Gt([new Uint8Array(e-r.length),r])}return _t(r,"base64url")}function re(t){let e=Yi(t);return new tc.default.jsbn.BigInteger(_t(e,"base16"),16)}function Yi(t,e){let r=xt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Gt([new Uint8Array(e-r.length),r])}return r}var ec={"P-256":256,"P-384":384,"P-521":521},Ey=Object.keys(ec),Mo=Ey.join(" / ");async function rc(t){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new O(`Unknown curve: ${t}. Must be ${Mo}`,"ERR_INVALID_CURVE");let e=await Bt.get().subtle.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),r=async(s,o)=>{let a;o!=null?a=await Bt.get().subtle.importKey("jwk",By(t,o),{name:"ECDH",namedCurve:t},!1,["deriveBits"]):a=e.privateKey;let u=await Bt.get().subtle.importKey("jwk",ic(t,s),{name:"ECDH",namedCurve:t},!1,[]),c=await Bt.get().subtle.deriveBits({name:"ECDH",namedCurve:t,public:u},a,ec[t]);return new Uint8Array(c,0,c.byteLength)},n=await Bt.get().subtle.exportKey("jwk",e.publicKey);return{key:Sy(n),genSharedKey:r}}var nc={"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 ${Mo}`,"ERR_INVALID_CURVE");let e=nc[t.crv];return Gt([Uint8Array.from([4]),Yi(t.x,e),Yi(t.y,e)],1+e*2)}function ic(t,e){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new O(`Unknown curve: ${t}. Must be ${Mo}`,"ERR_INVALID_CURVE");let r=nc[t];if(!Vt(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:_t(e.subarray(1,r+1),"base64url"),y:_t(e.subarray(1+r),"base64url"),ext:!0}}var By=(t,e)=>({...ic(t,e.public),d:_t(e.private,"base64url")});var sc=rc;async function oc(t,e){let r=en.decode(t);return Fi().decrypt(r,e)}var ac={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function uc(t,e,r){let n=ac[t];if(n==null){let w=Object.keys(ac).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=xt("key expansion"),u=2*(s+i+o),c=await b0(e,r),f=await c.digest(a),h=[],l=0;for(;l<u;){let w=await c.digest(Gt([f,a])),b=w.length;l+b>u&&(b=u-l),h.push(w),l+=b,f=await c.digest(f)}let g=u/2,d=Gt(h),p=d.subarray(0,g),y=d.subarray(g,u),m=w=>({iv:w.subarray(0,s),cipherKey:w.subarray(s,s+i),macKey:w.subarray(s+i)});return{k1:m(p),k2:m(y)}}var zo={};It(zo,{MAX_KEY_SIZE:()=>Un,RsaPrivateKey:()=>Jr,RsaPublicKey:()=>kn,fromJwk:()=>Py,generateKeyPair:()=>ky,unmarshalRsaPrivateKey:()=>Ly,unmarshalRsaPublicKey:()=>Dy});var Pn=Rt(ot(),1);var Nb=Rt(dc(),1);function wr(t){if(isNaN(t)||t<=0)throw new O("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return zr(t)}var db=Rt(Ai(),1),qo=Rt(ot(),1);function pc(t,e){return e.map(r=>re(t[r]))}function yc(t){return qo.default.pki.setRsaPrivateKey(...pc(t,["n","e","d","p","q","dp","dq","qi"]))}function gc(t){return qo.default.pki.setRsaPublicKey(...pc(t,["n","e"]))}var Er={};It(Er,{jwkToPkcs1:()=>Cy,jwkToPkix:()=>Ty,pkcs1ToJwk:()=>Iy,pkixToJwk:()=>_y});var gb=Rt(Sn(),1),mb=Rt(Ai(),1);var Oe=Rt(ot(),1);function Iy(t){let e=Oe.default.asn1.fromDer(_t(t,"ascii")),r=Oe.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:pe(r.n),e:pe(r.e),d:pe(r.d),p:pe(r.p),q:pe(r.q),dp:pe(r.dP),dq:pe(r.dQ),qi:pe(r.qInv),alg:"RS256"}}function Cy(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=Oe.default.pki.privateKeyToAsn1({n:re(t.n),e:re(t.e),d:re(t.d),p:re(t.p),q:re(t.q),dP:re(t.dp),dQ:re(t.dq),qInv:re(t.qi)});return xt(Oe.default.asn1.toDer(e).getBytes(),"ascii")}function _y(t){let e=Oe.default.asn1.fromDer(_t(t,"ascii")),r=Oe.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:pe(r.n),e:pe(r.e)}}function Ty(t){if(t.n==null||t.e==null)throw new O("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Oe.default.pki.publicKeyToAsn1({n:re(t.n),e:re(t.e)});return xt(Oe.default.asn1.toDer(e).getBytes(),"ascii")}async function mc(t){let e=await Bt.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 vc(e);return{privateKey:r[0],publicKey:r[1]}}async function Ho(t){let r=[await Bt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Ry(t)],n=await vc({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function xc(t,e){let r=await Bt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Bt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function bc(t,e,r){let n=await Bt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Bt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function vc(t){if(t.privateKey==null||t.publicKey==null)throw new O("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Bt.get().subtle.exportKey("jwk",t.privateKey),Bt.get().subtle.exportKey("jwk",t.publicKey)])}async function Ry(t){return Bt.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 wc(t,e,r,n){let i=e?gc(t):yc(t),s=_t(r instanceof Uint8Array?r:r.subarray(),"ascii"),o=n(s,i);return xt(o,"ascii")}function Ec(t,e){return wc(t,!0,e,(r,n)=>n.encrypt(r))}function Sc(t,e){return wc(t,!1,e,(r,n)=>n.decrypt(r))}function Wi(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 xt(t.n,"base64url").length*8}var Un=8192,kn=class{_key;constructor(e){this._key=e}async verify(e,r){return bc(this._key,r,e)}marshal(){return Er.jwkToPkix(this._key)}get bytes(){return le.encode({Type:lt.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Ec(this._key,e)}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}},Jr=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return wr(16)}async sign(e){return xc(this._key,e)}get public(){if(this._publicKey==null)throw new O("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new kn(this._publicKey)}decrypt(e){return Sc(this._key,e)}marshal(){return Er.jwkToPkcs1(this._key)}get bytes(){return de.encode({Type:lt.RSA,Data:this.marshal()}).subarray()}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return _t(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Pn.default.util.ByteBuffer(this.marshal()),i=Pn.default.asn1.fromDer(n),s=Pn.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Pn.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Qr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Ly(t){let e=Er.pkcs1ToJwk(t);if(Wi(e)>Un)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Ho(e);return new Jr(r.privateKey,r.publicKey)}function Dy(t){let e=Er.pkixToJwk(t);if(Wi(e)>Un)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new kn(e)}async function Py(t){if(Wi(t)>Un)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Ho(t);return new Jr(e.privateKey,e.publicKey)}async function ky(t){if(t>Un)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await mc(t);return new Jr(e.privateKey,e.publicKey)}var Zo={};It(Zo,{Secp256k1PrivateKey:()=>On,Secp256k1PublicKey:()=>Kn,generateKeyPair:()=>Zy,unmarshalSecp256k1PrivateKey:()=>Qy,unmarshalSecp256k1PublicKey:()=>$y});var Uy=(t,e,r)=>t&e^~t&r,Ky=(t,e,r)=>t&e^t&r^e&r,Oy=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),rr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),nr=new Uint32Array(64),Go=class extends Gr{constructor(){super(64,32,8,!1),this.A=rr[0]|0,this.B=rr[1]|0,this.C=rr[2]|0,this.D=rr[3]|0,this.E=rr[4]|0,this.F=rr[5]|0,this.G=rr[6]|0,this.H=rr[7]|0}get(){let{A:e,B:r,C:n,D:i,E:s,F:o,G:a,H:u}=this;return[e,r,n,i,s,o,a,u]}set(e,r,n,i,s,o,a,u){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=u|0}process(e,r){for(let h=0;h<16;h++,r+=4)nr[h]=e.getUint32(r,!1);for(let h=16;h<64;h++){let l=nr[h-15],g=nr[h-2],d=ce(l,7)^ce(l,18)^l>>>3,p=ce(g,17)^ce(g,19)^g>>>10;nr[h]=p+nr[h-7]+d+nr[h-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:u,G:c,H:f}=this;for(let h=0;h<64;h++){let l=ce(a,6)^ce(a,11)^ce(a,25),g=f+l+Uy(a,u,c)+Oy[h]+nr[h]|0,p=(ce(n,2)^ce(n,13)^ce(n,22))+Ky(n,i,s)|0;f=c,c=u,u=a,a=o+g|0,o=s,s=i,i=n,n=g+p|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,u=u+this.F|0,c=c+this.G|0,f=f+this.H|0,this.set(n,i,s,o,a,u,c,f)}roundClean(){nr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Bc=Ti(()=>new Go);function My(t){let e=_n(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:Fy,hexToBytes:Vy}=Di,Sr={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=Sr;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:Fy(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=Sr,r=typeof t=="string"?Vy(t):t;if(!(r instanceof Uint8Array))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}=Sr._parseInt(r.subarray(2)),{d:o,l:a}=Sr._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(t){let e=c=>Number.parseInt(c[0],16)&8?"00"+c:c,r=c=>{let f=c.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),u=r(o);return`30${r(o+s+4)}02${u}${i}02${a}${n}`}},Me=BigInt(0),se=BigInt(1),Fb=BigInt(2),Ac=BigInt(3),Vb=BigInt(4);function qy(t){let e=My(t),{Fp:r}=e,n=e.toBytes||((d,p,y)=>{let m=p.toAffine();return ke(Uint8Array.from([4]),r.toBytes(m.x),r.toBytes(m.y))}),i=e.fromBytes||(d=>{let p=d.subarray(1),y=r.fromBytes(p.subarray(0,r.BYTES)),m=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:y,y:m}});function s(d){let{a:p,b:y}=e,m=r.sqr(d),w=r.mul(m,d);return r.add(r.add(w,r.mul(d,p)),y)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(d){return typeof d=="bigint"&&Me<d&&d<e.n}function a(d){if(!o(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function u(d){let{allowedPrivateKeyLengths:p,nByteLength:y,wrapPrivateKey:m,n:w}=e;if(p&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=De(d)),typeof d!="string"||!p.includes(d.length))throw new Error("Invalid key");d=d.padStart(y*2,"0")}let b;try{b=typeof d=="bigint"?d:Pe(wt("private key",d,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof d}`)}return m&&(b=ut(b,w)),a(b),b}let c=new Map;function f(d){if(!(d instanceof h))throw new Error("ProjectivePoint expected")}class h{constructor(p,y,m){if(this.px=p,this.py=y,this.pz=m,p==null||!r.isValid(p))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(p){let{x:y,y:m}=p||{};if(!p||!r.isValid(y)||!r.isValid(m))throw new Error("invalid affine point");if(p instanceof h)throw new Error("projective point not allowed");let w=b=>r.eql(b,r.ZERO);return w(y)&&w(m)?h.ZERO:new h(y,m,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let y=r.invertBatch(p.map(m=>m.pz));return p.map((m,w)=>m.toAffine(y[w])).map(h.fromAffine)}static fromHex(p){let y=h.fromAffine(i(wt("pointHex",p)));return y.assertValidity(),y}static fromPrivateKey(p){return h.BASE.multiply(u(p))}_setWindowSize(p){this._WINDOW_SIZE=p,c.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y}=this.toAffine();if(!r.isValid(p)||!r.isValid(y))throw new Error("bad point: x or y not FE");let m=r.sqr(y),w=s(p);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:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:y,py:m,pz:w}=this,{px:b,py:T,pz:E}=p,S=r.eql(r.mul(y,E),r.mul(b,w)),N=r.eql(r.mul(m,E),r.mul(T,w));return S&&N}negate(){return new h(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:y}=e,m=r.mul(y,Ac),{px:w,py:b,pz:T}=this,E=r.ZERO,S=r.ZERO,N=r.ZERO,L=r.mul(w,w),G=r.mul(b,b),z=r.mul(T,T),q=r.mul(w,b);return q=r.add(q,q),N=r.mul(w,T),N=r.add(N,N),E=r.mul(p,N),S=r.mul(m,z),S=r.add(E,S),E=r.sub(G,S),S=r.add(G,S),S=r.mul(E,S),E=r.mul(q,E),N=r.mul(m,N),z=r.mul(p,z),q=r.sub(L,z),q=r.mul(p,q),q=r.add(q,N),N=r.add(L,L),L=r.add(N,L),L=r.add(L,z),L=r.mul(L,q),S=r.add(S,L),z=r.mul(b,T),z=r.add(z,z),L=r.mul(z,q),E=r.sub(E,L),N=r.mul(z,G),N=r.add(N,N),N=r.add(N,N),new h(E,S,N)}add(p){f(p);let{px:y,py:m,pz:w}=this,{px:b,py:T,pz:E}=p,S=r.ZERO,N=r.ZERO,L=r.ZERO,G=e.a,z=r.mul(e.b,Ac),q=r.mul(y,b),X=r.mul(m,T),at=r.mul(w,E),Kt=r.add(y,m),C=r.add(b,T);Kt=r.mul(Kt,C),C=r.add(q,X),Kt=r.sub(Kt,C),C=r.add(y,w);let P=r.add(b,E);return C=r.mul(C,P),P=r.add(q,at),C=r.sub(C,P),P=r.add(m,w),S=r.add(T,E),P=r.mul(P,S),S=r.add(X,at),P=r.sub(P,S),L=r.mul(G,C),S=r.mul(z,at),L=r.add(S,L),S=r.sub(X,L),L=r.add(X,L),N=r.mul(S,L),X=r.add(q,q),X=r.add(X,q),at=r.mul(G,at),C=r.mul(z,C),X=r.add(X,at),at=r.sub(q,at),at=r.mul(G,at),C=r.add(C,at),q=r.mul(X,C),N=r.add(N,q),q=r.mul(P,C),S=r.mul(Kt,S),S=r.sub(S,q),q=r.mul(Kt,X),L=r.mul(P,L),L=r.add(L,q),new h(S,N,L)}subtract(p){return this.add(p.negate())}is0(){return this.equals(h.ZERO)}wNAF(p){return g.wNAFCached(this,c,p,y=>{let m=r.invertBatch(y.map(w=>w.pz));return y.map((w,b)=>w.toAffine(m[b])).map(h.fromAffine)})}multiplyUnsafe(p){let y=h.ZERO;if(p===Me)return y;if(a(p),p===se)return this;let{endo:m}=e;if(!m)return g.unsafeLadder(this,p);let{k1neg:w,k1:b,k2neg:T,k2:E}=m.splitScalar(p),S=y,N=y,L=this;for(;b>Me||E>Me;)b&se&&(S=S.add(L)),E&se&&(N=N.add(L)),L=L.double(),b>>=se,E>>=se;return w&&(S=S.negate()),T&&(N=N.negate()),N=new h(r.mul(N.px,m.beta),N.py,N.pz),S.add(N)}multiply(p){a(p);let y=p,m,w,{endo:b}=e;if(b){let{k1neg:T,k1:E,k2neg:S,k2:N}=b.splitScalar(y),{p:L,f:G}=this.wNAF(E),{p:z,f:q}=this.wNAF(N);L=g.constTimeNegate(T,L),z=g.constTimeNegate(S,z),z=new h(r.mul(z.px,b.beta),z.py,z.pz),m=L.add(z),w=G.add(q)}else{let{p:T,f:E}=this.wNAF(y);m=T,w=E}return h.normalizeZ([m,w])[0]}multiplyAndAddUnsafe(p,y,m){let w=h.BASE,b=(E,S)=>S===Me||S===se||!E.equals(w)?E.multiplyUnsafe(S):E.multiply(S),T=b(this,y).add(b(p,m));return T.is0()?void 0:T}toAffine(p){let{px:y,py:m,pz:w}=this,b=this.is0();p==null&&(p=b?r.ONE:r.inv(w));let T=r.mul(y,p),E=r.mul(m,p),S=r.mul(w,p);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:T,y:E}}isTorsionFree(){let{h:p,isTorsionFree:y}=e;if(p===se)return!0;if(y)return y(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:y}=e;return p===se?this:y?y(h,this):this.multiplyUnsafe(e.h)}toRawBytes(p=!0){return this.assertValidity(),n(h,this,p)}toHex(p=!0){return De(this.toRawBytes(p))}}h.BASE=new h(e.Gx,e.Gy,r.ONE),h.ZERO=new h(r.ZERO,r.ONE,r.ZERO);let l=e.nBitLength,g=Ui(h,e.endo?Math.ceil(l/2):l);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:u,weierstrassEquation:s,isWithinCurveOrder:o}}function Hy(t){let e=_n(t);return Se(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Ic(t){let e=Hy(t),{Fp:r,n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function o(C){return Me<C&&C<r.ORDER}function a(C){return ut(C,n)}function u(C){return Pi(C,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:f,weierstrassEquation:h,isWithinCurveOrder:l}=qy({...e,toBytes(C,P,R){let D=P.toAffine(),A=r.toBytes(D.x),K=ke;return R?K(Uint8Array.from([P.hasEvenY()?2:3]),A):K(Uint8Array.from([4]),A,r.toBytes(D.y))},fromBytes(C){let P=C.length,R=C[0],D=C.subarray(1);if(P===i&&(R===2||R===3)){let A=Pe(D);if(!o(A))throw new Error("Point is not on curve");let K=h(A),F=r.sqrt(K),H=(F&se)===se;return(R&1)===1!==H&&(F=r.neg(F)),{x:A,y:F}}else if(P===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 ${P} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),g=C=>De(tr(C,e.nByteLength));function d(C){let P=n>>se;return C>P}function p(C){return d(C)?a(-C):C}let y=(C,P,R)=>Pe(C.slice(P,R));class m{constructor(P,R,D){this.r=P,this.s=R,this.recovery=D,this.assertValidity()}static fromCompact(P){let R=e.nByteLength;return P=wt("compactSignature",P,R*2),new m(y(P,0,R),y(P,R,2*R))}static fromDER(P){let{r:R,s:D}=Sr.toSig(wt("DER",P));return new m(R,D)}assertValidity(){if(!l(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!l(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(P){return new m(this.r,this.s,P)}recoverPublicKey(P){let{r:R,s:D,recovery:A}=this,K=N(wt("msgHash",P));if(A==null||![0,1,2,3].includes(A))throw new Error("recovery id invalid");let F=A===2||A===3?R+e.n:R;if(F>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=A&1?"03":"02",$=c.fromHex(H+g(F)),J=u(F),st=a(-K*J),j=a(D*J),rt=c.BASE.multiplyAndAddUnsafe($,st,j);if(!rt)throw new Error("point at infinify");return rt.assertValidity(),rt}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new m(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return pr(this.toDERHex())}toDERHex(){return Sr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return pr(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=xo(e.n);return ku(e.randomBytes(C),e.n)},precompute(C=8,P=c.BASE){return P._setWindowSize(C),P.multiply(BigInt(3)),P}};function b(C,P=!0){return c.fromPrivateKey(C).toRawBytes(P)}function T(C){let P=C instanceof Uint8Array,R=typeof C=="string",D=(P||R)&&C.length;return P?D===i||D===s:R?D===2*i||D===2*s:C instanceof c}function E(C,P,R=!0){if(T(C))throw new Error("first arg must be private key");if(!T(P))throw new Error("second arg must be public key");return c.fromHex(P).multiply(f(C)).toRawBytes(R)}let S=e.bits2int||function(C){let P=Pe(C),R=C.length*8-e.nBitLength;return R>0?P>>BigInt(R):P},N=e.bits2int_modN||function(C){return a(S(C))},L=Cn(e.nBitLength);function G(C){if(typeof C!="bigint")throw new Error("bigint expected");if(!(Me<=C&&C<L))throw new Error(`bigint expected < 2^${e.nBitLength}`);return tr(C,e.nByteLength)}function z(C,P,R=q){if(["recovered","canonical"].some(bt=>bt in R))throw new Error("sign() legacy options not supported");let{hash:D,randomBytes:A}=e,{lowS:K,prehash:F,extraEntropy:H}=R;K==null&&(K=!0),C=wt("msgHash",C),F&&(C=wt("prehashed msgHash",D(C)));let $=N(C),J=f(P),st=[G(J),G($)];if(H!=null){let bt=H===!0?A(r.BYTES):H;st.push(wt("extraEntropy",bt))}let j=ke(...st),rt=$;function At(bt){let Ot=S(bt);if(!l(Ot))return;let Mt=u(Ot),Tt=c.BASE.multiply(Ot).toAffine(),Ft=a(Tt.x);if(Ft===Me)return;let Ae=a(Mt*a(rt+Ft*J));if(Ae===Me)return;let ir=(Tt.x===Ft?0:2)|Number(Tt.y&se),jr=Ae;return K&&d(Ae)&&(jr=p(Ae),ir^=1),new m(Ft,jr,ir)}return{seed:j,k2sig:At}}let q={lowS:e.lowS,prehash:!1},X={lowS:e.lowS,prehash:!1};function at(C,P,R=q){let{seed:D,k2sig:A}=z(C,P,R),K=e;return po(K.hash.outputLen,K.nByteLength,K.hmac)(D,A)}c.BASE._setWindowSize(8);function Kt(C,P,R,D=X){let A=C;if(P=wt("msgHash",P),R=wt("publicKey",R),"strict"in D)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:F}=D,H,$;try{if(typeof A=="string"||A instanceof Uint8Array)try{H=m.fromDER(A)}catch(Tt){if(!(Tt instanceof Sr.Err))throw Tt;H=m.fromCompact(A)}else if(typeof A=="object"&&typeof A.r=="bigint"&&typeof A.s=="bigint"){let{r:Tt,s:Ft}=A;H=new m(Tt,Ft)}else throw new Error("PARSE");$=c.fromHex(R)}catch(Tt){if(Tt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&H.hasHighS())return!1;F&&(P=e.hash(P));let{r:J,s:st}=H,j=N(P),rt=u(st),At=a(j*rt),bt=a(J*rt),Ot=c.BASE.multiplyAndAddUnsafe($,At,bt)?.toAffine();return Ot?a(Ot.x)===J:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:E,sign:at,verify:Kt,ProjectivePoint:c,Signature:m,utils:w}}var Qi=class extends Hr{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Su(e);let n=In(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 qr(this),this.iHash.update(e),this}digestInto(e){qr(this),oo(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()}},Yo=(t,e,r)=>new Qi(t,e).update(r).digest();Yo.create=(t,e)=>new Qi(t,e);function zy(t){return{hash:t,hmac:(e,...r)=>Yo(t,e,_i(...r)),randomBytes:zr}}function Cc(t,e){let r=n=>Ic({...t,...zy(n)});return Object.freeze({...r(e),create:r})}var Rc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),_c=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Gy=BigInt(1),Wo=BigInt(2),Tc=(t,e)=>(t+e/Wo)/e;function Yy(t){let e=Rc,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),u=BigInt(88),c=t*t*t%e,f=c*c*t%e,h=gt(f,r,e)*f%e,l=gt(h,r,e)*f%e,g=gt(l,Wo,e)*c%e,d=gt(g,i,e)*g%e,p=gt(d,s,e)*d%e,y=gt(p,a,e)*p%e,m=gt(y,u,e)*y%e,w=gt(m,a,e)*p%e,b=gt(w,r,e)*f%e,T=gt(b,o,e)*d%e,E=gt(T,n,e)*c%e,S=gt(E,Wo,e);if(!Qo.eql(Qo.sqr(S),t))throw new Error("Cannot find square root");return S}var Qo=ki(Rc,void 0,void 0,{sqrt:Yy}),Fe=Cc({a:BigInt(0),b:BigInt(7),Fp:Qo,n:_c,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=_c,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Gy*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=Tc(s*t,e),u=Tc(-n*t,e),c=ut(t-a*r-u*i,e),f=ut(-a*n-u*s,e),h=c>o,l=f>o;if(h&&(c=e-c),l&&(f=e-f),c>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:h,k1:c,k2neg:l,k2:f}}}},Bc),jb=BigInt(0);var tv=Fe.ProjectivePoint;function Nc(){return Fe.utils.randomPrivateKey()}async function Lc(t,e){let{digest:r}=await Nt.digest(e instanceof Uint8Array?e:e.subarray());try{return Fe.sign(r,t).toDERRawBytes()}catch(n){throw new O(String(n),"ERR_INVALID_INPUT")}}async function Dc(t,e,r){try{let{digest:n}=await Nt.digest(r instanceof Uint8Array?r:r.subarray());return Fe.verify(e,n,t)}catch(n){throw new O(String(n),"ERR_INVALID_INPUT")}}function Pc(t){return Fe.ProjectivePoint.fromHex(t).toRawBytes(!0)}function kc(t){try{Fe.getPublicKey(t,!0)}catch(e){throw new O(String(e),"ERR_INVALID_PRIVATE_KEY")}}function $o(t){try{Fe.ProjectivePoint.fromHex(t)}catch(e){throw new O(String(e),"ERR_INVALID_PUBLIC_KEY")}}function Uc(t){try{return Fe.getPublicKey(t,!0)}catch(e){throw new O(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Kn=class{_key;constructor(e){$o(e),this._key=e}async verify(e,r){return Dc(this._key,r,e)}marshal(){return Pc(this._key)}get bytes(){return le.encode({Type:lt.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}},On=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??Uc(e),kc(this._key),$o(this._publicKey)}async sign(e){return Lc(this._key,e)}get public(){return new Kn(this._publicKey)}marshal(){return this._key}get bytes(){return de.encode({Type:lt.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Vt(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Nt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return _t(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Qr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Qy(t){return new On(t)}function $y(t){return new Kn(t)}async function Zy(){let t=Nc();return new On(t)}var Be={rsa:zo,ed25519:Oo,secp256k1:Zo};function Xo(t){let e=Object.keys(Be).join(" / ");return new O(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Jo(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Be[t];throw Xo(t)}async function Xy(t,e){return Jo(t).generateKeyPair(e??2048)}async function Jy(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 Ko(e)}function jy(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 Xo(e.Type??"unknown")}}function t1(t,e){return e=(e??"rsa").toLowerCase(),Jo(e),t.bytes}async function Kc(t){let e=de.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 Xo(e.Type??"RSA")}}function e1(t,e){return e=(e??"rsa").toLowerCase(),Jo(e),t.bytes}async function r1(t,e){try{let i=await oc(t,e);return await Kc(i)}catch{}let r=$i.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=$i.default.asn1.toDer($i.default.pki.privateKeyToAsn1(r));return n=xt(n.getBytes(),"ascii"),Be.rsa.unmarshalRsaPrivateKey(n)}var n1=Rt(Zs(),1),i1=Rt(St(),1);function Oc(){return BigInt(`0x${_t(wr(8),"base16")}`)}var Mc=(t,e)=>{let r=xt(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},Fc=t=>Nt.encode(t);var Vc=function(t){return Array.isArray(t)?t:[t]},s1=async t=>{if(t.sequenceNumber==null||t.from==null||t.signature==null)return!1;let e=un(t.from);return e.publicKey!=null?!0:t.key!=null?(await Hn(t.key)).equals(e):!1},qc=async t=>{if(t.from==null)throw new O("RPC message was missing from",Lt.ERR_MISSING_FROM);if(!await s1(t))return{type:"unsigned",topic:t.topic??"",data:t.data??new Uint8Array(0)};let e=un(t.from),r={type:"signed",from:un(t.from),topic:t.topic??"",sequenceNumber:a1(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",Lt.ERR_MISSING_KEY);return r},Fn=t=>t.type==="signed"?{from:t.from.multihash.bytes,data:t.data,sequenceNumber:o1(t.sequenceNumber),topic:t.topic,signature:t.signature,key:t.key}:{data:t.data,topic:t.topic},o1=t=>{let e=t.toString(16);return e.length%2!==0&&(e=`0${e}`),xt(e,"base16")},a1=t=>BigInt(`0x${_t(t,"base16")}`);var Hc=xt("libp2p-pubsub:");async function zc(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=Gt([Hc,r(Fn(n)).subarray()]),s=await Mn.unmarshalPrivateKey(t.privateKey);return n.signature=await s.sign(i),n.key=t.publicKey,n}async function Gc(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=Gt([Hc,e({...Fn(t),signature:void 0,key:void 0}).subarray()]),n=await u1(t);return Mn.unmarshalPublicKey(n).verify(r,t.signature)}async function u1(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 Hn(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 jo=class extends Br{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:u=1,maxOutboundStreams:c=1}=r;this.log=e.logger.forComponent("libp2p:pubsub"),this.components=e,this.multicodecs=Vc(n),this.enabled=r.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new cn,this.globalSignaturePolicy=i==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=s,this.emitSelf=o,this.topicValidators=new Map,this.queue=new za({concurrency:a}),this.maxInboundStreams=u,this.maxOutboundStreams=c,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 si(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 hn(r,async i=>{for await(let s of i){let o=this.decodeRpc(s),a=[];for(let u of o.messages??[]){if(u.from==null||u.data==null||u.topic==null){this.log("message from %p was missing from, data or topic fields, dropping",e);continue}a.push({from:u.from,data:u.data,topic:u.topic,sequenceNumber:u.sequenceNumber??void 0,signature:u.signature??void 0,key:u.key??void 0})}this.processRpc(e,n,{subscriptions:(o.subscriptions??[]).map(u=>({subscribe:!!u.subscribe,topic:u.topic??""})),messages:a}).catch(u=>{this.log(u)})}})}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 ye("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 qc(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 fn,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 ye("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',Lt.ERR_MISSING_SIGNATURE);if(e.sequenceNumber==null)throw new O("Need seqno when signature policy is StrictSign but it was missing",Lt.ERR_MISSING_SEQNO);if(e.key==null)throw new O("Need key when signature policy is StrictSign but it was missing",Lt.ERR_MISSING_KEY);return Mc(e.key,e.sequenceNumber);case"StrictNoSign":return Fc(e.data);default:throw new O("Cannot get message id: unhandled signature policy",Lt.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(Fn)})}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',Lt.ERR_MISSING_SIGNATURE);if(r.signature!=null)throw new O("StrictNoSigning: signature should not be present",Lt.ERR_UNEXPECTED_SIGNATURE);if(r.key!=null)throw new O("StrictNoSigning: key should not be present",Lt.ERR_UNEXPECTED_KEY);if(r.sequenceNumber!=null)throw new O("StrictNoSigning: seqno should not be present",Lt.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',Lt.ERR_MISSING_SIGNATURE);if(r.signature==null)throw new O("StrictSigning: Signing required and no signature was present",Lt.ERR_MISSING_SIGNATURE);if(r.sequenceNumber==null)throw new O("StrictSigning: Signing required and no sequenceNumber was present",Lt.ERR_MISSING_SEQNO);if(!await Gc(r,this.encodeMessage.bind(this)))throw new O("StrictSigning: Invalid message signature",Lt.ERR_INVALID_SIGNATURE);break;default:throw new O("Cannot validate message: unhandled signature policy",Lt.ERR_UNHANDLED_SIGNATURE_POLICY)}let i=this.topicValidators.get(r.topic);if(i!=null){let s=await i(e,r);if(s===tn.Reject||s===tn.Ignore)throw new O("Message validation failed",Lt.ERR_TOPIC_VALIDATOR_REJECT)}}async buildMessage(e){switch(this.globalSignaturePolicy){case"StrictSign":return zc(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",Lt.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:Oc()};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 ye("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())}};return of(c1);})();
|
16
16
|
/*! Bundled license information:
|
17
17
|
|
18
18
|
@noble/hashes/esm/utils.js:
|