@libp2p/webrtc 4.0.9-6d11e8268 → 4.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,18 +1,18 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PWebrtc = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PWebrtc=(()=>{var Ty=Object.create;var ro=Object.defineProperty;var Iy=Object.getOwnPropertyDescriptor;var _y=Object.getOwnPropertyNames;var ky=Object.getPrototypeOf,Ry=Object.prototype.hasOwnProperty;var lt=(e,t)=>()=>(e&&(t=e(e=0)),t);var ot=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ct=(e,t)=>{for(var r in t)ro(e,r,{get:t[r],enumerable:!0})},Uu=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of _y(t))!Ry.call(e,i)&&i!==r&&ro(e,i,{get:()=>t[i],enumerable:!(n=Iy(t,i))||n.enumerable});return e};var Xt=(e,t,r)=>(r=e!=null?Ty(ky(e)):{},Uu(t||!e||!e.__esModule?ro(r,"default",{value:e,enumerable:!0}):r,e)),no=e=>Uu(ro({},"__esModule",{value:!0}),e);var sl=ot((MA,ol)=>{"use strict";function il(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function Om(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return il(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),il(new i,r)}}ol.exports=Om});var gt=ot((KB,Rh)=>{Rh.exports={options:{usePureJavaScript:!1}}});var Ph=ot((MB,Nh)=>{var o0={};Nh.exports=o0;var Lh={};o0.encode=function(e,t,r){if(typeof t!="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(!(e instanceof Uint8Array))n=Kx(e,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,u=e[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
3
- `)}return n};o0.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=Lh[t];if(!r){r=Lh[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;e[f]===o&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function Kx(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=t[o[r]];return c}});var Pt=ot((FB,Mh)=>{var Uh=gt(),Oh=Ph(),w=Mh.exports=Uh.util=Uh.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];w.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};w.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};w.isArrayBufferView=function(e){return e&&w.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Li(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}w.ByteBuffer=s0;function s0(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(w.isArrayBuffer(e)||w.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof s0||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}w.ByteStringBuffer=s0;var Mx=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>Mx&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};w.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};w.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};w.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(w.encodeUtf8(e))};w.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};w.ByteStringBuffer.prototype.putInt=function(e,t){Li(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};w.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};w.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};w.ByteStringBuffer.prototype.getInt32=function(){var e=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,e};w.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};w.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};w.ByteStringBuffer.prototype.getInt32Le=function(){var e=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,e};w.ByteStringBuffer.prototype.getInt=function(e){Li(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};w.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};w.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var e=w.createBuffer(this.data);return e.read=this.read,e};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Fx(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=w.isArrayBuffer(e),n=w.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}w.DataBuffer=Fx;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};w.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};w.DataBuffer.prototype.putBytes=function(e,t){if(w.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof w.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&w.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof w.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=w.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};w.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};w.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};w.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(e,t){Li(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};w.DataBuffer.prototype.putSignedInt=function(e,t){return Li(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};w.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};w.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};w.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};w.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};w.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};w.DataBuffer.prototype.getInt=function(e){Li(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};w.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};w.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};w.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return w.binary.raw.encode(t);if(e==="hex")return w.binary.hex.encode(t);if(e==="base64")return w.binary.base64.encode(t);if(e==="utf8")return w.text.utf8.decode(t);if(e==="utf16")return w.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};w.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=w.encodeUtf8(e)),new w.ByteBuffer(e)};w.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};w.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};w.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};w.bytesToHex=function(e){return w.createBuffer(e).toHex()};w.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var _r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",kr=[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],Kh="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=_r.charAt(i>>2),r+=_r.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=_r.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":_r.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
2
+ "use strict";var Libp2PWebrtc=(()=>{var Ty=Object.create;var ro=Object.defineProperty;var Iy=Object.getOwnPropertyDescriptor;var _y=Object.getOwnPropertyNames;var ky=Object.getPrototypeOf,Ry=Object.prototype.hasOwnProperty;var lt=(e,t)=>()=>(e&&(t=e(e=0)),t);var ot=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ct=(e,t)=>{for(var r in t)ro(e,r,{get:t[r],enumerable:!0})},Uu=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of _y(t))!Ry.call(e,i)&&i!==r&&ro(e,i,{get:()=>t[i],enumerable:!(n=Iy(t,i))||n.enumerable});return e};var Xt=(e,t,r)=>(r=e!=null?Ty(ky(e)):{},Uu(t||!e||!e.__esModule?ro(r,"default",{value:e,enumerable:!0}):r,e)),no=e=>Uu(ro({},"__esModule",{value:!0}),e);var sl=ot((VA,ol)=>{"use strict";function il(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function Om(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return il(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),il(new i,r)}}ol.exports=Om});var gt=ot((FB,Rh)=>{Rh.exports={options:{usePureJavaScript:!1}}});var Ph=ot((VB,Nh)=>{var o0={};Nh.exports=o0;var Lh={};o0.encode=function(e,t,r){if(typeof t!="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(!(e instanceof Uint8Array))n=Kx(e,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,u=e[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
3
+ `)}return n};o0.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=Lh[t];if(!r){r=Lh[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;e[f]===o&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function Kx(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=t[o[r]];return c}});var Pt=ot((HB,Mh)=>{var Uh=gt(),Oh=Ph(),w=Mh.exports=Uh.util=Uh.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];w.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};w.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};w.isArrayBufferView=function(e){return e&&w.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Li(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}w.ByteBuffer=s0;function s0(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(w.isArrayBuffer(e)||w.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof s0||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}w.ByteStringBuffer=s0;var Mx=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>Mx&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};w.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};w.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};w.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(w.encodeUtf8(e))};w.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};w.ByteStringBuffer.prototype.putInt=function(e,t){Li(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};w.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};w.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};w.ByteStringBuffer.prototype.getInt32=function(){var e=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,e};w.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};w.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};w.ByteStringBuffer.prototype.getInt32Le=function(){var e=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,e};w.ByteStringBuffer.prototype.getInt=function(e){Li(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};w.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};w.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var e=w.createBuffer(this.data);return e.read=this.read,e};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Fx(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=w.isArrayBuffer(e),n=w.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}w.DataBuffer=Fx;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};w.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};w.DataBuffer.prototype.putBytes=function(e,t){if(w.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof w.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&w.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof w.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=w.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};w.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};w.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};w.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(e,t){Li(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};w.DataBuffer.prototype.putSignedInt=function(e,t){return Li(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};w.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};w.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};w.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};w.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};w.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};w.DataBuffer.prototype.getInt=function(e){Li(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};w.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};w.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};w.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return w.binary.raw.encode(t);if(e==="hex")return w.binary.hex.encode(t);if(e==="base64")return w.binary.base64.encode(t);if(e==="utf8")return w.text.utf8.decode(t);if(e==="utf16")return w.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};w.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=w.encodeUtf8(e)),new w.ByteBuffer(e)};w.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};w.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};w.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};w.bytesToHex=function(e){return w.createBuffer(e).toHex()};w.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var _r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",kr=[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],Kh="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=_r.charAt(i>>2),r+=_r.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=_r.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":_r.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
4
4
  `,r=r.substr(t));return n+=r,n};w.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=kr[e.charCodeAt(s++)-43],n=kr[e.charCodeAt(s++)-43],i=kr[e.charCodeAt(s++)-43],o=kr[e.charCodeAt(s++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(t+=String.fromCharCode((i&3)<<6|o)));return t};w.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};w.decodeUtf8=function(e){return decodeURIComponent(escape(e))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Oh.encode,decode:Oh.decode}};w.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};w.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2))),r=r||0;var i=0,o=r;for(e.length&1&&(i=1,n[o++]=parseInt(e[0],16));i<e.length;i+=2)n[o++]=parseInt(e.substr(i,2),16);return t?o-r:n};w.binary.base64.encode=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.byteLength;)i=e[a++],o=e[a++],s=e[a++],r+=_r.charAt(i>>2),r+=_r.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=_r.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":_r.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
5
- `,r=r.substr(t));return n+=r,n};w.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<e.length;)i=kr[e.charCodeAt(c++)-43],o=kr[e.charCodeAt(c++)-43],s=kr[e.charCodeAt(c++)-43],a=kr[e.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return t?u-r:n.subarray(0,u)};w.binary.base58.encode=function(e,t){return w.binary.baseN.encode(e,Kh,t)};w.binary.base58.decode=function(e,t){return w.binary.baseN.decode(e,Kh,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(e,t,r){e=w.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};w.text.utf8.decode=function(e){return w.decodeUtf8(String.fromCharCode.apply(null,e))};w.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};w.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};w.deflate=function(e,t,r){if(t=w.decode64(e.deflate(w.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(e,t,r){var n=e.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var a0=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=w.encode64(JSON.stringify(r)),n=e.setItem(t,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}},c0=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(w.decode64(r))),r},Vx=function(e,t,r,n){var i=c0(e,t);i===null&&(i={}),i[r]=n,a0(e,t,i)},Hx=function(e,t,r){var n=c0(e,t);return n!==null&&(n=r in n?n[r]:null),n},qx=function(e,t,r){var n=c0(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),a0(e,t,n)}},zx=function(e,t){a0(e,t,null)},fs=function(e,t,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};w.setItem=function(e,t,r,n,i){fs(Vx,arguments,i)};w.getItem=function(e,t,r,n){return fs(Hx,arguments,n)};w.removeItem=function(e,t,r,n){fs(qx,arguments,n)};w.clearItems=function(e,t,r){fs(zx,arguments,r)};w.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};w.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(e.substring(s)),o.join("")};w.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};w.formatSize=function(e){return e>=1073741824?e=w.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=w.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=w.formatNumber(e/1024,0)+" KiB":e=w.formatNumber(e,0)+" bytes",e};w.bytesFromIP=function(e){return e.indexOf(".")!==-1?w.bytesFromIPv4(e):e.indexOf(":")!==-1?w.bytesFromIPv6(e):null};w.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=w.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=w.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=w.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(e){return e.length===4?w.bytesToIPv4(e):e.length===16?w.bytesToIPv6(e):null};w.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};w.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=w.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}t.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};w.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in w&&!e.update)return t(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,t(null,w.cores);if(typeof Worker>"u")return w.cores=1,t(null,w.cores);if(typeof Blob>"u")return w.cores=2,t(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,w.cores)}i(c,function(f,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(d){if(u.push(d.data),u.length===s){for(var y=0;y<s;++y)c[y].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],d=0;d<s;++d)if(u!==d){var y=a[d];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&l.push(d)}return c.reduce(function(h,p){return Math.max(h,p.length)},0)}}});var ls=ot((VB,Fh)=>{var Ni=gt();Ni.pki=Ni.pki||{};var u0=Fh.exports=Ni.pki.oids=Ni.oids=Ni.oids||{};function N(e,t){u0[e]=t,u0[t]=e}function yt(e,t){u0[e]=t}N("1.2.840.113549.1.1.1","rsaEncryption");N("1.2.840.113549.1.1.4","md5WithRSAEncryption");N("1.2.840.113549.1.1.5","sha1WithRSAEncryption");N("1.2.840.113549.1.1.7","RSAES-OAEP");N("1.2.840.113549.1.1.8","mgf1");N("1.2.840.113549.1.1.9","pSpecified");N("1.2.840.113549.1.1.10","RSASSA-PSS");N("1.2.840.113549.1.1.11","sha256WithRSAEncryption");N("1.2.840.113549.1.1.12","sha384WithRSAEncryption");N("1.2.840.113549.1.1.13","sha512WithRSAEncryption");N("1.3.101.112","EdDSA25519");N("1.2.840.10040.4.3","dsa-with-sha1");N("1.3.14.3.2.7","desCBC");N("1.3.14.3.2.26","sha1");N("1.3.14.3.2.29","sha1WithRSASignature");N("2.16.840.1.101.3.4.2.1","sha256");N("2.16.840.1.101.3.4.2.2","sha384");N("2.16.840.1.101.3.4.2.3","sha512");N("2.16.840.1.101.3.4.2.4","sha224");N("2.16.840.1.101.3.4.2.5","sha512-224");N("2.16.840.1.101.3.4.2.6","sha512-256");N("1.2.840.113549.2.2","md2");N("1.2.840.113549.2.5","md5");N("1.2.840.113549.1.7.1","data");N("1.2.840.113549.1.7.2","signedData");N("1.2.840.113549.1.7.3","envelopedData");N("1.2.840.113549.1.7.4","signedAndEnvelopedData");N("1.2.840.113549.1.7.5","digestedData");N("1.2.840.113549.1.7.6","encryptedData");N("1.2.840.113549.1.9.1","emailAddress");N("1.2.840.113549.1.9.2","unstructuredName");N("1.2.840.113549.1.9.3","contentType");N("1.2.840.113549.1.9.4","messageDigest");N("1.2.840.113549.1.9.5","signingTime");N("1.2.840.113549.1.9.6","counterSignature");N("1.2.840.113549.1.9.7","challengePassword");N("1.2.840.113549.1.9.8","unstructuredAddress");N("1.2.840.113549.1.9.14","extensionRequest");N("1.2.840.113549.1.9.20","friendlyName");N("1.2.840.113549.1.9.21","localKeyId");N("1.2.840.113549.1.9.22.1","x509Certificate");N("1.2.840.113549.1.12.10.1.1","keyBag");N("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");N("1.2.840.113549.1.12.10.1.3","certBag");N("1.2.840.113549.1.12.10.1.4","crlBag");N("1.2.840.113549.1.12.10.1.5","secretBag");N("1.2.840.113549.1.12.10.1.6","safeContentsBag");N("1.2.840.113549.1.5.13","pkcs5PBES2");N("1.2.840.113549.1.5.12","pkcs5PBKDF2");N("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");N("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");N("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");N("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");N("1.2.840.113549.2.7","hmacWithSHA1");N("1.2.840.113549.2.8","hmacWithSHA224");N("1.2.840.113549.2.9","hmacWithSHA256");N("1.2.840.113549.2.10","hmacWithSHA384");N("1.2.840.113549.2.11","hmacWithSHA512");N("1.2.840.113549.3.7","des-EDE3-CBC");N("2.16.840.1.101.3.4.1.2","aes128-CBC");N("2.16.840.1.101.3.4.1.22","aes192-CBC");N("2.16.840.1.101.3.4.1.42","aes256-CBC");N("2.5.4.3","commonName");N("2.5.4.4","surname");N("2.5.4.5","serialNumber");N("2.5.4.6","countryName");N("2.5.4.7","localityName");N("2.5.4.8","stateOrProvinceName");N("2.5.4.9","streetAddress");N("2.5.4.10","organizationName");N("2.5.4.11","organizationalUnitName");N("2.5.4.12","title");N("2.5.4.13","description");N("2.5.4.15","businessCategory");N("2.5.4.17","postalCode");N("2.5.4.42","givenName");N("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");N("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");N("2.16.840.1.113730.1.1","nsCertType");N("2.16.840.1.113730.1.13","nsComment");yt("2.5.29.1","authorityKeyIdentifier");yt("2.5.29.2","keyAttributes");yt("2.5.29.3","certificatePolicies");yt("2.5.29.4","keyUsageRestriction");yt("2.5.29.5","policyMapping");yt("2.5.29.6","subtreesConstraint");yt("2.5.29.7","subjectAltName");yt("2.5.29.8","issuerAltName");yt("2.5.29.9","subjectDirectoryAttributes");yt("2.5.29.10","basicConstraints");yt("2.5.29.11","nameConstraints");yt("2.5.29.12","policyConstraints");yt("2.5.29.13","basicConstraints");N("2.5.29.14","subjectKeyIdentifier");N("2.5.29.15","keyUsage");yt("2.5.29.16","privateKeyUsagePeriod");N("2.5.29.17","subjectAltName");N("2.5.29.18","issuerAltName");N("2.5.29.19","basicConstraints");yt("2.5.29.20","cRLNumber");yt("2.5.29.21","cRLReason");yt("2.5.29.22","expirationDate");yt("2.5.29.23","instructionCode");yt("2.5.29.24","invalidityDate");yt("2.5.29.25","cRLDistributionPoints");yt("2.5.29.26","issuingDistributionPoint");yt("2.5.29.27","deltaCRLIndicator");yt("2.5.29.28","issuingDistributionPoint");yt("2.5.29.29","certificateIssuer");yt("2.5.29.30","nameConstraints");N("2.5.29.31","cRLDistributionPoints");N("2.5.29.32","certificatePolicies");yt("2.5.29.33","policyMappings");yt("2.5.29.34","policyConstraints");N("2.5.29.35","authorityKeyIdentifier");yt("2.5.29.36","policyConstraints");N("2.5.29.37","extKeyUsage");yt("2.5.29.46","freshestCRL");yt("2.5.29.54","inhibitAnyPolicy");N("1.3.6.1.4.1.11129.2.4.2","timestampList");N("1.3.6.1.5.5.7.1.1","authorityInfoAccess");N("1.3.6.1.5.5.7.3.1","serverAuth");N("1.3.6.1.5.5.7.3.2","clientAuth");N("1.3.6.1.5.5.7.3.3","codeSigning");N("1.3.6.1.5.5.7.3.4","emailProtection");N("1.3.6.1.5.5.7.3.8","timeStamping")});var Ui=ot((HB,Hh)=>{var Et=gt();Pt();ls();var V=Hh.exports=Et.asn1=Et.asn1||{};V.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};V.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};V.create=function(e,t,r,n,i){if(Et.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:e,type:t,constructed:r,composed:r||Et.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=V.copy(a)),a};V.copy=function(e,t){var r;if(Et.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(V.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:V.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};V.equals=function(e,t,r){if(Et.util.isArray(e)){if(!Et.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!V.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&V.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};V.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function Pi(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var Gx=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Pi(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};V.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=Et.util.createBuffer(e));var r=e.length(),n=hs(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function hs(e,t,r,n){var i;Pi(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=Gx(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var f,l,d=(o&32)===32;if(d)if(f=[],c===void 0)for(;;){if(Pi(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),f.push(hs(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(hs(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&c>1){var y=e.read,h=t,p=0;if(a===V.Type.BITSTRING&&(Pi(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var m={strict:!0,decodeBitStrings:!0},g=hs(e,t,r+1,m),b=i-e.length();t-=b,a==V.Type.BITSTRING&&b++;var x=g.tagClass;b===c&&(x===V.Class.UNIVERSAL||x===V.Class.CONTEXT_SPECIFIC)&&(f=[g])}catch{}f===void 0&&(e.read=y,t=h)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===V.Type.BMPSTRING)for(f="";c>0;c-=2)Pi(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var D=l===void 0?null:{bitStringContents:l};return V.create(s,a,d,f,D)}V.toDer=function(e){var t=Et.util.createBuffer(),r=e.tagClass|e.type,n=Et.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=V.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(V.toDer(e.value[o]))}else if(e.type===V.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===V.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};V.oidToDer=function(e){var t=e.split("."),r=Et.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};V.derToOid=function(e){var t;typeof e=="string"&&(e=Et.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};V.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var f=parseInt(e.substr(u+1,2),10),l=parseInt(e.substr(u+4,2),10),d=f*60+l;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};V.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,u=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,d=e.charAt(l);if(d==="+"||d==="-"){var y=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);u=y*60+h,u*=6e4,d==="+"&&(u*=-1),f=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t};V.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};V.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};V.integerToDer=function(e){var t=Et.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};V.derToInteger=function(e){typeof e=="string"&&(e=Et.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};V.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&Et.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=V.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var Vh=/[^\\u0000-\\u00ff]/;V.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
5
+ `,r=r.substr(t));return n+=r,n};w.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<e.length;)i=kr[e.charCodeAt(c++)-43],o=kr[e.charCodeAt(c++)-43],s=kr[e.charCodeAt(c++)-43],a=kr[e.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return t?u-r:n.subarray(0,u)};w.binary.base58.encode=function(e,t){return w.binary.baseN.encode(e,Kh,t)};w.binary.base58.decode=function(e,t){return w.binary.baseN.decode(e,Kh,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(e,t,r){e=w.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};w.text.utf8.decode=function(e){return w.decodeUtf8(String.fromCharCode.apply(null,e))};w.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};w.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};w.deflate=function(e,t,r){if(t=w.decode64(e.deflate(w.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(e,t,r){var n=e.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var a0=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=w.encode64(JSON.stringify(r)),n=e.setItem(t,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}},c0=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(w.decode64(r))),r},Vx=function(e,t,r,n){var i=c0(e,t);i===null&&(i={}),i[r]=n,a0(e,t,i)},Hx=function(e,t,r){var n=c0(e,t);return n!==null&&(n=r in n?n[r]:null),n},qx=function(e,t,r){var n=c0(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),a0(e,t,n)}},zx=function(e,t){a0(e,t,null)},fs=function(e,t,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};w.setItem=function(e,t,r,n,i){fs(Vx,arguments,i)};w.getItem=function(e,t,r,n){return fs(Hx,arguments,n)};w.removeItem=function(e,t,r,n){fs(qx,arguments,n)};w.clearItems=function(e,t,r){fs(zx,arguments,r)};w.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};w.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(e.substring(s)),o.join("")};w.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};w.formatSize=function(e){return e>=1073741824?e=w.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=w.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=w.formatNumber(e/1024,0)+" KiB":e=w.formatNumber(e,0)+" bytes",e};w.bytesFromIP=function(e){return e.indexOf(".")!==-1?w.bytesFromIPv4(e):e.indexOf(":")!==-1?w.bytesFromIPv6(e):null};w.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=w.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=w.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=w.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(e){return e.length===4?w.bytesToIPv4(e):e.length===16?w.bytesToIPv6(e):null};w.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};w.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=w.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}t.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};w.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in w&&!e.update)return t(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,t(null,w.cores);if(typeof Worker>"u")return w.cores=1,t(null,w.cores);if(typeof Blob>"u")return w.cores=2,t(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,w.cores)}i(c,function(f,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(d){if(u.push(d.data),u.length===s){for(var y=0;y<s;++y)c[y].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],d=0;d<s;++d)if(u!==d){var y=a[d];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&l.push(d)}return c.reduce(function(h,p){return Math.max(h,p.length)},0)}}});var ls=ot((qB,Fh)=>{var Ni=gt();Ni.pki=Ni.pki||{};var u0=Fh.exports=Ni.pki.oids=Ni.oids=Ni.oids||{};function N(e,t){u0[e]=t,u0[t]=e}function yt(e,t){u0[e]=t}N("1.2.840.113549.1.1.1","rsaEncryption");N("1.2.840.113549.1.1.4","md5WithRSAEncryption");N("1.2.840.113549.1.1.5","sha1WithRSAEncryption");N("1.2.840.113549.1.1.7","RSAES-OAEP");N("1.2.840.113549.1.1.8","mgf1");N("1.2.840.113549.1.1.9","pSpecified");N("1.2.840.113549.1.1.10","RSASSA-PSS");N("1.2.840.113549.1.1.11","sha256WithRSAEncryption");N("1.2.840.113549.1.1.12","sha384WithRSAEncryption");N("1.2.840.113549.1.1.13","sha512WithRSAEncryption");N("1.3.101.112","EdDSA25519");N("1.2.840.10040.4.3","dsa-with-sha1");N("1.3.14.3.2.7","desCBC");N("1.3.14.3.2.26","sha1");N("1.3.14.3.2.29","sha1WithRSASignature");N("2.16.840.1.101.3.4.2.1","sha256");N("2.16.840.1.101.3.4.2.2","sha384");N("2.16.840.1.101.3.4.2.3","sha512");N("2.16.840.1.101.3.4.2.4","sha224");N("2.16.840.1.101.3.4.2.5","sha512-224");N("2.16.840.1.101.3.4.2.6","sha512-256");N("1.2.840.113549.2.2","md2");N("1.2.840.113549.2.5","md5");N("1.2.840.113549.1.7.1","data");N("1.2.840.113549.1.7.2","signedData");N("1.2.840.113549.1.7.3","envelopedData");N("1.2.840.113549.1.7.4","signedAndEnvelopedData");N("1.2.840.113549.1.7.5","digestedData");N("1.2.840.113549.1.7.6","encryptedData");N("1.2.840.113549.1.9.1","emailAddress");N("1.2.840.113549.1.9.2","unstructuredName");N("1.2.840.113549.1.9.3","contentType");N("1.2.840.113549.1.9.4","messageDigest");N("1.2.840.113549.1.9.5","signingTime");N("1.2.840.113549.1.9.6","counterSignature");N("1.2.840.113549.1.9.7","challengePassword");N("1.2.840.113549.1.9.8","unstructuredAddress");N("1.2.840.113549.1.9.14","extensionRequest");N("1.2.840.113549.1.9.20","friendlyName");N("1.2.840.113549.1.9.21","localKeyId");N("1.2.840.113549.1.9.22.1","x509Certificate");N("1.2.840.113549.1.12.10.1.1","keyBag");N("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");N("1.2.840.113549.1.12.10.1.3","certBag");N("1.2.840.113549.1.12.10.1.4","crlBag");N("1.2.840.113549.1.12.10.1.5","secretBag");N("1.2.840.113549.1.12.10.1.6","safeContentsBag");N("1.2.840.113549.1.5.13","pkcs5PBES2");N("1.2.840.113549.1.5.12","pkcs5PBKDF2");N("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");N("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");N("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");N("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");N("1.2.840.113549.2.7","hmacWithSHA1");N("1.2.840.113549.2.8","hmacWithSHA224");N("1.2.840.113549.2.9","hmacWithSHA256");N("1.2.840.113549.2.10","hmacWithSHA384");N("1.2.840.113549.2.11","hmacWithSHA512");N("1.2.840.113549.3.7","des-EDE3-CBC");N("2.16.840.1.101.3.4.1.2","aes128-CBC");N("2.16.840.1.101.3.4.1.22","aes192-CBC");N("2.16.840.1.101.3.4.1.42","aes256-CBC");N("2.5.4.3","commonName");N("2.5.4.4","surname");N("2.5.4.5","serialNumber");N("2.5.4.6","countryName");N("2.5.4.7","localityName");N("2.5.4.8","stateOrProvinceName");N("2.5.4.9","streetAddress");N("2.5.4.10","organizationName");N("2.5.4.11","organizationalUnitName");N("2.5.4.12","title");N("2.5.4.13","description");N("2.5.4.15","businessCategory");N("2.5.4.17","postalCode");N("2.5.4.42","givenName");N("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");N("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");N("2.16.840.1.113730.1.1","nsCertType");N("2.16.840.1.113730.1.13","nsComment");yt("2.5.29.1","authorityKeyIdentifier");yt("2.5.29.2","keyAttributes");yt("2.5.29.3","certificatePolicies");yt("2.5.29.4","keyUsageRestriction");yt("2.5.29.5","policyMapping");yt("2.5.29.6","subtreesConstraint");yt("2.5.29.7","subjectAltName");yt("2.5.29.8","issuerAltName");yt("2.5.29.9","subjectDirectoryAttributes");yt("2.5.29.10","basicConstraints");yt("2.5.29.11","nameConstraints");yt("2.5.29.12","policyConstraints");yt("2.5.29.13","basicConstraints");N("2.5.29.14","subjectKeyIdentifier");N("2.5.29.15","keyUsage");yt("2.5.29.16","privateKeyUsagePeriod");N("2.5.29.17","subjectAltName");N("2.5.29.18","issuerAltName");N("2.5.29.19","basicConstraints");yt("2.5.29.20","cRLNumber");yt("2.5.29.21","cRLReason");yt("2.5.29.22","expirationDate");yt("2.5.29.23","instructionCode");yt("2.5.29.24","invalidityDate");yt("2.5.29.25","cRLDistributionPoints");yt("2.5.29.26","issuingDistributionPoint");yt("2.5.29.27","deltaCRLIndicator");yt("2.5.29.28","issuingDistributionPoint");yt("2.5.29.29","certificateIssuer");yt("2.5.29.30","nameConstraints");N("2.5.29.31","cRLDistributionPoints");N("2.5.29.32","certificatePolicies");yt("2.5.29.33","policyMappings");yt("2.5.29.34","policyConstraints");N("2.5.29.35","authorityKeyIdentifier");yt("2.5.29.36","policyConstraints");N("2.5.29.37","extKeyUsage");yt("2.5.29.46","freshestCRL");yt("2.5.29.54","inhibitAnyPolicy");N("1.3.6.1.4.1.11129.2.4.2","timestampList");N("1.3.6.1.5.5.7.1.1","authorityInfoAccess");N("1.3.6.1.5.5.7.3.1","serverAuth");N("1.3.6.1.5.5.7.3.2","clientAuth");N("1.3.6.1.5.5.7.3.3","codeSigning");N("1.3.6.1.5.5.7.3.4","emailProtection");N("1.3.6.1.5.5.7.3.8","timeStamping")});var Ui=ot((zB,Hh)=>{var Et=gt();Pt();ls();var V=Hh.exports=Et.asn1=Et.asn1||{};V.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};V.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};V.create=function(e,t,r,n,i){if(Et.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:e,type:t,constructed:r,composed:r||Et.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=V.copy(a)),a};V.copy=function(e,t){var r;if(Et.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(V.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:V.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};V.equals=function(e,t,r){if(Et.util.isArray(e)){if(!Et.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!V.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&V.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};V.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function Pi(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var Gx=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Pi(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};V.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=Et.util.createBuffer(e));var r=e.length(),n=hs(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function hs(e,t,r,n){var i;Pi(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=Gx(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var f,l,d=(o&32)===32;if(d)if(f=[],c===void 0)for(;;){if(Pi(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),f.push(hs(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(hs(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&c>1){var y=e.read,h=t,p=0;if(a===V.Type.BITSTRING&&(Pi(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var m={strict:!0,decodeBitStrings:!0},g=hs(e,t,r+1,m),b=i-e.length();t-=b,a==V.Type.BITSTRING&&b++;var x=g.tagClass;b===c&&(x===V.Class.UNIVERSAL||x===V.Class.CONTEXT_SPECIFIC)&&(f=[g])}catch{}f===void 0&&(e.read=y,t=h)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===V.Type.BMPSTRING)for(f="";c>0;c-=2)Pi(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var D=l===void 0?null:{bitStringContents:l};return V.create(s,a,d,f,D)}V.toDer=function(e){var t=Et.util.createBuffer(),r=e.tagClass|e.type,n=Et.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=V.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(V.toDer(e.value[o]))}else if(e.type===V.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===V.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};V.oidToDer=function(e){var t=e.split("."),r=Et.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};V.derToOid=function(e){var t;typeof e=="string"&&(e=Et.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};V.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var f=parseInt(e.substr(u+1,2),10),l=parseInt(e.substr(u+4,2),10),d=f*60+l;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};V.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,u=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,d=e.charAt(l);if(d==="+"||d==="-"){var y=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);u=y*60+h,u*=6e4,d==="+"&&(u*=-1),f=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t};V.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};V.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};V.integerToDer=function(e){var t=Et.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};V.derToInteger=function(e){typeof e=="string"&&(e=Et.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};V.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&Et.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=V.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var Vh=/[^\\u0000-\\u00ff]/;V.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
6
6
  `);for(var i="",o=0;o<t*r;++o)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case V.Class.UNIVERSAL:n+="Universal:";break;case V.Class.APPLICATION:n+="Application:";break;case V.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case V.Class.PRIVATE:n+="Private:";break}if(e.tagClass===V.Class.UNIVERSAL)switch(n+=e.type,e.type){case V.Type.NONE:n+=" (None)";break;case V.Type.BOOLEAN:n+=" (Boolean)";break;case V.Type.INTEGER:n+=" (Integer)";break;case V.Type.BITSTRING:n+=" (Bit string)";break;case V.Type.OCTETSTRING:n+=" (Octet string)";break;case V.Type.NULL:n+=" (Null)";break;case V.Type.OID:n+=" (Object Identifier)";break;case V.Type.ODESC:n+=" (Object Descriptor)";break;case V.Type.EXTERNAL:n+=" (External or Instance of)";break;case V.Type.REAL:n+=" (Real)";break;case V.Type.ENUMERATED:n+=" (Enumerated)";break;case V.Type.EMBEDDED:n+=" (Embedded PDV)";break;case V.Type.UTF8:n+=" (UTF8)";break;case V.Type.ROID:n+=" (Relative Object Identifier)";break;case V.Type.SEQUENCE:n+=" (Sequence)";break;case V.Type.SET:n+=" (Set)";break;case V.Type.PRINTABLESTRING:n+=" (Printable String)";break;case V.Type.IA5String:n+=" (IA5String (ASCII))";break;case V.Type.UTCTIME:n+=" (UTC time)";break;case V.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case V.Type.BMPSTRING:n+=" (BMP String)";break}else n+=e.type;if(n+=`
7
7
  `,n+=i+"Constructed: "+e.constructed+`
8
- `,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=V.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===V.Type.OID){var c=V.derToOid(e.value);n+=c,Et.pki&&Et.pki.oids&&c in Et.pki.oids&&(n+=" ("+Et.pki.oids[c]+") ")}if(e.type===V.Type.INTEGER)try{n+=V.derToInteger(e.value)}catch{n+="0x"+Et.util.bytesToHex(e.value)}else if(e.type===V.Type.BITSTRING){if(e.value.length>1?n+="0x"+Et.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===V.Type.OCTETSTRING)Vh.test(e.value)||(n+="("+e.value+") "),n+="0x"+Et.util.bytesToHex(e.value);else if(e.type===V.Type.UTF8)try{n+=Et.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+Et.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===V.Type.PRINTABLESTRING||e.type===V.Type.IA5String?n+=e.value:Vh.test(e.value)?n+="0x"+Et.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var l0=ot((qB,qh)=>{var Ft=gt();Pt();qh.exports=Ft.cipher=Ft.cipher||{};Ft.cipher.algorithms=Ft.cipher.algorithms||{};Ft.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ft.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ft.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ft.cipher.algorithms[e]=t};Ft.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ft.cipher.algorithms?Ft.cipher.algorithms[e]:null};var f0=Ft.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};f0.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ft.util.createBuffer(),this.output=e.output||Ft.util.createBuffer(),this.mode.start(t)};f0.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};f0.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var d0=ot((zB,zh)=>{var Vt=gt();Pt();Vt.cipher=Vt.cipher||{};var st=zh.exports=Vt.cipher.modes=Vt.cipher.modes||{};st.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};st.ecb.prototype.start=function(e){};st.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};st.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};st.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};st.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};st.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};st.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=ds(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};st.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};st.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};st.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};st.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};st.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};st.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ds(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};st.cfb.prototype.encrypt=function(e,t,r){var n=e.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]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};st.cfb.prototype.decrypt=function(e,t,r){var n=e.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]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};st.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};st.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ds(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};st.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.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)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};st.ofb.prototype.decrypt=st.ofb.prototype.encrypt;st.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};st.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ds(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};st.ctr.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(e.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}ps(this._inBlock)};st.ctr.prototype.decrypt=st.ctr.prototype.encrypt;st.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};st.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Vt.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Vt.util.createBuffer(e.additionalData):r=Vt.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Vt.util.createBuffer(e.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=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(h0(n*8)))}this._inBlock=this._j0.slice(0),ps(this._inBlock),this._partialBytes=0,r=Vt.util.createBuffer(r),this._aDataLength=h0(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()])};st.gcm.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(this._outBlock[i]^=e.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),ps(this._inBlock)};st.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),ps(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};st.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Vt.util.createBuffer();var n=this._aDataLength.concat(h0(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};st.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};st.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};st.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};st.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};st.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*t;a[c]=1<<t-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};st.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function ds(e,t){if(typeof e=="string"&&(e=Vt.util.createBuffer(e)),Vt.util.isArray(e)&&e.length>4){var r=e;e=Vt.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Vt.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function ps(e){e[e.length-1]=e[e.length-1]+1&4294967295}function h0(e){return[e/4294967296|0,e&4294967295]}});var g0=ot((GB,Yh)=>{var bt=gt();l0();d0();Pt();Yh.exports=bt.aes=bt.aes||{};bt.aes.startEncrypting=function(e,t,r,n){var i=ys({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};bt.aes.createEncryptionCipher=function(e,t){return ys({key:e,output:null,decrypt:!1,mode:t})};bt.aes.startDecrypting=function(e,t,r,n){var i=ys({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};bt.aes.createDecryptionCipher=function(e,t){return ys({key:e,output:null,decrypt:!0,mode:t})};bt.aes.Algorithm=function(e,t){m0||Wh();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return y0(r._w,n,i,!1)},decrypt:function(n,i){return y0(r._w,n,i,!0)}}}),r._init=!1};bt.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=bt.util.createBuffer(t);else if(bt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=bt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!bt.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!bt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=$h(t,e.decrypt&&!s),this._init=!0}};bt.aes._expandKey=function(e,t){return m0||Wh(),$h(e,t)};bt.aes._updateBlock=y0;Gn("AES-ECB",bt.cipher.modes.ecb);Gn("AES-CBC",bt.cipher.modes.cbc);Gn("AES-CFB",bt.cipher.modes.cfb);Gn("AES-OFB",bt.cipher.modes.ofb);Gn("AES-CTR",bt.cipher.modes.ctr);Gn("AES-GCM",bt.cipher.modes.gcm);function Gn(e,t){var r=function(){return new bt.aes.Algorithm(e,t)};bt.cipher.registerAlgorithm(e,r)}var m0=!1,zn=4,te,p0,Gh,nn,Te;function Wh(){m0=!0,Gh=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;te=new Array(256),p0=new Array(256),nn=new Array(4),Te=new Array(4);for(var t=0;t<4;++t)nn[t]=new Array(256),Te[t]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,te[r]=a,p0[a]=r,c=e[a],i=e[r],o=e[i],s=e[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)nn[l][r]=u,Te[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function $h(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=zn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=te[n>>>16&255]<<24^te[n>>>8&255]<<16^te[n&255]<<8^te[n>>>24]^Gh[i]<<24,i++):o>6&&c%o===4&&(n=te[n>>>24]<<24^te[n>>>16&255]<<16^te[n>>>8&255]<<8^te[n&255]),r[c]=r[c-o]^n;if(t){var u,f=Te[0],l=Te[1],d=Te[2],y=Te[3],h=r.slice(0);a=r.length;for(var c=0,p=a-zn;c<a;c+=zn,p-=zn)if(c===0||c===a-zn)h[c]=r[p],h[c+1]=r[p+3],h[c+2]=r[p+2],h[c+3]=r[p+1];else for(var m=0;m<zn;++m)u=r[p+m],h[c+(3&-m)]=f[te[u>>>24]]^l[te[u>>>16&255]]^d[te[u>>>8&255]]^y[te[u&255]];r=h}return r}function y0(e,t,r,n){var i=e.length/4-1,o,s,a,c,u;n?(o=Te[0],s=Te[1],a=Te[2],c=Te[3],u=p0):(o=nn[0],s=nn[1],a=nn[2],c=nn[3],u=te);var f,l,d,y,h,p,m;f=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],y=t[n?1:3]^e[3];for(var g=3,b=1;b<i;++b)h=o[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^c[y&255]^e[++g],p=o[l>>>24]^s[d>>>16&255]^a[y>>>8&255]^c[f&255]^e[++g],m=o[d>>>24]^s[y>>>16&255]^a[f>>>8&255]^c[l&255]^e[++g],y=o[y>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[d&255]^e[++g],f=h,l=p,d=m;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[d>>>8&255]<<8^u[y&255]^e[++g],r[n?3:1]=u[l>>>24]<<24^u[d>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^e[++g],r[2]=u[d>>>24]<<24^u[y>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^e[++g],r[n?1:3]=u[y>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[d&255]^e[++g]}function ys(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=bt.cipher.createDecipher(r,e.key):n=bt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof bt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Qh=ot((WB,Zh)=>{var Ct=gt();l0();d0();Pt();Zh.exports=Ct.des=Ct.des||{};Ct.des.startEncrypting=function(e,t,r,n){var i=ms({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Ct.des.createEncryptionCipher=function(e,t){return ms({key:e,output:null,decrypt:!1,mode:t})};Ct.des.startDecrypting=function(e,t,r,n){var i=ms({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Ct.des.createDecryptionCipher=function(e,t){return ms({key:e,output:null,decrypt:!0,mode:t})};Ct.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return Xh(r._keys,n,i,!1)},decrypt:function(n,i){return Xh(r._keys,n,i,!0)}}}),r._init=!1};Ct.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=Ct.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=tb(t),this._init=!0}};Ue("DES-ECB",Ct.cipher.modes.ecb);Ue("DES-CBC",Ct.cipher.modes.cbc);Ue("DES-CFB",Ct.cipher.modes.cfb);Ue("DES-OFB",Ct.cipher.modes.ofb);Ue("DES-CTR",Ct.cipher.modes.ctr);Ue("3DES-ECB",Ct.cipher.modes.ecb);Ue("3DES-CBC",Ct.cipher.modes.cbc);Ue("3DES-CFB",Ct.cipher.modes.cfb);Ue("3DES-OFB",Ct.cipher.modes.ofb);Ue("3DES-CTR",Ct.cipher.modes.ctr);function Ue(e,t){var r=function(){return new Ct.des.Algorithm(e,t)};Ct.cipher.registerAlgorithm(e,r)}var Wx=[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],$x=[-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],Yx=[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],Xx=[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],Zx=[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],Qx=[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],jx=[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],Jx=[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 tb(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],y=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length()>8?3:1,m=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],b=0,x,D=0;D<p;D++){var v=e.getInt32(),E=e.getInt32();x=(v>>>4^E)&252645135,E^=x,v^=x<<4,x=(E>>>-16^v)&65535,v^=x,E^=x<<-16,x=(v>>>2^E)&858993459,E^=x,v^=x<<2,x=(E>>>-16^v)&65535,v^=x,E^=x<<-16,x=(v>>>1^E)&1431655765,E^=x,v^=x<<1,x=(E>>>8^v)&16711935,v^=x,E^=x<<8,x=(v>>>1^E)&1431655765,E^=x,v^=x<<1,x=v<<8|E>>>20&240,v=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=x;for(var C=0;C<g.length;++C){g[C]?(v=v<<2|v>>>26,E=E<<2|E>>>26):(v=v<<1|v>>>27,E=E<<1|E>>>27),v&=-15,E&=-15;var B=t[v>>>28]|r[v>>>24&15]|n[v>>>20&15]|i[v>>>16&15]|o[v>>>12&15]|s[v>>>8&15]|a[v>>>4&15],O=c[E>>>28]|u[E>>>24&15]|f[E>>>20&15]|l[E>>>16&15]|d[E>>>12&15]|y[E>>>8&15]|h[E>>>4&15];x=(O>>>16^B)&65535,m[b++]=B^x,m[b++]=O^x<<16}}return m}function Xh(e,t,r,n){var i=e.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=t[0],c=t[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var f=o[u+1],l=o[u+2],d=o[u];d!=f;d+=l){var y=c^e[d],h=(c>>>4|c<<28)^e[d+1];s=a,a=c,c=s^($x[y>>>24&63]|Xx[y>>>16&63]|Qx[y>>>8&63]|Jx[y&63]|Wx[h>>>24&63]|Yx[h>>>16&63]|Zx[h>>>8&63]|jx[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function ms(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=Ct.cipher.createDecipher(r,e.key):n=Ct.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Ct.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var on=ot(($B,jh)=>{var gs=gt();jh.exports=gs.md=gs.md||{};gs.md.algorithms=gs.md.algorithms||{}});var td=ot((YB,Jh)=>{var or=gt();on();Pt();var eb=Jh.exports=or.hmac=or.hmac||{};eb.create=function(){var e=null,t=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in or.md.algorithms)t=or.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=or.util.createBuffer(s);else if(or.util.isArray(s)){var a=s;s=or.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=or.util.createBuffer(),n=or.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var xs=ot(()=>{});var rd=ot((QB,ed)=>{var ee=gt();td();on();Pt();var rb=ee.pkcs5=ee.pkcs5||{},sr;ee.util.isNodejs&&!ee.options.usePureJavaScript&&(sr=xs());ed.exports=ee.pbkdf2=rb.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),ee.util.isNodejs&&!ee.options.usePureJavaScript&&sr.pbkdf2&&(i===null||typeof i!="object")&&(sr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?sr.pbkdf2Sync.length===4?sr.pbkdf2(e,t,r,n,function(x,D){if(x)return o(x);o(null,D.toString("binary"))}):sr.pbkdf2(e,t,r,n,i,function(x,D){if(x)return o(x);o(null,D.toString("binary"))}):sr.pbkdf2Sync.length===4?sr.pbkdf2Sync(e,t,r,n).toString("binary"):sr.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ee.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ee.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=ee.hmac.create();f.start(i,e);var l="",d,y,h;if(!o){for(var p=1;p<=c;++p){f.start(null,null),f.update(t),f.update(ee.util.int32ToBytes(p)),d=h=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(h),y=f.digest().getBytes(),d=ee.util.xorBytes(d,y,s),h=y;l+=p<c?d:d.substr(0,u)}return l}var p=1,m;function g(){if(p>c)return o(null,l);f.start(null,null),f.update(t),f.update(ee.util.int32ToBytes(p)),d=h=f.digest().getBytes(),m=2,b()}function b(){if(m<=r)return f.start(null,null),f.update(h),y=f.digest().getBytes(),d=ee.util.xorBytes(d,y,s),h=y,++m,ee.util.setImmediate(b);l+=p<c?d:d.substr(0,u),++p,g()}g()}});var od=ot((jB,id)=>{var ws=gt();Pt();var nd=id.exports=ws.pem=ws.pem||{};nd.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
8
+ `,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=V.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===V.Type.OID){var c=V.derToOid(e.value);n+=c,Et.pki&&Et.pki.oids&&c in Et.pki.oids&&(n+=" ("+Et.pki.oids[c]+") ")}if(e.type===V.Type.INTEGER)try{n+=V.derToInteger(e.value)}catch{n+="0x"+Et.util.bytesToHex(e.value)}else if(e.type===V.Type.BITSTRING){if(e.value.length>1?n+="0x"+Et.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===V.Type.OCTETSTRING)Vh.test(e.value)||(n+="("+e.value+") "),n+="0x"+Et.util.bytesToHex(e.value);else if(e.type===V.Type.UTF8)try{n+=Et.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+Et.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===V.Type.PRINTABLESTRING||e.type===V.Type.IA5String?n+=e.value:Vh.test(e.value)?n+="0x"+Et.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var l0=ot((GB,qh)=>{var Ft=gt();Pt();qh.exports=Ft.cipher=Ft.cipher||{};Ft.cipher.algorithms=Ft.cipher.algorithms||{};Ft.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ft.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ft.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ft.cipher.algorithms[e]=t};Ft.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ft.cipher.algorithms?Ft.cipher.algorithms[e]:null};var f0=Ft.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};f0.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ft.util.createBuffer(),this.output=e.output||Ft.util.createBuffer(),this.mode.start(t)};f0.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};f0.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var d0=ot((WB,zh)=>{var Vt=gt();Pt();Vt.cipher=Vt.cipher||{};var st=zh.exports=Vt.cipher.modes=Vt.cipher.modes||{};st.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};st.ecb.prototype.start=function(e){};st.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};st.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};st.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};st.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};st.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};st.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=ds(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};st.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};st.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};st.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};st.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};st.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};st.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ds(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};st.cfb.prototype.encrypt=function(e,t,r){var n=e.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]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};st.cfb.prototype.decrypt=function(e,t,r){var n=e.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]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};st.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};st.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ds(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};st.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.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)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};st.ofb.prototype.decrypt=st.ofb.prototype.encrypt;st.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};st.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ds(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};st.ctr.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(e.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}ps(this._inBlock)};st.ctr.prototype.decrypt=st.ctr.prototype.encrypt;st.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};st.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Vt.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Vt.util.createBuffer(e.additionalData):r=Vt.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Vt.util.createBuffer(e.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=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(h0(n*8)))}this._inBlock=this._j0.slice(0),ps(this._inBlock),this._partialBytes=0,r=Vt.util.createBuffer(r),this._aDataLength=h0(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()])};st.gcm.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(this._outBlock[i]^=e.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),ps(this._inBlock)};st.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),ps(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};st.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Vt.util.createBuffer();var n=this._aDataLength.concat(h0(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};st.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};st.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};st.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};st.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};st.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*t;a[c]=1<<t-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};st.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function ds(e,t){if(typeof e=="string"&&(e=Vt.util.createBuffer(e)),Vt.util.isArray(e)&&e.length>4){var r=e;e=Vt.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Vt.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function ps(e){e[e.length-1]=e[e.length-1]+1&4294967295}function h0(e){return[e/4294967296|0,e&4294967295]}});var g0=ot(($B,Yh)=>{var bt=gt();l0();d0();Pt();Yh.exports=bt.aes=bt.aes||{};bt.aes.startEncrypting=function(e,t,r,n){var i=ys({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};bt.aes.createEncryptionCipher=function(e,t){return ys({key:e,output:null,decrypt:!1,mode:t})};bt.aes.startDecrypting=function(e,t,r,n){var i=ys({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};bt.aes.createDecryptionCipher=function(e,t){return ys({key:e,output:null,decrypt:!0,mode:t})};bt.aes.Algorithm=function(e,t){m0||Wh();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return y0(r._w,n,i,!1)},decrypt:function(n,i){return y0(r._w,n,i,!0)}}}),r._init=!1};bt.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=bt.util.createBuffer(t);else if(bt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=bt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!bt.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!bt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=$h(t,e.decrypt&&!s),this._init=!0}};bt.aes._expandKey=function(e,t){return m0||Wh(),$h(e,t)};bt.aes._updateBlock=y0;Gn("AES-ECB",bt.cipher.modes.ecb);Gn("AES-CBC",bt.cipher.modes.cbc);Gn("AES-CFB",bt.cipher.modes.cfb);Gn("AES-OFB",bt.cipher.modes.ofb);Gn("AES-CTR",bt.cipher.modes.ctr);Gn("AES-GCM",bt.cipher.modes.gcm);function Gn(e,t){var r=function(){return new bt.aes.Algorithm(e,t)};bt.cipher.registerAlgorithm(e,r)}var m0=!1,zn=4,te,p0,Gh,nn,Te;function Wh(){m0=!0,Gh=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;te=new Array(256),p0=new Array(256),nn=new Array(4),Te=new Array(4);for(var t=0;t<4;++t)nn[t]=new Array(256),Te[t]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,te[r]=a,p0[a]=r,c=e[a],i=e[r],o=e[i],s=e[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)nn[l][r]=u,Te[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function $h(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=zn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=te[n>>>16&255]<<24^te[n>>>8&255]<<16^te[n&255]<<8^te[n>>>24]^Gh[i]<<24,i++):o>6&&c%o===4&&(n=te[n>>>24]<<24^te[n>>>16&255]<<16^te[n>>>8&255]<<8^te[n&255]),r[c]=r[c-o]^n;if(t){var u,f=Te[0],l=Te[1],d=Te[2],y=Te[3],h=r.slice(0);a=r.length;for(var c=0,p=a-zn;c<a;c+=zn,p-=zn)if(c===0||c===a-zn)h[c]=r[p],h[c+1]=r[p+3],h[c+2]=r[p+2],h[c+3]=r[p+1];else for(var m=0;m<zn;++m)u=r[p+m],h[c+(3&-m)]=f[te[u>>>24]]^l[te[u>>>16&255]]^d[te[u>>>8&255]]^y[te[u&255]];r=h}return r}function y0(e,t,r,n){var i=e.length/4-1,o,s,a,c,u;n?(o=Te[0],s=Te[1],a=Te[2],c=Te[3],u=p0):(o=nn[0],s=nn[1],a=nn[2],c=nn[3],u=te);var f,l,d,y,h,p,m;f=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],y=t[n?1:3]^e[3];for(var g=3,b=1;b<i;++b)h=o[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^c[y&255]^e[++g],p=o[l>>>24]^s[d>>>16&255]^a[y>>>8&255]^c[f&255]^e[++g],m=o[d>>>24]^s[y>>>16&255]^a[f>>>8&255]^c[l&255]^e[++g],y=o[y>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[d&255]^e[++g],f=h,l=p,d=m;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[d>>>8&255]<<8^u[y&255]^e[++g],r[n?3:1]=u[l>>>24]<<24^u[d>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^e[++g],r[2]=u[d>>>24]<<24^u[y>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^e[++g],r[n?1:3]=u[y>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[d&255]^e[++g]}function ys(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=bt.cipher.createDecipher(r,e.key):n=bt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof bt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Qh=ot((YB,Zh)=>{var Ct=gt();l0();d0();Pt();Zh.exports=Ct.des=Ct.des||{};Ct.des.startEncrypting=function(e,t,r,n){var i=ms({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Ct.des.createEncryptionCipher=function(e,t){return ms({key:e,output:null,decrypt:!1,mode:t})};Ct.des.startDecrypting=function(e,t,r,n){var i=ms({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Ct.des.createDecryptionCipher=function(e,t){return ms({key:e,output:null,decrypt:!0,mode:t})};Ct.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return Xh(r._keys,n,i,!1)},decrypt:function(n,i){return Xh(r._keys,n,i,!0)}}}),r._init=!1};Ct.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=Ct.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=tb(t),this._init=!0}};Ue("DES-ECB",Ct.cipher.modes.ecb);Ue("DES-CBC",Ct.cipher.modes.cbc);Ue("DES-CFB",Ct.cipher.modes.cfb);Ue("DES-OFB",Ct.cipher.modes.ofb);Ue("DES-CTR",Ct.cipher.modes.ctr);Ue("3DES-ECB",Ct.cipher.modes.ecb);Ue("3DES-CBC",Ct.cipher.modes.cbc);Ue("3DES-CFB",Ct.cipher.modes.cfb);Ue("3DES-OFB",Ct.cipher.modes.ofb);Ue("3DES-CTR",Ct.cipher.modes.ctr);function Ue(e,t){var r=function(){return new Ct.des.Algorithm(e,t)};Ct.cipher.registerAlgorithm(e,r)}var Wx=[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],$x=[-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],Yx=[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],Xx=[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],Zx=[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],Qx=[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],jx=[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],Jx=[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 tb(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],y=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length()>8?3:1,m=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],b=0,x,D=0;D<p;D++){var v=e.getInt32(),E=e.getInt32();x=(v>>>4^E)&252645135,E^=x,v^=x<<4,x=(E>>>-16^v)&65535,v^=x,E^=x<<-16,x=(v>>>2^E)&858993459,E^=x,v^=x<<2,x=(E>>>-16^v)&65535,v^=x,E^=x<<-16,x=(v>>>1^E)&1431655765,E^=x,v^=x<<1,x=(E>>>8^v)&16711935,v^=x,E^=x<<8,x=(v>>>1^E)&1431655765,E^=x,v^=x<<1,x=v<<8|E>>>20&240,v=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=x;for(var C=0;C<g.length;++C){g[C]?(v=v<<2|v>>>26,E=E<<2|E>>>26):(v=v<<1|v>>>27,E=E<<1|E>>>27),v&=-15,E&=-15;var B=t[v>>>28]|r[v>>>24&15]|n[v>>>20&15]|i[v>>>16&15]|o[v>>>12&15]|s[v>>>8&15]|a[v>>>4&15],O=c[E>>>28]|u[E>>>24&15]|f[E>>>20&15]|l[E>>>16&15]|d[E>>>12&15]|y[E>>>8&15]|h[E>>>4&15];x=(O>>>16^B)&65535,m[b++]=B^x,m[b++]=O^x<<16}}return m}function Xh(e,t,r,n){var i=e.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=t[0],c=t[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var f=o[u+1],l=o[u+2],d=o[u];d!=f;d+=l){var y=c^e[d],h=(c>>>4|c<<28)^e[d+1];s=a,a=c,c=s^($x[y>>>24&63]|Xx[y>>>16&63]|Qx[y>>>8&63]|Jx[y&63]|Wx[h>>>24&63]|Yx[h>>>16&63]|Zx[h>>>8&63]|jx[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function ms(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=Ct.cipher.createDecipher(r,e.key):n=Ct.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Ct.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var on=ot((XB,jh)=>{var gs=gt();jh.exports=gs.md=gs.md||{};gs.md.algorithms=gs.md.algorithms||{}});var td=ot((ZB,Jh)=>{var or=gt();on();Pt();var eb=Jh.exports=or.hmac=or.hmac||{};eb.create=function(){var e=null,t=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in or.md.algorithms)t=or.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=or.util.createBuffer(s);else if(or.util.isArray(s)){var a=s;s=or.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=or.util.createBuffer(),n=or.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var xs=ot(()=>{});var rd=ot((JB,ed)=>{var ee=gt();td();on();Pt();var rb=ee.pkcs5=ee.pkcs5||{},sr;ee.util.isNodejs&&!ee.options.usePureJavaScript&&(sr=xs());ed.exports=ee.pbkdf2=rb.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),ee.util.isNodejs&&!ee.options.usePureJavaScript&&sr.pbkdf2&&(i===null||typeof i!="object")&&(sr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?sr.pbkdf2Sync.length===4?sr.pbkdf2(e,t,r,n,function(x,D){if(x)return o(x);o(null,D.toString("binary"))}):sr.pbkdf2(e,t,r,n,i,function(x,D){if(x)return o(x);o(null,D.toString("binary"))}):sr.pbkdf2Sync.length===4?sr.pbkdf2Sync(e,t,r,n).toString("binary"):sr.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ee.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ee.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=ee.hmac.create();f.start(i,e);var l="",d,y,h;if(!o){for(var p=1;p<=c;++p){f.start(null,null),f.update(t),f.update(ee.util.int32ToBytes(p)),d=h=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(h),y=f.digest().getBytes(),d=ee.util.xorBytes(d,y,s),h=y;l+=p<c?d:d.substr(0,u)}return l}var p=1,m;function g(){if(p>c)return o(null,l);f.start(null,null),f.update(t),f.update(ee.util.int32ToBytes(p)),d=h=f.digest().getBytes(),m=2,b()}function b(){if(m<=r)return f.start(null,null),f.update(h),y=f.digest().getBytes(),d=ee.util.xorBytes(d,y,s),h=y,++m,ee.util.setImmediate(b);l+=p<c?d:d.substr(0,u),++p,g()}g()}});var od=ot((tT,id)=>{var ws=gt();Pt();var nd=id.exports=ws.pem=ws.pem||{};nd.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
9
9
  `,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=bs(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=bs(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=bs(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=bs(e.headers[i]);return e.procType&&(r+=`\r
10
10
  `),r+=ws.util.encode64(e.body,t.maxline||64)+`\r
11
11
  `,r+="-----END "+e.type+`-----\r
12
12
  `,r};nd.decode=function(e){for(var t=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(e),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:ws.util.decode64(o[3])};if(t.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var f=c[u].replace(/\s+$/,""),l=u+1;l<c.length;++l){var d=c[l];if(!/\s/.test(d[0]))break;f+=d,u=l}if(o=f.match(n),o){for(var y={name:o[1],values:[]},h=o[2].split(","),p=0;p<h.length;++p)y.values.push(nb(h[p]));if(a.procType)if(!a.contentDomain&&y.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&y.name==="DEK-Info"){if(y.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(y);else{if(y.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(y.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function bs(e){for(var t=e.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
13
13
  `;for(var o=0,s=-1,i=0;i<t.length;++i,++o)if(o>65&&s!==-1){var a=t[s];a===","?(++s,t=t.substr(0,s)+`\r
14
14
  `+t.substr(s)):t=t.substr(0,s)+`\r
15
- `+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function nb(e){return e.replace(/^\s+/,"")}});var ld=ot((JB,fd)=>{var Oe=gt();on();Pt();var ad=fd.exports=Oe.sha256=Oe.sha256||{};Oe.md.sha256=Oe.md.algorithms.sha256=ad;ad.create=function(){cd||ib();var e=null,t=Oe.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Oe.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Oe.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),sd(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Oe.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(x0.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};sd(l,r,i);var d=Oe.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var x0=null,cd=!1,ud=null;function ib(){x0="\x80",x0+=Oe.util.fillString("\0",64),ud=[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],cd=!0}function sd(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b=r.length();b>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(f=e.h0,l=e.h1,d=e.h2,y=e.h3,h=e.h4,p=e.h5,m=e.h6,g=e.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=m^h&(p^m),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|d&(f^l),n=g+s+a+ud[u]+t[u],i=o+c,g=m,m=p,p=h,h=y+n>>>0,y=d,d=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+y|0,e.h4=e.h4+h|0,e.h5=e.h5+p|0,e.h6=e.h6+m|0,e.h7=e.h7+g|0,b-=64}}});var dd=ot((tT,hd)=>{var Ke=gt();Pt();var vs=null;Ke.util.isNodejs&&!Ke.options.usePureJavaScript&&!process.versions["node-webkit"]&&(vs=xs());var ob=hd.exports=Ke.prng=Ke.prng||{};ob.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,f){if(!f)return t.generateSync(u);var l=t.plugin.cipher,d=t.plugin.increment,y=t.plugin.formatKey,h=t.plugin.formatSeed,p=Ke.util.createBuffer();t.key=null,m();function m(g){if(g)return f(g);if(p.length()>=u)return f(null,p.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return Ke.util.nextTick(function(){o(m)});var b=l(t.key,t.seed);t.generated+=b.length,p.putBytes(b),t.key=y(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Ke.util.setImmediate(m)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,y=t.plugin.formatSeed;t.key=null;for(var h=Ke.util.createBuffer();h.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=f(t.key,t.seed);t.generated+=p.length,h.putBytes(p),t.key=d(f(t.key,l(t.seed))),t.seed=y(f(t.key,t.seed))}return h.getBytes(u)};function o(u){if(t.pools[0].messageLength>=32)return a(),u();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,d){if(l)return u(l);t.collect(d),a(),u()})}function s(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(u.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var d=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(u){var f=null,l=Ke.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(v){return d.getRandomValues(v)});var y=Ke.util.createBuffer();if(f)for(;y.length()<u;){var h=Math.max(1,Math.min(u-y.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{f(p);for(var m=0;m<p.length;++m)y.putInt32(p[m])}catch(v){if(!(typeof QuotaExceededError<"u"&&v instanceof QuotaExceededError))throw v}}if(y.length()<u)for(var g,b,x,D=Math.floor(Math.random()*65536);y.length()<u;){b=16807*(D&65535),g=16807*(D>>16),b+=(g&32767)<<16,b+=g>>15,b=(b&2147483647)+(b>>31),D=b&4294967295;for(var m=0;m<3;++m)x=D>>>(m<<3),x^=Math.floor(Math.random()*256),y.putByte(x&255)}return y.getBytes(u)}return vs?(t.seedFile=function(u,f){vs.randomBytes(u,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(u){return vs.randomBytes(u).toString()}):(t.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},t.seedFileSync=c),t.collect=function(u){for(var f=u.length,l=0;l<f;++l)t.pools[t.pool].update(u.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,f){for(var l="",d=0;d<f;d+=8)l+=String.fromCharCode(u>>d&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,d){function y(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",y),d(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(y,h){u.postMessage({forge:{prng:{err:y,bytes:h}}})})};u.addEventListener("message",f)}},t}});var Oi=ot((eT,b0)=>{var Ht=gt();g0();ld();dd();Pt();(function(){if(Ht.random&&Ht.random.getBytes){b0.exports=Ht.random;return}(function(e){var t={},r=new Array(4),n=Ht.util.createBuffer();t.formatKey=function(l){var d=Ht.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Ht.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Ht.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Ht.aes._updateBlock(l,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Ht.md.sha256;function i(){var l=Ht.prng.create(t);return l.getBytes=function(d,y){return l.generate(d,y)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Ht.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Ht.options.usePureJavaScript||!Ht.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Ht.random)Ht.random=o;else for(var f in o)Ht.random[f]=o[f];Ht.random.createInstance=i,b0.exports=Ht.random})(typeof jQuery<"u"?jQuery:null)})()});var gd=ot((rT,md)=>{var se=gt();Pt();var w0=[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],pd=[1,2,3,5],sb=function(e,t){return e<<t&65535|(e&65535)>>16-t},ab=function(e,t){return(e&65535)>>t|e<<16-t&65535};md.exports=se.rc2=se.rc2||{};se.rc2.expandKey=function(e,t){typeof e=="string"&&(e=se.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(w0[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,w0[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,w0[r.at(a+1)^r.at(a+o)]);return r};var yd=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(e=se.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=sb(h[u],pd[u]),f++},c=function(h){for(u=0;u<4;u++)h[u]+=l[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=ab(h[u],pd[u]),h[u]-=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),f--},c=function(h){for(u=3;u>=0;u--)h[u]-=l[h[(u+3)%4]&63]});var d=function(h){var p=[];for(u=0;u<4;u++){var m=i.getInt16Le();s!==null&&(r?m^=s.getInt16Le():s.putInt16Le(m)),p.push(m&65535)}f=r?0:63;for(var g=0;g<h.length;g++)for(var b=0;b<h[g][0];b++)h[g][1](p);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(p[u]):p[u]^=s.getInt16Le()),o.putInt16Le(p[u])},y=null;return y={start:function(h,p){h&&typeof h=="string"&&(h=se.util.createBuffer(h)),n=!1,i=se.util.createBuffer(),o=p||new se.util.createBuffer,s=h,y.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var p=!0;if(r)if(h)p=h(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(p&&(n=!0,y.update()),!r&&(p=i.length()===0,p))if(h)p=h(8,o,!r);else{var g=o.length(),b=o.at(g-1);b>g?p=!1:o.truncate(b)}return p}},y};se.rc2.startEncrypting=function(e,t,r){var n=se.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};se.rc2.createEncryptionCipher=function(e,t){return yd(e,t,!0)};se.rc2.startDecrypting=function(e,t,r){var n=se.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};se.rc2.createDecryptionCipher=function(e,t){return yd(e,t,!1)}});var As=ot((nT,Dd)=>{var v0=gt();Dd.exports=v0.jsbn=v0.jsbn||{};var ar,cb=0xdeadbeefcafe,xd=(cb&16777215)==15715070;function L(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}v0.jsbn.BigInteger=L;function ut(){return new L(null)}function ub(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function fb(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,u=this.data[e++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function bd(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,u=this.data[e++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(L.prototype.am=bd,ar=28):xd&&navigator.appName=="Microsoft Internet Explorer"?(L.prototype.am=fb,ar=30):xd&&navigator.appName!="Netscape"?(L.prototype.am=ub,ar=26):(L.prototype.am=bd,ar=28);L.prototype.DB=ar;L.prototype.DM=(1<<ar)-1;L.prototype.DV=1<<ar;var E0=52;L.prototype.FV=Math.pow(2,E0);L.prototype.F1=E0-ar;L.prototype.F2=2*ar-E0;var lb="0123456789abcdefghijklmnopqrstuvwxyz",Es=new Array,Wn,ye;Wn=48;for(ye=0;ye<=9;++ye)Es[Wn++]=ye;Wn=97;for(ye=10;ye<36;++ye)Es[Wn++]=ye;Wn=65;for(ye=10;ye<36;++ye)Es[Wn++]=ye;function wd(e){return lb.charAt(e)}function vd(e,t){var r=Es[e.charCodeAt(t)];return r??-1}function hb(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function db(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function Rr(e){var t=ut();return t.fromInt(e),t}function pb(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:vd(e,n);if(s<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&L.ZERO.subTo(this,this)}function yb(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function mb(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=wd(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=wd(n));return i?o:"0"}function gb(){var e=ut();return L.ZERO.subTo(this,e),e}function xb(){return this.s<0?this.negate():this}function bb(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Ss(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function wb(){return this.t<=0?0:this.DB*(this.t-1)+Ss(this.data[this.t-1]^this.s&this.DM)}function vb(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Eb(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Sb(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function Ab(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function Db(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Cb(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&L.ZERO.subTo(t,t)}function Bb(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function Tb(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=ut());var o=ut(),s=this.s,a=e.s,c=this.DB-Ss(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),d=this.FV/l,y=(1<<this.F1)/l,h=1<<this.F2,p=r.t,m=p-u,g=t??ut();for(o.dlShiftTo(m,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),L.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--m>=0;){var b=r.data[--p]==f?this.DM:Math.floor(r.data[p]*d+(r.data[p-1]+h)*y);if((r.data[p]+=o.am(0,b,r,m,0,u))<b)for(o.dlShiftTo(m,g),r.subTo(g,r);r.data[p]<--b;)r.subTo(g,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&L.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&L.ZERO.subTo(r,r)}}}function Ib(e){var t=ut();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(L.ZERO)>0&&e.subTo(t,t),t}function sn(e){this.m=e}function _b(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function kb(e){return e}function Rb(e){e.divRemTo(this.m,null,e)}function Lb(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Nb(e,t){e.squareTo(t),this.reduce(t)}sn.prototype.convert=_b;sn.prototype.revert=kb;sn.prototype.reduce=Rb;sn.prototype.mulTo=Lb;sn.prototype.sqrTo=Nb;function Pb(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function an(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function Ub(e){var t=ut();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(L.ZERO)>0&&this.m.subTo(t,t),t}function Ob(e){var t=ut();return e.copyTo(t),this.reduce(t),t}function Kb(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function Mb(e,t){e.squareTo(t),this.reduce(t)}function Fb(e,t,r){e.multiplyTo(t,r),this.reduce(r)}an.prototype.convert=Ub;an.prototype.revert=Ob;an.prototype.reduce=Kb;an.prototype.mulTo=Fb;an.prototype.sqrTo=Mb;function Vb(){return(this.t>0?this.data[0]&1:this.s)==0}function Hb(e,t){if(e>4294967295||e<1)return L.ONE;var r=ut(),n=ut(),i=t.convert(this),o=Ss(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function qb(e,t){var r;return e<256||t.isEven()?r=new sn(t):r=new an(t),this.exp(e,r)}L.prototype.copyTo=hb;L.prototype.fromInt=db;L.prototype.fromString=pb;L.prototype.clamp=yb;L.prototype.dlShiftTo=vb;L.prototype.drShiftTo=Eb;L.prototype.lShiftTo=Sb;L.prototype.rShiftTo=Ab;L.prototype.subTo=Db;L.prototype.multiplyTo=Cb;L.prototype.squareTo=Bb;L.prototype.divRemTo=Tb;L.prototype.invDigit=Pb;L.prototype.isEven=Vb;L.prototype.exp=Hb;L.prototype.toString=mb;L.prototype.negate=gb;L.prototype.abs=xb;L.prototype.compareTo=bb;L.prototype.bitLength=wb;L.prototype.mod=Ib;L.prototype.modPowInt=qb;L.ZERO=Rr(0);L.ONE=Rr(1);function zb(){var e=ut();return this.copyTo(e),e}function Gb(){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 Wb(){return this.t==0?this.s:this.data[0]<<24>>24}function $b(){return this.t==0?this.s:this.data[0]<<16>>16}function Yb(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Xb(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Zb(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Rr(r),i=ut(),o=ut(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function Qb(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var c=vd(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&L.ZERO.subTo(this,this)}function jb(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(L.ONE.shiftLeft(e-1),S0,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(L.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Jb(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function tw(e){return this.compareTo(e)==0}function ew(e){return this.compareTo(e)<0?this:e}function rw(e){return this.compareTo(e)>0?this:e}function nw(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function iw(e,t){return e&t}function ow(e){var t=ut();return this.bitwiseTo(e,iw,t),t}function S0(e,t){return e|t}function sw(e){var t=ut();return this.bitwiseTo(e,S0,t),t}function Ed(e,t){return e^t}function aw(e){var t=ut();return this.bitwiseTo(e,Ed,t),t}function Sd(e,t){return e&~t}function cw(e){var t=ut();return this.bitwiseTo(e,Sd,t),t}function uw(){for(var e=ut(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function fw(e){var t=ut();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function lw(e){var t=ut();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function hw(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function dw(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+hw(this.data[e]);return this.s<0?this.t*this.DB:-1}function pw(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function yw(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=pw(this.data[r]^t);return e}function mw(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function gw(e,t){var r=L.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function xw(e){return this.changeBit(e,S0)}function bw(e){return this.changeBit(e,Sd)}function ww(e){return this.changeBit(e,Ed)}function vw(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function Ew(e){var t=ut();return this.addTo(e,t),t}function Sw(e){var t=ut();return this.subTo(e,t),t}function Aw(e){var t=ut();return this.multiplyTo(e,t),t}function Dw(e){var t=ut();return this.divRemTo(e,t,null),t}function Cw(e){var t=ut();return this.divRemTo(e,null,t),t}function Bw(e){var t=ut(),r=ut();return this.divRemTo(e,t,r),new Array(t,r)}function Tw(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Iw(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Ki(){}function Ad(e){return e}function _w(e,t,r){e.multiplyTo(t,r)}function kw(e,t){e.squareTo(t)}Ki.prototype.convert=Ad;Ki.prototype.revert=Ad;Ki.prototype.mulTo=_w;Ki.prototype.sqrTo=kw;function Rw(e){return this.exp(e,new Ki)}function Lw(e,t,r){var n=Math.min(this.t+e.t,t);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,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function Nw(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function $n(e){this.r2=ut(),this.q3=ut(),L.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function Pw(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=ut();return e.copyTo(t),this.reduce(t),t}function Uw(e){return e}function Ow(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function Kw(e,t){e.squareTo(t),this.reduce(t)}function Mw(e,t,r){e.multiplyTo(t,r),this.reduce(r)}$n.prototype.convert=Pw;$n.prototype.revert=Uw;$n.prototype.reduce=Ow;$n.prototype.mulTo=Mw;$n.prototype.sqrTo=Kw;function Fw(e,t){var r=e.bitLength(),n,i=Rr(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new sn(t):t.isEven()?o=new $n(t):o=new an(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=ut();for(o.sqrTo(s[1],f);a<=u;)s[a]=ut(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,d,y=!0,h=ut(),p;for(r=Ss(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&u:(d=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(d|=e.data[l-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),y)s[d].copyTo(i),y=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(p=i,i=h,h=p),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),p=i,i=h,h=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function Vw(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function Hw(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function qw(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return L.ZERO;for(var r=e.clone(),n=this.clone(),i=Rr(1),o=Rr(0),s=Rr(0),a=Rr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(L.ONE)!=0)return L.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Ie=[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],zw=(1<<26)/Ie[Ie.length-1];function Gw(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Ie[Ie.length-1]){for(t=0;t<Ie.length;++t)if(r.data[0]==Ie[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Ie.length;){for(var n=Ie[t],i=t+1;i<Ie.length&&n<zw;)n*=Ie[i++];for(n=r.modInt(n);t<i;)if(n%Ie[t++]==0)return!1}return r.millerRabin(e)}function Ww(e){var t=this.subtract(L.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=$w(),o,s=0;s<e;++s){do o=new L(this.bitLength(),i);while(o.compareTo(L.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(L.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(L.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function $w(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}L.prototype.chunkSize=Yb;L.prototype.toRadix=Zb;L.prototype.fromRadix=Qb;L.prototype.fromNumber=jb;L.prototype.bitwiseTo=nw;L.prototype.changeBit=gw;L.prototype.addTo=vw;L.prototype.dMultiply=Tw;L.prototype.dAddOffset=Iw;L.prototype.multiplyLowerTo=Lw;L.prototype.multiplyUpperTo=Nw;L.prototype.modInt=Hw;L.prototype.millerRabin=Ww;L.prototype.clone=zb;L.prototype.intValue=Gb;L.prototype.byteValue=Wb;L.prototype.shortValue=$b;L.prototype.signum=Xb;L.prototype.toByteArray=Jb;L.prototype.equals=tw;L.prototype.min=ew;L.prototype.max=rw;L.prototype.and=ow;L.prototype.or=sw;L.prototype.xor=aw;L.prototype.andNot=cw;L.prototype.not=uw;L.prototype.shiftLeft=fw;L.prototype.shiftRight=lw;L.prototype.getLowestSetBit=dw;L.prototype.bitCount=yw;L.prototype.testBit=mw;L.prototype.setBit=xw;L.prototype.clearBit=bw;L.prototype.flipBit=ww;L.prototype.add=Ew;L.prototype.subtract=Sw;L.prototype.multiply=Aw;L.prototype.divide=Dw;L.prototype.remainder=Cw;L.prototype.divideAndRemainder=Bw;L.prototype.modPow=Fw;L.prototype.modInverse=qw;L.prototype.pow=Rw;L.prototype.gcd=Vw;L.prototype.isProbablePrime=Gw});var _d=ot((iT,Id)=>{var Me=gt();on();Pt();var Bd=Id.exports=Me.sha1=Me.sha1||{};Me.md.sha1=Me.md.algorithms.sha1=Bd;Bd.create=function(){Td||Yw();var e=null,t=Me.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Me.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Me.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),Cd(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Me.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(A0.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Cd(l,r,i);var d=Me.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var A0=null,Td=!1;function Yw(){A0="\x80",A0+=Me.util.fillString("\0",64),Td=!0}function Cd(e,t,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var Ld=ot((oT,Rd)=>{var Fe=gt();Pt();Oi();_d();var kd=Rd.exports=Fe.pkcs1=Fe.pkcs1||{};kd.encode_rsa_oaep=function(e,t,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Fe.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",d=c-t.length,y=0;y<d;y++)l+="\0";var h=f.getBytes()+l+""+t;if(!i)i=Fe.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var p=Ds(i,a-o.digestLength-1,s),m=Fe.util.xorBytes(h,p,h.length),g=Ds(m,o.digestLength,s),b=Fe.util.xorBytes(i,g,i.length);return"\0"+b+m};kd.decode_rsa_oaep=function(e,t,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(e.n.bitLength()/8);if(t.length!==s){var m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=t.length,m.expectedLength=s,m}if(i===void 0?i=Fe.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=t.charAt(0),u=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=Ds(f,i.digestLength,o),d=Fe.util.xorBytes(u,l,u.length),y=Ds(d,s-i.digestLength-1,o),h=Fe.util.xorBytes(f,y,f.length),p=h.substring(0,i.digestLength),m=c!=="\0",g=0;g<i.digestLength;++g)m|=a.charAt(g)!==p.charAt(g);for(var b=1,x=i.digestLength,D=i.digestLength;D<h.length;D++){var v=h.charCodeAt(D),E=v&1^1,C=b?65534:0;m|=v&C,b=b&E,x+=b}if(m||h.charCodeAt(x)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(x+1)};function Ds(e,t,r){r||(r=Fe.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var Nd=ot((sT,D0)=>{var Lr=gt();Pt();As();Oi();(function(){if(Lr.prime){D0.exports=Lr.prime;return}var e=D0.exports=Lr.prime=Lr.prime||{},t=Lr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,y){typeof d=="function"&&(y=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var p=d.prng||Lr.random,m={nextBytes:function(g){for(var b=p.getBytesSync(g.length),x=0;x<g.length;++x)g[x]=b.charCodeAt(x)}};if(h.name==="PRIMEINC")return o(l,m,h.options,y);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,y,h){return"workers"in y?c(l,d,y,h):s(l,d,y,h)}function s(l,d,y,h){var p=u(l,d),m=0,g=f(p.bitLength());"millerRabinTests"in y&&(g=y.millerRabinTests);var b=10;"maxBlockTime"in y&&(b=y.maxBlockTime),a(p,l,d,m,g,b,h)}function a(l,d,y,h,p,m,g){var b=+new Date;do{if(l.bitLength()>d&&(l=u(d,y)),l.isProbablePrime(p))return g(null,l);l.dAddOffset(r[h++%8],0)}while(m<0||+new Date-b<m);Lr.util.setImmediate(function(){a(l,d,y,h,p,m,g)})}function c(l,d,y,h){if(typeof Worker>"u")return s(l,d,y,h);var p=u(l,d),m=y.workers,g=y.workLoad||100,b=g*30/8,x=y.workerScript||"forge/prime.worker.js";if(m===-1)return Lr.util.estimateCores(function(v,E){v&&(E=2),m=E-1,D()});D();function D(){m=Math.max(1,m);for(var v=[],E=0;E<m;++E)v[E]=new Worker(x);for(var C=m,E=0;E<m;++E)v[E].addEventListener("message",O);var B=!1;function O(K){if(!B){--C;var U=K.data;if(U.found){for(var F=0;F<v.length;++F)v[F].terminate();return B=!0,h(null,new t(U.prime,16))}p.bitLength()>l&&(p=u(l,d));var G=p.toString(16);K.target.postMessage({hex:G,workLoad:g}),p.dAddOffset(b,0)}}}}function u(l,d){var y=new t(l,d),h=l-1;return y.testBit(h)||y.bitwiseTo(t.ONE.shiftLeft(h),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var Bs=ot((aT,Vd)=>{var Y=gt();Ui();As();ls();Ld();Nd();Oi();Pt();typeof at>"u"&&(at=Y.jsbn.BigInteger);var at,C0=Y.util.isNodejs?xs():null,A=Y.asn1,me=Y.util;Y.pki=Y.pki||{};Vd.exports=Y.pki.rsa=Y.rsa=Y.rsa||{};var tt=Y.pki,Xw=[6,4,2,4,2,4,6,2],Zw={name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Qw={name:"RSAPrivateKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},jw={name:"RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Jw=Y.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},tv={name:"DigestInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},ev=function(e){var t;if(e.algorithm in tt.oids)t=tt.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=A.oidToDer(t).getBytes(),i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]),o=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]);o.value.push(A.create(A.Class.UNIVERSAL,A.Type.OID,!1,n)),o.value.push(A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,""));var s=A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),A.toDer(i).getBytes()},Md=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(at.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(at.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new at(Y.util.bytesToHex(Y.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(at.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};tt.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Fd(e,t,r)):(i=Y.util.createBuffer(),i.putBytes(e));for(var s=new at(i.toHex(),16),a=Md(s,t,n),c=a.toString(16),u=Y.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),u.getBytes()};tt.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new at(Y.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Md(s,t,r),c=a.toString(16),u=Y.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),n!==!1?Cs(u.getBytes(),t,r):u.getBytes()};tt.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||Y.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new at(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};tt.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new at(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,u=c-1;e.pqState===0?(e.num=new at(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(at.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(nv(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(Xw[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(at.ONE).gcd(e.e).compareTo(at.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(at.ONE),e.q1=e.q.subtract(at.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(at.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:tt.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:tt.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};tt.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!Y.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(Pd("generateKeyPair"))return C0.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:tt.privateKeyFromPem(u),publicKey:tt.publicKeyFromPem(c)})});if(Ud("generateKey")&&Ud("exportKey"))return me.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Kd(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return me.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=tt.privateKeyFromAsn1(A.fromDer(Y.util.createBuffer(a)));n(null,{privateKey:c,publicKey:tt.setRsaPublicKey(c.n,c.e)})}});if(Od("generateKey")&&Od("exportKey")){var i=me.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Kd(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=me.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,d=tt.privateKeyFromAsn1(A.fromDer(Y.util.createBuffer(l)));n(null,{privateKey:d,publicKey:tt.setRsaPublicKey(d.n,d.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(Pd("generateKeyPairSync")){var o=C0.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:tt.privateKeyFromPem(o.privateKey),publicKey:tt.publicKeyFromPem(o.publicKey)}}}var s=tt.rsa.createKeyPairGenerationState(e,t,r);if(!n)return tt.rsa.stepKeyPairGenerationState(s,0),s.keys;rv(s,r,n)};tt.setRsaPublicKey=tt.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return Fd(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return Y.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return tt.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=Cs(u,r,!0);var f=A.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!A.validate(f,tv,l,d)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=d,y}var h=A.derToOid(l.algorithmIdentifier);if(!(h===Y.oids.md2||h===Y.oids.md5||h===Y.oids.sha1||h===Y.oids.sha224||h===Y.oids.sha256||h===Y.oids.sha384||h===Y.oids.sha512||h===Y.oids["sha512-224"]||h===Y.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=h,y}if((h===Y.oids.md2||h===Y.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Cs(u,r,!0),c===u}});var a=tt.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};tt.setRsaPrivateKey=tt.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var c={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var d=tt.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Cs};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,h){return Y.pkcs1.decode_rsa_oaep(h,y,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(d,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:ev},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var d=f.encode(u,c.n.bitLength());return tt.rsa.encrypt(d,c,l)},c};tt.wrapRsaPrivateKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(tt.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,A.toDer(e).getBytes())])};tt.privateKeyFromAsn1=function(e){var t={},r=[];if(A.validate(e,Zw,t,r)&&(e=A.fromDer(Y.util.createBuffer(t.privateKey))),t={},r=[],!A.validate(e,Qw,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,l;return i=Y.util.createBuffer(t.privateKeyModulus).toHex(),o=Y.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=Y.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=Y.util.createBuffer(t.privateKeyPrime1).toHex(),c=Y.util.createBuffer(t.privateKeyPrime2).toHex(),u=Y.util.createBuffer(t.privateKeyExponent1).toHex(),f=Y.util.createBuffer(t.privateKeyExponent2).toHex(),l=Y.util.createBuffer(t.privateKeyCoefficient).toHex(),tt.setRsaPrivateKey(new at(i,16),new at(o,16),new at(s,16),new at(a,16),new at(c,16),new at(u,16),new at(f,16),new at(l,16))};tt.privateKeyToAsn1=tt.privateKeyToRSAPrivateKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.e)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.d)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.p)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.q)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.dP)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.dQ)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.qInv))])};tt.publicKeyFromAsn1=function(e){var t={},r=[];if(A.validate(e,Jw,t,r)){var n=A.derToOid(t.publicKeyOid);if(n!==tt.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!A.validate(e,jw,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=Y.util.createBuffer(t.publicKeyModulus).toHex(),s=Y.util.createBuffer(t.publicKeyExponent).toHex();return tt.setRsaPublicKey(new at(o,16),new at(s,16))};tt.publicKeyToAsn1=tt.publicKeyToSubjectPublicKeyInfo=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(tt.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.BITSTRING,!1,[tt.publicKeyToRSAPublicKey(e)])])};tt.publicKeyToRSAPublicKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.e))])};function Fd(e,t,r){var n=Y.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=Y.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(e),n}function Cs(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=Y.util.createBuffer(e),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function rv(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,c){Y.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(at.ONE).gcd(e.e).compareTo(at.ONE)!==0){e.p=null,i();return}if(e.q.subtract(at.ONE).gcd(e.e).compareTo(at.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(at.ONE),e.q1=e.q.subtract(at.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(at.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:tt.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:tt.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Ve(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=Y.util.hexToBytes(t);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 nv(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function Pd(e){return Y.util.isNodejs&&typeof C0[e]=="function"}function Ud(e){return typeof me.globalScope<"u"&&typeof me.globalScope.crypto=="object"&&typeof me.globalScope.crypto.subtle=="object"&&typeof me.globalScope.crypto.subtle[e]=="function"}function Od(e){return typeof me.globalScope<"u"&&typeof me.globalScope.msCrypto=="object"&&typeof me.globalScope.msCrypto.subtle=="object"&&typeof me.globalScope.msCrypto.subtle[e]=="function"}function Kd(e){for(var t=Y.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var $d=ot((cT,Wd)=>{var z=gt();g0();Ui();Qh();on();ls();rd();od();Oi();gd();Bs();Pt();typeof Hd>"u"&&(Hd=z.jsbn.BigInteger);var Hd,I=z.asn1,nt=z.pki=z.pki||{};Wd.exports=nt.pbe=z.pbe=z.pbe||{};var cn=nt.oids,iv={name:"EncryptedPrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},ov={name:"PBES2Algorithms",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},sv={name:"pkcs-12PbeParams",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"iterations"}]};nt.encryptPrivateKeyInfo=function(e,t,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=z.random.getBytesSync(r.saltSize),i=r.count,o=I.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=cn["aes128-CBC"],l=z.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=cn["aes192-CBC"],l=z.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=cn["aes256-CBC"],l=z.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=cn.desCBC,l=z.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),h=Gd(y),p=z.pkcs5.pbkdf2(t,n,i,s,h),m=z.random.getBytesSync(u),g=l(p);g.start(m),g.update(I.toDer(e)),g.finish(),c=g.output.getBytes();var b=av(n,o,s,y);a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(cn.pkcs5PBES2).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(cn.pkcs5PBKDF2).getBytes()),b]),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(f).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){s=24;var x=new z.util.ByteBuffer(n),p=nt.pbe.generatePkcs12Key(t,x,1,i,s),m=nt.pbe.generatePkcs12Key(t,x,2,i,s),g=z.des.createEncryptionCipher(p);g.start(m),g.update(I.toDer(e)),g.finish(),c=g.output.getBytes(),a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(cn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,n),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var D=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[a,I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,c)]);return D};nt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!I.validate(e,iv,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=I.derToOid(n.encryptionOid),a=nt.pbe.getCipher(s,n.encryptionParams,t),c=z.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=I.fromDer(a.output)),r};nt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:I.toDer(e).getBytes()};return z.pem.encode(r,{maxline:t})};nt.encryptedPrivateKeyFromPem=function(e){var t=z.pem.decode(e)[0];if(t.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=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return I.fromDer(t.body)};nt.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=nt.wrapRsaPrivateKey(nt.privateKeyToAsn1(e));return n=nt.encryptPrivateKeyInfo(n,t,r),nt.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=z.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(u);f.start(o),f.update(I.toDer(nt.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:z.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return z.pem.encode(l)};nt.decryptRsaPrivateKey=function(e,t){var r=null,n=z.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=z.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=z.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=z.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=z.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=z.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return z.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return z.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return z.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=z.util.hexToBytes(n.dekInfo.parameters),c=z.pbe.opensslDeriveBytes(t,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(z.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=nt.decryptPrivateKeyInfo(I.fromDer(r),t):r=I.fromDer(r),r!==null&&(r=nt.privateKeyFromAsn1(r)),r};nt.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in z.md))throw new Error('"sha1" hash algorithm unavailable.');o=z.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new z.util.ByteBuffer,l=new z.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),y=t.length(),h=new z.util.ByteBuffer;h.fillWithByte(r,u);var p=u*Math.ceil(y/u),m=new z.util.ByteBuffer;for(a=0;a<p;a++)m.putByte(t.at(a%y));var g=u*Math.ceil(d/u),b=new z.util.ByteBuffer;for(a=0;a<g;a++)b.putByte(l.at(a%d));var x=m;x.putBuffer(b);for(var D=Math.ceil(i/c),v=1;v<=D;v++){var E=new z.util.ByteBuffer;E.putBytes(h.bytes()),E.putBytes(x.bytes());for(var C=0;C<n;C++)o.start(),o.update(E.getBytes()),E=o.digest();var B=new z.util.ByteBuffer;for(a=0;a<u;a++)B.putByte(E.at(a%c));var O=Math.ceil(y/u)+Math.ceil(d/u),K=new z.util.ByteBuffer;for(s=0;s<O;s++){var U=new z.util.ByteBuffer(x.getBytes(u)),F=511;for(a=B.length()-1;a>=0;a--)F=F>>8,F+=B.at(a)+U.at(a),U.setAt(a,F&255);K.putBuffer(U)}x=K,f.putBuffer(E)}return f.truncate(f.length()-i),f};nt.pbe.getCipher=function(e,t,r){switch(e){case nt.oids.pkcs5PBES2:return nt.pbe.getCipherForPBES2(e,t,r);case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:return nt.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};nt.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!I.validate(t,ov,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(e=I.derToOid(n.kdfOid),e!==nt.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=I.derToOid(n.encOid),e!==nt.oids["aes128-CBC"]&&e!==nt.oids["aes192-CBC"]&&e!==nt.oids["aes256-CBC"]&&e!==nt.oids["des-EDE3-CBC"]&&e!==nt.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=z.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(nt.oids[e]){case"aes128-CBC":c=16,u=z.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=z.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=z.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=z.des.createDecryptionCipher;break;case"desCBC":c=8,u=z.des.createDecryptionCipher;break}var f=zd(n.prfOid),l=z.pkcs5.pbkdf2(r,s,a,c,f),d=n.encIv,y=u(l);return y.start(d),y};nt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!I.validate(t,sv,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=z.util.createBuffer(n.salt),a=z.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=z.des.startDecrypting;break;case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,m){var g=z.rc2.createDecryptionCipher(p,40);return g.start(m,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=zd(n.prfOid),d=nt.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var y=nt.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(d,y)};nt.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in z.md))throw new Error('"md5" hash algorithm unavailable.');n=z.md.md5.create()}t===null&&(t="");for(var i=[qd(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(qd(n,i[s-1]+e+t));return i.join("").substr(0,r)};function qd(e,t){return e.start().update(t).digest().getBytes()}function zd(e){var t;if(!e)t="hmacWithSHA1";else if(t=nt.oids[I.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Gd(t)}function Gd(e){var t=z.md;switch(e){case"hmacWithSHA224":t=z.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function av(e,t,r,n){var i=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,e),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,z.util.hexToBytes(r.toString(16))),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(nt.oids[n]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")])),i}});var up=ot((hI,cp)=>{var St=gt();on();Pt();var Fi=cp.exports=St.sha512=St.sha512||{};St.md.sha512=St.md.algorithms.sha512=Fi;var sp=St.sha384=St.sha512.sha384=St.sha512.sha384||{};sp.create=function(){return Fi.create("SHA-384")};St.md.sha384=St.md.algorithms.sha384=sp;St.sha512.sha256=St.sha512.sha256||{create:function(){return Fi.create("SHA-512/256")}};St.md["sha512/256"]=St.md.algorithms["sha512/256"]=St.sha512.sha256;St.sha512.sha224=St.sha512.sha224||{create:function(){return Fi.create("SHA-512/224")}};St.md["sha512/224"]=St.md.algorithms["sha512/224"]=St.sha512.sha224;Fi.create=function(e){if(ap||mv(),typeof e>"u"&&(e="SHA-512"),!(e in ln))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=ln[e],r=null,n=St.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=St.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=St.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),op(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=St.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(R0.substr(0,a.blockLength-f));for(var l,d,y=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,y+=d,c.putInt32(y>>>0),y=l>>>0;c.putInt32(y);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);op(p,i,c);var m=St.util.createBuffer(),g;e==="SHA-512"?g=p.length:e==="SHA-384"?g=p.length-2:g=p.length-4;for(var h=0;h<g;++h)m.putInt32(p[h][0]),(h!==g-1||e!=="SHA-512/224")&&m.putInt32(p[h][1]);return m},a};var R0=null,ap=!1,L0=null,ln=null;function mv(){R0="\x80",R0+=St.util.fillString("\0",128),L0=[[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]],ln={},ln["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],ln["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],ln["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],ln["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],ap=!0}function op(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b,x,D,v,E,C,B,O,K,U,F,G,Q,T,R,_,k,S,P,M,H=r.length();H>=128;){for(T=0;T<16;++T)t[T][0]=r.getInt32()>>>0,t[T][1]=r.getInt32()>>>0;for(;T<80;++T)k=t[T-2],R=k[0],_=k[1],n=((R>>>19|_<<13)^(_>>>29|R<<3)^R>>>6)>>>0,i=((R<<13|_>>>19)^(_<<3|R>>>29)^(R<<26|_>>>6))>>>0,P=t[T-15],R=P[0],_=P[1],o=((R>>>1|_<<31)^(R>>>8|_<<24)^R>>>7)>>>0,s=((R<<31|_>>>1)^(R<<24|_>>>8)^(R<<25|_>>>7))>>>0,S=t[T-7],M=t[T-16],_=i+S[1]+s+M[1],t[T][0]=n+S[0]+o+M[0]+(_/4294967296>>>0)>>>0,t[T][1]=_>>>0;for(p=e[0][0],m=e[0][1],g=e[1][0],b=e[1][1],x=e[2][0],D=e[2][1],v=e[3][0],E=e[3][1],C=e[4][0],B=e[4][1],O=e[5][0],K=e[5][1],U=e[6][0],F=e[6][1],G=e[7][0],Q=e[7][1],T=0;T<80;++T)u=((C>>>14|B<<18)^(C>>>18|B<<14)^(B>>>9|C<<23))>>>0,f=((C<<18|B>>>14)^(C<<14|B>>>18)^(B<<23|C>>>9))>>>0,l=(U^C&(O^U))>>>0,d=(F^B&(K^F))>>>0,a=((p>>>28|m<<4)^(m>>>2|p<<30)^(m>>>7|p<<25))>>>0,c=((p<<4|m>>>28)^(m<<30|p>>>2)^(m<<25|p>>>7))>>>0,y=(p&g|x&(p^g))>>>0,h=(m&b|D&(m^b))>>>0,_=Q+f+d+L0[T][1]+t[T][1],n=G+u+l+L0[T][0]+t[T][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=c+h,o=a+y+(_/4294967296>>>0)>>>0,s=_>>>0,G=U,Q=F,U=O,F=K,O=C,K=B,_=E+i,C=v+n+(_/4294967296>>>0)>>>0,B=_>>>0,v=x,E=D,x=g,D=b,g=p,b=m,_=i+s,p=n+o+(_/4294967296>>>0)>>>0,m=_>>>0;_=e[0][1]+m,e[0][0]=e[0][0]+p+(_/4294967296>>>0)>>>0,e[0][1]=_>>>0,_=e[1][1]+b,e[1][0]=e[1][0]+g+(_/4294967296>>>0)>>>0,e[1][1]=_>>>0,_=e[2][1]+D,e[2][0]=e[2][0]+x+(_/4294967296>>>0)>>>0,e[2][1]=_>>>0,_=e[3][1]+E,e[3][0]=e[3][0]+v+(_/4294967296>>>0)>>>0,e[3][1]=_>>>0,_=e[4][1]+B,e[4][0]=e[4][0]+C+(_/4294967296>>>0)>>>0,e[4][1]=_>>>0,_=e[5][1]+K,e[5][0]=e[5][0]+O+(_/4294967296>>>0)>>>0,e[5][1]=_>>>0,_=e[6][1]+F,e[6][0]=e[6][0]+U+(_/4294967296>>>0)>>>0,e[6][1]=_>>>0,_=e[7][1]+Q,e[7][0]=e[7][0]+G+(_/4294967296>>>0)>>>0,e[7][1]=_>>>0,H-=128}}});var Gp=ot((Vk,zp)=>{"use strict";function Wv(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),o=i.charCodeAt(0);if(t[o]!==255)throw new TypeError(i+" is ambiguous");t[o]=n}var s=e.length,a=e.charAt(0),c=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function f(y){if(y instanceof Uint8Array||(ArrayBuffer.isView(y)?y=new Uint8Array(y.buffer,y.byteOffset,y.byteLength):Array.isArray(y)&&(y=Uint8Array.from(y))),!(y instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(y.length===0)return"";for(var h=0,p=0,m=0,g=y.length;m!==g&&y[m]===0;)m++,h++;for(var b=(g-m)*u+1>>>0,x=new Uint8Array(b);m!==g;){for(var D=y[m],v=0,E=b-1;(D!==0||v<p)&&E!==-1;E--,v++)D+=256*x[E]>>>0,x[E]=D%s>>>0,D=D/s>>>0;if(D!==0)throw new Error("Non-zero carry");p=v,m++}for(var C=b-p;C!==b&&x[C]===0;)C++;for(var B=a.repeat(h);C<b;++C)B+=e.charAt(x[C]);return B}function l(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return new Uint8Array;var h=0;if(y[h]!==" "){for(var p=0,m=0;y[h]===a;)p++,h++;for(var g=(y.length-h)*c+1>>>0,b=new Uint8Array(g);y[h];){var x=t[y.charCodeAt(h)];if(x===255)return;for(var D=0,v=g-1;(x!==0||D<m)&&v!==-1;v--,D++)x+=s*b[v]>>>0,b[v]=x%256>>>0,x=x/256>>>0;if(x!==0)throw new Error("Non-zero carry");m=D,h++}if(y[h]!==" "){for(var E=g-m;E!==g&&b[E]===0;)E++;for(var C=new Uint8Array(p+(g-E)),B=p;E!==g;)C[B++]=b[E++];return C}}}function d(y){var h=l(y);if(h)return h;throw new Error("Non-base"+s+" character")}return{encode:f,decodeUnsafe:l,decode:d}}zp.exports=Wv});var Vs=ot((Hk,Wp)=>{"use strict";var $v=new TextDecoder,Yv=e=>$v.decode(e),Xv=new TextEncoder,Zv=e=>Xv.encode(e);function Qv(e,t){let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r}Wp.exports={decodeText:Yv,encodeText:Zv,concat:Qv}});var Yp=ot((qk,$p)=>{"use strict";var{encodeText:jv}=Vs(),X0=class{constructor(t,r,n,i){this.name=t,this.code=r,this.codeBuf=jv(this.code),this.alphabet=i,this.codec=n(i)}encode(t){return this.codec.encode(t)}decode(t){for(let r of t)if(this.alphabet&&this.alphabet.indexOf(r)<0)throw new Error(`invalid character '${r}' in '${t}'`);return this.codec.decode(t)}};$p.exports=X0});var Zp=ot((zk,Xp)=>{"use strict";var Jv=(e,t,r)=>{let n={};for(let u=0;u<t.length;++u)n[t[u]]=u;let i=e.length;for(;e[i-1]==="=";)--i;let o=new Uint8Array(i*r/8|0),s=0,a=0,c=0;for(let u=0;u<i;++u){let f=n[e[u]];if(f===void 0)throw new SyntaxError("Invalid character "+e[u]);a=a<<r|f,s+=r,s>=8&&(s-=8,o[c++]=255&a>>s)}if(s>=r||255&a<<8-s)throw new SyntaxError("Unexpected end of data");return o},t8=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},e8=e=>t=>({encode(r){return t8(r,t,e)},decode(r){return Jv(r,t,e)}});Xp.exports={rfc4648:e8}});var t1=ot((Gk,Jp)=>{"use strict";var Xi=Gp(),r8=Yp(),{rfc4648:$t}=Zp(),{decodeText:n8,encodeText:i8}=Vs(),o8=()=>({encode:n8,decode:i8}),Qp=[["identity","\0",o8,""],["base2","0",$t(1),"01"],["base8","7",$t(3),"01234567"],["base10","9",Xi,"0123456789"],["base16","f",$t(4),"0123456789abcdef"],["base16upper","F",$t(4),"0123456789ABCDEF"],["base32hex","v",$t(5),"0123456789abcdefghijklmnopqrstuv"],["base32hexupper","V",$t(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV"],["base32hexpad","t",$t(5),"0123456789abcdefghijklmnopqrstuv="],["base32hexpadupper","T",$t(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV="],["base32","b",$t(5),"abcdefghijklmnopqrstuvwxyz234567"],["base32upper","B",$t(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"],["base32pad","c",$t(5),"abcdefghijklmnopqrstuvwxyz234567="],["base32padupper","C",$t(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567="],["base32z","h",$t(5),"ybndrfg8ejkmcpqxot1uwisza345h769"],["base36","k",Xi,"0123456789abcdefghijklmnopqrstuvwxyz"],["base36upper","K",Xi,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"],["base58btc","z",Xi,"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"],["base58flickr","Z",Xi,"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"],["base64","m",$t(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"],["base64pad","M",$t(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],["base64url","u",$t(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"],["base64urlpad","U",$t(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_="]],jp=Qp.reduce((e,t)=>(e[t[0]]=new r8(t[0],t[1],t[2],t[3]),e),{}),s8=Qp.reduce((e,t)=>(e[t[1]]=jp[t[0]],e),{});Jp.exports={names:jp,codes:s8}});var n1=ot((hr,r1)=>{"use strict";var jn=t1(),{encodeText:a8,decodeText:Hs,concat:e1}=Vs();function c8(e,t){if(!t)throw new Error("requires an encoded Uint8Array");let{name:r,codeBuf:n}=yn(e);return h8(r,t),e1([n,t],n.length+t.length)}function u8(e,t){let r=yn(e),n=a8(r.encode(t));return e1([r.codeBuf,n],r.codeBuf.length+n.length)}function f8(e){e instanceof Uint8Array&&(e=Hs(e));let t=e[0];return["f","F","v","V","t","T","b","B","c","C","h","k","K"].includes(t)&&(e=e.toLowerCase()),yn(e[0]).decode(e.substring(1))}function l8(e){if(e instanceof Uint8Array&&(e=Hs(e)),Object.prototype.toString.call(e)!=="[object String]")return!1;try{return yn(e[0]).name}catch{return!1}}function h8(e,t){yn(e).decode(Hs(t))}function yn(e){if(Object.prototype.hasOwnProperty.call(jn.names,e))return jn.names[e];if(Object.prototype.hasOwnProperty.call(jn.codes,e))return jn.codes[e];throw new Error(`Unsupported encoding: ${e}`)}function d8(e){return e instanceof Uint8Array&&(e=Hs(e)),yn(e[0])}hr=r1.exports=c8;hr.encode=u8;hr.decode=f8;hr.isEncoded=l8;hr.encoding=yn;hr.encodingFromData=d8;var p8=Object.freeze(jn.names),y8=Object.freeze(jn.codes);hr.names=p8;hr.codes=y8});var a1=ot((Wk,s1)=>{s1.exports=o1;var i1=128,m8=127,g8=~m8,x8=Math.pow(2,31);function o1(e,t,r){t=t||[],r=r||0;for(var n=r;e>=x8;)t[r++]=e&255|i1,e/=128;for(;e&g8;)t[r++]=e&255|i1,e>>>=7;return t[r]=e|0,o1.bytes=r-n+1,t}});var f1=ot(($k,u1)=>{u1.exports=Z0;var b8=128,c1=127;function Z0(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw Z0.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&c1)<<i:(s&c1)*Math.pow(2,i),i+=7}while(s>=b8);return Z0.bytes=o-n,r}});var h1=ot((Yk,l1)=>{var w8=Math.pow(2,7),v8=Math.pow(2,14),E8=Math.pow(2,21),S8=Math.pow(2,28),A8=Math.pow(2,35),D8=Math.pow(2,42),C8=Math.pow(2,49),B8=Math.pow(2,56),T8=Math.pow(2,63);l1.exports=function(e){return e<w8?1:e<v8?2:e<E8?3:e<S8?4:e<A8?5:e<D8?6:e<C8?7:e<B8?8:e<T8?9:10}});var p1=ot((Xk,d1)=>{d1.exports={encode:a1(),decode:f1(),encodingLength:h1()}});var m1=ot((Zk,y1)=>{"use strict";var I8=Object.freeze({identity:0,sha1:17,"sha2-256":18,"sha2-512":19,"sha3-512":20,"sha3-384":21,"sha3-256":22,"sha3-224":23,"shake-128":24,"shake-256":25,"keccak-224":26,"keccak-256":27,"keccak-384":28,"keccak-512":29,blake3:30,"murmur3-128":34,"murmur3-32":35,"dbl-sha2-256":86,md4:212,md5:213,bmt:214,"sha2-256-trunc254-padded":4114,"ripemd-128":4178,"ripemd-160":4179,"ripemd-256":4180,"ripemd-320":4181,x11:4352,kangarootwelve:7425,"sm3-256":21325,"blake2b-8":45569,"blake2b-16":45570,"blake2b-24":45571,"blake2b-32":45572,"blake2b-40":45573,"blake2b-48":45574,"blake2b-56":45575,"blake2b-64":45576,"blake2b-72":45577,"blake2b-80":45578,"blake2b-88":45579,"blake2b-96":45580,"blake2b-104":45581,"blake2b-112":45582,"blake2b-120":45583,"blake2b-128":45584,"blake2b-136":45585,"blake2b-144":45586,"blake2b-152":45587,"blake2b-160":45588,"blake2b-168":45589,"blake2b-176":45590,"blake2b-184":45591,"blake2b-192":45592,"blake2b-200":45593,"blake2b-208":45594,"blake2b-216":45595,"blake2b-224":45596,"blake2b-232":45597,"blake2b-240":45598,"blake2b-248":45599,"blake2b-256":45600,"blake2b-264":45601,"blake2b-272":45602,"blake2b-280":45603,"blake2b-288":45604,"blake2b-296":45605,"blake2b-304":45606,"blake2b-312":45607,"blake2b-320":45608,"blake2b-328":45609,"blake2b-336":45610,"blake2b-344":45611,"blake2b-352":45612,"blake2b-360":45613,"blake2b-368":45614,"blake2b-376":45615,"blake2b-384":45616,"blake2b-392":45617,"blake2b-400":45618,"blake2b-408":45619,"blake2b-416":45620,"blake2b-424":45621,"blake2b-432":45622,"blake2b-440":45623,"blake2b-448":45624,"blake2b-456":45625,"blake2b-464":45626,"blake2b-472":45627,"blake2b-480":45628,"blake2b-488":45629,"blake2b-496":45630,"blake2b-504":45631,"blake2b-512":45632,"blake2s-8":45633,"blake2s-16":45634,"blake2s-24":45635,"blake2s-32":45636,"blake2s-40":45637,"blake2s-48":45638,"blake2s-56":45639,"blake2s-64":45640,"blake2s-72":45641,"blake2s-80":45642,"blake2s-88":45643,"blake2s-96":45644,"blake2s-104":45645,"blake2s-112":45646,"blake2s-120":45647,"blake2s-128":45648,"blake2s-136":45649,"blake2s-144":45650,"blake2s-152":45651,"blake2s-160":45652,"blake2s-168":45653,"blake2s-176":45654,"blake2s-184":45655,"blake2s-192":45656,"blake2s-200":45657,"blake2s-208":45658,"blake2s-216":45659,"blake2s-224":45660,"blake2s-232":45661,"blake2s-240":45662,"blake2s-248":45663,"blake2s-256":45664,"skein256-8":45825,"skein256-16":45826,"skein256-24":45827,"skein256-32":45828,"skein256-40":45829,"skein256-48":45830,"skein256-56":45831,"skein256-64":45832,"skein256-72":45833,"skein256-80":45834,"skein256-88":45835,"skein256-96":45836,"skein256-104":45837,"skein256-112":45838,"skein256-120":45839,"skein256-128":45840,"skein256-136":45841,"skein256-144":45842,"skein256-152":45843,"skein256-160":45844,"skein256-168":45845,"skein256-176":45846,"skein256-184":45847,"skein256-192":45848,"skein256-200":45849,"skein256-208":45850,"skein256-216":45851,"skein256-224":45852,"skein256-232":45853,"skein256-240":45854,"skein256-248":45855,"skein256-256":45856,"skein512-8":45857,"skein512-16":45858,"skein512-24":45859,"skein512-32":45860,"skein512-40":45861,"skein512-48":45862,"skein512-56":45863,"skein512-64":45864,"skein512-72":45865,"skein512-80":45866,"skein512-88":45867,"skein512-96":45868,"skein512-104":45869,"skein512-112":45870,"skein512-120":45871,"skein512-128":45872,"skein512-136":45873,"skein512-144":45874,"skein512-152":45875,"skein512-160":45876,"skein512-168":45877,"skein512-176":45878,"skein512-184":45879,"skein512-192":45880,"skein512-200":45881,"skein512-208":45882,"skein512-216":45883,"skein512-224":45884,"skein512-232":45885,"skein512-240":45886,"skein512-248":45887,"skein512-256":45888,"skein512-264":45889,"skein512-272":45890,"skein512-280":45891,"skein512-288":45892,"skein512-296":45893,"skein512-304":45894,"skein512-312":45895,"skein512-320":45896,"skein512-328":45897,"skein512-336":45898,"skein512-344":45899,"skein512-352":45900,"skein512-360":45901,"skein512-368":45902,"skein512-376":45903,"skein512-384":45904,"skein512-392":45905,"skein512-400":45906,"skein512-408":45907,"skein512-416":45908,"skein512-424":45909,"skein512-432":45910,"skein512-440":45911,"skein512-448":45912,"skein512-456":45913,"skein512-464":45914,"skein512-472":45915,"skein512-480":45916,"skein512-488":45917,"skein512-496":45918,"skein512-504":45919,"skein512-512":45920,"skein1024-8":45921,"skein1024-16":45922,"skein1024-24":45923,"skein1024-32":45924,"skein1024-40":45925,"skein1024-48":45926,"skein1024-56":45927,"skein1024-64":45928,"skein1024-72":45929,"skein1024-80":45930,"skein1024-88":45931,"skein1024-96":45932,"skein1024-104":45933,"skein1024-112":45934,"skein1024-120":45935,"skein1024-128":45936,"skein1024-136":45937,"skein1024-144":45938,"skein1024-152":45939,"skein1024-160":45940,"skein1024-168":45941,"skein1024-176":45942,"skein1024-184":45943,"skein1024-192":45944,"skein1024-200":45945,"skein1024-208":45946,"skein1024-216":45947,"skein1024-224":45948,"skein1024-232":45949,"skein1024-240":45950,"skein1024-248":45951,"skein1024-256":45952,"skein1024-264":45953,"skein1024-272":45954,"skein1024-280":45955,"skein1024-288":45956,"skein1024-296":45957,"skein1024-304":45958,"skein1024-312":45959,"skein1024-320":45960,"skein1024-328":45961,"skein1024-336":45962,"skein1024-344":45963,"skein1024-352":45964,"skein1024-360":45965,"skein1024-368":45966,"skein1024-376":45967,"skein1024-384":45968,"skein1024-392":45969,"skein1024-400":45970,"skein1024-408":45971,"skein1024-416":45972,"skein1024-424":45973,"skein1024-432":45974,"skein1024-440":45975,"skein1024-448":45976,"skein1024-456":45977,"skein1024-464":45978,"skein1024-472":45979,"skein1024-480":45980,"skein1024-488":45981,"skein1024-496":45982,"skein1024-504":45983,"skein1024-512":45984,"skein1024-520":45985,"skein1024-528":45986,"skein1024-536":45987,"skein1024-544":45988,"skein1024-552":45989,"skein1024-560":45990,"skein1024-568":45991,"skein1024-576":45992,"skein1024-584":45993,"skein1024-592":45994,"skein1024-600":45995,"skein1024-608":45996,"skein1024-616":45997,"skein1024-624":45998,"skein1024-632":45999,"skein1024-640":46e3,"skein1024-648":46001,"skein1024-656":46002,"skein1024-664":46003,"skein1024-672":46004,"skein1024-680":46005,"skein1024-688":46006,"skein1024-696":46007,"skein1024-704":46008,"skein1024-712":46009,"skein1024-720":46010,"skein1024-728":46011,"skein1024-736":46012,"skein1024-744":46013,"skein1024-752":46014,"skein1024-760":46015,"skein1024-768":46016,"skein1024-776":46017,"skein1024-784":46018,"skein1024-792":46019,"skein1024-800":46020,"skein1024-808":46021,"skein1024-816":46022,"skein1024-824":46023,"skein1024-832":46024,"skein1024-840":46025,"skein1024-848":46026,"skein1024-856":46027,"skein1024-864":46028,"skein1024-872":46029,"skein1024-880":46030,"skein1024-888":46031,"skein1024-896":46032,"skein1024-904":46033,"skein1024-912":46034,"skein1024-920":46035,"skein1024-928":46036,"skein1024-936":46037,"skein1024-944":46038,"skein1024-952":46039,"skein1024-960":46040,"skein1024-968":46041,"skein1024-976":46042,"skein1024-984":46043,"skein1024-992":46044,"skein1024-1000":46045,"skein1024-1008":46046,"skein1024-1016":46047,"skein1024-1024":46048,"poseidon-bls12_381-a2-fc1":46081,"poseidon-bls12_381-a2-fc1-sc":46082});y1.exports={names:I8}});function _8(e,t){if(e.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<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,m=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,D=new Uint8Array(x);g!==b;){for(var v=h[g],E=0,C=x-1;(v!==0||E<m)&&C!==-1;C--,E++)v+=256*D[C]>>>0,D[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=E,g++}for(var B=x-m;B!==x&&D[B]===0;)B++;for(var O=c.repeat(p);B<x;++B)O+=e.charAt(D[B]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var m=0,g=0;h[p]===c;)m++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var D=r[h.charCodeAt(p)];if(D===255)return;for(var v=0,E=b-1;(D!==0||v<g)&&E!==-1;E--,v++)D+=a*x[E]>>>0,x[E]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");g=v,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(m+(b-C)),O=m;C!==b;)B[O++]=x[C++];return B}}}function y(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:y}}var k8,R8,g1,x1=lt(()=>{k8=_8,R8=k8,g1=R8});var jk,b1,dr,w1,v1,Nr=lt(()=>{jk=new Uint8Array(0),b1=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},dr=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")},w1=e=>new TextEncoder().encode(e),v1=e=>new TextDecoder().decode(e)});var Q0,j0,J0,S1,tu,Jn,Pr,L8,N8,It,Re=lt(()=>{x1();Nr();Q0=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},j0=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return S1(this,t)}},J0=class{constructor(t){this.decoders=t}or(t){return S1(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},S1=(e,t)=>new J0({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),tu=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Q0(t,r,n),this.decoder=new j0(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Jn=({name:e,prefix:t,encode:r,decode:n})=>new tu(e,t,r,n),Pr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=g1(r,t);return Jn({prefix:e,name:t,encode:n,decode:o=>dr(i(o))})},L8=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},N8=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},It=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Jn({prefix:t,name:e,encode(i){return N8(i,n,r)},decode(i){return L8(i,n,r,e)}})});var eu={};ct(eu,{identity:()=>P8});var P8,A1=lt(()=>{Re();Nr();P8=Jn({prefix:"\0",name:"identity",encode:e=>v1(e),decode:e=>w1(e)})});var ru={};ct(ru,{base2:()=>U8});var U8,D1=lt(()=>{Re();U8=It({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})});var nu={};ct(nu,{base8:()=>O8});var O8,C1=lt(()=>{Re();O8=It({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})});var iu={};ct(iu,{base10:()=>K8});var K8,B1=lt(()=>{Re();K8=Pr({prefix:"9",name:"base10",alphabet:"0123456789"})});var ou={};ct(ou,{base16:()=>M8,base16upper:()=>F8});var M8,F8,T1=lt(()=>{Re();M8=It({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),F8=It({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});var su={};ct(su,{base32:()=>ti,base32hex:()=>z8,base32hexpad:()=>W8,base32hexpadupper:()=>$8,base32hexupper:()=>G8,base32pad:()=>H8,base32padupper:()=>q8,base32upper:()=>V8,base32z:()=>Y8});var ti,V8,H8,q8,z8,G8,W8,$8,Y8,au=lt(()=>{Re();ti=It({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),V8=It({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),H8=It({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),q8=It({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),z8=It({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),G8=It({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),W8=It({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),$8=It({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Y8=It({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})});var cu={};ct(cu,{base36:()=>X8,base36upper:()=>Z8});var X8,Z8,I1=lt(()=>{Re();X8=Pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Z8=Pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})});var uu={};ct(uu,{base58btc:()=>Ge,base58flickr:()=>Q8});var Ge,Q8,fu=lt(()=>{Re();Ge=Pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Q8=Pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});var lu={};ct(lu,{base64:()=>j8,base64pad:()=>J8,base64url:()=>tE,base64urlpad:()=>eE});var j8,J8,tE,eE,_1=lt(()=>{Re();j8=It({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),J8=It({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),tE=It({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),eE=It({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});var hu={};ct(hu,{base256emoji:()=>sE});function iE(e){return e.reduce((t,r)=>(t+=rE[r],t),"")}function oE(e){let t=[];for(let r of e){let n=nE[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var k1,rE,nE,sE,R1=lt(()=>{Re();k1=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}"),rE=k1.reduce((e,t,r)=>(e[r]=t,e),[]),nE=k1.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);sE=Jn({prefix:"\u{1F680}",name:"base256emoji",encode:iE,decode:oE})});function P1(e,t,r){t=t||[],r=r||0;for(var n=r;e>=fE;)t[r++]=e&255|L1,e/=128;for(;e&uE;)t[r++]=e&255|L1,e>>>=7;return t[r]=e|0,P1.bytes=r-n+1,t}function du(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw du.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&N1)<<i:(s&N1)*Math.pow(2,i),i+=7}while(s>=hE);return du.bytes=o-n,r}var aE,L1,cE,uE,fE,lE,hE,N1,dE,pE,yE,mE,gE,xE,bE,wE,vE,EE,SE,AE,Zi,U1=lt(()=>{aE=P1,L1=128,cE=127,uE=~cE,fE=Math.pow(2,31);lE=du,hE=128,N1=127;dE=Math.pow(2,7),pE=Math.pow(2,14),yE=Math.pow(2,21),mE=Math.pow(2,28),gE=Math.pow(2,35),xE=Math.pow(2,42),bE=Math.pow(2,49),wE=Math.pow(2,56),vE=Math.pow(2,63),EE=function(e){return e<dE?1:e<pE?2:e<yE?3:e<mE?4:e<gE?5:e<xE?6:e<bE?7:e<wE?8:e<vE?9:10},SE={encode:aE,decode:lE,encodingLength:EE},AE=SE,Zi=AE});var Qi,ei,ri,zs=lt(()=>{U1();Qi=(e,t=0)=>[Zi.decode(e,t),Zi.decode.bytes],ei=(e,t,r=0)=>(Zi.encode(e,t,r),t),ri=e=>Zi.encodingLength(e)});var mn,O1,K1,ni,Ji=lt(()=>{Nr();zs();mn=(e,t)=>{let r=t.byteLength,n=ri(e),i=n+ri(r),o=new Uint8Array(i+r);return ei(e,o,0),ei(r,o,n),o.set(t,i),new ni(e,r,t,o)},O1=e=>{let t=dr(e),[r,n]=Qi(t),[i,o]=Qi(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new ni(r,i,s,t)},K1=(e,t)=>e===t?!0:e.code===t.code&&e.size===t.size&&b1(e.bytes,t.bytes),ni=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}}});var yu,pu,mu=lt(()=>{Ji();yu=({name:e,code:t,encode:r})=>new pu(e,t,r),pu=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?mn(this.code,r):r.then(n=>mn(this.code,n))}else throw Error("Unknown type, must be binary type")}}});var gu={};ct(gu,{sha256:()=>DE,sha512:()=>CE});var F1,DE,CE,V1=lt(()=>{mu();F1=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),DE=yu({name:"sha2-256",code:18,encode:F1("SHA-256")}),CE=yu({name:"sha2-512",code:19,encode:F1("SHA-512")})});var xu={};ct(xu,{identity:()=>IE});var H1,BE,q1,TE,IE,z1=lt(()=>{Nr();Ji();H1=0,BE="identity",q1=dr,TE=e=>mn(H1,q1(e)),IE={code:H1,name:BE,encode:q1,digest:TE}});var G1=lt(()=>{Nr()});var bR,wR,W1=lt(()=>{bR=new TextEncoder,wR=new TextDecoder});var $s,RE,LE,NE,to,PE,$1,Y1,Gs,Ws,UE,OE,KE,X1=lt(()=>{zs();Ji();fu();au();Nr();$s=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:Ws,byteLength:Ws,code:Gs,version:Gs,multihash:Gs,bytes:Gs,_baseCache:Ws,asCID:Ws})}toV0(){switch(this.version){case 0:return this;default:{let{code:t,multihash:r}=this;if(t!==to)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==PE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=mn(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(t){return t&&this.code===t.code&&this.version===t.version&&K1(this.multihash,t.multihash)}toString(t){let{bytes:r,version:n,_baseCache:i}=this;switch(n){case 0:return LE(r,i,t||Ge.encoder);default:return NE(r,i,t||ti.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(t){return OE(/^0\.0/,KE),!!(t&&(t[Y1]||t.asCID===t))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(t){if(t instanceof e)return t;if(t!=null&&t.asCID===t){let{version:r,code:n,multihash:i,bytes:o}=t;return new e(r,n,i,o||$1(r,n,i.bytes))}else if(t!=null&&t[Y1]===!0){let{version:r,multihash:n,code:i}=t,o=O1(n);return e.create(r,i,o)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");switch(t){case 0:{if(r!==to)throw new Error(`Version 0 CID must use dag-pb (code: ${to}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=$1(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,to,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=dr(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new ni(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=Qi(t.subarray(r));return r+=d,l},i=n(),o=to;if(i===18?(i=0,r=0):i===1&&(o=n()),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=RE(t,r),o=e.decode(i);return o._baseCache.set(n,t),o}},RE=(e,t)=>{switch(e[0]){case"Q":{let r=t||Ge;return[Ge.prefix,r.decode(`${Ge.prefix}${e}`)]}case Ge.prefix:{let r=t||Ge;return[Ge.prefix,r.decode(e)]}case ti.prefix:{let r=t||ti;return[ti.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},LE=(e,t,r)=>{let{prefix:n}=r;if(n!==Ge.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},NE=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},to=112,PE=18,$1=(e,t,r)=>{let n=ri(e),i=n+ri(t),o=new Uint8Array(i+r.byteLength);return ei(e,o,0),ei(t,o,n),o.set(r,i),o},Y1=Symbol.for("@ipld/js-cid/CID"),Gs={writable:!1,configurable:!1,enumerable:!0},Ws={writable:!1,enumerable:!1,configurable:!1},UE="0.0.0-dev",OE=(e,t)=>{if(e.test(UE))console.warn(t);else throw new Error(t)},KE=`CID.isCID(v) is deprecated and will be removed in the next major release.
15
+ `+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function nb(e){return e.replace(/^\s+/,"")}});var ld=ot((eT,fd)=>{var Oe=gt();on();Pt();var ad=fd.exports=Oe.sha256=Oe.sha256||{};Oe.md.sha256=Oe.md.algorithms.sha256=ad;ad.create=function(){cd||ib();var e=null,t=Oe.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Oe.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Oe.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),sd(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Oe.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(x0.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};sd(l,r,i);var d=Oe.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var x0=null,cd=!1,ud=null;function ib(){x0="\x80",x0+=Oe.util.fillString("\0",64),ud=[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],cd=!0}function sd(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b=r.length();b>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(f=e.h0,l=e.h1,d=e.h2,y=e.h3,h=e.h4,p=e.h5,m=e.h6,g=e.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=m^h&(p^m),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|d&(f^l),n=g+s+a+ud[u]+t[u],i=o+c,g=m,m=p,p=h,h=y+n>>>0,y=d,d=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+y|0,e.h4=e.h4+h|0,e.h5=e.h5+p|0,e.h6=e.h6+m|0,e.h7=e.h7+g|0,b-=64}}});var dd=ot((rT,hd)=>{var Ke=gt();Pt();var vs=null;Ke.util.isNodejs&&!Ke.options.usePureJavaScript&&!process.versions["node-webkit"]&&(vs=xs());var ob=hd.exports=Ke.prng=Ke.prng||{};ob.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,f){if(!f)return t.generateSync(u);var l=t.plugin.cipher,d=t.plugin.increment,y=t.plugin.formatKey,h=t.plugin.formatSeed,p=Ke.util.createBuffer();t.key=null,m();function m(g){if(g)return f(g);if(p.length()>=u)return f(null,p.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return Ke.util.nextTick(function(){o(m)});var b=l(t.key,t.seed);t.generated+=b.length,p.putBytes(b),t.key=y(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Ke.util.setImmediate(m)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,y=t.plugin.formatSeed;t.key=null;for(var h=Ke.util.createBuffer();h.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=f(t.key,t.seed);t.generated+=p.length,h.putBytes(p),t.key=d(f(t.key,l(t.seed))),t.seed=y(f(t.key,t.seed))}return h.getBytes(u)};function o(u){if(t.pools[0].messageLength>=32)return a(),u();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,d){if(l)return u(l);t.collect(d),a(),u()})}function s(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(u.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var d=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(u){var f=null,l=Ke.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(v){return d.getRandomValues(v)});var y=Ke.util.createBuffer();if(f)for(;y.length()<u;){var h=Math.max(1,Math.min(u-y.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{f(p);for(var m=0;m<p.length;++m)y.putInt32(p[m])}catch(v){if(!(typeof QuotaExceededError<"u"&&v instanceof QuotaExceededError))throw v}}if(y.length()<u)for(var g,b,x,D=Math.floor(Math.random()*65536);y.length()<u;){b=16807*(D&65535),g=16807*(D>>16),b+=(g&32767)<<16,b+=g>>15,b=(b&2147483647)+(b>>31),D=b&4294967295;for(var m=0;m<3;++m)x=D>>>(m<<3),x^=Math.floor(Math.random()*256),y.putByte(x&255)}return y.getBytes(u)}return vs?(t.seedFile=function(u,f){vs.randomBytes(u,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(u){return vs.randomBytes(u).toString()}):(t.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},t.seedFileSync=c),t.collect=function(u){for(var f=u.length,l=0;l<f;++l)t.pools[t.pool].update(u.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,f){for(var l="",d=0;d<f;d+=8)l+=String.fromCharCode(u>>d&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,d){function y(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",y),d(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(y,h){u.postMessage({forge:{prng:{err:y,bytes:h}}})})};u.addEventListener("message",f)}},t}});var Oi=ot((nT,b0)=>{var Ht=gt();g0();ld();dd();Pt();(function(){if(Ht.random&&Ht.random.getBytes){b0.exports=Ht.random;return}(function(e){var t={},r=new Array(4),n=Ht.util.createBuffer();t.formatKey=function(l){var d=Ht.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Ht.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Ht.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Ht.aes._updateBlock(l,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Ht.md.sha256;function i(){var l=Ht.prng.create(t);return l.getBytes=function(d,y){return l.generate(d,y)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Ht.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Ht.options.usePureJavaScript||!Ht.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Ht.random)Ht.random=o;else for(var f in o)Ht.random[f]=o[f];Ht.random.createInstance=i,b0.exports=Ht.random})(typeof jQuery<"u"?jQuery:null)})()});var gd=ot((iT,md)=>{var se=gt();Pt();var w0=[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],pd=[1,2,3,5],sb=function(e,t){return e<<t&65535|(e&65535)>>16-t},ab=function(e,t){return(e&65535)>>t|e<<16-t&65535};md.exports=se.rc2=se.rc2||{};se.rc2.expandKey=function(e,t){typeof e=="string"&&(e=se.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(w0[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,w0[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,w0[r.at(a+1)^r.at(a+o)]);return r};var yd=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(e=se.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=sb(h[u],pd[u]),f++},c=function(h){for(u=0;u<4;u++)h[u]+=l[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=ab(h[u],pd[u]),h[u]-=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),f--},c=function(h){for(u=3;u>=0;u--)h[u]-=l[h[(u+3)%4]&63]});var d=function(h){var p=[];for(u=0;u<4;u++){var m=i.getInt16Le();s!==null&&(r?m^=s.getInt16Le():s.putInt16Le(m)),p.push(m&65535)}f=r?0:63;for(var g=0;g<h.length;g++)for(var b=0;b<h[g][0];b++)h[g][1](p);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(p[u]):p[u]^=s.getInt16Le()),o.putInt16Le(p[u])},y=null;return y={start:function(h,p){h&&typeof h=="string"&&(h=se.util.createBuffer(h)),n=!1,i=se.util.createBuffer(),o=p||new se.util.createBuffer,s=h,y.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var p=!0;if(r)if(h)p=h(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(p&&(n=!0,y.update()),!r&&(p=i.length()===0,p))if(h)p=h(8,o,!r);else{var g=o.length(),b=o.at(g-1);b>g?p=!1:o.truncate(b)}return p}},y};se.rc2.startEncrypting=function(e,t,r){var n=se.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};se.rc2.createEncryptionCipher=function(e,t){return yd(e,t,!0)};se.rc2.startDecrypting=function(e,t,r){var n=se.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};se.rc2.createDecryptionCipher=function(e,t){return yd(e,t,!1)}});var As=ot((oT,Dd)=>{var v0=gt();Dd.exports=v0.jsbn=v0.jsbn||{};var ar,cb=0xdeadbeefcafe,xd=(cb&16777215)==15715070;function L(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}v0.jsbn.BigInteger=L;function ut(){return new L(null)}function ub(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function fb(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,u=this.data[e++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function bd(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,u=this.data[e++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(L.prototype.am=bd,ar=28):xd&&navigator.appName=="Microsoft Internet Explorer"?(L.prototype.am=fb,ar=30):xd&&navigator.appName!="Netscape"?(L.prototype.am=ub,ar=26):(L.prototype.am=bd,ar=28);L.prototype.DB=ar;L.prototype.DM=(1<<ar)-1;L.prototype.DV=1<<ar;var E0=52;L.prototype.FV=Math.pow(2,E0);L.prototype.F1=E0-ar;L.prototype.F2=2*ar-E0;var lb="0123456789abcdefghijklmnopqrstuvwxyz",Es=new Array,Wn,ye;Wn=48;for(ye=0;ye<=9;++ye)Es[Wn++]=ye;Wn=97;for(ye=10;ye<36;++ye)Es[Wn++]=ye;Wn=65;for(ye=10;ye<36;++ye)Es[Wn++]=ye;function wd(e){return lb.charAt(e)}function vd(e,t){var r=Es[e.charCodeAt(t)];return r??-1}function hb(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function db(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function Rr(e){var t=ut();return t.fromInt(e),t}function pb(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:vd(e,n);if(s<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&L.ZERO.subTo(this,this)}function yb(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function mb(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=wd(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=wd(n));return i?o:"0"}function gb(){var e=ut();return L.ZERO.subTo(this,e),e}function xb(){return this.s<0?this.negate():this}function bb(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Ss(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function wb(){return this.t<=0?0:this.DB*(this.t-1)+Ss(this.data[this.t-1]^this.s&this.DM)}function vb(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Eb(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Sb(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function Ab(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function Db(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Cb(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&L.ZERO.subTo(t,t)}function Bb(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function Tb(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=ut());var o=ut(),s=this.s,a=e.s,c=this.DB-Ss(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),d=this.FV/l,y=(1<<this.F1)/l,h=1<<this.F2,p=r.t,m=p-u,g=t??ut();for(o.dlShiftTo(m,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),L.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--m>=0;){var b=r.data[--p]==f?this.DM:Math.floor(r.data[p]*d+(r.data[p-1]+h)*y);if((r.data[p]+=o.am(0,b,r,m,0,u))<b)for(o.dlShiftTo(m,g),r.subTo(g,r);r.data[p]<--b;)r.subTo(g,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&L.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&L.ZERO.subTo(r,r)}}}function Ib(e){var t=ut();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(L.ZERO)>0&&e.subTo(t,t),t}function sn(e){this.m=e}function _b(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function kb(e){return e}function Rb(e){e.divRemTo(this.m,null,e)}function Lb(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Nb(e,t){e.squareTo(t),this.reduce(t)}sn.prototype.convert=_b;sn.prototype.revert=kb;sn.prototype.reduce=Rb;sn.prototype.mulTo=Lb;sn.prototype.sqrTo=Nb;function Pb(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function an(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function Ub(e){var t=ut();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(L.ZERO)>0&&this.m.subTo(t,t),t}function Ob(e){var t=ut();return e.copyTo(t),this.reduce(t),t}function Kb(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function Mb(e,t){e.squareTo(t),this.reduce(t)}function Fb(e,t,r){e.multiplyTo(t,r),this.reduce(r)}an.prototype.convert=Ub;an.prototype.revert=Ob;an.prototype.reduce=Kb;an.prototype.mulTo=Fb;an.prototype.sqrTo=Mb;function Vb(){return(this.t>0?this.data[0]&1:this.s)==0}function Hb(e,t){if(e>4294967295||e<1)return L.ONE;var r=ut(),n=ut(),i=t.convert(this),o=Ss(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function qb(e,t){var r;return e<256||t.isEven()?r=new sn(t):r=new an(t),this.exp(e,r)}L.prototype.copyTo=hb;L.prototype.fromInt=db;L.prototype.fromString=pb;L.prototype.clamp=yb;L.prototype.dlShiftTo=vb;L.prototype.drShiftTo=Eb;L.prototype.lShiftTo=Sb;L.prototype.rShiftTo=Ab;L.prototype.subTo=Db;L.prototype.multiplyTo=Cb;L.prototype.squareTo=Bb;L.prototype.divRemTo=Tb;L.prototype.invDigit=Pb;L.prototype.isEven=Vb;L.prototype.exp=Hb;L.prototype.toString=mb;L.prototype.negate=gb;L.prototype.abs=xb;L.prototype.compareTo=bb;L.prototype.bitLength=wb;L.prototype.mod=Ib;L.prototype.modPowInt=qb;L.ZERO=Rr(0);L.ONE=Rr(1);function zb(){var e=ut();return this.copyTo(e),e}function Gb(){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 Wb(){return this.t==0?this.s:this.data[0]<<24>>24}function $b(){return this.t==0?this.s:this.data[0]<<16>>16}function Yb(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Xb(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Zb(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Rr(r),i=ut(),o=ut(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function Qb(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var c=vd(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&L.ZERO.subTo(this,this)}function jb(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(L.ONE.shiftLeft(e-1),S0,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(L.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Jb(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function tw(e){return this.compareTo(e)==0}function ew(e){return this.compareTo(e)<0?this:e}function rw(e){return this.compareTo(e)>0?this:e}function nw(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function iw(e,t){return e&t}function ow(e){var t=ut();return this.bitwiseTo(e,iw,t),t}function S0(e,t){return e|t}function sw(e){var t=ut();return this.bitwiseTo(e,S0,t),t}function Ed(e,t){return e^t}function aw(e){var t=ut();return this.bitwiseTo(e,Ed,t),t}function Sd(e,t){return e&~t}function cw(e){var t=ut();return this.bitwiseTo(e,Sd,t),t}function uw(){for(var e=ut(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function fw(e){var t=ut();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function lw(e){var t=ut();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function hw(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function dw(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+hw(this.data[e]);return this.s<0?this.t*this.DB:-1}function pw(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function yw(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=pw(this.data[r]^t);return e}function mw(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function gw(e,t){var r=L.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function xw(e){return this.changeBit(e,S0)}function bw(e){return this.changeBit(e,Sd)}function ww(e){return this.changeBit(e,Ed)}function vw(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function Ew(e){var t=ut();return this.addTo(e,t),t}function Sw(e){var t=ut();return this.subTo(e,t),t}function Aw(e){var t=ut();return this.multiplyTo(e,t),t}function Dw(e){var t=ut();return this.divRemTo(e,t,null),t}function Cw(e){var t=ut();return this.divRemTo(e,null,t),t}function Bw(e){var t=ut(),r=ut();return this.divRemTo(e,t,r),new Array(t,r)}function Tw(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Iw(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Ki(){}function Ad(e){return e}function _w(e,t,r){e.multiplyTo(t,r)}function kw(e,t){e.squareTo(t)}Ki.prototype.convert=Ad;Ki.prototype.revert=Ad;Ki.prototype.mulTo=_w;Ki.prototype.sqrTo=kw;function Rw(e){return this.exp(e,new Ki)}function Lw(e,t,r){var n=Math.min(this.t+e.t,t);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,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function Nw(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function $n(e){this.r2=ut(),this.q3=ut(),L.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function Pw(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=ut();return e.copyTo(t),this.reduce(t),t}function Uw(e){return e}function Ow(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function Kw(e,t){e.squareTo(t),this.reduce(t)}function Mw(e,t,r){e.multiplyTo(t,r),this.reduce(r)}$n.prototype.convert=Pw;$n.prototype.revert=Uw;$n.prototype.reduce=Ow;$n.prototype.mulTo=Mw;$n.prototype.sqrTo=Kw;function Fw(e,t){var r=e.bitLength(),n,i=Rr(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new sn(t):t.isEven()?o=new $n(t):o=new an(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=ut();for(o.sqrTo(s[1],f);a<=u;)s[a]=ut(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,d,y=!0,h=ut(),p;for(r=Ss(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&u:(d=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(d|=e.data[l-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),y)s[d].copyTo(i),y=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(p=i,i=h,h=p),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),p=i,i=h,h=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function Vw(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function Hw(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function qw(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return L.ZERO;for(var r=e.clone(),n=this.clone(),i=Rr(1),o=Rr(0),s=Rr(0),a=Rr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(L.ONE)!=0)return L.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Ie=[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],zw=(1<<26)/Ie[Ie.length-1];function Gw(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Ie[Ie.length-1]){for(t=0;t<Ie.length;++t)if(r.data[0]==Ie[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Ie.length;){for(var n=Ie[t],i=t+1;i<Ie.length&&n<zw;)n*=Ie[i++];for(n=r.modInt(n);t<i;)if(n%Ie[t++]==0)return!1}return r.millerRabin(e)}function Ww(e){var t=this.subtract(L.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=$w(),o,s=0;s<e;++s){do o=new L(this.bitLength(),i);while(o.compareTo(L.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(L.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(L.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function $w(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}L.prototype.chunkSize=Yb;L.prototype.toRadix=Zb;L.prototype.fromRadix=Qb;L.prototype.fromNumber=jb;L.prototype.bitwiseTo=nw;L.prototype.changeBit=gw;L.prototype.addTo=vw;L.prototype.dMultiply=Tw;L.prototype.dAddOffset=Iw;L.prototype.multiplyLowerTo=Lw;L.prototype.multiplyUpperTo=Nw;L.prototype.modInt=Hw;L.prototype.millerRabin=Ww;L.prototype.clone=zb;L.prototype.intValue=Gb;L.prototype.byteValue=Wb;L.prototype.shortValue=$b;L.prototype.signum=Xb;L.prototype.toByteArray=Jb;L.prototype.equals=tw;L.prototype.min=ew;L.prototype.max=rw;L.prototype.and=ow;L.prototype.or=sw;L.prototype.xor=aw;L.prototype.andNot=cw;L.prototype.not=uw;L.prototype.shiftLeft=fw;L.prototype.shiftRight=lw;L.prototype.getLowestSetBit=dw;L.prototype.bitCount=yw;L.prototype.testBit=mw;L.prototype.setBit=xw;L.prototype.clearBit=bw;L.prototype.flipBit=ww;L.prototype.add=Ew;L.prototype.subtract=Sw;L.prototype.multiply=Aw;L.prototype.divide=Dw;L.prototype.remainder=Cw;L.prototype.divideAndRemainder=Bw;L.prototype.modPow=Fw;L.prototype.modInverse=qw;L.prototype.pow=Rw;L.prototype.gcd=Vw;L.prototype.isProbablePrime=Gw});var _d=ot((sT,Id)=>{var Me=gt();on();Pt();var Bd=Id.exports=Me.sha1=Me.sha1||{};Me.md.sha1=Me.md.algorithms.sha1=Bd;Bd.create=function(){Td||Yw();var e=null,t=Me.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Me.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Me.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return t.putBytes(i),Cd(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Me.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(A0.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Cd(l,r,i);var d=Me.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var A0=null,Td=!1;function Yw(){A0="\x80",A0+=Me.util.fillString("\0",64),Td=!0}function Cd(e,t,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var Ld=ot((aT,Rd)=>{var Fe=gt();Pt();Oi();_d();var kd=Rd.exports=Fe.pkcs1=Fe.pkcs1||{};kd.encode_rsa_oaep=function(e,t,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Fe.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",d=c-t.length,y=0;y<d;y++)l+="\0";var h=f.getBytes()+l+""+t;if(!i)i=Fe.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var p=Ds(i,a-o.digestLength-1,s),m=Fe.util.xorBytes(h,p,h.length),g=Ds(m,o.digestLength,s),b=Fe.util.xorBytes(i,g,i.length);return"\0"+b+m};kd.decode_rsa_oaep=function(e,t,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(e.n.bitLength()/8);if(t.length!==s){var m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=t.length,m.expectedLength=s,m}if(i===void 0?i=Fe.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=t.charAt(0),u=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=Ds(f,i.digestLength,o),d=Fe.util.xorBytes(u,l,u.length),y=Ds(d,s-i.digestLength-1,o),h=Fe.util.xorBytes(f,y,f.length),p=h.substring(0,i.digestLength),m=c!=="\0",g=0;g<i.digestLength;++g)m|=a.charAt(g)!==p.charAt(g);for(var b=1,x=i.digestLength,D=i.digestLength;D<h.length;D++){var v=h.charCodeAt(D),E=v&1^1,C=b?65534:0;m|=v&C,b=b&E,x+=b}if(m||h.charCodeAt(x)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(x+1)};function Ds(e,t,r){r||(r=Fe.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var Nd=ot((cT,D0)=>{var Lr=gt();Pt();As();Oi();(function(){if(Lr.prime){D0.exports=Lr.prime;return}var e=D0.exports=Lr.prime=Lr.prime||{},t=Lr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,y){typeof d=="function"&&(y=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var p=d.prng||Lr.random,m={nextBytes:function(g){for(var b=p.getBytesSync(g.length),x=0;x<g.length;++x)g[x]=b.charCodeAt(x)}};if(h.name==="PRIMEINC")return o(l,m,h.options,y);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,y,h){return"workers"in y?c(l,d,y,h):s(l,d,y,h)}function s(l,d,y,h){var p=u(l,d),m=0,g=f(p.bitLength());"millerRabinTests"in y&&(g=y.millerRabinTests);var b=10;"maxBlockTime"in y&&(b=y.maxBlockTime),a(p,l,d,m,g,b,h)}function a(l,d,y,h,p,m,g){var b=+new Date;do{if(l.bitLength()>d&&(l=u(d,y)),l.isProbablePrime(p))return g(null,l);l.dAddOffset(r[h++%8],0)}while(m<0||+new Date-b<m);Lr.util.setImmediate(function(){a(l,d,y,h,p,m,g)})}function c(l,d,y,h){if(typeof Worker>"u")return s(l,d,y,h);var p=u(l,d),m=y.workers,g=y.workLoad||100,b=g*30/8,x=y.workerScript||"forge/prime.worker.js";if(m===-1)return Lr.util.estimateCores(function(v,E){v&&(E=2),m=E-1,D()});D();function D(){m=Math.max(1,m);for(var v=[],E=0;E<m;++E)v[E]=new Worker(x);for(var C=m,E=0;E<m;++E)v[E].addEventListener("message",O);var B=!1;function O(K){if(!B){--C;var U=K.data;if(U.found){for(var F=0;F<v.length;++F)v[F].terminate();return B=!0,h(null,new t(U.prime,16))}p.bitLength()>l&&(p=u(l,d));var G=p.toString(16);K.target.postMessage({hex:G,workLoad:g}),p.dAddOffset(b,0)}}}}function u(l,d){var y=new t(l,d),h=l-1;return y.testBit(h)||y.bitwiseTo(t.ONE.shiftLeft(h),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var Bs=ot((uT,Vd)=>{var Y=gt();Ui();As();ls();Ld();Nd();Oi();Pt();typeof at>"u"&&(at=Y.jsbn.BigInteger);var at,C0=Y.util.isNodejs?xs():null,A=Y.asn1,me=Y.util;Y.pki=Y.pki||{};Vd.exports=Y.pki.rsa=Y.rsa=Y.rsa||{};var tt=Y.pki,Xw=[6,4,2,4,2,4,6,2],Zw={name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Qw={name:"RSAPrivateKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},jw={name:"RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Jw=Y.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},tv={name:"DigestInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},ev=function(e){var t;if(e.algorithm in tt.oids)t=tt.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=A.oidToDer(t).getBytes(),i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]),o=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]);o.value.push(A.create(A.Class.UNIVERSAL,A.Type.OID,!1,n)),o.value.push(A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,""));var s=A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),A.toDer(i).getBytes()},Md=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(at.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(at.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new at(Y.util.bytesToHex(Y.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(at.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};tt.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Fd(e,t,r)):(i=Y.util.createBuffer(),i.putBytes(e));for(var s=new at(i.toHex(),16),a=Md(s,t,n),c=a.toString(16),u=Y.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),u.getBytes()};tt.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new at(Y.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Md(s,t,r),c=a.toString(16),u=Y.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),n!==!1?Cs(u.getBytes(),t,r):u.getBytes()};tt.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||Y.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new at(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};tt.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new at(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,u=c-1;e.pqState===0?(e.num=new at(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(at.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(nv(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(Xw[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(at.ONE).gcd(e.e).compareTo(at.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(at.ONE),e.q1=e.q.subtract(at.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(at.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:tt.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:tt.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};tt.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!Y.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(Pd("generateKeyPair"))return C0.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:tt.privateKeyFromPem(u),publicKey:tt.publicKeyFromPem(c)})});if(Ud("generateKey")&&Ud("exportKey"))return me.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Kd(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return me.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=tt.privateKeyFromAsn1(A.fromDer(Y.util.createBuffer(a)));n(null,{privateKey:c,publicKey:tt.setRsaPublicKey(c.n,c.e)})}});if(Od("generateKey")&&Od("exportKey")){var i=me.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Kd(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=me.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,d=tt.privateKeyFromAsn1(A.fromDer(Y.util.createBuffer(l)));n(null,{privateKey:d,publicKey:tt.setRsaPublicKey(d.n,d.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(Pd("generateKeyPairSync")){var o=C0.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:tt.privateKeyFromPem(o.privateKey),publicKey:tt.publicKeyFromPem(o.publicKey)}}}var s=tt.rsa.createKeyPairGenerationState(e,t,r);if(!n)return tt.rsa.stepKeyPairGenerationState(s,0),s.keys;rv(s,r,n)};tt.setRsaPublicKey=tt.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return Fd(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return Y.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return tt.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=Cs(u,r,!0);var f=A.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!A.validate(f,tv,l,d)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=d,y}var h=A.derToOid(l.algorithmIdentifier);if(!(h===Y.oids.md2||h===Y.oids.md5||h===Y.oids.sha1||h===Y.oids.sha224||h===Y.oids.sha256||h===Y.oids.sha384||h===Y.oids.sha512||h===Y.oids["sha512-224"]||h===Y.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=h,y}if((h===Y.oids.md2||h===Y.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Cs(u,r,!0),c===u}});var a=tt.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};tt.setRsaPrivateKey=tt.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var c={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var d=tt.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Cs};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,h){return Y.pkcs1.decode_rsa_oaep(h,y,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(d,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:ev},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var d=f.encode(u,c.n.bitLength());return tt.rsa.encrypt(d,c,l)},c};tt.wrapRsaPrivateKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(tt.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,A.toDer(e).getBytes())])};tt.privateKeyFromAsn1=function(e){var t={},r=[];if(A.validate(e,Zw,t,r)&&(e=A.fromDer(Y.util.createBuffer(t.privateKey))),t={},r=[],!A.validate(e,Qw,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,l;return i=Y.util.createBuffer(t.privateKeyModulus).toHex(),o=Y.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=Y.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=Y.util.createBuffer(t.privateKeyPrime1).toHex(),c=Y.util.createBuffer(t.privateKeyPrime2).toHex(),u=Y.util.createBuffer(t.privateKeyExponent1).toHex(),f=Y.util.createBuffer(t.privateKeyExponent2).toHex(),l=Y.util.createBuffer(t.privateKeyCoefficient).toHex(),tt.setRsaPrivateKey(new at(i,16),new at(o,16),new at(s,16),new at(a,16),new at(c,16),new at(u,16),new at(f,16),new at(l,16))};tt.privateKeyToAsn1=tt.privateKeyToRSAPrivateKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.e)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.d)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.p)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.q)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.dP)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.dQ)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.qInv))])};tt.publicKeyFromAsn1=function(e){var t={},r=[];if(A.validate(e,Jw,t,r)){var n=A.derToOid(t.publicKeyOid);if(n!==tt.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!A.validate(e,jw,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=Y.util.createBuffer(t.publicKeyModulus).toHex(),s=Y.util.createBuffer(t.publicKeyExponent).toHex();return tt.setRsaPublicKey(new at(o,16),new at(s,16))};tt.publicKeyToAsn1=tt.publicKeyToSubjectPublicKeyInfo=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(tt.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.BITSTRING,!1,[tt.publicKeyToRSAPublicKey(e)])])};tt.publicKeyToRSAPublicKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,Ve(e.e))])};function Fd(e,t,r){var n=Y.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=Y.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(e),n}function Cs(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=Y.util.createBuffer(e),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function rv(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,c){Y.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(at.ONE).gcd(e.e).compareTo(at.ONE)!==0){e.p=null,i();return}if(e.q.subtract(at.ONE).gcd(e.e).compareTo(at.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(at.ONE),e.q1=e.q.subtract(at.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(at.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:tt.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:tt.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Ve(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=Y.util.hexToBytes(t);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 nv(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function Pd(e){return Y.util.isNodejs&&typeof C0[e]=="function"}function Ud(e){return typeof me.globalScope<"u"&&typeof me.globalScope.crypto=="object"&&typeof me.globalScope.crypto.subtle=="object"&&typeof me.globalScope.crypto.subtle[e]=="function"}function Od(e){return typeof me.globalScope<"u"&&typeof me.globalScope.msCrypto=="object"&&typeof me.globalScope.msCrypto.subtle=="object"&&typeof me.globalScope.msCrypto.subtle[e]=="function"}function Kd(e){for(var t=Y.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var $d=ot((fT,Wd)=>{var z=gt();g0();Ui();Qh();on();ls();rd();od();Oi();gd();Bs();Pt();typeof Hd>"u"&&(Hd=z.jsbn.BigInteger);var Hd,I=z.asn1,nt=z.pki=z.pki||{};Wd.exports=nt.pbe=z.pbe=z.pbe||{};var cn=nt.oids,iv={name:"EncryptedPrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},ov={name:"PBES2Algorithms",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},sv={name:"pkcs-12PbeParams",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"iterations"}]};nt.encryptPrivateKeyInfo=function(e,t,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=z.random.getBytesSync(r.saltSize),i=r.count,o=I.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=cn["aes128-CBC"],l=z.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=cn["aes192-CBC"],l=z.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=cn["aes256-CBC"],l=z.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=cn.desCBC,l=z.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),h=Gd(y),p=z.pkcs5.pbkdf2(t,n,i,s,h),m=z.random.getBytesSync(u),g=l(p);g.start(m),g.update(I.toDer(e)),g.finish(),c=g.output.getBytes();var b=av(n,o,s,y);a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(cn.pkcs5PBES2).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(cn.pkcs5PBKDF2).getBytes()),b]),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(f).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){s=24;var x=new z.util.ByteBuffer(n),p=nt.pbe.generatePkcs12Key(t,x,1,i,s),m=nt.pbe.generatePkcs12Key(t,x,2,i,s),g=z.des.createEncryptionCipher(p);g.start(m),g.update(I.toDer(e)),g.finish(),c=g.output.getBytes(),a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(cn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,n),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var D=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[a,I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,c)]);return D};nt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!I.validate(e,iv,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=I.derToOid(n.encryptionOid),a=nt.pbe.getCipher(s,n.encryptionParams,t),c=z.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=I.fromDer(a.output)),r};nt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:I.toDer(e).getBytes()};return z.pem.encode(r,{maxline:t})};nt.encryptedPrivateKeyFromPem=function(e){var t=z.pem.decode(e)[0];if(t.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=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return I.fromDer(t.body)};nt.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=nt.wrapRsaPrivateKey(nt.privateKeyToAsn1(e));return n=nt.encryptPrivateKeyInfo(n,t,r),nt.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=z.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(u);f.start(o),f.update(I.toDer(nt.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:z.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return z.pem.encode(l)};nt.decryptRsaPrivateKey=function(e,t){var r=null,n=z.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=z.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=z.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=z.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=z.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=z.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return z.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return z.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return z.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=z.util.hexToBytes(n.dekInfo.parameters),c=z.pbe.opensslDeriveBytes(t,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(z.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=nt.decryptPrivateKeyInfo(I.fromDer(r),t):r=I.fromDer(r),r!==null&&(r=nt.privateKeyFromAsn1(r)),r};nt.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in z.md))throw new Error('"sha1" hash algorithm unavailable.');o=z.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new z.util.ByteBuffer,l=new z.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),y=t.length(),h=new z.util.ByteBuffer;h.fillWithByte(r,u);var p=u*Math.ceil(y/u),m=new z.util.ByteBuffer;for(a=0;a<p;a++)m.putByte(t.at(a%y));var g=u*Math.ceil(d/u),b=new z.util.ByteBuffer;for(a=0;a<g;a++)b.putByte(l.at(a%d));var x=m;x.putBuffer(b);for(var D=Math.ceil(i/c),v=1;v<=D;v++){var E=new z.util.ByteBuffer;E.putBytes(h.bytes()),E.putBytes(x.bytes());for(var C=0;C<n;C++)o.start(),o.update(E.getBytes()),E=o.digest();var B=new z.util.ByteBuffer;for(a=0;a<u;a++)B.putByte(E.at(a%c));var O=Math.ceil(y/u)+Math.ceil(d/u),K=new z.util.ByteBuffer;for(s=0;s<O;s++){var U=new z.util.ByteBuffer(x.getBytes(u)),F=511;for(a=B.length()-1;a>=0;a--)F=F>>8,F+=B.at(a)+U.at(a),U.setAt(a,F&255);K.putBuffer(U)}x=K,f.putBuffer(E)}return f.truncate(f.length()-i),f};nt.pbe.getCipher=function(e,t,r){switch(e){case nt.oids.pkcs5PBES2:return nt.pbe.getCipherForPBES2(e,t,r);case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:return nt.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};nt.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!I.validate(t,ov,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(e=I.derToOid(n.kdfOid),e!==nt.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=I.derToOid(n.encOid),e!==nt.oids["aes128-CBC"]&&e!==nt.oids["aes192-CBC"]&&e!==nt.oids["aes256-CBC"]&&e!==nt.oids["des-EDE3-CBC"]&&e!==nt.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=z.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(nt.oids[e]){case"aes128-CBC":c=16,u=z.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=z.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=z.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=z.des.createDecryptionCipher;break;case"desCBC":c=8,u=z.des.createDecryptionCipher;break}var f=zd(n.prfOid),l=z.pkcs5.pbkdf2(r,s,a,c,f),d=n.encIv,y=u(l);return y.start(d),y};nt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!I.validate(t,sv,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=z.util.createBuffer(n.salt),a=z.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=z.des.startDecrypting;break;case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,m){var g=z.rc2.createDecryptionCipher(p,40);return g.start(m,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=zd(n.prfOid),d=nt.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var y=nt.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(d,y)};nt.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in z.md))throw new Error('"md5" hash algorithm unavailable.');n=z.md.md5.create()}t===null&&(t="");for(var i=[qd(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(qd(n,i[s-1]+e+t));return i.join("").substr(0,r)};function qd(e,t){return e.start().update(t).digest().getBytes()}function zd(e){var t;if(!e)t="hmacWithSHA1";else if(t=nt.oids[I.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Gd(t)}function Gd(e){var t=z.md;switch(e){case"hmacWithSHA224":t=z.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function av(e,t,r,n){var i=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,e),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,z.util.hexToBytes(r.toString(16))),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(nt.oids[n]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")])),i}});var up=ot((pI,cp)=>{var St=gt();on();Pt();var Fi=cp.exports=St.sha512=St.sha512||{};St.md.sha512=St.md.algorithms.sha512=Fi;var sp=St.sha384=St.sha512.sha384=St.sha512.sha384||{};sp.create=function(){return Fi.create("SHA-384")};St.md.sha384=St.md.algorithms.sha384=sp;St.sha512.sha256=St.sha512.sha256||{create:function(){return Fi.create("SHA-512/256")}};St.md["sha512/256"]=St.md.algorithms["sha512/256"]=St.sha512.sha256;St.sha512.sha224=St.sha512.sha224||{create:function(){return Fi.create("SHA-512/224")}};St.md["sha512/224"]=St.md.algorithms["sha512/224"]=St.sha512.sha224;Fi.create=function(e){if(ap||mv(),typeof e>"u"&&(e="SHA-512"),!(e in ln))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=ln[e],r=null,n=St.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=St.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=St.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),op(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=St.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(R0.substr(0,a.blockLength-f));for(var l,d,y=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,y+=d,c.putInt32(y>>>0),y=l>>>0;c.putInt32(y);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);op(p,i,c);var m=St.util.createBuffer(),g;e==="SHA-512"?g=p.length:e==="SHA-384"?g=p.length-2:g=p.length-4;for(var h=0;h<g;++h)m.putInt32(p[h][0]),(h!==g-1||e!=="SHA-512/224")&&m.putInt32(p[h][1]);return m},a};var R0=null,ap=!1,L0=null,ln=null;function mv(){R0="\x80",R0+=St.util.fillString("\0",128),L0=[[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]],ln={},ln["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],ln["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],ln["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],ln["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],ap=!0}function op(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b,x,D,v,E,C,B,O,K,U,F,G,Q,T,R,_,k,S,P,M,H=r.length();H>=128;){for(T=0;T<16;++T)t[T][0]=r.getInt32()>>>0,t[T][1]=r.getInt32()>>>0;for(;T<80;++T)k=t[T-2],R=k[0],_=k[1],n=((R>>>19|_<<13)^(_>>>29|R<<3)^R>>>6)>>>0,i=((R<<13|_>>>19)^(_<<3|R>>>29)^(R<<26|_>>>6))>>>0,P=t[T-15],R=P[0],_=P[1],o=((R>>>1|_<<31)^(R>>>8|_<<24)^R>>>7)>>>0,s=((R<<31|_>>>1)^(R<<24|_>>>8)^(R<<25|_>>>7))>>>0,S=t[T-7],M=t[T-16],_=i+S[1]+s+M[1],t[T][0]=n+S[0]+o+M[0]+(_/4294967296>>>0)>>>0,t[T][1]=_>>>0;for(p=e[0][0],m=e[0][1],g=e[1][0],b=e[1][1],x=e[2][0],D=e[2][1],v=e[3][0],E=e[3][1],C=e[4][0],B=e[4][1],O=e[5][0],K=e[5][1],U=e[6][0],F=e[6][1],G=e[7][0],Q=e[7][1],T=0;T<80;++T)u=((C>>>14|B<<18)^(C>>>18|B<<14)^(B>>>9|C<<23))>>>0,f=((C<<18|B>>>14)^(C<<14|B>>>18)^(B<<23|C>>>9))>>>0,l=(U^C&(O^U))>>>0,d=(F^B&(K^F))>>>0,a=((p>>>28|m<<4)^(m>>>2|p<<30)^(m>>>7|p<<25))>>>0,c=((p<<4|m>>>28)^(m<<30|p>>>2)^(m<<25|p>>>7))>>>0,y=(p&g|x&(p^g))>>>0,h=(m&b|D&(m^b))>>>0,_=Q+f+d+L0[T][1]+t[T][1],n=G+u+l+L0[T][0]+t[T][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=c+h,o=a+y+(_/4294967296>>>0)>>>0,s=_>>>0,G=U,Q=F,U=O,F=K,O=C,K=B,_=E+i,C=v+n+(_/4294967296>>>0)>>>0,B=_>>>0,v=x,E=D,x=g,D=b,g=p,b=m,_=i+s,p=n+o+(_/4294967296>>>0)>>>0,m=_>>>0;_=e[0][1]+m,e[0][0]=e[0][0]+p+(_/4294967296>>>0)>>>0,e[0][1]=_>>>0,_=e[1][1]+b,e[1][0]=e[1][0]+g+(_/4294967296>>>0)>>>0,e[1][1]=_>>>0,_=e[2][1]+D,e[2][0]=e[2][0]+x+(_/4294967296>>>0)>>>0,e[2][1]=_>>>0,_=e[3][1]+E,e[3][0]=e[3][0]+v+(_/4294967296>>>0)>>>0,e[3][1]=_>>>0,_=e[4][1]+B,e[4][0]=e[4][0]+C+(_/4294967296>>>0)>>>0,e[4][1]=_>>>0,_=e[5][1]+K,e[5][0]=e[5][0]+O+(_/4294967296>>>0)>>>0,e[5][1]=_>>>0,_=e[6][1]+F,e[6][0]=e[6][0]+U+(_/4294967296>>>0)>>>0,e[6][1]=_>>>0,_=e[7][1]+Q,e[7][0]=e[7][0]+G+(_/4294967296>>>0)>>>0,e[7][1]=_>>>0,H-=128}}});var Gp=ot((qk,zp)=>{"use strict";function Wv(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),o=i.charCodeAt(0);if(t[o]!==255)throw new TypeError(i+" is ambiguous");t[o]=n}var s=e.length,a=e.charAt(0),c=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function f(y){if(y instanceof Uint8Array||(ArrayBuffer.isView(y)?y=new Uint8Array(y.buffer,y.byteOffset,y.byteLength):Array.isArray(y)&&(y=Uint8Array.from(y))),!(y instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(y.length===0)return"";for(var h=0,p=0,m=0,g=y.length;m!==g&&y[m]===0;)m++,h++;for(var b=(g-m)*u+1>>>0,x=new Uint8Array(b);m!==g;){for(var D=y[m],v=0,E=b-1;(D!==0||v<p)&&E!==-1;E--,v++)D+=256*x[E]>>>0,x[E]=D%s>>>0,D=D/s>>>0;if(D!==0)throw new Error("Non-zero carry");p=v,m++}for(var C=b-p;C!==b&&x[C]===0;)C++;for(var B=a.repeat(h);C<b;++C)B+=e.charAt(x[C]);return B}function l(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return new Uint8Array;var h=0;if(y[h]!==" "){for(var p=0,m=0;y[h]===a;)p++,h++;for(var g=(y.length-h)*c+1>>>0,b=new Uint8Array(g);y[h];){var x=t[y.charCodeAt(h)];if(x===255)return;for(var D=0,v=g-1;(x!==0||D<m)&&v!==-1;v--,D++)x+=s*b[v]>>>0,b[v]=x%256>>>0,x=x/256>>>0;if(x!==0)throw new Error("Non-zero carry");m=D,h++}if(y[h]!==" "){for(var E=g-m;E!==g&&b[E]===0;)E++;for(var C=new Uint8Array(p+(g-E)),B=p;E!==g;)C[B++]=b[E++];return C}}}function d(y){var h=l(y);if(h)return h;throw new Error("Non-base"+s+" character")}return{encode:f,decodeUnsafe:l,decode:d}}zp.exports=Wv});var Vs=ot((zk,Wp)=>{"use strict";var $v=new TextDecoder,Yv=e=>$v.decode(e),Xv=new TextEncoder,Zv=e=>Xv.encode(e);function Qv(e,t){let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r}Wp.exports={decodeText:Yv,encodeText:Zv,concat:Qv}});var Yp=ot((Gk,$p)=>{"use strict";var{encodeText:jv}=Vs(),X0=class{constructor(t,r,n,i){this.name=t,this.code=r,this.codeBuf=jv(this.code),this.alphabet=i,this.codec=n(i)}encode(t){return this.codec.encode(t)}decode(t){for(let r of t)if(this.alphabet&&this.alphabet.indexOf(r)<0)throw new Error(`invalid character '${r}' in '${t}'`);return this.codec.decode(t)}};$p.exports=X0});var Zp=ot((Wk,Xp)=>{"use strict";var Jv=(e,t,r)=>{let n={};for(let u=0;u<t.length;++u)n[t[u]]=u;let i=e.length;for(;e[i-1]==="=";)--i;let o=new Uint8Array(i*r/8|0),s=0,a=0,c=0;for(let u=0;u<i;++u){let f=n[e[u]];if(f===void 0)throw new SyntaxError("Invalid character "+e[u]);a=a<<r|f,s+=r,s>=8&&(s-=8,o[c++]=255&a>>s)}if(s>=r||255&a<<8-s)throw new SyntaxError("Unexpected end of data");return o},t8=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},e8=e=>t=>({encode(r){return t8(r,t,e)},decode(r){return Jv(r,t,e)}});Xp.exports={rfc4648:e8}});var t1=ot(($k,Jp)=>{"use strict";var Xi=Gp(),r8=Yp(),{rfc4648:$t}=Zp(),{decodeText:n8,encodeText:i8}=Vs(),o8=()=>({encode:n8,decode:i8}),Qp=[["identity","\0",o8,""],["base2","0",$t(1),"01"],["base8","7",$t(3),"01234567"],["base10","9",Xi,"0123456789"],["base16","f",$t(4),"0123456789abcdef"],["base16upper","F",$t(4),"0123456789ABCDEF"],["base32hex","v",$t(5),"0123456789abcdefghijklmnopqrstuv"],["base32hexupper","V",$t(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV"],["base32hexpad","t",$t(5),"0123456789abcdefghijklmnopqrstuv="],["base32hexpadupper","T",$t(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV="],["base32","b",$t(5),"abcdefghijklmnopqrstuvwxyz234567"],["base32upper","B",$t(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"],["base32pad","c",$t(5),"abcdefghijklmnopqrstuvwxyz234567="],["base32padupper","C",$t(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567="],["base32z","h",$t(5),"ybndrfg8ejkmcpqxot1uwisza345h769"],["base36","k",Xi,"0123456789abcdefghijklmnopqrstuvwxyz"],["base36upper","K",Xi,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"],["base58btc","z",Xi,"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"],["base58flickr","Z",Xi,"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"],["base64","m",$t(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"],["base64pad","M",$t(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],["base64url","u",$t(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"],["base64urlpad","U",$t(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_="]],jp=Qp.reduce((e,t)=>(e[t[0]]=new r8(t[0],t[1],t[2],t[3]),e),{}),s8=Qp.reduce((e,t)=>(e[t[1]]=jp[t[0]],e),{});Jp.exports={names:jp,codes:s8}});var n1=ot((hr,r1)=>{"use strict";var jn=t1(),{encodeText:a8,decodeText:Hs,concat:e1}=Vs();function c8(e,t){if(!t)throw new Error("requires an encoded Uint8Array");let{name:r,codeBuf:n}=yn(e);return h8(r,t),e1([n,t],n.length+t.length)}function u8(e,t){let r=yn(e),n=a8(r.encode(t));return e1([r.codeBuf,n],r.codeBuf.length+n.length)}function f8(e){e instanceof Uint8Array&&(e=Hs(e));let t=e[0];return["f","F","v","V","t","T","b","B","c","C","h","k","K"].includes(t)&&(e=e.toLowerCase()),yn(e[0]).decode(e.substring(1))}function l8(e){if(e instanceof Uint8Array&&(e=Hs(e)),Object.prototype.toString.call(e)!=="[object String]")return!1;try{return yn(e[0]).name}catch{return!1}}function h8(e,t){yn(e).decode(Hs(t))}function yn(e){if(Object.prototype.hasOwnProperty.call(jn.names,e))return jn.names[e];if(Object.prototype.hasOwnProperty.call(jn.codes,e))return jn.codes[e];throw new Error(`Unsupported encoding: ${e}`)}function d8(e){return e instanceof Uint8Array&&(e=Hs(e)),yn(e[0])}hr=r1.exports=c8;hr.encode=u8;hr.decode=f8;hr.isEncoded=l8;hr.encoding=yn;hr.encodingFromData=d8;var p8=Object.freeze(jn.names),y8=Object.freeze(jn.codes);hr.names=p8;hr.codes=y8});var a1=ot((Yk,s1)=>{s1.exports=o1;var i1=128,m8=127,g8=~m8,x8=Math.pow(2,31);function o1(e,t,r){t=t||[],r=r||0;for(var n=r;e>=x8;)t[r++]=e&255|i1,e/=128;for(;e&g8;)t[r++]=e&255|i1,e>>>=7;return t[r]=e|0,o1.bytes=r-n+1,t}});var f1=ot((Xk,u1)=>{u1.exports=Z0;var b8=128,c1=127;function Z0(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw Z0.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&c1)<<i:(s&c1)*Math.pow(2,i),i+=7}while(s>=b8);return Z0.bytes=o-n,r}});var h1=ot((Zk,l1)=>{var w8=Math.pow(2,7),v8=Math.pow(2,14),E8=Math.pow(2,21),S8=Math.pow(2,28),A8=Math.pow(2,35),D8=Math.pow(2,42),C8=Math.pow(2,49),B8=Math.pow(2,56),T8=Math.pow(2,63);l1.exports=function(e){return e<w8?1:e<v8?2:e<E8?3:e<S8?4:e<A8?5:e<D8?6:e<C8?7:e<B8?8:e<T8?9:10}});var p1=ot((Qk,d1)=>{d1.exports={encode:a1(),decode:f1(),encodingLength:h1()}});var m1=ot((jk,y1)=>{"use strict";var I8=Object.freeze({identity:0,sha1:17,"sha2-256":18,"sha2-512":19,"sha3-512":20,"sha3-384":21,"sha3-256":22,"sha3-224":23,"shake-128":24,"shake-256":25,"keccak-224":26,"keccak-256":27,"keccak-384":28,"keccak-512":29,blake3:30,"murmur3-128":34,"murmur3-32":35,"dbl-sha2-256":86,md4:212,md5:213,bmt:214,"sha2-256-trunc254-padded":4114,"ripemd-128":4178,"ripemd-160":4179,"ripemd-256":4180,"ripemd-320":4181,x11:4352,kangarootwelve:7425,"sm3-256":21325,"blake2b-8":45569,"blake2b-16":45570,"blake2b-24":45571,"blake2b-32":45572,"blake2b-40":45573,"blake2b-48":45574,"blake2b-56":45575,"blake2b-64":45576,"blake2b-72":45577,"blake2b-80":45578,"blake2b-88":45579,"blake2b-96":45580,"blake2b-104":45581,"blake2b-112":45582,"blake2b-120":45583,"blake2b-128":45584,"blake2b-136":45585,"blake2b-144":45586,"blake2b-152":45587,"blake2b-160":45588,"blake2b-168":45589,"blake2b-176":45590,"blake2b-184":45591,"blake2b-192":45592,"blake2b-200":45593,"blake2b-208":45594,"blake2b-216":45595,"blake2b-224":45596,"blake2b-232":45597,"blake2b-240":45598,"blake2b-248":45599,"blake2b-256":45600,"blake2b-264":45601,"blake2b-272":45602,"blake2b-280":45603,"blake2b-288":45604,"blake2b-296":45605,"blake2b-304":45606,"blake2b-312":45607,"blake2b-320":45608,"blake2b-328":45609,"blake2b-336":45610,"blake2b-344":45611,"blake2b-352":45612,"blake2b-360":45613,"blake2b-368":45614,"blake2b-376":45615,"blake2b-384":45616,"blake2b-392":45617,"blake2b-400":45618,"blake2b-408":45619,"blake2b-416":45620,"blake2b-424":45621,"blake2b-432":45622,"blake2b-440":45623,"blake2b-448":45624,"blake2b-456":45625,"blake2b-464":45626,"blake2b-472":45627,"blake2b-480":45628,"blake2b-488":45629,"blake2b-496":45630,"blake2b-504":45631,"blake2b-512":45632,"blake2s-8":45633,"blake2s-16":45634,"blake2s-24":45635,"blake2s-32":45636,"blake2s-40":45637,"blake2s-48":45638,"blake2s-56":45639,"blake2s-64":45640,"blake2s-72":45641,"blake2s-80":45642,"blake2s-88":45643,"blake2s-96":45644,"blake2s-104":45645,"blake2s-112":45646,"blake2s-120":45647,"blake2s-128":45648,"blake2s-136":45649,"blake2s-144":45650,"blake2s-152":45651,"blake2s-160":45652,"blake2s-168":45653,"blake2s-176":45654,"blake2s-184":45655,"blake2s-192":45656,"blake2s-200":45657,"blake2s-208":45658,"blake2s-216":45659,"blake2s-224":45660,"blake2s-232":45661,"blake2s-240":45662,"blake2s-248":45663,"blake2s-256":45664,"skein256-8":45825,"skein256-16":45826,"skein256-24":45827,"skein256-32":45828,"skein256-40":45829,"skein256-48":45830,"skein256-56":45831,"skein256-64":45832,"skein256-72":45833,"skein256-80":45834,"skein256-88":45835,"skein256-96":45836,"skein256-104":45837,"skein256-112":45838,"skein256-120":45839,"skein256-128":45840,"skein256-136":45841,"skein256-144":45842,"skein256-152":45843,"skein256-160":45844,"skein256-168":45845,"skein256-176":45846,"skein256-184":45847,"skein256-192":45848,"skein256-200":45849,"skein256-208":45850,"skein256-216":45851,"skein256-224":45852,"skein256-232":45853,"skein256-240":45854,"skein256-248":45855,"skein256-256":45856,"skein512-8":45857,"skein512-16":45858,"skein512-24":45859,"skein512-32":45860,"skein512-40":45861,"skein512-48":45862,"skein512-56":45863,"skein512-64":45864,"skein512-72":45865,"skein512-80":45866,"skein512-88":45867,"skein512-96":45868,"skein512-104":45869,"skein512-112":45870,"skein512-120":45871,"skein512-128":45872,"skein512-136":45873,"skein512-144":45874,"skein512-152":45875,"skein512-160":45876,"skein512-168":45877,"skein512-176":45878,"skein512-184":45879,"skein512-192":45880,"skein512-200":45881,"skein512-208":45882,"skein512-216":45883,"skein512-224":45884,"skein512-232":45885,"skein512-240":45886,"skein512-248":45887,"skein512-256":45888,"skein512-264":45889,"skein512-272":45890,"skein512-280":45891,"skein512-288":45892,"skein512-296":45893,"skein512-304":45894,"skein512-312":45895,"skein512-320":45896,"skein512-328":45897,"skein512-336":45898,"skein512-344":45899,"skein512-352":45900,"skein512-360":45901,"skein512-368":45902,"skein512-376":45903,"skein512-384":45904,"skein512-392":45905,"skein512-400":45906,"skein512-408":45907,"skein512-416":45908,"skein512-424":45909,"skein512-432":45910,"skein512-440":45911,"skein512-448":45912,"skein512-456":45913,"skein512-464":45914,"skein512-472":45915,"skein512-480":45916,"skein512-488":45917,"skein512-496":45918,"skein512-504":45919,"skein512-512":45920,"skein1024-8":45921,"skein1024-16":45922,"skein1024-24":45923,"skein1024-32":45924,"skein1024-40":45925,"skein1024-48":45926,"skein1024-56":45927,"skein1024-64":45928,"skein1024-72":45929,"skein1024-80":45930,"skein1024-88":45931,"skein1024-96":45932,"skein1024-104":45933,"skein1024-112":45934,"skein1024-120":45935,"skein1024-128":45936,"skein1024-136":45937,"skein1024-144":45938,"skein1024-152":45939,"skein1024-160":45940,"skein1024-168":45941,"skein1024-176":45942,"skein1024-184":45943,"skein1024-192":45944,"skein1024-200":45945,"skein1024-208":45946,"skein1024-216":45947,"skein1024-224":45948,"skein1024-232":45949,"skein1024-240":45950,"skein1024-248":45951,"skein1024-256":45952,"skein1024-264":45953,"skein1024-272":45954,"skein1024-280":45955,"skein1024-288":45956,"skein1024-296":45957,"skein1024-304":45958,"skein1024-312":45959,"skein1024-320":45960,"skein1024-328":45961,"skein1024-336":45962,"skein1024-344":45963,"skein1024-352":45964,"skein1024-360":45965,"skein1024-368":45966,"skein1024-376":45967,"skein1024-384":45968,"skein1024-392":45969,"skein1024-400":45970,"skein1024-408":45971,"skein1024-416":45972,"skein1024-424":45973,"skein1024-432":45974,"skein1024-440":45975,"skein1024-448":45976,"skein1024-456":45977,"skein1024-464":45978,"skein1024-472":45979,"skein1024-480":45980,"skein1024-488":45981,"skein1024-496":45982,"skein1024-504":45983,"skein1024-512":45984,"skein1024-520":45985,"skein1024-528":45986,"skein1024-536":45987,"skein1024-544":45988,"skein1024-552":45989,"skein1024-560":45990,"skein1024-568":45991,"skein1024-576":45992,"skein1024-584":45993,"skein1024-592":45994,"skein1024-600":45995,"skein1024-608":45996,"skein1024-616":45997,"skein1024-624":45998,"skein1024-632":45999,"skein1024-640":46e3,"skein1024-648":46001,"skein1024-656":46002,"skein1024-664":46003,"skein1024-672":46004,"skein1024-680":46005,"skein1024-688":46006,"skein1024-696":46007,"skein1024-704":46008,"skein1024-712":46009,"skein1024-720":46010,"skein1024-728":46011,"skein1024-736":46012,"skein1024-744":46013,"skein1024-752":46014,"skein1024-760":46015,"skein1024-768":46016,"skein1024-776":46017,"skein1024-784":46018,"skein1024-792":46019,"skein1024-800":46020,"skein1024-808":46021,"skein1024-816":46022,"skein1024-824":46023,"skein1024-832":46024,"skein1024-840":46025,"skein1024-848":46026,"skein1024-856":46027,"skein1024-864":46028,"skein1024-872":46029,"skein1024-880":46030,"skein1024-888":46031,"skein1024-896":46032,"skein1024-904":46033,"skein1024-912":46034,"skein1024-920":46035,"skein1024-928":46036,"skein1024-936":46037,"skein1024-944":46038,"skein1024-952":46039,"skein1024-960":46040,"skein1024-968":46041,"skein1024-976":46042,"skein1024-984":46043,"skein1024-992":46044,"skein1024-1000":46045,"skein1024-1008":46046,"skein1024-1016":46047,"skein1024-1024":46048,"poseidon-bls12_381-a2-fc1":46081,"poseidon-bls12_381-a2-fc1-sc":46082});y1.exports={names:I8}});function _8(e,t){if(e.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<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,m=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,D=new Uint8Array(x);g!==b;){for(var v=h[g],E=0,C=x-1;(v!==0||E<m)&&C!==-1;C--,E++)v+=256*D[C]>>>0,D[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=E,g++}for(var B=x-m;B!==x&&D[B]===0;)B++;for(var O=c.repeat(p);B<x;++B)O+=e.charAt(D[B]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var m=0,g=0;h[p]===c;)m++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var D=r[h.charCodeAt(p)];if(D===255)return;for(var v=0,E=b-1;(D!==0||v<g)&&E!==-1;E--,v++)D+=a*x[E]>>>0,x[E]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");g=v,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(m+(b-C)),O=m;C!==b;)B[O++]=x[C++];return B}}}function y(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:y}}var k8,R8,g1,x1=lt(()=>{k8=_8,R8=k8,g1=R8});var tR,b1,dr,w1,v1,Nr=lt(()=>{tR=new Uint8Array(0),b1=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},dr=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")},w1=e=>new TextEncoder().encode(e),v1=e=>new TextDecoder().decode(e)});var Q0,j0,J0,S1,tu,Jn,Pr,L8,N8,It,Re=lt(()=>{x1();Nr();Q0=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},j0=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return S1(this,t)}},J0=class{constructor(t){this.decoders=t}or(t){return S1(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},S1=(e,t)=>new J0({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),tu=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Q0(t,r,n),this.decoder=new j0(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Jn=({name:e,prefix:t,encode:r,decode:n})=>new tu(e,t,r,n),Pr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=g1(r,t);return Jn({prefix:e,name:t,encode:n,decode:o=>dr(i(o))})},L8=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},N8=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},It=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Jn({prefix:t,name:e,encode(i){return N8(i,n,r)},decode(i){return L8(i,n,r,e)}})});var eu={};ct(eu,{identity:()=>P8});var P8,A1=lt(()=>{Re();Nr();P8=Jn({prefix:"\0",name:"identity",encode:e=>v1(e),decode:e=>w1(e)})});var ru={};ct(ru,{base2:()=>U8});var U8,D1=lt(()=>{Re();U8=It({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})});var nu={};ct(nu,{base8:()=>O8});var O8,C1=lt(()=>{Re();O8=It({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})});var iu={};ct(iu,{base10:()=>K8});var K8,B1=lt(()=>{Re();K8=Pr({prefix:"9",name:"base10",alphabet:"0123456789"})});var ou={};ct(ou,{base16:()=>M8,base16upper:()=>F8});var M8,F8,T1=lt(()=>{Re();M8=It({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),F8=It({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});var su={};ct(su,{base32:()=>ti,base32hex:()=>z8,base32hexpad:()=>W8,base32hexpadupper:()=>$8,base32hexupper:()=>G8,base32pad:()=>H8,base32padupper:()=>q8,base32upper:()=>V8,base32z:()=>Y8});var ti,V8,H8,q8,z8,G8,W8,$8,Y8,au=lt(()=>{Re();ti=It({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),V8=It({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),H8=It({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),q8=It({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),z8=It({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),G8=It({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),W8=It({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),$8=It({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Y8=It({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})});var cu={};ct(cu,{base36:()=>X8,base36upper:()=>Z8});var X8,Z8,I1=lt(()=>{Re();X8=Pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Z8=Pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})});var uu={};ct(uu,{base58btc:()=>Ge,base58flickr:()=>Q8});var Ge,Q8,fu=lt(()=>{Re();Ge=Pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Q8=Pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});var lu={};ct(lu,{base64:()=>j8,base64pad:()=>J8,base64url:()=>tE,base64urlpad:()=>eE});var j8,J8,tE,eE,_1=lt(()=>{Re();j8=It({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),J8=It({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),tE=It({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),eE=It({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});var hu={};ct(hu,{base256emoji:()=>sE});function iE(e){return e.reduce((t,r)=>(t+=rE[r],t),"")}function oE(e){let t=[];for(let r of e){let n=nE[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var k1,rE,nE,sE,R1=lt(()=>{Re();k1=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}"),rE=k1.reduce((e,t,r)=>(e[r]=t,e),[]),nE=k1.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);sE=Jn({prefix:"\u{1F680}",name:"base256emoji",encode:iE,decode:oE})});function P1(e,t,r){t=t||[],r=r||0;for(var n=r;e>=fE;)t[r++]=e&255|L1,e/=128;for(;e&uE;)t[r++]=e&255|L1,e>>>=7;return t[r]=e|0,P1.bytes=r-n+1,t}function du(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw du.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&N1)<<i:(s&N1)*Math.pow(2,i),i+=7}while(s>=hE);return du.bytes=o-n,r}var aE,L1,cE,uE,fE,lE,hE,N1,dE,pE,yE,mE,gE,xE,bE,wE,vE,EE,SE,AE,Zi,U1=lt(()=>{aE=P1,L1=128,cE=127,uE=~cE,fE=Math.pow(2,31);lE=du,hE=128,N1=127;dE=Math.pow(2,7),pE=Math.pow(2,14),yE=Math.pow(2,21),mE=Math.pow(2,28),gE=Math.pow(2,35),xE=Math.pow(2,42),bE=Math.pow(2,49),wE=Math.pow(2,56),vE=Math.pow(2,63),EE=function(e){return e<dE?1:e<pE?2:e<yE?3:e<mE?4:e<gE?5:e<xE?6:e<bE?7:e<wE?8:e<vE?9:10},SE={encode:aE,decode:lE,encodingLength:EE},AE=SE,Zi=AE});var Qi,ei,ri,zs=lt(()=>{U1();Qi=(e,t=0)=>[Zi.decode(e,t),Zi.decode.bytes],ei=(e,t,r=0)=>(Zi.encode(e,t,r),t),ri=e=>Zi.encodingLength(e)});var mn,O1,K1,ni,Ji=lt(()=>{Nr();zs();mn=(e,t)=>{let r=t.byteLength,n=ri(e),i=n+ri(r),o=new Uint8Array(i+r);return ei(e,o,0),ei(r,o,n),o.set(t,i),new ni(e,r,t,o)},O1=e=>{let t=dr(e),[r,n]=Qi(t),[i,o]=Qi(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new ni(r,i,s,t)},K1=(e,t)=>e===t?!0:e.code===t.code&&e.size===t.size&&b1(e.bytes,t.bytes),ni=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}}});var yu,pu,mu=lt(()=>{Ji();yu=({name:e,code:t,encode:r})=>new pu(e,t,r),pu=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?mn(this.code,r):r.then(n=>mn(this.code,n))}else throw Error("Unknown type, must be binary type")}}});var gu={};ct(gu,{sha256:()=>DE,sha512:()=>CE});var F1,DE,CE,V1=lt(()=>{mu();F1=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),DE=yu({name:"sha2-256",code:18,encode:F1("SHA-256")}),CE=yu({name:"sha2-512",code:19,encode:F1("SHA-512")})});var xu={};ct(xu,{identity:()=>IE});var H1,BE,q1,TE,IE,z1=lt(()=>{Nr();Ji();H1=0,BE="identity",q1=dr,TE=e=>mn(H1,q1(e)),IE={code:H1,name:BE,encode:q1,digest:TE}});var G1=lt(()=>{Nr()});var vR,ER,W1=lt(()=>{vR=new TextEncoder,ER=new TextDecoder});var $s,RE,LE,NE,to,PE,$1,Y1,Gs,Ws,UE,OE,KE,X1=lt(()=>{zs();Ji();fu();au();Nr();$s=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:Ws,byteLength:Ws,code:Gs,version:Gs,multihash:Gs,bytes:Gs,_baseCache:Ws,asCID:Ws})}toV0(){switch(this.version){case 0:return this;default:{let{code:t,multihash:r}=this;if(t!==to)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==PE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=mn(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(t){return t&&this.code===t.code&&this.version===t.version&&K1(this.multihash,t.multihash)}toString(t){let{bytes:r,version:n,_baseCache:i}=this;switch(n){case 0:return LE(r,i,t||Ge.encoder);default:return NE(r,i,t||ti.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(t){return OE(/^0\.0/,KE),!!(t&&(t[Y1]||t.asCID===t))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(t){if(t instanceof e)return t;if(t!=null&&t.asCID===t){let{version:r,code:n,multihash:i,bytes:o}=t;return new e(r,n,i,o||$1(r,n,i.bytes))}else if(t!=null&&t[Y1]===!0){let{version:r,multihash:n,code:i}=t,o=O1(n);return e.create(r,i,o)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");switch(t){case 0:{if(r!==to)throw new Error(`Version 0 CID must use dag-pb (code: ${to}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=$1(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,to,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=dr(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new ni(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=Qi(t.subarray(r));return r+=d,l},i=n(),o=to;if(i===18?(i=0,r=0):i===1&&(o=n()),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=RE(t,r),o=e.decode(i);return o._baseCache.set(n,t),o}},RE=(e,t)=>{switch(e[0]){case"Q":{let r=t||Ge;return[Ge.prefix,r.decode(`${Ge.prefix}${e}`)]}case Ge.prefix:{let r=t||Ge;return[Ge.prefix,r.decode(e)]}case ti.prefix:{let r=t||ti;return[ti.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},LE=(e,t,r)=>{let{prefix:n}=r;if(n!==Ge.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},NE=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},to=112,PE=18,$1=(e,t,r)=>{let n=ri(e),i=n+ri(t),o=new Uint8Array(i+r.byteLength);return ei(e,o,0),ei(t,o,n),o.set(r,i),o},Y1=Symbol.for("@ipld/js-cid/CID"),Gs={writable:!1,configurable:!1,enumerable:!0},Ws={writable:!1,enumerable:!1,configurable:!1},UE="0.0.0-dev",OE=(e,t)=>{if(e.test(UE))console.warn(t);else throw new Error(t)},KE=`CID.isCID(v) is deprecated and will be removed in the next major release.
16
16
  Following code pattern:
17
17
 
18
18
  if (CID.isCID(value)) {
@@ -26,7 +26,7 @@ if (cid) {
26
26
  // Make sure to use cid instead of value
27
27
  doSomethingWithCID(cid)
28
28
  }
29
- `});var Z1=lt(()=>{X1();zs();Nr();mu();Ji()});var bu,TR,Q1=lt(()=>{A1();D1();C1();B1();T1();au();I1();fu();_1();R1();V1();z1();G1();W1();Z1();bu={...eu,...ru,...nu,...iu,...ou,...su,...cu,...uu,...lu,...hu},TR={...gu,...xu}});function ii(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}var Ys=lt(()=>{});function Xs(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?ii(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var wu=lt(()=>{Ys()});function J1(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var j1,vu,ME,Zs,Eu=lt(()=>{Q1();wu();j1=J1("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),vu=J1("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Xs(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),ME={utf8:j1,"utf-8":j1,hex:bu.base16,latin1:vu,ascii:vu,binary:vu,...bu},Zs=ME});var ty={};ct(ty,{toString:()=>FE});function FE(e,t="utf8"){let r=Zs[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var ey=lt(()=>{Eu()});var ry={};ct(ry,{fromString:()=>VE});function VE(e,t="utf8"){let r=Zs[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ii(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var ny=lt(()=>{Eu();Ys()});var iy={};ct(iy,{concat:()=>HE});function HE(e,t){t||(t=e.reduce((i,o)=>i+o.length,0));let r=Xs(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return ii(r)}var oy=lt(()=>{wu();Ys()});var Au=ot((VR,ly)=>{"use strict";var sy=n1(),oi=p1(),{names:eo}=m1(),{toString:Qs}=(ey(),no(ty)),{fromString:qE}=(ny(),no(ry)),{concat:zE}=(oy(),no(iy)),si={};for(let e in eo){let t=e;si[eo[t]]=t}Object.freeze(si);function GE(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Qs(e,"base16")}function WE(e){return qE(e,"base16")}function $E(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Qs(sy.encode("base58btc",e)).slice(1)}function YE(e){let t=e instanceof Uint8Array?Qs(e):e;return sy.decode("z"+t)}function ay(e){if(!(e instanceof Uint8Array))throw new Error("multihash must be a Uint8Array");if(e.length<2)throw new Error("multihash too short. must be > 2 bytes.");let t=oi.decode(e);if(!uy(t))throw new Error(`multihash unknown function code: 0x${t.toString(16)}`);e=e.slice(oi.decode.bytes);let r=oi.decode(e);if(r<0)throw new Error(`multihash invalid length: ${r}`);if(e=e.slice(oi.decode.bytes),e.length!==r)throw new Error(`multihash length inconsistent: 0x${Qs(e,"base16")}`);return{code:t,name:si[t],length:r,digest:e}}function XE(e,t,r){if(!e||t===void 0)throw new Error("multihash encode requires at least two args: digest, code");let n=cy(t);if(!(e instanceof Uint8Array))throw new Error("digest should be a Uint8Array");if(r==null&&(r=e.length),r&&e.length!==r)throw new Error("digest length should be equal to specified length.");let i=oi.encode(n),o=oi.encode(r);return zE([i,o,e],i.length+o.length+e.length)}function cy(e){let t=e;if(typeof e=="string"){if(eo[e]===void 0)throw new Error(`Unrecognized hash function named: ${e}`);t=eo[e]}if(typeof t!="number")throw new Error(`Hash function code should be a number. Got: ${t}`);if(si[t]===void 0&&!Su(t))throw new Error(`Unrecognized function code: ${t}`);return t}function Su(e){return e>0&&e<16}function uy(e){return!!(Su(e)||si[e])}function fy(e){ay(e)}function ZE(e){return fy(e),e.subarray(0,2)}ly.exports={names:eo,codes:si,toHexString:GE,fromHexString:WE,toB58String:$E,fromB58String:YE,decode:ay,encode:XE,coerceCode:cy,isAppCode:Su,validate:fy,prefix:ZE,isValidCode:uy}});var s3={};ct(s3,{webRTC:()=>o3,webRTCDirect:()=>i3});var c3=Symbol.for("@libp2p/connection");var f3=Symbol.for("@libp2p/content-routing");var d3=Symbol.for("@libp2p/peer-discovery");var Ou=Symbol.for("@libp2p/peer-id");var m3=Symbol.for("@libp2p/peer-routing");var Ku;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(Ku||(Ku={}));var io=Symbol.for("@libp2p/transport");var Mu;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(Mu||(Mu={}));var W=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var oo=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new Ly(t,r))}},ea=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},Ly=globalThis.CustomEvent??ea,Fu=(e,...t)=>{try{[...t]}catch{}};var sa={};ct(sa,{base58btc:()=>_t,base58flickr:()=>My});function Ny(e,t){if(e.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<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,m=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,D=new Uint8Array(x);g!==b;){for(var v=h[g],E=0,C=x-1;(v!==0||E<m)&&C!==-1;C--,E++)v+=256*D[C]>>>0,D[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=E,g++}for(var B=x-m;B!==x&&D[B]===0;)B++;for(var O=c.repeat(p);B<x;++B)O+=e.charAt(D[B]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var m=0,g=0;h[p]===c;)m++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var D=r[h.charCodeAt(p)];if(D===255)return;for(var v=0,E=b-1;(D!==0||v<g)&&E!==-1;E--,v++)D+=a*x[E]>>>0,x[E]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");g=v,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(m+(b-C)),O=m;C!==b;)B[O++]=x[C++];return B}}}function y(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:y}}var Py=Ny,Uy=Py,Vu=Uy;var Z3=new Uint8Array(0);var Hu=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},$e=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var qu=e=>new TextEncoder().encode(e),zu=e=>new TextDecoder().decode(e);var ra=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},na=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Wu(this,t)}},ia=class{constructor(t){this.decoders=t}or(t){return Wu(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Wu=(e,t)=>new ia({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),oa=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new ra(t,r,n),this.decoder=new na(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},gn=({name:e,prefix:t,encode:r,decode:n})=>new oa(e,t,r,n),pr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Vu(r,t);return gn({prefix:e,name:t,encode:n,decode:o=>$e(i(o))})},Oy=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Ky=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Tt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>gn({prefix:t,name:e,encode(i){return Ky(i,n,r)},decode(i){return Oy(i,n,r,e)}});var _t=pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),My=pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var aa={};ct(aa,{base10:()=>Fy});var Fy=pr({prefix:"9",name:"base10",alphabet:"0123456789"});var ca={};ct(ca,{base16:()=>Vy,base16upper:()=>Hy});var Vy=Tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Hy=Tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ua={};ct(ua,{base2:()=>qy});var qy=Tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var fa={};ct(fa,{base256emoji:()=>Yy});var $u=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}"),zy=$u.reduce((e,t,r)=>(e[r]=t,e),[]),Gy=$u.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Wy(e){return e.reduce((t,r)=>(t+=zy[r],t),"")}function $y(e){let t=[];for(let r of e){let n=Gy[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Yy=gn({prefix:"\u{1F680}",name:"base256emoji",encode:Wy,decode:$y});var la={};ct(la,{base32:()=>Ye,base32hex:()=>jy,base32hexpad:()=>t2,base32hexpadupper:()=>e2,base32hexupper:()=>Jy,base32pad:()=>Zy,base32padupper:()=>Qy,base32upper:()=>Xy,base32z:()=>r2});var Ye=Tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xy=Tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Zy=Tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Qy=Tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),jy=Tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Jy=Tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),t2=Tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),e2=Tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),r2=Tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ha={};ct(ha,{base36:()=>n2,base36upper:()=>i2});var n2=pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),i2=pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var pa={};ct(pa,{base64:()=>so,base64pad:()=>o2,base64url:()=>da,base64urlpad:()=>s2});var so=Tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),o2=Tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),da=Tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),s2=Tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ya={};ct(ya,{base8:()=>a2});var a2=Tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ma={};ct(ma,{identity:()=>c2});var c2=gn({prefix:"\0",name:"identity",encode:e=>zu(e),decode:e=>qu(e)});var l4=new TextEncoder,h4=new TextDecoder;var xa={};ct(xa,{identity:()=>yr});var l2=Zu,Yu=128,h2=127,d2=~h2,p2=Math.pow(2,31);function Zu(e,t,r){t=t||[],r=r||0;for(var n=r;e>=p2;)t[r++]=e&255|Yu,e/=128;for(;e&d2;)t[r++]=e&255|Yu,e>>>=7;return t[r]=e|0,Zu.bytes=r-n+1,t}var y2=ga,m2=128,Xu=127;function ga(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw ga.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Xu)<<i:(s&Xu)*Math.pow(2,i),i+=7}while(s>=m2);return ga.bytes=o-n,r}var g2=Math.pow(2,7),x2=Math.pow(2,14),b2=Math.pow(2,21),w2=Math.pow(2,28),v2=Math.pow(2,35),E2=Math.pow(2,42),S2=Math.pow(2,49),A2=Math.pow(2,56),D2=Math.pow(2,63),C2=function(e){return e<g2?1:e<x2?2:e<b2?3:e<w2?4:e<v2?5:e<E2?6:e<S2?7:e<A2?8:e<D2?9:10},B2={encode:l2,decode:y2,encodingLength:C2},T2=B2,ci=T2;var ui=(e,t=0)=>[ci.decode(e,t),ci.decode.bytes],xn=(e,t,r=0)=>(ci.encode(e,t,r),t),bn=e=>ci.encodingLength(e);var Le=(e,t)=>{let r=t.byteLength,n=bn(e),i=n+bn(r),o=new Uint8Array(i+r);return xn(e,o,0),xn(r,o,n),o.set(t,i),new wn(e,r,t,o)},Or=e=>{let t=$e(e),[r,n]=ui(t),[i,o]=ui(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new wn(r,i,s,t)},Qu=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Hu(e.bytes,r.bytes)}},wn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var ju=0,I2="identity",Ju=$e,_2=e=>Le(ju,Ju(e)),yr={code:ju,name:I2,encode:Ju,digest:_2};var va={};ct(va,{sha256:()=>Gt,sha512:()=>k2});var wa=({name:e,code:t,encode:r})=>new ba(e,t,r),ba=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Le(this.code,r):r.then(n=>Le(this.code,n))}else throw Error("Unknown type, must be binary type")}};var ef=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Gt=wa({name:"sha2-256",code:18,encode:ef("SHA-256")}),k2=wa({name:"sha2-512",code:19,encode:ef("SHA-512")});var rf=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return L2(r,Ea(e),t||_t.encoder);default:return N2(r,Ea(e),t||Ye.encoder)}};var nf=new WeakMap,Ea=e=>{let t=nf.get(e);if(t==null){let r=new Map;return nf.set(e,r),r}return t},be=class e{constructor(t,r,n,i){this.code=r,this.version=t,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:t,multihash:r}=this;if(t!==fi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==P2)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Le(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Qu(t.multihash,n.multihash)}toString(t){return rf(this,t)}toJSON(){return{"/":rf(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new e(n,i,o,s||of(n,i,o.bytes))}else if(r[U2]===!0){let{version:n,multihash:i,code:o}=r,s=Or(i);return e.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==fi)throw new Error(`Version 0 CID must use dag-pb (code: ${fi}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=of(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,fi,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=$e(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new wn(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=ui(t.subarray(r));return r+=d,l},i=n(),o=fi;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=R2(t,r),o=e.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ea(o).set(n,t),o}},R2=(e,t)=>{switch(e[0]){case"Q":{let r=t||_t;return[_t.prefix,r.decode(`${_t.prefix}${e}`)]}case _t.prefix:{let r=t||_t;return[_t.prefix,r.decode(e)]}case Ye.prefix:{let r=t||Ye;return[Ye.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},L2=(e,t,r)=>{let{prefix:n}=r;if(n!==_t.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},N2=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},fi=112,P2=18,of=(e,t,r)=>{let n=bn(e),i=n+bn(t),o=new Uint8Array(i+r.byteLength);return xn(e,o,0),xn(t,o,n),o.set(r,i),o},U2=Symbol.for("@ipld/js-cid/CID");var Ot={...ma,...ua,...ya,...aa,...ca,...la,...ha,...sa,...pa,...fa},T4={...va,...xa};function ce(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var O2=Symbol.for("nodejs.util.inspect.custom"),sf=Object.values(Ot).map(e=>e.decoder).reduce((e,t)=>e.or(t),Ot.identity.decoder),af=114,Sa=36,Aa=37,li=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Ou]=!0;toString(){return this.string==null&&(this.string=_t.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return be.createV1(af,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return ce(this.multihash.bytes,t);if(typeof t=="string")return Mr(t).equals(this);if(t?.multihash?.bytes!=null)return ce(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[O2](){return`PeerId(${this.toString()})`}},vn=class extends li{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},En=class extends li{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},Sn=class extends li{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Mr(e,t){if(t=t??sf,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Or(_t.decode(`z${e}`));return e.startsWith("12D")?new En({multihash:r}):e.startsWith("16U")?new Sn({multihash:r}):new vn({multihash:r})}return K2(sf.decode(e))}function K2(e){try{let t=Or(e);if(t.code===yr.code){if(t.digest.length===Sa)return new En({multihash:t});if(t.digest.length===Aa)return new Sn({multihash:t})}if(t.code===Gt.code)return new vn({multihash:t})}catch{return M2(be.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function M2(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==af)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Gt.code)return new vn({multihash:e.multihash});if(t.code===yr.code){if(t.digest.length===Sa)return new En({multihash:e.multihash});if(t.digest.length===Aa)return new Sn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Da(e,t){return e.length===Sa?new En({multihash:Le(yr.code,e),privateKey:t}):e.length===Aa?new Sn({multihash:Le(yr.code,e),privateKey:t}):new vn({multihash:await Gt.digest(e),publicKey:e,privateKey:t})}function cf(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function An(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function co(e=0){return globalThis.Buffer?.allocUnsafe!=null?An(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function ff(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var uf=ff("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ca=ff("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=co(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),V2={utf8:uf,"utf-8":uf,hex:Ot.base16,latin1:Ca,ascii:Ca,binary:Ca,...Ot},uo=V2;function re(e,t="utf8"){let r=uo[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function lf(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function hf(e=0){return globalThis.Buffer?.allocUnsafe!=null?lf(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var H2=Math.pow(2,7),q2=Math.pow(2,14),z2=Math.pow(2,21),Ba=Math.pow(2,28),Ta=Math.pow(2,35),Ia=Math.pow(2,42),_a=Math.pow(2,49),ht=128,Zt=127;function Qt(e){if(e<H2)return 1;if(e<q2)return 2;if(e<z2)return 3;if(e<Ba)return 4;if(e<Ta)return 5;if(e<Ia)return 6;if(e<_a)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function G2(e,t,r=0){switch(Qt(e)){case 8:t[r++]=e&255|ht,e/=128;case 7:t[r++]=e&255|ht,e/=128;case 6:t[r++]=e&255|ht,e/=128;case 5:t[r++]=e&255|ht,e/=128;case 4:t[r++]=e&255|ht,e>>>=7;case 3:t[r++]=e&255|ht,e>>>=7;case 2:t[r++]=e&255|ht,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function W2(e,t,r=0){switch(Qt(e)){case 8:t.set(r++,e&255|ht),e/=128;case 7:t.set(r++,e&255|ht),e/=128;case 6:t.set(r++,e&255|ht),e/=128;case 5:t.set(r++,e&255|ht),e/=128;case 4:t.set(r++,e&255|ht),e>>>=7;case 3:t.set(r++,e&255|ht),e>>>=7;case 2:t.set(r++,e&255|ht),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function $2(e,t){let r=e[t],n=0;if(n+=r&Zt,r<ht||(r=e[t+1],n+=(r&Zt)<<7,r<ht)||(r=e[t+2],n+=(r&Zt)<<14,r<ht)||(r=e[t+3],n+=(r&Zt)<<21,r<ht)||(r=e[t+4],n+=(r&Zt)*Ba,r<ht)||(r=e[t+5],n+=(r&Zt)*Ta,r<ht)||(r=e[t+6],n+=(r&Zt)*Ia,r<ht)||(r=e[t+7],n+=(r&Zt)*_a,r<ht))return n;throw new RangeError("Could not decode varint")}function Y2(e,t){let r=e.get(t),n=0;if(n+=r&Zt,r<ht||(r=e.get(t+1),n+=(r&Zt)<<7,r<ht)||(r=e.get(t+2),n+=(r&Zt)<<14,r<ht)||(r=e.get(t+3),n+=(r&Zt)<<21,r<ht)||(r=e.get(t+4),n+=(r&Zt)*Ba,r<ht)||(r=e.get(t+5),n+=(r&Zt)*Ta,r<ht)||(r=e.get(t+6),n+=(r&Zt)*Ia,r<ht)||(r=e.get(t+7),n+=(r&Zt)*_a,r<ht))return n;throw new RangeError("Could not decode varint")}function mr(e,t,r=0){return t==null&&(t=hf(Qt(e))),t instanceof Uint8Array?G2(e,t,r):W2(e,t,r)}function we(e,t=0){return e instanceof Uint8Array?$2(e,t):Y2(e,t)}function Xe(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=co(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return An(r)}var fo=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(f===void 0)break;if(o*=t,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=t(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var df=45,X2=15,Dn=new fo;function ka(e){if(!(e.length>X2))return Dn.new(e).parseWith(()=>Dn.readIPv4Addr())}function Ra(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>df))return Dn.new(e).parseWith(()=>Dn.readIPv6Addr())}function lo(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>df))return Dn.new(e).parseWith(()=>Dn.readIPAddr())}var fS=parseInt("0xFFFF",16),lS=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function La(e,t="utf8"){let r=uo[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?An(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function ho(e){return!!ka(e)}function po(e){return!!Ra(e)}function yo(e){return!!lo(e)}var mf=ho,tm=po,Na=function(e){let t=0;if(e=e.toString().trim(),mf(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(tm(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=mf(r[n]),s;o&&(s=Na(r[n]),r[n]=re(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,re(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},gf=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Cn={},Pa={},rm=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];rm.forEach(e=>{let t=nm(...e);Pa[t.code]=t,Cn[t.name]=t});function nm(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function dt(e){if(typeof e=="number"){if(Pa[e]!=null)return Pa[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Cn[e]!=null)return Cn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var QS=dt("ip4"),jS=dt("ip6"),JS=dt("ipcidr");function Oa(e,t){switch(dt(e).code){case 4:case 41:return om(t);case 42:return wf(t);case 6:case 273:case 33:case 132:return Ef(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return wf(t);case 421:return um(t);case 444:return vf(t);case 445:return vf(t);case 466:return cm(t);default:return re(t,"base16")}}function Ka(e,t){switch(dt(e).code){case 4:return xf(t);case 41:return xf(t);case 42:return bf(t);case 6:case 273:case 33:case 132:return Ma(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return bf(t);case 421:return sm(t);case 444:return fm(t);case 445:return lm(t);case 466:return am(t);default:return La(t,"base16")}}var Ua=Object.values(Ot).map(e=>e.decoder),im=function(){let e=Ua[0].or(Ua[1]);return Ua.slice(2).forEach(t=>e=e.or(t)),e}();function xf(e){if(!yo(e))throw new Error("invalid ip address");return Na(e)}function om(e){let t=gf(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!yo(t))throw new Error("invalid ip address");return t}function Ma(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Ef(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function bf(e){let t=La(e),r=Uint8Array.from(mr(t.length));return Xe([r,t],r.length+t.length)}function wf(e){let t=we(e);if(e=e.slice(Qt(t)),e.length!==t)throw new Error("inconsistent lengths");return re(e)}function sm(e){let t;e[0]==="Q"||e[0]==="1"?t=Or(_t.decode(`z${e}`)).bytes:t=be.parse(e).multihash.bytes;let r=Uint8Array.from(mr(t.length));return Xe([r,t],r.length+t.length)}function am(e){let t=im.decode(e),r=Uint8Array.from(mr(t.length));return Xe([r,t],r.length+t.length)}function cm(e){let t=we(e),r=e.slice(Qt(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+re(r,"base64url")}function um(e){let t=we(e),r=e.slice(Qt(t));if(r.length!==t)throw new Error("inconsistent lengths");return re(r,"base58btc")}function fm(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=Ye.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ma(n);return Xe([r,i],r.length+i.length)}function lm(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=Ye.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ma(n);return Xe([r,i],r.length+i.length)}function vf(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=re(t,"base32"),i=Ef(r);return`${n}:${i}`}function Sf(e){e=Fa(e);let t=[],r=[],n=null,i=e.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=dt(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Df("invalid address: "+e);if(a.path===!0){n=Fa(i.slice(o).join("/")),t.push([a.code,Ka(a.code,n)]),r.push([a.code,n]);break}let c=Ka(a.code,i[o]);t.push([a.code,c]),r.push([a.code,Oa(a.code,c)])}return{string:Af(r),bytes:Ha(t),tuples:t,stringTuples:r,path:n}}function Va(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=we(e,i),s=Qt(o),a=dt(o),c=hm(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let u=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw Df("Invalid address Uint8Array: "+re(e,"base16"));t.push([o,u]);let f=Oa(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:Af(r),tuples:t,stringTuples:r,path:n}}function Af(e){let t=[];return e.map(r=>{let n=dt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Fa(t.join("/"))}function Ha(e){return Xe(e.map(t=>{let r=dt(t[0]),n=Uint8Array.from(mr(r.code));return t.length>1&&t[1]!=null&&(n=Xe([n,t[1]])),n}))}function hm(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=we(t instanceof Uint8Array?t:Uint8Array.from(t));return r+Qt(r)}}function Fa(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Df(e){return new Error("Error parsing address: "+e)}var dm=Symbol.for("nodejs.util.inspect.custom"),qa=Symbol.for("@multiformats/js-multiaddr/multiaddr"),pm=[dt("dns").code,dt("dns4").code,dt("dns6").code,dt("dnsaddr").code],mo=class e{bytes;#t;#e;#r;#n;[qa]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Va(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=Sf(t)}else if(Bf(t))r=Va(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=dt("tcp"),a=dt("udp"),c=dt("ip4"),u=dt("ip6"),f=dt("dns6"),l=dt("ip6zone");for(let[y,h]of this.stringTuples())y===l.code&&(o=`%${h??""}`),pm.includes(y)&&(r=s.name,i=443,n=`${h??""}${o}`,t=y===f.code?6:4),(y===s.code||y===a.code)&&(r=dt(y).name,i=parseInt(h??"")),(y===c.code||y===u.code)&&(r=dt(y).name,n=`${h??""}${o}`,t=y===u.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.#e.map(([t])=>Object.assign({},dt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>dt(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Ha(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===Cn.p2p.code&&t.push([n,i]),n===Cn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?re(_t.decode(`z${n}`),"base58btc"):re(be.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return cf(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Cf.get(r.name);if(n==null)throw new W(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new e(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[dm](){return`Multiaddr(${this.#t})`}};var Cf=new Map;function Bf(e){return!!e?.[qa]}function Ze(e){return new mo(e)}var ym=e=>e.toString().split("/").slice(1),di=e=>({match:t=>t.length<1?!1:e(t[0])?t.slice(1):!1,pattern:"fn"}),kt=e=>({match:t=>di(r=>r===e).match(t),pattern:e}),bo=()=>({match:e=>di(t=>typeof t=="string").match(e),pattern:"{string}"}),Tf=()=>({match:e=>di(t=>!isNaN(parseInt(t))).match(e),pattern:"{number}"}),de=()=>({match:e=>{if(e.length<2||e[0]!=="p2p"&&e[0]!=="ipfs")return!1;if(e[1].startsWith("Q")||e[1].startsWith("1"))try{_t.decode(`z${e[1]}`)}catch{return!1}else return!1;return e.slice(2)},pattern:"/p2p/{peerid}"}),go=()=>({match:e=>{if(e.length<2||e[0]!=="certhash")return!1;try{da.decode(e[1])}catch{return!1}return e.slice(2)},pattern:"/certhash/{certhash}"}),Ne=e=>({match:t=>{let r=e.match(t);return r===!1?t:r},pattern:`optional(${e.pattern})`}),Pe=(...e)=>({match:t=>{let r;for(let n of e){let i=n.match(t);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${e.map(t=>t.pattern).join(", ")})`}),Rt=(...e)=>({match:t=>{for(let r of e){let n=r.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${e.map(t=>t.pattern).join(", ")})`});function Kt(...e){function t(i){let o=ym(i);for(let s of e){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return t(i)!==!1}function n(i){let o=t(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var Ga=Rt(kt("dns4"),bo()),Wa=Rt(kt("dns6"),bo()),$a=Rt(kt("dnsaddr"),bo()),If=Rt(kt("dns"),bo()),T5=Kt(Ga),I5=Kt(Wa),_5=Kt($a),k5=Kt(Pe(If,$a,Ga,Wa)),_f=Rt(kt("ip4"),di(ho)),kf=Rt(kt("ip6"),di(po)),Rf=Pe(_f,kf),pi=Pe(Rf,If,Ga,Wa,$a),R5=Kt(pi),L5=Kt(_f),N5=Kt(kf),P5=Kt(Rf),wo=Rt(pi,kt("tcp"),Tf()),yi=Rt(pi,kt("udp"),Tf()),mm=Pe(wo,yi),U5=Kt(wo),O5=Kt(yi),Ya=Rt(yi,kt("quic")),vo=Rt(yi,kt("quic-v1")),gm=Pe(Ya,vo),K5=Kt(Ya),M5=Kt(vo),za=Pe(pi,wo,yi,Ya,vo),Lf=Pe(Rt(za,kt("ws"),Ne(de()))),F5=Kt(Lf),Nf=Pe(Rt(za,kt("wss"),Ne(de())),Rt(za,kt("tls"),kt("ws"),Ne(de()))),V5=Kt(Nf),Pf=Rt(mm,kt("webrtc-direct"),go(),Ne(go()),Ne(de())),Uf=Kt(Pf),Of=Rt(vo,kt("webtransport"),go(),go(),Ne(de())),H5=Kt(Of),xo=Pe(Lf,Nf,Rt(wo,Ne(de())),Rt(gm,Ne(de())),Rt(pi,Ne(de())),Pf,Of,de()),q5=Kt(xo),xm=Rt(xo,kt("p2p-circuit"),de()),z5=Kt(xm),bm=Pe(Rt(xo,kt("p2p-circuit"),kt("webrtc"),de()),Rt(xo,kt("webrtc"),Ne(de())),kt("webrtc")),Kf=Kt(bm);var ue;(function(e){e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_DATA_CHANNEL="ERR_DATA_CHANNEL",e.ERR_CONNECTION_CLOSED="ERR_CONNECTION_CLOSED",e.ERR_HASH_NOT_SUPPORTED="ERR_HASH_NOT_SUPPORTED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_INVALID_FINGERPRINT="ERR_INVALID_FINGERPRINT",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS"})(ue||(ue={}));var gr=class extends W{constructor(t,r){super(`WebRTC transport error: ${t}`,r??""),this.name="WebRTCTransportError"}};var Xa=class extends gr{constructor(t,r){super(`[stream: ${t}] data channel error: ${r}`,ue.ERR_DATA_CHANNEL),this.name="WebRTC/DataChannelError"}};function ec(e,t){return new Xa(e,t)}var Za=class extends gr{constructor(t){super(`There was a problem with the Multiaddr which was passed in: ${t}`,ue.ERR_INVALID_MULTIADDR),this.name="WebRTC/InappropriateMultiaddrError"}};function Eo(e){return new Za(e)}var Qa=class extends gr{constructor(t){super(`There was a problem with a provided argument: ${t}`,ue.ERR_INVALID_PARAMETERS),this.name="WebRTC/InvalidArgumentError"}};function mi(e){return new Qa(e)}var ja=class extends gr{constructor(t,r){super(`Invalid fingerprint "${t}" within ${r}`,ue.ERR_INVALID_FINGERPRINT),this.name="WebRTC/InvalidFingerprintError"}};function rc(e,t){return new ja(e,t)}var Ja=class extends gr{constructor(t){super(`A method (${t}) was called though it has been intentionally left unimplemented.`,ue.ERR_NOT_IMPLEMENTED),this.name="WebRTC/UnimplementedError"}};function Mf(e){return new Ja(e)}var tc=class extends gr{constructor(t){super(`unsupported hash algorithm: ${t}`,ue.ERR_HASH_NOT_SUPPORTED),this.name="WebRTC/UnsupportedHashAlgorithmError"}};function Ff(e){return new tc(e)}var Vf=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},wm=function(){function e(t,r,n){this.name=t,this.version=r,this.os=n,this.type="browser"}return e}();var vm=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}();var Em=function(){function e(t,r,n,i){this.name=t,this.version=r,this.os=n,this.bot=i,this.type="bot-device"}return e}();var Sm=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}();var Am=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}();var Dm=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,Cm=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Hf=3,Bm=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",Dm]],qf=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function Gf(e){return e?zf(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Am:typeof navigator<"u"?zf(navigator.userAgent):_m()}function Tm(e){return e!==""&&Bm.reduce(function(t,r){var n=r[0],i=r[1];if(t)return t;var o=i.exec(e);return!!o&&[n,o]},!1)}function zf(e){var t=Tm(e);if(!t)return null;var r=t[0],n=t[1];if(r==="searchbot")return new Sm;var i=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);i?i.length<Hf&&(i=Vf(Vf([],i,!0),km(Hf-i.length),!0)):i=[];var o=i.join("."),s=Im(e),a=Cm.exec(e);return a&&a[1]?new Em(r,o,s,a[1]):new wm(r,o,s)}function Im(e){for(var t=0,r=qf.length;t<r;t++){var n=qf[t],i=n[0],o=n[1],s=o.exec(e);if(s)return i}return null}function _m(){var e=typeof process<"u"&&process.version;return e?new vm(process.version.slice(1)):null}function km(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}function Nt(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var Bn=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},nc=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Wf=e=>globalThis.DOMException===void 0?new nc(e):new DOMException(e),$f=e=>{let t=e.reason===void 0?Wf("This operation was aborted."):e.reason;return t instanceof Error?t:Wf(t)};function Fr(e,t){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=t,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(t.signal){let{signal:d}=t;d.aborted&&f($f(d)),d.addEventListener("abort",()=>{f($f(d))})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let l=new Bn;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){f(d)}return}typeof e.cancel=="function"&&e.cancel(),i===!1?u():i instanceof Error?f(i):(l.message=i??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await e)}catch(d){f(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Yf=Gf(),gi=Yf!=null&&Yf.name==="firefox",So=async function*(){},Ao=async e=>{},Rm=30*1e3;function Xf(e,t,r=Rm,n){e.readyState==="open"&&Promise.resolve().then(async()=>{if(e.bufferedAmount>0){n.log("%s drain channel with %d buffered bytes",t,e.bufferedAmount);let i=Nt(),o=!1;e.bufferedAmountLowThreshold=0;let s=()=>{o||(n.log("%s drain channel closed before drain",t),i.resolve())};e.addEventListener("close",s,{once:!0}),e.addEventListener("bufferedamountlow",()=>{o=!0,e.removeEventListener("close",s),i.resolve()}),await Fr(i.promise,{milliseconds:r})}}).then(async()=>{e.readyState==="open"&&e.close()}).catch(i=>{n.log.error("error closing outbound stream",i)})}var Vr=class{log;peerConnection;remoteAddr;timeline;metrics;source=So();sink=Ao;constructor(t,r){this.log=t.logger.forComponent("libp2p:webrtc:maconn"),this.remoteAddr=r.remoteAddr,this.timeline=r.timeline,this.peerConnection=r.peerConnection;let n=this.peerConnection.connectionState;this.peerConnection.onconnectionstatechange=()=>{this.log.trace("peer connection state change",this.peerConnection.connectionState,"initial state",n),(this.peerConnection.connectionState==="disconnected"||this.peerConnection.connectionState==="failed"||this.peerConnection.connectionState==="closed")&&(this.timeline.close=Date.now())}}async close(t){this.log.trace("closing connection"),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({close:!0})}abort(t){this.log.error("closing connection due to error",t),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({abort:!0})}};var Do=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},Tn=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new Do(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new Do(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var ic=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function xr(e={}){return Lm(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}},e)}function Lm(e,t){t=t??{};let r=t.onEnd,n=new Tn,i,o,s,a=Nt(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((m,g)=>{o=b=>{o=null,n.push(b);try{m(e(n))}catch(x){g(x)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Nt()})}},u=m=>o!=null?o(m):(n.push(m),i),f=m=>(n=new Tn,o!=null?o({error:m}):(n.push({error:m}),i)),l=m=>{if(s)return i;if(t?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:m})},d=m=>s?i:(s=!0,m!=null?f(m):u({done:!0})),y=()=>(n=new Tn,d(),{done:!0}),h=m=>(d(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:y,throw:h,push:l,end:d,get readableLength(){return n.size},onEmpty:async m=>{let g=m?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let b,x;g!=null&&(b=new Promise((D,v)=>{x=()=>{v(new ic)},g.addEventListener("abort",x)}));try{await Promise.race([a.promise,b])}finally{x!=null&&g!=null&&g?.removeEventListener("abort",x)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:m=>p.onEmpty(m)},i}var Co=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function br(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new Co(r?.errorMessage,r?.errorCode));let n,i=new Co(r?.errorMessage,r?.errorCode);try{return await Promise.race([e,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}function xi(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Qe(e=0){return globalThis.Buffer?.alloc!=null?xi(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function bi(e=0){return globalThis.Buffer?.allocUnsafe!=null?xi(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function oc(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=bi(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return xi(r)}function Zf(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var jf=Symbol.for("@achingbrain/uint8arraylist");function Qf(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function In(e){return!!e?.[jf]}var At=class e{bufs;length;[jf]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(In(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(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(In(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=Qf(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Qf(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(In(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return oc(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:oc(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new e;return o.length=i,o.bufs=[...n],o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!In(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let d=u;d>=0;d--){let y=this.get(l+d);if(n[d]!==y){f=Math.max(1,d-a[y]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=bi(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=Qe(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=Qe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=Qe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=bi(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=Qe(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=Qe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=Qe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=Qe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=Qe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Zf(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Jf(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function tl(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}function el(e,t){let r=Jf(e).return?.();tl(r)&&r.catch(n=>{t.error("could not cause iterator to return",n)})}var Nm="ERR_STREAM_RESET",Pm="ERR_SINK_INVALID_STATE",Um=5e3;function sc(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Bo=class{id;direction;timeline;protocol;metadata;source;status;readStatus;writeStatus;log;sinkController;sinkEnd;closed;endErr;streamSource;onEnd;onCloseRead;onCloseWrite;onReset;onAbort;sendCloseWriteTimeout;constructor(t){this.sinkController=new AbortController,this.sinkEnd=Nt(),this.closed=Nt(),this.log=t.log,this.status="open",this.readStatus="ready",this.writeStatus="ready",this.id=t.id,this.metadata=t.metadata??{},this.direction=t.direction,this.timeline={open:Date.now()},this.sendCloseWriteTimeout=t.sendCloseWriteTimeout??Um,this.onEnd=t.onEnd,this.onCloseRead=t?.onCloseRead,this.onCloseWrite=t?.onCloseWrite,this.onReset=t?.onReset,this.onAbort=t?.onAbort,this.source=this.streamSource=xr({onEnd:r=>{r!=null?this.log.trace("source ended with error",r):this.log.trace("source ended"),this.onSourceEnd(r)}}),this.sink=this.sink.bind(this)}async sink(t){if(this.writeStatus!=="ready")throw new W(`writable end state is "${this.writeStatus}" not "ready"`,Pm);try{this.writeStatus="writing";let r={signal:this.sinkController.signal};if(this.direction==="outbound"){let i=this.sendNewStream(r);sc(i)&&await i}let n=()=>{el(t,this.log)};try{this.sinkController.signal.addEventListener("abort",n),this.log.trace("sink reading from source");for await(let i of t){i=i instanceof Uint8Array?new At(i):i;let o=this.sendData(i,r);sc(o)&&await o}}finally{this.sinkController.signal.removeEventListener("abort",n)}this.log.trace('sink finished reading from source, write status is "%s"',this.writeStatus),this.writeStatus==="writing"&&(this.writeStatus="closing",this.log.trace("send close write to remote"),await this.sendCloseWrite({signal:AbortSignal.timeout(this.sendCloseWriteTimeout)}),this.writeStatus="closed"),this.onSinkEnd()}catch(r){throw this.log.trace("sink ended with error, calling abort with error",r),this.abort(r),r}finally{this.log.trace("resolve sink end"),this.sinkEnd.resolve()}}onSourceEnd(t){this.timeline.closeRead==null&&(this.timeline.closeRead=Date.now(),this.readStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseRead?.(),this.timeline.closeWrite!=null?(this.log.trace("source and sink ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("source ended, waiting for sink to end"))}onSinkEnd(t){this.timeline.closeWrite==null&&(this.timeline.closeWrite=Date.now(),this.writeStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseWrite?.(),this.timeline.closeRead!=null?(this.log.trace("sink and source ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("sink ended, waiting for source to end"))}async close(t){this.log.trace("closing gracefully"),this.status="closing",await Promise.all([this.closeRead(t),this.closeWrite(t)]),await br(this.closed.promise,t?.signal),this.status="closed",this.log.trace("closed gracefully")}async closeRead(t={}){if(this.readStatus==="closing"||this.readStatus==="closed")return;this.log.trace('closing readable end of stream with starting read status "%s"',this.readStatus);let r=this.readStatus;this.readStatus="closing",this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeRead==null&&(this.log.trace("send close read to remote"),await this.sendCloseRead(t)),r==="ready"&&(this.log.trace("ending internal source queue with %d queued bytes",this.streamSource.readableLength),this.streamSource.end()),this.log.trace("closed readable end of stream")}async closeWrite(t={}){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.log.trace('closing writable end of stream with starting write status "%s"',this.writeStatus),this.writeStatus==="ready"&&(this.log.trace("sink was never sunk, sink an empty array"),await br(this.sink([]),t.signal)),this.writeStatus==="writing"&&await new Promise((r,n)=>{queueMicrotask(()=>{this.log.trace("aborting source passed to .sink"),this.sinkController.abort(),br(this.sinkEnd.promise,t.signal).then(r,n)})}),this.writeStatus="closed",this.log.trace("closed writable end of stream"))}abort(t){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;this.log("abort with error",t),this.log("try to send reset to remote");let r=this.sendReset();sc(r)&&r.catch(n=>{this.log.error("error sending reset message",n)}),this.status="aborted",this.timeline.abort=Date.now(),this._closeSinkAndSource(t),this.onAbort?.(t)}reset(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;let t=new W("stream reset",Nm);this.status="reset",this.timeline.reset=Date.now(),this._closeSinkAndSource(t),this.onReset?.()}_closeSinkAndSource(t){this._closeSink(t),this._closeSource(t)}_closeSink(t){this.writeStatus==="writing"&&(this.log.trace("end sink source"),this.sinkController.abort()),this.onSinkEnd(t)}_closeSource(t){this.readStatus!=="closing"&&this.readStatus!=="closed"&&(this.log.trace("ending source with %d bytes to be read by consumer",this.streamSource.readableLength),this.readStatus="closing",this.streamSource.end(t))}remoteCloseWrite(){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("received remote close write but local source is already closed");return}this.log.trace("remote close write"),this._closeSource()}remoteCloseRead(){if(this.writeStatus==="closing"||this.writeStatus==="closed"){this.log("received remote close read but local sink is already closed");return}this.log.trace("remote close read"),this._closeSink()}destroy(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset"){this.log("received destroy but we are already closed");return}this.log.trace("stream destroyed"),this._closeSinkAndSource()}sourcePush(t){this.streamSource.push(t)}sourceReadableLength(){return this.streamSource.readableLength}};function rl(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function nl(e=0){return globalThis.Buffer?.allocUnsafe!=null?rl(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function To(e){return e[Symbol.asyncIterator]!=null}var Io=e=>{let t=Qt(e),r=nl(t);return mr(e,r),Io.bytes=t,r};Io.bytes=0;function wr(e,t){t=t??{};let r=t.lengthEncoder??Io;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return To(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}wr.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Io;return new At(r(e.byteLength),e)};var _n=Xt(sl(),1);var Km=8,Mm=1024*1024*4,Hr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Hr||(Hr={}));var ac=e=>{let t=we(e);return ac.bytes=Qt(t),t};ac.bytes=0;function qr(e,t){let r=new At,n=Hr.LENGTH,i=-1,o=t?.lengthDecoder??ac,s=t?.maxLengthLength??Km,a=t?.maxDataLength??Mm;function*c(){for(;r.byteLength>0;){if(n===Hr.LENGTH)try{if(i=o(r),i<0)throw(0,_n.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,_n.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=Hr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,_n.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Hr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Hr.LENGTH}}}return To(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,_n.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,_n.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}qr.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return qr(n,{...t??{},onLength:o=>{r=o}})};var Fm=e=>{let t=e.on||e.addListener||e.addEventListener,r=e.off||e.removeListener||e.removeEventListener;if(!t||!r)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(e),removeListener:r.bind(e)}};function Vm(e,t,r){let n,i=new Promise((o,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:u,removeListener:f}=Fm(e),l=(...y)=>{let h=r.multiArgs?y:y[0];r.filter&&!r.filter(h)||(c.push(h),r.count===c.length&&(n(),o(c)))},d=y=>{n(),s(y)};n=()=>{for(let y of a)f(y,l);for(let y of r.rejectionEvents)f(y,d)};for(let y of a)u(y,l);for(let y of r.rejectionEvents)u(y,d);r.signal&&r.signal.addEventListener("abort",()=>{d(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(c)});if(i.cancel=n,typeof r.timeout=="number"){let o=Fr(i,{milliseconds:r.timeout});return o.cancel=n,o}return i}function cc(e,t,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Vm(e,t,r),i=n.then(o=>o[0]);return i.cancel=n.cancel,i}var uc=new Float32Array([-0]),vr=new Uint8Array(uc.buffer);function cl(e,t,r){uc[0]=e,t[r]=vr[0],t[r+1]=vr[1],t[r+2]=vr[2],t[r+3]=vr[3]}function ul(e,t){return vr[0]=e[t],vr[1]=e[t+1],vr[2]=e[t+2],vr[3]=e[t+3],uc[0]}var fc=new Float64Array([-0]),jt=new Uint8Array(fc.buffer);function fl(e,t,r){fc[0]=e,t[r]=jt[0],t[r+1]=jt[1],t[r+2]=jt[2],t[r+3]=jt[3],t[r+4]=jt[4],t[r+5]=jt[5],t[r+6]=jt[6],t[r+7]=jt[7]}function ll(e,t){return jt[0]=e[t],jt[1]=e[t+1],jt[2]=e[t+2],jt[3]=e[t+3],jt[4]=e[t+4],jt[5]=e[t+5],jt[6]=e[t+6],jt[7]=e[t+7],fc[0]}var Hm=BigInt(Number.MAX_SAFE_INTEGER),qm=BigInt(Number.MIN_SAFE_INTEGER),ne=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&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(t=!1){if(t)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(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return zr;if(t<Hm&&t>qm)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,i=t-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>hl&&(i=0n,++n>hl&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return zr;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new e(n,i)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):zr}},zr=new ne(0,0);zr.toBigInt=function(){return 0n};zr.zzEncode=zr.zzDecode=function(){return this};zr.length=function(){return 1};var hl=4294967296n;function dl(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function pl(e,t,r){if(r-t<1)return"";let i,o=[],s=0,a;for(;t<r;)a=e[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function lc(e,t,r){let n=r,i,o;for(let s=0;s<e.length;++s)i=e.charCodeAt(s),i<128?t[r++]=i:i<2048?(t[r++]=i>>6|192,t[r++]=i&63|128):(i&64512)===55296&&((o=e.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,t[r++]=i>>18|240,t[r++]=i>>12&63|128,t[r++]=i>>6&63|128,t[r++]=i&63|128):(t[r++]=i>>12|224,t[r++]=i>>6&63|128,t[r++]=i&63|128);return r-n}function ve(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function _o(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var hc=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,ve(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw ve(this,4);return _o(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ve(this,4);return _o(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw ve(this,4);let t=ul(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw ve(this,4);let t=ll(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw ve(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return pl(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw ve(this,t);this.pos+=t}else do if(this.pos>=this.len)throw ve(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new ne(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw ve(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw ve(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw ve(this,8);let t=_o(this.buf,this.pos+=4),r=_o(this.buf,this.pos+=4);return new ne(t,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 dc(e){return new hc(e instanceof Uint8Array?e:e.subarray())}function Ee(e,t){let r=dc(e);return t.decode(r)}function ko(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Gr(e=0){return globalThis.Buffer?.allocUnsafe!=null?ko(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function gl(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var ml=gl("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),pc=gl("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Gr(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),zm={utf8:ml,"utf-8":ml,hex:Ot.base16,latin1:pc,ascii:pc,binary:pc,...Ot},xl=zm;function bl(e,t="utf8"){let r=xl[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ko(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function yc(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return Gr(s);i+s>t&&(n=Gr(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Wr=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function mc(){}var xc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Gm=yc();function Wm(e){return globalThis.Buffer!=null?Gr(e):Gm(e)}var Ei=class{len;head;tail;states;constructor(){this.len=0,this.head=new Wr(mc,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Wr(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new bc((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(wi,10,ne.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=ne.fromBigInt(t);return this._push(wi,r.length(),r)}uint64Number(t){let r=ne.fromNumber(t);return this._push(wi,r.length(),r)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=ne.fromBigInt(t).zzEncode();return this._push(wi,r.length(),r)}sint64Number(t){let r=ne.fromNumber(t).zzEncode();return this._push(wi,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(gc,1,t?1:0)}fixed32(t){return this._push(vi,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=ne.fromBigInt(t);return this._push(vi,4,r.lo)._push(vi,4,r.hi)}fixed64Number(t){let r=ne.fromNumber(t);return this._push(vi,4,r.lo)._push(vi,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(cl,4,t)}double(t){return this._push(fl,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(gc,1,0):this.uint32(r)._push(Ym,r,t)}string(t){let r=dl(t);return r!==0?this.uint32(r)._push(lc,r,t):this._push(gc,1,0)}fork(){return this.states=new xc(this),this.head=this.tail=new Wr(mc,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Wr(mc,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=Wm(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function gc(e,t,r){t[r]=e&255}function $m(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var bc=class extends Wr{next;constructor(t,r){super($m,t,r),this.next=void 0}};function wi(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function vi(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function Ym(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Ei.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Xm,t,e),this},Ei.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Zm,t,e),this});function Xm(e,t,r){t.set(e,r)}function Zm(e,t,r){e.length<40?lc(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(bl(e),r)}function wc(){return new Ei}function Se(e,t){let r=wc();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var kn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(kn||(kn={}));function Ro(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function $r(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Ro("enum",kn.VARINT,r,n)}function Ae(e,t){return Ro("message",kn.LENGTH_DELIMITED,e,t)}var ie;(function(e){let t;(function(i){i.FIN="FIN",i.STOP_SENDING="STOP_SENDING",i.RESET="RESET",i.FIN_ACK="FIN_ACK"})(t=e.Flag||(e.Flag={}));let r;(function(i){i[i.FIN=0]="FIN",i[i.STOP_SENDING=1]="STOP_SENDING",i[i.RESET=2]="RESET",i[i.FIN_ACK=3]="FIN_ACK"})(r||(r={})),function(i){i.codec=()=>$r(r)}(t=e.Flag||(e.Flag={}));let n;e.codec=()=>(n==null&&(n=Ae((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.flag!=null&&(o.uint32(8),e.Flag.codec().encode(i.flag,o)),i.message!=null&&(o.uint32(18),o.bytes(i.message)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.flag=e.Flag.codec().decode(i);break;case 2:s.message=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Se(i,e.codec()),e.decode=i=>Ee(i,e.codec())})(ie||(ie={}));var Qm=16*1024*1024,jm=30*1e3,Jm=5,tg=2,eg=16*1024,rg=5e3,ng=5e3,vc=class extends Bo{channel;incomingData;maxBufferedAmount;bufferedAmountLowEventTimeout;maxMessageSize;receiveFinAck;finAckTimeout;openTimeout;constructor(t){let r=t.onEnd;switch(t.onEnd=i=>{this.log.trace("readable and writeable ends closed",this.status),Promise.resolve(async()=>{if(!(this.timeline.abort!=null||this.timeline.reset!==null))try{await Fr(this.receiveFinAck.promise,{milliseconds:this.finAckTimeout})}catch(o){this.log.error("error receiving FIN_ACK",o)}}).then(()=>{this.incomingData.end(),r?.(i)}).catch(o=>{this.log.error("error ending stream",o)})},super(t),this.channel=t.channel,this.channel.binaryType="arraybuffer",this.incomingData=xr(),this.bufferedAmountLowEventTimeout=t.bufferedAmountLowEventTimeout??jm,this.maxBufferedAmount=t.maxBufferedAmount??Qm,this.maxMessageSize=(t.maxMessageSize??eg)-Jm-tg,this.receiveFinAck=Nt(),this.finAckTimeout=t.closeTimeout??rg,this.openTimeout=t.openTimeout??ng,this.channel.readyState){case"open":this.timeline.open=new Date().getTime();break;case"closed":case"closing":(this.timeline.close===void 0||this.timeline.close===0)&&(this.timeline.close=Date.now());break;case"connecting":break;default:throw this.log.error("unknown datachannel state %s",this.channel.readyState),new W("Unknown datachannel state","ERR_INVALID_STATE")}this.channel.onopen=i=>{this.timeline.open=new Date().getTime()},this.channel.onclose=i=>{this.receiveFinAck.resolve(),this.close().catch(o=>{this.log.error("error closing stream after channel closed",o)})},this.channel.onerror=i=>{let o=i.error;this.abort(o)},this.channel.onmessage=async i=>{let{data:o}=i;o===null||o.byteLength===0||this.incomingData.push(new Uint8Array(o,0,o.byteLength))};let n=this;Promise.resolve().then(async()=>{for await(let i of qr(this.incomingData)){let o=n.processIncomingProtobuf(i);o!=null&&n.sourcePush(new At(o))}}).catch(i=>{this.log.error("error processing incoming data channel messages",i)})}sendNewStream(){}async _sendMessage(t,r=!0){if(r&&this.channel.bufferedAmount>this.maxBufferedAmount)try{this.log('channel buffer is %d, wait for "bufferedamountlow" event',this.channel.bufferedAmount),await cc(this.channel,"bufferedamountlow",{timeout:this.bufferedAmountLowEventTimeout})}catch(n){throw n instanceof Bn?new W(`Timed out waiting for DataChannel buffer to clear after ${this.bufferedAmountLowEventTimeout}ms`,"ERR_BUFFER_CLEAR_TIMEOUT"):n}if(this.channel.readyState==="closed"||this.channel.readyState==="closing")throw new W(`Invalid datachannel state - ${this.channel.readyState}`,"ERR_INVALID_STATE");this.channel.readyState!=="open"&&(this.log('channel state is "%s" and not "open", waiting for "open" event before sending data',this.channel.readyState),await cc(this.channel,"open",{timeout:this.openTimeout}),this.log('channel state is now "%s", sending data',this.channel.readyState)),this.channel.send(t.subarray())}async sendData(t){for(t=t.sublist();t.byteLength>0;){let r=Math.min(t.byteLength,this.maxMessageSize),n=t.subarray(0,r),i=ie.encode({message:n}),o=wr.single(i);await this._sendMessage(o),t.consume(r)}}async sendReset(){await this._sendFlag(ie.Flag.RESET)}async sendCloseWrite(t){if(await this._sendFlag(ie.Flag.FIN)){this.log.trace("awaiting FIN_ACK");try{await br(this.receiveFinAck.promise,t?.signal,{errorMessage:"sending close-write was aborted before FIN_ACK was received",errorCode:"ERR_FIN_ACK_NOT_RECEIVED"})}catch(n){this.log.error("failed to await FIN_ACK",n)}}else this.log.trace("sending FIN failed, not awaiting FIN_ACK");this.receiveFinAck.resolve()}async sendCloseRead(){await this._sendFlag(ie.Flag.STOP_SENDING)}processIncomingProtobuf(t){let r=ie.decode(t);if(r.flag!==void 0&&(this.log.trace('incoming flag %s, write status "%s", read status "%s"',r.flag,this.writeStatus,this.readStatus),r.flag===ie.Flag.FIN&&(this.remoteCloseWrite(),this.log.trace("sending FIN_ACK"),this._sendFlag(ie.Flag.FIN_ACK).catch(n=>{this.log.error("error sending FIN_ACK immediately",n)})),r.flag===ie.Flag.RESET&&this.reset(),r.flag===ie.Flag.STOP_SENDING&&this.remoteCloseRead(),r.flag===ie.Flag.FIN_ACK&&(this.log.trace("received FIN_ACK"),this.receiveFinAck.resolve())),this.readStatus==="ready")return r.message}async _sendFlag(t){if(this.channel.readyState!=="open")return this.log.trace('not sending flag %s because channel is "%s" and not "open"',this.channel.readyState,t.toString()),!1;this.log.trace("sending flag %s",t.toString());let r=ie.encode({flag:t}),n=wr.single(r);try{return await this._sendMessage(n,!1),!0}catch(i){this.log.error("could not send flag %s",t.toString(),i)}return!1}};function Rn(e){let{channel:t,direction:r}=e;return new vc({id:r==="inbound"?`i${t.id}`:`r${t.id}`,log:e.logger.forComponent(`libp2p:webrtc:stream:${r}:${t.id}`),...e})}var wl="/webrtc",Yr=class{protocol;peerConnection;bufferedStreams=[];metrics;dataChannelOptions;components;log;constructor(t,r){this.components=t,this.peerConnection=r.peerConnection,this.metrics=r.metrics,this.protocol=r.protocol??wl,this.dataChannelOptions=r.dataChannelOptions??{},this.log=t.logger.forComponent("libp2p:webrtc:datachannelmuxerfactory"),this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace('incoming early datachannel with channel id %d and label "%s"',n.id),n.label==="init"){this.log.trace("closing early init channel"),n.close();return}let i={},o=Rn({channel:n,direction:"inbound",onEnd:s=>{i.onEnd(s)},logger:t.logger,...this.dataChannelOptions});i.stream=o,i.channel=n,i.onEnd=()=>{this.bufferedStreams=this.bufferedStreams.filter(s=>s.stream.id!==o.id)},this.bufferedStreams.push(i)}}createStreamMuxer(t){return new Ec(this.components,{...t,peerConnection:this.peerConnection,dataChannelOptions:this.dataChannelOptions,metrics:this.metrics,streams:this.bufferedStreams,protocol:this.protocol})}},Ec=class{init;streams;protocol;log;peerConnection;dataChannelOptions;metrics;logger;constructor(t,r){this.init=r,this.log=t.logger.forComponent("libp2p:webrtc:muxer"),this.logger=t.logger,this.streams=r.streams.map(n=>n.stream),this.peerConnection=r.peerConnection,this.protocol=r.protocol??wl,this.metrics=r.metrics,this.dataChannelOptions=r.dataChannelOptions??{},this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace("incoming datachannel with channel id %d",n.id),n.label==="init"){this.log.trace("closing init channel"),n.close();return}let i=Rn({channel:n,direction:"inbound",onEnd:()=>{this.log("incoming channel %s ended with state %s",n.id,n.readyState),this.#t(i,n)},logger:this.logger,...this.dataChannelOptions});this.streams.push(i),this.metrics?.increment({incoming_stream:!0}),r?.onIncomingStream?.(i)},this.init.streams.length>0&&queueMicrotask(()=>{this.init.streams.forEach(n=>{n.onEnd=()=>{this.log("incoming early channel %s ended with state %s",n.channel.id,n.channel.readyState),this.#t(n.stream,n.channel)},this.metrics?.increment({incoming_stream:!0}),this.init?.onIncomingStream?.(n.stream)})})}#t(t,r){this.log.trace("stream %s %s %s onEnd",t.direction,t.id,t.protocol),Xf(r,`${t.direction} ${t.id} ${t.protocol}`,this.dataChannelOptions.drainTimeout,{log:this.log}),this.streams=this.streams.filter(n=>n.id!==t.id),this.metrics?.increment({stream_end:!0}),this.init?.onStreamEnd?.(t)}async close(t){try{await Promise.all(this.streams.map(async r=>r.close(t)))}catch(r){this.abort(r)}}abort(t){for(let r of this.streams)r.abort(t)}source=So();sink=Ao;newStream(){let t=this.peerConnection.createDataChannel("");this.log.trace("opened outgoing datachannel with channel id %s",t.id);let r=Rn({channel:t,direction:"outbound",onEnd:()=>{this.log("outgoing channel %s ended with state %s",t.id,t.readyState),this.#t(r,t)},logger:this.logger,...this.dataChannelOptions});return this.streams.push(r),this.metrics?.increment({outgoing_stream:!0}),r}};var Ln=globalThis.RTCPeerConnection,Lo=globalThis.RTCSessionDescription,vl=globalThis.RTCIceCandidate;var Sc=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Nt(),this.haveNext=Nt()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=Nt(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,r){await this._push(t,r)}async end(t,r){t!=null?await this.throw(t):await this._push(void 0,r)}async _push(t,r){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Nt(),await br(this.needNext.promise,r?.signal,r)}};function El(){return new Sc}var No=class extends Error{code;constructor(t,r){super(t),this.code=r}},Ac=class extends No{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function Sl(e,t){let r=El();e.sink(r).catch(async s=>{await r.end(s)}),e.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=e.source;e.source[Symbol.iterator]!=null?n=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(n=e.source[Symbol.asyncIterator]());let i=new At;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new Ac("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:d}=await Promise.race([n.next(),u]);return l===!0?new At:d}for(;i.byteLength<s;){let{value:l,done:d}=await Promise.race([n.next(),u]);if(d===!0)throw new No("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let f=i.sublist(0,s);return i.consume(s),f}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return e}}}var Po=class extends Error{code;constructor(t,r){super(t),this.code=r}},Al=e=>we(e);Al.bytes=0;function Si(e,t={}){let r=Sl(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=Qt(t.maxDataLength)),{read:async i=>{let o=-1,s=new At,a=t?.lengthDecoder??Al;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new Po("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new Po("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(wr.single(i,t),o)},writeV:async(i,o)=>{let s=new At(...i.map(a=>wr.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Uo(e,t){let r=Si(e,t),n={read:async(i,o)=>{let s=await r.read(o);return i.decode(s)},write:async(i,o,s)=>{await r.write(o.encode(i),s)},writeV:async(i,o,s)=>{await r.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var oe;(function(e){let t;(function(i){i.SDP_OFFER="SDP_OFFER",i.SDP_ANSWER="SDP_ANSWER",i.ICE_CANDIDATE="ICE_CANDIDATE"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.SDP_OFFER=0]="SDP_OFFER",i[i.SDP_ANSWER=1]="SDP_ANSWER",i[i.ICE_CANDIDATE=2]="ICE_CANDIDATE"})(r||(r={})),function(i){i.codec=()=>$r(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=Ae((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.data!=null&&(o.uint32(18),o.string(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.data=i.string();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Se(i,e.codec()),e.decode=i=>Ee(i,e.codec())})(oe||(oe={}));var Oo=async(e,t,r)=>{try{let n=Nt();for(og(e,n);;){let i=await Promise.race([n.promise,t.read({signal:r.signal})]);if(i==null)break;if(i.type!==oe.Type.ICE_CANDIDATE)throw new W("ICE candidate message expected","ERR_NOT_ICE_CANDIDATE");let o=JSON.parse(i.data??"null");if(o===""||o===null){r.log.trace("end-of-candidates received");continue}let s=new vl(o);r.log.trace("%s received new ICE candidate",r.direction,s);try{await e.addIceCandidate(s)}catch(a){r.log.error("%s bad candidate received",r.direction,o,a)}}}catch(n){if(r.log.error("%s error parsing ICE candidate",r.direction,n),r.signal?.aborted===!0)throw n}};function ig(e){return gi?e.iceConnectionState:e.connectionState}function og(e,t){e[gi?"oniceconnectionstatechange":"onconnectionstatechange"]=r=>{switch(ig(e)){case"connected":t.resolve();break;case"failed":case"disconnected":case"closed":t.reject(new W("RTCPeerConnection was closed","ERR_CONNECTION_CLOSED_BEFORE_CONNECTED"));break;default:break}}}async function Dl({peerConnection:e,signal:t,metrics:r,multiaddr:n,connectionManager:i,transportManager:o,log:s}){let{baseAddr:a}=Cl(n);r?.dialerEvents.increment({open:!0}),s.trace("dialing base address: %a",a);let c=a.getPeerId();if(c==null)throw new W("Relay peer was missing","ERR_INVALID_ADDRESS");let u=i.getConnections(Mr(c)),f,l=!1;u.length===0?(f=await o.dial(a,{signal:t}),l=!0):f=u[0];try{let d=await f.newStream(Ko,{signal:t,runOnTransientConnection:!0}),y=Uo(d).pb(oe);try{let h=e.createDataChannel("init");e.onicecandidate=({candidate:b})=>{let x=JSON.stringify(b?.toJSON()??null);s.trace("initiator sending ICE candidate %s",x),y.write({type:oe.Type.ICE_CANDIDATE,data:x},{signal:t}).catch(D=>{s.error("error sending ICE candidate",D)})},e.onicecandidateerror=b=>{s.error("initiator ICE candidate error",b)};let p=await e.createOffer().catch(b=>{throw s.error("could not execute createOffer",b),new W("Failed to set createOffer","ERR_SDP_HANDSHAKE_FAILED")});s.trace("initiator send SDP offer %s",p.sdp),await y.write({type:oe.Type.SDP_OFFER,data:p.sdp},{signal:t}),await e.setLocalDescription(p).catch(b=>{throw s.error("could not execute setLocalDescription",b),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")});let m=await y.read({signal:t});if(m.type!==oe.Type.SDP_ANSWER)throw new W("Remote should send an SDP answer","ERR_SDP_HANDSHAKE_FAILED");s.trace("initiator receive SDP answer %s",m.data);let g=new Lo({type:"answer",sdp:m.data});return await e.setRemoteDescription(g).catch(b=>{throw s.error("could not execute setRemoteDescription",b),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")}),s.trace("initiator read candidates until connected"),await Oo(e,y,{direction:"initiator",signal:t,log:s}),s.trace("initiator connected, closing init channel"),h.close(),s.trace("initiator closing signalling stream"),await y.unwrap().unwrap().close({signal:t}),s.trace("initiator connected to remote address %s",n),{remoteAddress:n}}catch(h){throw e.close(),d.abort(h),h}finally{e.onicecandidate=null,e.onicecandidateerror=null}}finally{if(l)try{await f.close({signal:t})}catch(d){f.abort(d)}}}var sg=q("dns4"),ag=q("dns6"),cg=q("dnsaddr"),Xr=Lt(q("dns"),cg,sg,ag),Vo=Lt(q("ip4"),q("ip6")),Nn=Lt(X(Vo,q("tcp")),X(Xr,q("tcp"))),Ho=X(Vo,q("udp")),ug=X(Ho,q("utp")),fg=X(Ho,q("quic")),lg=X(Ho,q("quic-v1")),Dc=Lt(X(Nn,q("ws")),X(Xr,q("ws"))),Mo=Lt(X(Dc,q("p2p")),Dc),Cc=Lt(X(Nn,q("wss")),X(Xr,q("wss")),X(Nn,q("tls"),q("ws")),X(Xr,q("tls"),q("ws"))),Fo=Lt(X(Cc,q("p2p")),Cc),Bc=Lt(X(Nn,q("http")),X(Vo,q("http")),X(Xr,q("http"))),Tc=Lt(X(Nn,q("https")),X(Vo,q("https")),X(Xr,q("https"))),Bl=X(Ho,q("webrtc-direct"),q("certhash")),_l=Lt(X(Bl,q("p2p")),Bl),Tl=X(lg,q("webtransport"),q("certhash"),q("certhash")),kl=Lt(X(Tl,q("p2p")),Tl),Rl=Lt(X(Mo,q("p2p-webrtc-star"),q("p2p")),X(Fo,q("p2p-webrtc-star"),q("p2p")),X(Mo,q("p2p-webrtc-star")),X(Fo,q("p2p-webrtc-star"))),SD=Lt(X(Mo,q("p2p-websocket-star"),q("p2p")),X(Fo,q("p2p-websocket-star"),q("p2p")),X(Mo,q("p2p-websocket-star")),X(Fo,q("p2p-websocket-star"))),Ll=Lt(X(Bc,q("p2p-webrtc-direct"),q("p2p")),X(Tc,q("p2p-webrtc-direct"),q("p2p")),X(Bc,q("p2p-webrtc-direct")),X(Tc,q("p2p-webrtc-direct"))),Zr=Lt(Dc,Cc,Bc,Tc,Rl,Ll,Nn,ug,fg,Xr,_l,kl),AD=Lt(X(Zr,q("p2p-stardust"),q("p2p")),X(Zr,q("p2p-stardust"))),Er=Lt(X(Zr,q("p2p")),Rl,Ll,_l,kl,q("p2p")),Il=Lt(X(Er,q("p2p-circuit"),Er),X(Er,q("p2p-circuit")),X(q("p2p-circuit"),Er),X(Zr,q("p2p-circuit")),X(q("p2p-circuit"),Zr),q("p2p-circuit")),Nl=()=>Lt(X(Il,Nl),Il),je=Nl(),DD=Lt(X(je,Er,je),X(Er,je),X(je,Er),je,Er);var CD=Lt(X(je,q("webrtc"),q("p2p")),X(je,q("webrtc")),X(Zr,q("webrtc"),q("p2p")),X(Zr,q("webrtc")),q("webrtc"));function Pl(e){function t(r){let n;try{n=Ze(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function X(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Pl(t),partialMatch:t}}function Lt(...e){function t(n){let i=null;return e.some(o=>{let s=typeof o=="function"?o().partialMatch(n):o.partialMatch(n);return s!=null?(i=s,!0):!1}),i}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Pl(t),partialMatch:t}}function q(e){let t=e;function r(i){let o;try{o=Ze(i)}catch{return!1}let s=o.protoNames();return s.length===1&&s[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}var qo=class extends oo{peerId;transportManager;shutdownController;constructor(t,r){super(),this.peerId=t.peerId,this.transportManager=t.transportManager,this.shutdownController=r.shutdownController}async listen(){this.safeDispatchEvent("listening",{})}getAddrs(){return this.transportManager.getListeners().filter(t=>t!==this).map(t=>t.getAddrs().filter(r=>je.matches(r)).map(r=>r.encapsulate(`/webrtc/p2p/${this.peerId}`))).flat()}async close(){this.shutdownController.abort(),this.safeDispatchEvent("close",{})}};async function Ul({peerConnection:e,stream:t,signal:r,connection:n,log:i}){i.trace("new inbound signaling stream");let o=Uo(t).pb(oe);try{e.onicecandidate=({candidate:f})=>{let l=JSON.stringify(f?.toJSON()??null);i.trace("recipient sending ICE candidate %s",l),o.write({type:oe.Type.ICE_CANDIDATE,data:l},{signal:r}).catch(d=>{i.error("error sending ICE candidate",d)})};let a=await o.read({signal:r});if(a.type!==oe.Type.SDP_OFFER)throw new W(`expected message type SDP_OFFER, received: ${a.type??"undefined"} `,"ERR_SDP_HANDSHAKE_FAILED");i.trace("recipient receive SDP offer %s",a.data);let c=new Lo({type:"offer",sdp:a.data});await e.setRemoteDescription(c).catch(f=>{throw i.error("could not execute setRemoteDescription",f),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")});let u=await e.createAnswer().catch(f=>{throw i.error("could not execute createAnswer",f),new W("Failed to create answer","ERR_SDP_HANDSHAKE_FAILED")});i.trace("recipient send SDP answer %s",u.sdp),await o.write({type:oe.Type.SDP_ANSWER,data:u.sdp},{signal:r}),await e.setLocalDescription(u).catch(f=>{throw i.error("could not execute setLocalDescription",f),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")}),i.trace("recipient read candidates until connected"),await Oo(e,o,{direction:"recipient",signal:r,log:i})}catch(a){if(e.connectionState!=="connected")throw i.error("error while handling signaling stream from peer %a",n.remoteAddr,a),e.close(),a;i("error while handling signaling stream from peer %a, ignoring as the RTCPeerConnection is already connected",n.remoteAddr,a)}let s=Ze(`/webrtc/p2p/${n.remoteAddr.getPeerId()}`);return i.trace("recipient connected to remote address %s",s),{remoteAddress:s}}var hg="/webrtc",dg="/p2p-circuit",Ko="/webrtc-signaling/0.0.1",pg=30*1e3,zo=class{components;init;log;_started=!1;metrics;shutdownController;constructor(t,r={}){this.components=t,this.init=r,this.log=t.logger.forComponent("libp2p:webrtc"),this.shutdownController=new AbortController,Fu(1/0,this.shutdownController.signal),t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_dialer_events_total",{label:"event",help:"Total count of WebRTC dialer events by type"}),listenerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_listener_events_total",{label:"event",help:"Total count of WebRTC listener events by type"})})}isStarted(){return this._started}async start(){await this.components.registrar.handle(Ko,t=>{this._onProtocol(t).catch(r=>{this.log.error("failed to handle incoming connect from %p",t.connection.remotePeer,r)})},{runOnTransientConnection:!0}),this._started=!0}async stop(){await this.components.registrar.unhandle(Ko),this._started=!1}createListener(t){return new qo(this.components,{shutdownController:this.shutdownController})}[Symbol.toStringTag]="@libp2p/webrtc";[io]=!0;filter(t){return t.filter(Kf.exactMatch)}async dial(t,r){this.log.trace("dialing address: %a",t);let n=new Ln(this.init.rtcConfiguration),i=new Yr(this.components,{peerConnection:n,dataChannelOptions:this.init.dataChannel}),{remoteAddress:o}=await Dl({peerConnection:n,multiaddr:t,dataChannelOptions:this.init.dataChannel,signal:r.signal,connectionManager:this.components.connectionManager,transportManager:this.components.transportManager,log:this.log}),s=new Vr(this.components,{peerConnection:n,timeline:{open:Date.now()},remoteAddr:o,metrics:this.metrics?.dialerEvents}),a=await r.upgrader.upgradeOutbound(s,{skipProtection:!0,skipEncryption:!0,muxerFactory:i});return this._closeOnShutdown(n,s),a}async _onProtocol({connection:t,stream:r}){let n=AbortSignal.timeout(this.init.inboundConnectionTimeout??pg),i=new Ln(this.init.rtcConfiguration),o=new Yr(this.components,{peerConnection:i,dataChannelOptions:this.init.dataChannel});try{let{remoteAddress:s}=await Ul({peerConnection:i,connection:t,stream:r,signal:n,log:this.log}),a=new Vr(this.components,{peerConnection:i,timeline:{open:new Date().getTime()},remoteAddr:s,metrics:this.metrics?.listenerEvents});this._closeOnShutdown(i,a),await this.components.upgrader.upgradeInbound(a,{skipEncryption:!0,skipProtection:!0,muxerFactory:o}),await r.close({signal:n})}catch(s){throw r.abort(s),s}}_closeOnShutdown(t,r){let n=()=>{r.close().catch(i=>{this.log.error("could not close WebRTCMultiaddrConnection",i)})};this.shutdownController.signal.addEventListener("abort",n),t.addEventListener("close",()=>{this.shutdownController.signal.removeEventListener("abort",n)})}};function Cl(e){let t=e.toString().split(hg+"/");if(t.length!==2)throw new W("webrtc protocol was not present in multiaddr",ue.ERR_INVALID_MULTIADDR);if(!t[0].includes(dg))throw new W("p2p-circuit protocol was not present in multiaddr",ue.ERR_INVALID_MULTIADDR);let r=Ze(t[0]),i=Ze("/"+t[1]).getPeerId();if(i==null)throw new W("destination peer id was missing",ue.ERR_INVALID_MULTIADDR);let o=r.protos().pop();if(o===void 0)throw new W("invalid multiaddr",ue.ERR_INVALID_MULTIADDR);return o.name!=="p2p"&&(r=r.encapsulate(`/p2p/${i}`)),{baseAddr:r,peerId:Mr(i)}}function Ic(){let e=Nt(),t=!1;return{sink:async r=>{if(t)throw new Error("already piped");t=!0,e.resolve(r)},source:async function*(){yield*await e.promise}()}}function Ol(){let e=Ic(),t=Ic();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}function yg(e){return e[Symbol.asyncIterator]!=null}function mg(...e){let t=[];for(let r of e)yg(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=xr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Kl=mg;function Ml(e,...t){if(e==null)throw new Error("Empty pipeline");if(_c(e)){let n=e;e=()=>n.source}else if(Vl(e)||Fl(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&_c(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++)_c(r[n])&&(r[n]=xg(r[n]));return gg(...r)}var gg=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},Fl=e=>e?.[Symbol.asyncIterator]!=null,Vl=e=>e?.[Symbol.iterator]!=null,_c=e=>e==null?!1:e.sink!=null&&e.source!=null,xg=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=xr({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(Fl(o))i=async function*(){yield*o,n.end()};else if(Vl(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Kl(n,i())}return e.source};function Sr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function pt(e=0){return globalThis.Buffer?.alloc!=null?Sr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function Qr(e=0){return globalThis.Buffer?.allocUnsafe!=null?Sr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var Pn=!!globalThis.process?.env?.DUMP_SESSION_KEYS;var bg=e=>e instanceof Uint8Array;var Je=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),Hl=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),wg=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!wg)throw new Error("Non little-endian hardware is not supported");function Go(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Wo(e){if(typeof e=="string")e=Go(e);else if(bg(e))e=e.slice();else throw new Error(`expected Uint8Array, got ${typeof e}`);return e}var vg=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function ql(e,t){if(t!==void 0&&(typeof t!="object"||!vg(t)))throw new Error("options must be object or undefined");return Object.assign(e,t)}function jr(e,t){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");if(typeof t=="number"&&e.length!==t)throw new Error(`Uint8Array length ${t} expected`)}function zl(e,t){if(e.length!==t.length)throw new Error("equalBytes: Different size of Uint8Arrays");let r=!0;for(let n=0;n<e.length;n++)r&&(r=e[n]===t[n]);return r}var kc=(e,t)=>(Object.assign(t,e),t);function Rc(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function $o(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Lc(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function Un(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Nc(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Gl(e,t){Un(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Wt=(e,t)=>e[t++]&255|(e[t++]&255)<<8,Pc=class{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=Wo(t),jr(t,32);let r=Wt(t,0),n=Wt(t,2),i=Wt(t,4),o=Wt(t,6),s=Wt(t,8),a=Wt(t,10),c=Wt(t,12),u=Wt(t,14);this.r[0]=r&8191,this.r[1]=(r>>>13|n<<3)&8191,this.r[2]=(n>>>10|i<<6)&7939,this.r[3]=(i>>>7|o<<9)&8191,this.r[4]=(o>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let f=0;f<8;f++)this.pad[f]=Wt(t,16+2*f)}process(t,r,n=!1){let i=n?0:2048,{h:o,r:s}=this,a=s[0],c=s[1],u=s[2],f=s[3],l=s[4],d=s[5],y=s[6],h=s[7],p=s[8],m=s[9],g=Wt(t,r+0),b=Wt(t,r+2),x=Wt(t,r+4),D=Wt(t,r+6),v=Wt(t,r+8),E=Wt(t,r+10),C=Wt(t,r+12),B=Wt(t,r+14),O=o[0]+(g&8191),K=o[1]+((g>>>13|b<<3)&8191),U=o[2]+((b>>>10|x<<6)&8191),F=o[3]+((x>>>7|D<<9)&8191),G=o[4]+((D>>>4|v<<12)&8191),Q=o[5]+(v>>>1&8191),T=o[6]+((v>>>14|E<<2)&8191),R=o[7]+((E>>>11|C<<5)&8191),_=o[8]+((C>>>8|B<<8)&8191),k=o[9]+(B>>>5|i),S=0,P=S+O*a+K*(5*m)+U*(5*p)+F*(5*h)+G*(5*y);S=P>>>13,P&=8191,P+=Q*(5*d)+T*(5*l)+R*(5*f)+_*(5*u)+k*(5*c),S+=P>>>13,P&=8191;let M=S+O*c+K*a+U*(5*m)+F*(5*p)+G*(5*h);S=M>>>13,M&=8191,M+=Q*(5*y)+T*(5*d)+R*(5*l)+_*(5*f)+k*(5*u),S+=M>>>13,M&=8191;let H=S+O*u+K*c+U*a+F*(5*m)+G*(5*p);S=H>>>13,H&=8191,H+=Q*(5*h)+T*(5*y)+R*(5*d)+_*(5*l)+k*(5*f),S+=H>>>13,H&=8191;let Z=S+O*f+K*u+U*c+F*a+G*(5*m);S=Z>>>13,Z&=8191,Z+=Q*(5*p)+T*(5*h)+R*(5*y)+_*(5*d)+k*(5*l),S+=Z>>>13,Z&=8191;let j=S+O*l+K*f+U*u+F*c+G*a;S=j>>>13,j&=8191,j+=Q*(5*m)+T*(5*p)+R*(5*h)+_*(5*y)+k*(5*d),S+=j>>>13,j&=8191;let it=S+O*d+K*l+U*f+F*u+G*c;S=it>>>13,it&=8191,it+=Q*a+T*(5*m)+R*(5*p)+_*(5*h)+k*(5*y),S+=it>>>13,it&=8191;let J=S+O*y+K*d+U*l+F*f+G*u;S=J>>>13,J&=8191,J+=Q*c+T*a+R*(5*m)+_*(5*p)+k*(5*h),S+=J>>>13,J&=8191;let et=S+O*h+K*y+U*d+F*l+G*f;S=et>>>13,et&=8191,et+=Q*u+T*c+R*a+_*(5*m)+k*(5*p),S+=et>>>13,et&=8191;let xt=S+O*p+K*h+U*y+F*d+G*l;S=xt>>>13,xt&=8191,xt+=Q*f+T*u+R*c+_*a+k*(5*m),S+=xt>>>13,xt&=8191;let mt=S+O*m+K*p+U*h+F*y+G*d;S=mt>>>13,mt&=8191,mt+=Q*l+T*f+R*u+_*c+k*a,S+=mt>>>13,mt&=8191,S=(S<<2)+S|0,S=S+P|0,P=S&8191,S=S>>>13,M+=S,o[0]=P,o[1]=M,o[2]=H,o[3]=Z,o[4]=j,o[5]=it,o[6]=J,o[7]=et,o[8]=xt,o[9]=mt}finalize(){let{h:t,pad:r}=this,n=new Uint16Array(10),i=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=i,i=t[a]>>>13,t[a]&=8191;t[0]+=i*5,i=t[0]>>>13,t[0]&=8191,t[1]+=i,i=t[1]>>>13,t[1]&=8191,t[2]+=i,n[0]=t[0]+5,i=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=t[a]+i,i=n[a]>>>13,n[a]&=8191;n[9]-=8192;let o=(i^1)-1;for(let a=0;a<10;a++)n[a]&=o;o=~o;for(let a=0;a<10;a++)t[a]=t[a]&o|n[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let s=t[0]+r[0];t[0]=s&65535;for(let a=1;a<8;a++)s=(t[a]+r[a]|0)+(s>>>16)|0,t[a]=s&65535}update(t){Nc(this);let{buffer:r,blockLen:n}=this;t=Wo(t);let i=t.length;for(let o=0;o<i;){let s=Math.min(n-this.pos,i-o);if(s===n){for(;n<=i-o;o+=n)this.process(t,o);continue}r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(t){Nc(this),Gl(t,this),this.finished=!0;let{buffer:r,h:n}=this,{pos:i}=this;if(i){for(r[i++]=1;i<16;i++)r[i]=0;this.process(r,0,!0)}this.finalize();let o=0;for(let s=0;s<8;s++)t[o++]=n[s]>>>0,t[o++]=n[s]>>>8;return t}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}};function Eg(e){let t=(n,i)=>e(i).update(Wo(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var Wl=Eg(e=>new Pc(e));var Sg=Go("expand 16-byte k"),Ag=Go("expand 32-byte k"),Dg=Je(Sg),Cg=Je(Ag);function $(e,t){return e<<t|e>>>32-t}function Uc(e){return e.byteOffset%4===0}var Yo=64,Bg=16,Yl=2**32-1,$l=new Uint32Array;function Tg(e,t,r,n,i,o,s,a){let c=i.length,u=new Uint8Array(Yo),f=Je(u),l=Uc(i)&&Uc(o),d=l?Je(i):$l,y=l?Je(o):$l;for(let h=0;h<c;s++){if(e(t,r,n,f,s,a),s>=Yl)throw new Error("arx: counter overflow");let p=Math.min(Yo,c-h);if(l&&p===Yo){let m=h/4;if(h%4!==0)throw new Error("arx: invalid block position");for(let g=0,b;g<Bg;g++)b=m+g,y[b]=d[b]^f[g];h+=Yo;continue}for(let m=0,g;m<p;m++)g=h+m,o[g]=i[g]^u[m];h+=p}}function Oc(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:i,counterRight:o,rounds:s}=ql({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!="function")throw new Error("core must be a function");return $o(i),$o(s),Lc(o),Lc(r),(a,c,u,f,l=0)=>{Un(a),Un(c),Un(u);let d=u.length;if(f||(f=new Uint8Array(d)),Un(f),$o(l),l<0||l>=Yl)throw new Error("arx: counter overflow");if(f.length<d)throw new Error(`arx: output (${f.length}) is shorter than data (${d})`);let y=[],h=a.length,p,m;if(h===32)p=a.slice(),y.push(p),m=Cg;else if(h===16&&r)p=new Uint8Array(32),p.set(a),p.set(a,16),m=Dg,y.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${h}`);Uc(c)||(c=c.slice(),y.push(c));let g=Je(p);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(m,g,Je(c.subarray(0,16)),g),c=c.subarray(16)}let b=16-i;if(b!==c.length)throw new Error(`arx: nonce must be ${b} or 16 bytes`);if(b!==12){let D=new Uint8Array(12);D.set(c,o?0:12-c.length),c=D,y.push(c)}let x=Je(c);for(Tg(e,m,g,x,u,f,l,s);y.length>0;)y.pop().fill(0);return f}}function Ql(e,t,r,n,i,o=20){let s=e[0],a=e[1],c=e[2],u=e[3],f=t[0],l=t[1],d=t[2],y=t[3],h=t[4],p=t[5],m=t[6],g=t[7],b=i,x=r[0],D=r[1],v=r[2],E=s,C=a,B=c,O=u,K=f,U=l,F=d,G=y,Q=h,T=p,R=m,_=g,k=b,S=x,P=D,M=v;for(let Z=0;Z<o;Z+=2)E=E+K|0,k=$(k^E,16),Q=Q+k|0,K=$(K^Q,12),E=E+K|0,k=$(k^E,8),Q=Q+k|0,K=$(K^Q,7),C=C+U|0,S=$(S^C,16),T=T+S|0,U=$(U^T,12),C=C+U|0,S=$(S^C,8),T=T+S|0,U=$(U^T,7),B=B+F|0,P=$(P^B,16),R=R+P|0,F=$(F^R,12),B=B+F|0,P=$(P^B,8),R=R+P|0,F=$(F^R,7),O=O+G|0,M=$(M^O,16),_=_+M|0,G=$(G^_,12),O=O+G|0,M=$(M^O,8),_=_+M|0,G=$(G^_,7),E=E+U|0,M=$(M^E,16),R=R+M|0,U=$(U^R,12),E=E+U|0,M=$(M^E,8),R=R+M|0,U=$(U^R,7),C=C+F|0,k=$(k^C,16),_=_+k|0,F=$(F^_,12),C=C+F|0,k=$(k^C,8),_=_+k|0,F=$(F^_,7),B=B+G|0,S=$(S^B,16),Q=Q+S|0,G=$(G^Q,12),B=B+G|0,S=$(S^B,8),Q=Q+S|0,G=$(G^Q,7),O=O+K|0,P=$(P^O,16),T=T+P|0,K=$(K^T,12),O=O+K|0,P=$(P^O,8),T=T+P|0,K=$(K^T,7);let H=0;n[H++]=s+E|0,n[H++]=a+C|0,n[H++]=c+B|0,n[H++]=u+O|0,n[H++]=f+K|0,n[H++]=l+U|0,n[H++]=d+F|0,n[H++]=y+G|0,n[H++]=h+Q|0,n[H++]=p+T|0,n[H++]=m+R|0,n[H++]=g+_|0,n[H++]=b+k|0,n[H++]=x+S|0,n[H++]=D+P|0,n[H++]=v+M|0}function Ig(e,t,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=t[0],u=t[1],f=t[2],l=t[3],d=t[4],y=t[5],h=t[6],p=t[7],m=r[0],g=r[1],b=r[2],x=r[3];for(let v=0;v<20;v+=2)i=i+c|0,m=$(m^i,16),d=d+m|0,c=$(c^d,12),i=i+c|0,m=$(m^i,8),d=d+m|0,c=$(c^d,7),o=o+u|0,g=$(g^o,16),y=y+g|0,u=$(u^y,12),o=o+u|0,g=$(g^o,8),y=y+g|0,u=$(u^y,7),s=s+f|0,b=$(b^s,16),h=h+b|0,f=$(f^h,12),s=s+f|0,b=$(b^s,8),h=h+b|0,f=$(f^h,7),a=a+l|0,x=$(x^a,16),p=p+x|0,l=$(l^p,12),a=a+l|0,x=$(x^a,8),p=p+x|0,l=$(l^p,7),i=i+u|0,x=$(x^i,16),h=h+x|0,u=$(u^h,12),i=i+u|0,x=$(x^i,8),h=h+x|0,u=$(u^h,7),o=o+f|0,m=$(m^o,16),p=p+m|0,f=$(f^p,12),o=o+f|0,m=$(m^o,8),p=p+m|0,f=$(f^p,7),s=s+l|0,g=$(g^s,16),d=d+g|0,l=$(l^d,12),s=s+l|0,g=$(g^s,8),d=d+g|0,l=$(l^d,7),a=a+c|0,b=$(b^a,16),y=y+b|0,c=$(c^y,12),a=a+c|0,b=$(b^a,8),y=y+b|0,c=$(c^y,7);let D=0;n[D++]=i,n[D++]=o,n[D++]=s,n[D++]=a,n[D++]=m,n[D++]=g,n[D++]=b,n[D++]=x}var _g=Oc(Ql,{counterRight:!1,counterLength:4,allowShortKeys:!1}),kg=Oc(Ql,{counterRight:!1,counterLength:8,extendNonceFn:Ig,allowShortKeys:!1});var Rg=new Uint8Array(16),Xl=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(Rg.subarray(r))},Lg=new Uint8Array(32);function Zl(e,t,r,n,i){let o=e(t,r,Lg),s=Wl.create(o);i&&Xl(s,i),Xl(s,n);let a=new Uint8Array(16),c=Hl(a);Rc(c,0,BigInt(i?i.length:0),!0),Rc(c,8,BigInt(n.length),!0),s.update(a);let u=s.digest();return o.fill(0),u}var jl=e=>(t,r,n)=>(jr(t,32),jr(r),{encrypt:(o,s)=>{let a=o.length,c=a+16;s?jr(s,c):s=new Uint8Array(c),e(t,r,o,s,1);let u=Zl(e,t,r,s.subarray(0,-16),n);return s.set(u,a),s},decrypt:(o,s)=>{let a=o.length,c=a-16;if(a<16)throw new Error("encrypted data must be at least 16 bytes");s?jr(s,c):s=new Uint8Array(c);let u=o.subarray(0,-16),f=o.subarray(-16),l=Zl(e,t,r,u,n);if(!zl(f,l))throw new Error("invalid tag");return e(t,r,u,s,1),s}}),Kc=kc({blockSize:64,nonceLength:12,tagLength:16},jl(_g)),EC=kc({blockSize:64,nonceLength:24,tagLength:16},jl(kg));function Xo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Mc(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Ai(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Xo(e.outputLen),Xo(e.blockLen)}function On(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Jl(e,t){Mc(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Zo=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var th=e=>e instanceof Uint8Array;var Qo=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),De=(e,t)=>e<<32-t|e>>>t,Ng=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Ng)throw new Error("Non little-endian hardware is not supported");function Fc(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Ar(e){if(typeof e=="string"&&(e=Fc(e)),!th(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function jo(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!th(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var Kn=class{clone(){return this._cloneInto()}},BC={}.toString;function Jo(e){let t=n=>e().update(Ar(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Jr(e=32){if(Zo&&typeof Zo.getRandomValues=="function")return Zo.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function Pg(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}var Mn=class extends Kn{constructor(t,r,n,i){super(),this.blockLen=t,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(t),this.view=Qo(this.buffer)}update(t){On(this);let{view:r,buffer:n,blockLen:i}=this;t=Ar(t);let o=t.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=Qo(t);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){On(this),Jl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;Pg(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Qo(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return t.length=i,t.pos=a,t.finished=o,t.destroyed=s,i%r&&t.buffer.set(n),t}};var ts=BigInt(4294967295),Vc=BigInt(32);function eh(e,t=!1){return t?{h:Number(e&ts),l:Number(e>>Vc&ts)}:{h:Number(e>>Vc&ts)|0,l:Number(e&ts)|0}}function Ug(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:o,l:s}=eh(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var Og=(e,t)=>BigInt(e>>>0)<<Vc|BigInt(t>>>0),Kg=(e,t,r)=>e>>>r,Mg=(e,t,r)=>e<<32-r|t>>>r,Fg=(e,t,r)=>e>>>r|t<<32-r,Vg=(e,t,r)=>e<<32-r|t>>>r,Hg=(e,t,r)=>e<<64-r|t>>>r-32,qg=(e,t,r)=>e>>>r-32|t<<64-r,zg=(e,t)=>t,Gg=(e,t)=>e,Wg=(e,t,r)=>e<<r|t>>>32-r,$g=(e,t,r)=>t<<r|e>>>32-r,Yg=(e,t,r)=>t<<r-32|e>>>64-r,Xg=(e,t,r)=>e<<r-32|t>>>64-r;function Zg(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Qg=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),jg=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Jg=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),tx=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,ex=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),rx=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var nx={fromBig:eh,split:Ug,toBig:Og,shrSH:Kg,shrSL:Mg,rotrSH:Fg,rotrSL:Vg,rotrBH:Hg,rotrBL:qg,rotr32H:zg,rotr32L:Gg,rotlSH:Wg,rotlSL:$g,rotlBH:Yg,rotlBL:Xg,add:Zg,add3L:Qg,add3H:jg,add4L:Jg,add4H:tx,add5H:rx,add5L:ex},rt=nx;var[ix,ox]=rt.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(e=>BigInt(e))),Dr=new Uint32Array(80),Cr=new Uint32Array(80),Hc=class extends Mn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:d,Gh:y,Gl:h,Hh:p,Hl:m}=this;return[t,r,n,i,o,s,a,c,u,f,l,d,y,h,p,m]}set(t,r,n,i,o,s,a,c,u,f,l,d,y,h,p,m){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=d|0,this.Gh=y|0,this.Gl=h|0,this.Hh=p|0,this.Hl=m|0}process(t,r){for(let x=0;x<16;x++,r+=4)Dr[x]=t.getUint32(r),Cr[x]=t.getUint32(r+=4);for(let x=16;x<80;x++){let D=Dr[x-15]|0,v=Cr[x-15]|0,E=rt.rotrSH(D,v,1)^rt.rotrSH(D,v,8)^rt.shrSH(D,v,7),C=rt.rotrSL(D,v,1)^rt.rotrSL(D,v,8)^rt.shrSL(D,v,7),B=Dr[x-2]|0,O=Cr[x-2]|0,K=rt.rotrSH(B,O,19)^rt.rotrBH(B,O,61)^rt.shrSH(B,O,6),U=rt.rotrSL(B,O,19)^rt.rotrBL(B,O,61)^rt.shrSL(B,O,6),F=rt.add4L(C,U,Cr[x-7],Cr[x-16]),G=rt.add4H(F,E,K,Dr[x-7],Dr[x-16]);Dr[x]=G|0,Cr[x]=F|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:d,Fh:y,Fl:h,Gh:p,Gl:m,Hh:g,Hl:b}=this;for(let x=0;x<80;x++){let D=rt.rotrSH(l,d,14)^rt.rotrSH(l,d,18)^rt.rotrBH(l,d,41),v=rt.rotrSL(l,d,14)^rt.rotrSL(l,d,18)^rt.rotrBL(l,d,41),E=l&y^~l&p,C=d&h^~d&m,B=rt.add5L(b,v,C,ox[x],Cr[x]),O=rt.add5H(B,g,D,E,ix[x],Dr[x]),K=B|0,U=rt.rotrSH(n,i,28)^rt.rotrBH(n,i,34)^rt.rotrBH(n,i,39),F=rt.rotrSL(n,i,28)^rt.rotrBL(n,i,34)^rt.rotrBL(n,i,39),G=n&o^n&a^o&a,Q=i&s^i&c^s&c;g=p|0,b=m|0,p=y|0,m=h|0,y=l|0,h=d|0,{h:l,l:d}=rt.add(u|0,f|0,O|0,K|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let T=rt.add3L(K,F,Q);n=rt.add3H(T,O,U,G),i=T|0}({h:n,l:i}=rt.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=rt.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=rt.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=rt.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:d}=rt.add(this.Eh|0,this.El|0,l|0,d|0),{h:y,l:h}=rt.add(this.Fh|0,this.Fl|0,y|0,h|0),{h:p,l:m}=rt.add(this.Gh|0,this.Gl|0,p|0,m|0),{h:g,l:b}=rt.add(this.Hh|0,this.Hl|0,g|0,b|0),this.set(n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b)}roundClean(){Dr.fill(0),Cr.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 qc=Jo(()=>new Hc);var ns={};ct(ns,{bitGet:()=>hx,bitLen:()=>lx,bitMask:()=>Di,bitSet:()=>dx,bytesToHex:()=>tr,bytesToNumberBE:()=>er,bytesToNumberLE:()=>Ce,concatBytes:()=>nr,createHmacDrbg:()=>Wc,ensureBytes:()=>wt,equalBytes:()=>ux,hexToBytes:()=>tn,hexToNumber:()=>Gc,numberToBytesBE:()=>Br,numberToBytesLE:()=>rr,numberToHexUnpadded:()=>ih,numberToVarBytesBE:()=>cx,utf8ToBytes:()=>fx,validateObject:()=>pe});var nh=BigInt(0),es=BigInt(1),sx=BigInt(2),rs=e=>e instanceof Uint8Array,ax=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function tr(e){if(!rs(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=ax[e[r]];return t}function ih(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Gc(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function tn(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let i=n*2,o=e.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function er(e){return Gc(tr(e))}function Ce(e){if(!rs(e))throw new Error("Uint8Array expected");return Gc(tr(Uint8Array.from(e).reverse()))}function Br(e,t){return tn(e.toString(16).padStart(t*2,"0"))}function rr(e,t){return Br(e,t).reverse()}function cx(e){return tn(ih(e))}function wt(e,t,r){let n;if(typeof t=="string")try{n=tn(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(rs(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function nr(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!rs(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function ux(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function fx(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function lx(e){let t;for(t=0;e>nh;e>>=es,t+=1);return t}function hx(e,t){return e>>BigInt(t)&es}var dx=(e,t,r)=>e|(r?es:nh)<<BigInt(t),Di=e=>(sx<<BigInt(e-1))-es,zc=e=>new Uint8Array(e),rh=e=>Uint8Array.from(e);function Wc(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=zc(e),i=zc(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=zc())=>{i=a(rh([0]),l),n=a(),l.length!==0&&(i=a(rh([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=a();let y=n.slice();d.push(y),l+=n.length}return nr(...d)};return(l,d)=>{s(),c(l);let y;for(;!(y=d(u()));)c();return s(),y}}var px={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function pe(e,t,r={}){let n=(i,o,s)=>{let a=px[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=e[i];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(t))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return e}var Mt=BigInt(0),Dt=BigInt(1),en=BigInt(2),yx=BigInt(3),$c=BigInt(4),oh=BigInt(5),sh=BigInt(8),mx=BigInt(9),gx=BigInt(16);function ft(e,t){let r=e%t;return r>=Mt?r:t+r}function Yc(e,t,r){if(r<=Mt||t<Mt)throw new Error("Expected power/modulo > 0");if(r===Dt)return Mt;let n=Dt;for(;t>Mt;)t&Dt&&(n=n*e%r),e=e*e%r,t>>=Dt;return n}function vt(e,t,r){let n=e;for(;t-- >Mt;)n*=n,n%=r;return n}function is(e,t){if(e===Mt||t<=Mt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=ft(e,t),n=t,i=Mt,o=Dt,s=Dt,a=Mt;for(;r!==Mt;){let u=n/r,f=n%r,l=i-s*u,d=o-a*u;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==Dt)throw new Error("invert: does not exist");return ft(i,t)}function xx(e){let t=(e-Dt)/en,r,n,i;for(r=e-Dt,n=0;r%en===Mt;r/=en,n++);for(i=en;i<e&&Yc(i,t,e)!==e-Dt;i++);if(n===1){let s=(e+Dt)/$c;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+Dt)/en;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(d);y<u&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let h=a.pow(f,Dt<<BigInt(u-y-1));f=a.sqr(h),l=a.mul(l,h),d=a.mul(d,f),u=y}return l}}function bx(e){if(e%$c===yx){let t=(e+Dt)/$c;return function(n,i){let o=n.pow(i,t);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(e%sh===oh){let t=(e-oh)/sh;return function(n,i){let o=n.mul(i,en),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,en),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return e%gx,xx(e)}var ah=(e,t)=>(ft(e,t)&Dt)===Dt,wx=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Xc(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=wx.reduce((n,i)=>(n[i]="function",n),t);return pe(e,r)}function vx(e,t,r){if(r<Mt)throw new Error("Expected power > 0");if(r===Mt)return e.ONE;if(r===Dt)return t;let n=e.ONE,i=t;for(;r>Mt;)r&Dt&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Dt;return n}function Ex(e,t){let r=new Array(t.length),n=t.reduce((o,s,a)=>e.is0(s)?o:(r[a]=o,e.mul(o,s)),e.ONE),i=e.inv(n);return t.reduceRight((o,s,a)=>e.is0(s)?o:(r[a]=e.mul(o,r[a]),e.mul(o,s)),i),r}function Zc(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function os(e,t,r=!1,n={}){if(e<=Mt)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=Zc(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=bx(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:Di(i),ZERO:Mt,ONE:Dt,create:c=>ft(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Mt<=c&&c<e},is0:c=>c===Mt,isOdd:c=>(c&Dt)===Dt,neg:c=>ft(-c,e),eql:(c,u)=>c===u,sqr:c=>ft(c*c,e),add:(c,u)=>ft(c+u,e),sub:(c,u)=>ft(c-u,e),mul:(c,u)=>ft(c*u,e),pow:(c,u)=>vx(a,c,u),div:(c,u)=>ft(c*is(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>is(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Ex(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?rr(c,o):Br(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Ce(c):er(c)}});return Object.freeze(a)}function ch(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function uh(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Qc(e){let t=uh(e);return t+Math.ceil(t/2)}function fh(e,t,r=!1){let n=e.length,i=uh(t),o=Qc(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?er(e):Ce(e),a=ft(s,t-Dt)+Dt;return r?rr(a,i):Br(a,i)}var Ax=BigInt(0),jc=BigInt(1);function ss(e,t){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(t/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=e.ZERO,a=i;for(;o>Ax;)o&jc&&(s=s.add(a)),a=a.double(),o>>=jc;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let l=0;l<s;l++){f=u,c.push(f);for(let d=1;d<a;d++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=e.ZERO,f=e.BASE,l=BigInt(2**i-1),d=2**i,y=BigInt(i);for(let h=0;h<a;h++){let p=h*c,m=Number(s&l);s>>=y,m>c&&(m-=d,s+=jc);let g=p,b=p+Math.abs(m)-1,x=h%2!==0,D=m<0;m===0?f=f.add(r(x,o[g])):u=u.add(r(D,o[b]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function Ci(e){return Xc(e.Fp),pe(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Zc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Be=BigInt(0),fe=BigInt(1),as=BigInt(2),Dx=BigInt(8),Cx={zip215:!0};function Bx(e){let t=Ci(e);return pe(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function cs(e){let t=Bx(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,u=as<<BigInt(a*8)-fe,f=r.create,l=t.uvRatio||((k,S)=>{try{return{isValid:!0,value:r.sqrt(k*r.inv(S))}}catch{return{isValid:!1,value:Be}}}),d=t.adjustScalarBytes||(k=>k),y=t.domain||((k,S,P)=>{if(S.length||P)throw new Error("Contexts/pre-hash are not supported");return k}),h=k=>typeof k=="bigint"&&Be<k,p=(k,S)=>h(k)&&h(S)&&k<S,m=k=>k===Be||p(k,u);function g(k,S){if(p(k,S))return k;throw new Error(`Expected valid scalar < ${S}, got ${typeof k} ${k}`)}function b(k){return k===Be?k:g(k,n)}let x=new Map;function D(k){if(!(k instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(S,P,M,H){if(this.ex=S,this.ey=P,this.ez=M,this.et=H,!m(S))throw new Error("x required");if(!m(P))throw new Error("y required");if(!m(M))throw new Error("z required");if(!m(H))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(S){if(S instanceof v)throw new Error("extended point not allowed");let{x:P,y:M}=S||{};if(!m(P)||!m(M))throw new Error("invalid affine point");return new v(P,M,fe,f(P*M))}static normalizeZ(S){let P=r.invertBatch(S.map(M=>M.ez));return S.map((M,H)=>M.toAffine(P[H])).map(v.fromAffine)}_setWindowSize(S){this._WINDOW_SIZE=S,x.delete(this)}assertValidity(){let{a:S,d:P}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:M,ey:H,ez:Z,et:j}=this,it=f(M*M),J=f(H*H),et=f(Z*Z),xt=f(et*et),mt=f(it*S),qt=f(et*f(mt+J)),zt=f(xt+f(P*f(it*J)));if(qt!==zt)throw new Error("bad point: equation left != right (1)");let Ut=f(M*H),Yt=f(Z*j);if(Ut!==Yt)throw new Error("bad point: equation left != right (2)")}equals(S){D(S);let{ex:P,ey:M,ez:H}=this,{ex:Z,ey:j,ez:it}=S,J=f(P*it),et=f(Z*H),xt=f(M*it),mt=f(j*H);return J===et&&xt===mt}is0(){return this.equals(v.ZERO)}negate(){return new v(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:S}=t,{ex:P,ey:M,ez:H}=this,Z=f(P*P),j=f(M*M),it=f(as*f(H*H)),J=f(S*Z),et=P+M,xt=f(f(et*et)-Z-j),mt=J+j,qt=mt-it,zt=J-j,Ut=f(xt*qt),Yt=f(mt*zt),We=f(xt*zt),Ur=f(qt*mt);return new v(Ut,Yt,Ur,We)}add(S){D(S);let{a:P,d:M}=t,{ex:H,ey:Z,ez:j,et:it}=this,{ex:J,ey:et,ez:xt,et:mt}=S;if(P===BigInt(-1)){let Iu=f((Z-H)*(et+J)),_u=f((Z+H)*(et-J)),ta=f(_u-Iu);if(ta===Be)return this.double();let ku=f(j*as*mt),Ru=f(it*as*xt),Lu=Ru+ku,Nu=_u+Iu,Pu=Ru-ku,Ay=f(Lu*ta),Dy=f(Nu*Pu),Cy=f(Lu*Pu),By=f(ta*Nu);return new v(Ay,Dy,By,Cy)}let qt=f(H*J),zt=f(Z*et),Ut=f(it*M*mt),Yt=f(j*xt),We=f((H+Z)*(J+et)-qt-zt),Ur=Yt-Ut,ai=Yt+Ut,Tu=f(zt-P*qt),wy=f(We*Ur),vy=f(ai*Tu),Ey=f(We*Tu),Sy=f(Ur*ai);return new v(wy,vy,Sy,Ey)}subtract(S){return this.add(S.negate())}wNAF(S){return B.wNAFCached(this,x,S,v.normalizeZ)}multiply(S){let{p:P,f:M}=this.wNAF(g(S,n));return v.normalizeZ([P,M])[0]}multiplyUnsafe(S){let P=b(S);return P===Be?C:this.equals(C)||P===fe?this:this.equals(E)?this.wNAF(P).p:B.unsafeLadder(this,P)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return B.unsafeLadder(this,n).is0()}toAffine(S){let{ex:P,ey:M,ez:H}=this,Z=this.is0();S==null&&(S=Z?Dx:r.inv(H));let j=f(P*S),it=f(M*S),J=f(H*S);if(Z)return{x:Be,y:fe};if(J!==fe)throw new Error("invZ was invalid");return{x:j,y:it}}clearCofactor(){let{h:S}=t;return S===fe?this:this.multiplyUnsafe(S)}static fromHex(S,P=!1){let{d:M,a:H}=t,Z=r.BYTES;S=wt("pointHex",S,Z);let j=S.slice(),it=S[Z-1];j[Z-1]=it&-129;let J=Ce(j);J===Be||(P?g(J,u):g(J,r.ORDER));let et=f(J*J),xt=f(et-fe),mt=f(M*et-H),{isValid:qt,value:zt}=l(xt,mt);if(!qt)throw new Error("Point.fromHex: invalid y coordinate");let Ut=(zt&fe)===fe,Yt=(it&128)!==0;if(!P&&zt===Be&&Yt)throw new Error("Point.fromHex: x=0 and x_0=1");return Yt!==Ut&&(zt=f(-zt)),v.fromAffine({x:zt,y:J})}static fromPrivateKey(S){return U(S).point}toRawBytes(){let{x:S,y:P}=this.toAffine(),M=rr(P,r.BYTES);return M[M.length-1]|=S&fe?128:0,M}toHex(){return tr(this.toRawBytes())}}v.BASE=new v(t.Gx,t.Gy,fe,f(t.Gx*t.Gy)),v.ZERO=new v(Be,fe,fe,Be);let{BASE:E,ZERO:C}=v,B=ss(v,a*8);function O(k){return ft(k,n)}function K(k){return O(Ce(k))}function U(k){let S=a;k=wt("private key",k,S);let P=wt("hashed private key",o(k),2*S),M=d(P.slice(0,S)),H=P.slice(S,2*S),Z=K(M),j=E.multiply(Z),it=j.toRawBytes();return{head:M,prefix:H,scalar:Z,point:j,pointBytes:it}}function F(k){return U(k).pointBytes}function G(k=new Uint8Array,...S){let P=nr(...S);return K(o(y(P,wt("context",k),!!i)))}function Q(k,S,P={}){k=wt("message",k),i&&(k=i(k));let{prefix:M,scalar:H,pointBytes:Z}=U(S),j=G(P.context,M,k),it=E.multiply(j).toRawBytes(),J=G(P.context,it,Z,k),et=O(j+J*H);b(et);let xt=nr(it,rr(et,r.BYTES));return wt("result",xt,a*2)}let T=Cx;function R(k,S,P,M=T){let{context:H,zip215:Z}=M,j=r.BYTES;k=wt("signature",k,2*j),S=wt("message",S),i&&(S=i(S));let it=Ce(k.slice(j,2*j)),J,et,xt;try{J=v.fromHex(P,Z),et=v.fromHex(k.slice(0,j),Z),xt=E.multiplyUnsafe(it)}catch{return!1}if(!Z&&J.isSmallOrder())return!1;let mt=G(H,et.toRawBytes(),J.toRawBytes(),S);return et.add(J.multiplyUnsafe(mt)).subtract(xt).clearCofactor().equals(v.ZERO)}return E._setWindowSize(8),{CURVE:t,getPublicKey:F,sign:Q,verify:R,ExtendedPoint:v,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>s(r.BYTES),precompute(k=8,S=v.BASE){return S._setWindowSize(k),S.multiply(BigInt(3)),S}}}}var Bi=BigInt(0),Jc=BigInt(1);function Tx(e){return pe(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}function lh(e){let t=Tx(e),{P:r}=t,n=x=>ft(x,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(x=>x),c=t.powPminus2||(x=>Yc(x,r-BigInt(2),r));function u(x,D,v){let E=n(x*(D-v));return D=n(D-E),v=n(v+E),[D,v]}function f(x){if(typeof x=="bigint"&&Bi<=x&&x<r)return x;throw new Error("Expected valid scalar 0 < scalar < CURVE.P")}let l=(t.a-BigInt(2))/BigInt(4);function d(x,D){let v=f(x),E=f(D),C=v,B=Jc,O=Bi,K=v,U=Jc,F=Bi,G;for(let T=BigInt(i-1);T>=Bi;T--){let R=E>>T&Jc;F^=R,G=u(F,B,K),B=G[0],K=G[1],G=u(F,O,U),O=G[0],U=G[1],F=R;let _=B+O,k=n(_*_),S=B-O,P=n(S*S),M=k-P,H=K+U,Z=K-U,j=n(Z*_),it=n(H*S),J=j+it,et=j-it;K=n(J*J),U=n(C*n(et*et)),B=n(k*P),O=n(M*(k+n(l*M)))}G=u(F,B,K),B=G[0],K=G[1],G=u(F,O,U),O=G[0],U=G[1];let Q=c(O);return n(B*Q)}function y(x){return rr(n(x),o)}function h(x){let D=wt("u coordinate",x,o);return s===o&&(D[s-1]&=127),Ce(D)}function p(x){let D=wt("scalar",x);if(D.length!==o&&D.length!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${D.length}`);return Ce(a(D))}function m(x,D){let v=h(D),E=p(x),C=d(v,E);if(C===Bi)throw new Error("Invalid private or public key received");return y(C)}let g=y(t.Gu);function b(x){return m(x,g)}return{scalarMult:m,scalarMultBase:b,getSharedSecret:(x,D)=>m(x,D),getPublicKey:x=>b(x),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:g}}var Ti=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),hh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),JC=BigInt(0),Ix=BigInt(1),t0=BigInt(2),_x=BigInt(5),dh=BigInt(10),kx=BigInt(20),Rx=BigInt(40),ph=BigInt(80);function yh(e){let t=Ti,n=e*e%t*e%t,i=vt(n,t0,t)*n%t,o=vt(i,Ix,t)*e%t,s=vt(o,_x,t)*o%t,a=vt(s,dh,t)*s%t,c=vt(a,kx,t)*a%t,u=vt(c,Rx,t)*c%t,f=vt(u,ph,t)*u%t,l=vt(f,ph,t)*u%t,d=vt(l,dh,t)*s%t;return{pow_p_5_8:vt(d,t0,t)*e%t,b2:n}}function mh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Lx(e,t){let r=Ti,n=ft(t*t*t,r),i=ft(n*n*t,r),o=yh(e*i).pow_p_5_8,s=ft(e*n*o,r),a=ft(t*s*s,r),c=s,u=ft(s*hh,r),f=a===e,l=a===ft(-e,r),d=a===ft(-e*hh,r);return f&&(s=c),(l||d)&&(s=u),ah(s,r)&&(s=ft(-s,r)),{isValid:f||l,value:s}}var ir=os(Ti,void 0,!0),e0={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ir,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:qc,randomBytes:Jr,adjustScalarBytes:mh,uvRatio:Lx},Fn=cs(e0);function gh(e,t,r){if(t.length>255)throw new Error("Context is too big");return jo(Fc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var tB=cs({...e0,domain:gh}),eB=cs({...e0,domain:gh,prehash:qc}),Ii=lh({P:Ti,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=Ti,{pow_p_5_8:r,b2:n}=yh(e);return ft(vt(r,BigInt(3),t)*n,t)},adjustScalarBytes:mh,randomBytes:Jr});var Nx=(ir.ORDER+BigInt(3))/BigInt(8),rB=ir.pow(t0,Nx),nB=ir.sqrt(ir.neg(ir.ONE)),iB=(ir.ORDER-BigInt(5))/BigInt(8),oB=BigInt(486662);var sB=ch(ir,ir.neg(BigInt(486664)));var aB=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),cB=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),uB=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),fB=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var lB=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var us=class extends Kn{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,Ai(t);let n=Ar(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?t.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(t){return On(this),this.iHash.update(t),this}digestInto(t){On(this),Mc(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=o,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Vn=(e,t,r)=>new us(e,t).update(r).digest();Vn.create=(e,t)=>new us(e,t);function bh(e,t,r){return Ai(e),r===void 0&&(r=new Uint8Array(e.outputLen)),Vn(e,Ar(r),Ar(t))}var r0=new Uint8Array([0]),xh=new Uint8Array;function wh(e,t,r,n=32){if(Ai(e),Xo(n),n>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");let i=Math.ceil(n/e.outputLen);r===void 0&&(r=xh);let o=new Uint8Array(i*e.outputLen),s=Vn.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let u=0;u<i;u++)r0[0]=u+1,a.update(u===0?xh:c).update(r).update(r0).digestInto(c),o.set(c,e.outputLen*u),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),r0.fill(0),o.slice(0,n)}var Px=(e,t,r)=>e&t^~e&r,Ux=(e,t,r)=>e&t^e&r^t&r,Ox=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]),Tr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ir=new Uint32Array(64),n0=class extends Mn{constructor(){super(64,32,8,!1),this.A=Tr[0]|0,this.B=Tr[1]|0,this.C=Tr[2]|0,this.D=Tr[3]|0,this.E=Tr[4]|0,this.F=Tr[5]|0,this.G=Tr[6]|0,this.H=Tr[7]|0}get(){let{A:t,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[t,r,n,i,o,s,a,c]}set(t,r,n,i,o,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let l=0;l<16;l++,r+=4)Ir[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let d=Ir[l-15],y=Ir[l-2],h=De(d,7)^De(d,18)^d>>>3,p=De(y,17)^De(y,19)^y>>>10;Ir[l]=p+Ir[l-7]+h+Ir[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let d=De(a,6)^De(a,11)^De(a,25),y=f+d+Px(a,c,u)+Ox[l]+Ir[l]|0,p=(De(n,2)^De(n,13)^De(n,22))+Ux(n,i,o)|0;f=u,u=c,c=a,a=s+y|0,s=o,o=i,i=n,n=y+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,i,o,s,a,c,u,f)}roundClean(){Ir.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Hn=Jo(()=>new n0);var i0={hashSHA256(e){return Hn(e.subarray())},getHKDF(e,t){let r=bh(Hn,t,e),i=wh(Hn,r,void 0,96),o=i.subarray(0,32),s=i.subarray(32,64),a=i.subarray(64,96);return[o,s,a]},generateX25519KeyPair(){let e=Ii.utils.randomPrivateKey();return{publicKey:Ii.getPublicKey(e),privateKey:e}},generateX25519KeyPairFromSeed(e){return{publicKey:Ii.getPublicKey(e),privateKey:e}},generateX25519SharedKey(e,t){return Ii.getSharedSecret(e.subarray(),t.subarray())},chaCha20Poly1305Encrypt(e,t,r,n){return Kc(n,t,r).encrypt(e.subarray())},chaCha20Poly1305Decrypt(e,t,r,n,i){return Kc(n,t,r).decrypt(e.subarray(),i)}};var vh=i0;var qn=e=>{let t=Qr(2);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};qn.bytes=2;var _i=e=>{if(e.length<2)throw RangeError("Could not decode int16BE");return e instanceof Uint8Array?new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1):e.getUint16(0)};_i.bytes=2;function Eh(e){return new At(e.ne,e.ciphertext)}function Sh(e){return new At(e.ne,e.ns,e.ciphertext)}function Ah(e){return new At(e.ns,e.ciphertext)}function Dh(e){if(e.length<32)throw new Error("Cannot decode stage 0 MessageBuffer: length less than 32 bytes.");return{ne:e.subarray(0,32),ciphertext:e.subarray(32,e.length),ns:pt(0)}}function Ch(e){if(e.length<80)throw new Error("Cannot decode stage 1 MessageBuffer: length less than 80 bytes.");return{ne:e.subarray(0,32),ns:e.subarray(32,80),ciphertext:e.subarray(80,e.length)}}function Bh(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:pt(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}var Ih=16;function _h(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65519){let o=i+65519;o>n.length&&(o=n.length);let s;n instanceof Uint8Array?s=e.encrypt(n.subarray(i,o),e.session):s=e.encrypt(n.sublist(i,o),e.session),t?.encryptedPackets.increment(),yield new At(qn(s.byteLength),s)}}}function kh(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65535){let o=i+65535;if(o>n.length&&(o=n.length),o-Ih<i)throw new Error("Invalid chunk");let s=n.sublist(i,o),a=n.subarray(i,o-Ih),{plaintext:c,valid:u}=e.decrypt(s,e.session,a);if(!u)throw t?.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");t?.decryptedPackets.increment(),yield c}}}var Ri=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},rn=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var d_=Xt(Ui(),1),p_=Xt($d(),1);var Mv=Xt(gt(),1);function un(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Ts(e=0){return globalThis.Buffer?.allocUnsafe!=null?un(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Xd(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Yd=Xd("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),B0=Xd("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Ts(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),cv={utf8:Yd,"utf-8":Yd,hex:Ot.base16,latin1:B0,ascii:B0,binary:B0,...Ot},Is=cv;function Jt(e,t="utf8"){let r=Is[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?un(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var k0={};ct(k0,{Ed25519PrivateKey:()=>fn,Ed25519PublicKey:()=>Mi,generateKeyPair:()=>hv,generateKeyPairFromSeed:()=>ip,unmarshalEd25519PrivateKey:()=>fv,unmarshalEd25519PublicKey:()=>lv});var ST=Xt(Pt(),1),AT=Xt(As(),1),Zd=Xt(gt(),1);function cr(e,t){if(globalThis.Buffer!=null)return un(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=Ts(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return un(r)}function le(e,t="utf8"){let r=Is[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function _e(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=cr([new Uint8Array(t-r.length),r])}return le(r,"base64url")}function he(e){let t=Qd(e);return new Zd.default.jsbn.BigInteger(le(t,"base16"),16)}function Qd(e,t){let r=Jt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=cr([new Uint8Array(t-r.length),r])}return r}function ge(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Yn=32,ur=64,_s=32;function jd(){let e=Fn.utils.randomPrivateKey(),t=Fn.getPublicKey(e);return{privateKey:rp(e,t),publicKey:t}}function Jd(e){if(e.length!==_s)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=Fn.getPublicKey(t);return{privateKey:rp(t,r),publicKey:r}}function tp(e,t){let r=e.subarray(0,_s);return Fn.sign(t instanceof Uint8Array?t:t.subarray(),r)}function ep(e,t,r){return Fn.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function rp(e,t){let r=new Uint8Array(ur);for(let n=0;n<_s;n++)r[n]=e[n],r[_s+n]=t[n];return r}var ae={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var T0={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function I0(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=ae.get();r*=8;async function c(l,d){let y=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:h};typeof d=="string"&&(d=Jt(d));let m;if(d.length===0){m=await a.subtle.importKey("jwk",T0,{name:"AES-GCM"},!0,["encrypt"]);try{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",T0,{name:"AES-GCM"},!0,["encrypt"])}}else{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(p,m,l);return cr([y,p.iv,new Uint8Array(g)])}async function u(l,d){let y=l.subarray(0,o),h=l.subarray(o,o+n),p=l.subarray(o+n),m={name:t,iv:h};typeof d=="string"&&(d=Jt(d));let g;if(d.length===0)try{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},D=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,D,{name:t,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",T0,{name:"AES-GCM"},!0,["decrypt"])}else{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},D=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,D,{name:t,length:r},!0,["decrypt"])}let b=await a.subtle.decrypt(m,g,p);return new Uint8Array(b)}return{encrypt:c,decrypt:u}}async function Xn(e,t){let n=await I0().encrypt(e,t);return so.encode(n)}var Bt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(Bt||(Bt={}));var _0;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(_0||(_0={}));(function(e){e.codec=()=>$r(_0)})(Bt||(Bt={}));var He;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Bt.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Bt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(He||(He={}));var qe;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Bt.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Bt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(qe||(qe={}));var Mi=class{_key;constructor(t){this._key=Zn(t,Yn)}verify(t,r){return ep(this._key,r,t)}marshal(){return this._key}get bytes(){return He.encode({Type:Bt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return ce(this.bytes,t.bytes)}hash(){let t=Gt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}},fn=class{_key;_publicKey;constructor(t,r){this._key=Zn(t,ur),this._publicKey=Zn(r,Yn)}sign(t){return tp(this._key,t)}get public(){return new Mi(this._publicKey)}marshal(){return this._key}get bytes(){return qe.encode({Type:Bt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return ce(this.bytes,t.bytes)}async hash(){let t=Gt.digest(this.bytes),r;return ge(t)?{bytes:r}=await t:r=t.bytes,r}async id(){let t=yr.digest(this.public.bytes);return _t.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Xn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function fv(e){if(e.length>ur){e=Zn(e,ur+Yn);let n=e.subarray(0,ur),i=e.subarray(ur,e.length);return new fn(n,i)}e=Zn(e,ur);let t=e.subarray(0,ur),r=e.subarray(Yn);return new fn(t,r)}function lv(e){return e=Zn(e,Yn),new Mi(e)}async function hv(){let{privateKey:e,publicKey:t}=jd();return new fn(e,t)}async function ip(e){let{privateKey:t,publicKey:r}=Jd(e);return new fn(t,r)}function Zn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new W(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var dv={"P-256":256,"P-384":384,"P-521":521},pv=Object.keys(dv),ZT=pv.join(" / ");var U0={};ct(U0,{MAX_KEY_SIZE:()=>qi,RsaPrivateKey:()=>Qn,RsaPublicKey:()=>Hi,fromJwk:()=>Dv,generateKeyPair:()=>Cv,unmarshalRsaPrivateKey:()=>Sv,unmarshalRsaPublicKey:()=>Av});var Vi=Xt(gt(),1);var NI=Xt(up(),1);function Rs(e){if(isNaN(e)||e<=0)throw new W("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Jr(e)}var mI=Xt(Bs(),1),N0=Xt(gt(),1);function fp(e,t){return t.map(r=>he(e[r]))}function lp(e){return N0.default.pki.setRsaPrivateKey(...fp(e,["n","e","d","p","q","dp","dq","qi"]))}function hp(e){return N0.default.pki.setRsaPublicKey(...fp(e,["n","e"]))}var hn={};ct(hn,{jwkToPkcs1:()=>xv,jwkToPkix:()=>wv,pkcs1ToJwk:()=>gv,pkixToJwk:()=>bv});var bI=Xt(Ui(),1),wI=Xt(Bs(),1);var fr=Xt(gt(),1);function gv(e){let t=fr.default.asn1.fromDer(le(e,"ascii")),r=fr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:_e(r.n),e:_e(r.e),d:_e(r.d),p:_e(r.p),q:_e(r.q),dp:_e(r.dP),dq:_e(r.dQ),qi:_e(r.qInv),alg:"RS256"}}function xv(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=fr.default.pki.privateKeyToAsn1({n:he(e.n),e:he(e.e),d:he(e.d),p:he(e.p),q:he(e.q),dP:he(e.dp),dQ:he(e.dq),qInv:he(e.qi)});return Jt(fr.default.asn1.toDer(t).getBytes(),"ascii")}function bv(e){let t=fr.default.asn1.fromDer(le(e,"ascii")),r=fr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:_e(r.n),e:_e(r.e)}}function wv(e){if(e.n==null||e.e==null)throw new W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=fr.default.pki.publicKeyToAsn1({n:he(e.n),e:he(e.e)});return Jt(fr.default.asn1.toDer(t).getBytes(),"ascii")}async function dp(e){let t=await ae.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await mp(t);return{privateKey:r[0],publicKey:r[1]}}async function P0(e){let r=[await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await vv(e)],n=await mp({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function pp(e,t){let r=await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ae.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function yp(e,t,r){let n=await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ae.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function mp(e){if(e.privateKey==null||e.publicKey==null)throw new W("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ae.get().subtle.exportKey("jwk",e.privateKey),ae.get().subtle.exportKey("jwk",e.publicKey)])}async function vv(e){return ae.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function gp(e,t,r,n){let i=t?hp(e):lp(e),o=le(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return Jt(s,"ascii")}function xp(e,t){return gp(e,!0,t,(r,n)=>n.encrypt(r))}function bp(e,t){return gp(e,!1,t,(r,n)=>n.decrypt(r))}function Ls(e){if(e.kty!=="RSA")throw new W("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new W("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Jt(e.n,"base64url").length*8}var qi=8192,Hi=class{_key;constructor(t){this._key=t}verify(t,r){return yp(this._key,r,t)}marshal(){return hn.jwkToPkix(this._key)}get bytes(){return He.encode({Type:Bt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return xp(this._key,t)}equals(t){return ce(this.bytes,t.bytes)}hash(){let t=Gt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}},Qn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Rs(16)}sign(t){return pp(this._key,t)}get public(){if(this._publicKey==null)throw new W("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Hi(this._publicKey)}decrypt(t){return bp(this._key,t)}marshal(){return hn.jwkToPkcs1(this._key)}get bytes(){return qe.encode({Type:Bt.RSA,Data:this.marshal()}).subarray()}equals(t){return ce(this.bytes,t.bytes)}hash(){let t=Gt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return le(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Vi.default.util.ByteBuffer(this.marshal()),i=Vi.default.asn1.fromDer(n),o=Vi.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Vi.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return Xn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Sv(e){let t=hn.pkcs1ToJwk(e);if(Ls(t)>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await P0(t);return new Qn(r.privateKey,r.publicKey)}function Av(e){let t=hn.pkixToJwk(e);if(Ls(t)>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Hi(t)}async function Dv(e){if(Ls(e)>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await P0(e);return new Qn(t.privateKey,t.publicKey)}async function Cv(e){if(e>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await dp(e);return new Qn(t.privateKey,t.publicKey)}var F0={};ct(F0,{Secp256k1PrivateKey:()=>Gi,Secp256k1PublicKey:()=>zi,generateKeyPair:()=>Kv,unmarshalSecp256k1PrivateKey:()=>Uv,unmarshalSecp256k1PublicKey:()=>Ov});function Bv(e){let t=Ci(e);pe(t,{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}=t;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({...t})}var{bytesToNumberBE:Tv,hexToBytes:Iv}=ns,dn={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=dn;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Tv(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=dn,r=typeof e=="string"?Iv(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:o}=dn._parseInt(r.subarray(2)),{d:s,l:a}=dn._parseInt(o);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(e){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=t(r(e.s)),i=t(r(e.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},lr=BigInt(0),xe=BigInt(1),VI=BigInt(2),wp=BigInt(3),HI=BigInt(4);function _v(e){let t=Bv(e),{Fp:r}=t,n=t.toBytes||((h,p,m)=>{let g=p.toAffine();return nr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=t.fromBytes||(h=>{let p=h.subarray(1),m=r.fromBytes(p.subarray(0,r.BYTES)),g=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:m,y:g}});function o(h){let{a:p,b:m}=t,g=r.sqr(h),b=r.mul(g,h);return r.add(r.add(b,r.mul(h,p)),m)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return typeof h=="bigint"&&lr<h&&h<t.n}function a(h){if(!s(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:p,nByteLength:m,wrapPrivateKey:g,n:b}=t;if(p&&typeof h!="bigint"){if(h instanceof Uint8Array&&(h=tr(h)),typeof h!="string"||!p.includes(h.length))throw new Error("Invalid key");h=h.padStart(m*2,"0")}let x;try{x=typeof h=="bigint"?h:er(wt("private key",h,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof h}`)}return g&&(x=ft(x,b)),a(x),x}let u=new Map;function f(h){if(!(h instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,m,g){if(this.px=p,this.py=m,this.pz=g,p==null||!r.isValid(p))throw new Error("x required");if(m==null||!r.isValid(m))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(p){let{x:m,y:g}=p||{};if(!p||!r.isValid(m)||!r.isValid(g))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let b=x=>r.eql(x,r.ZERO);return b(m)&&b(g)?l.ZERO:new l(m,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let m=r.invertBatch(p.map(g=>g.pz));return p.map((g,b)=>g.toAffine(m[b])).map(l.fromAffine)}static fromHex(p){let m=l.fromAffine(i(wt("pointHex",p)));return m.assertValidity(),m}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:m}=this.toAffine();if(!r.isValid(p)||!r.isValid(m))throw new Error("bad point: x or y not FE");let g=r.sqr(m),b=o(p);if(!r.eql(g,b))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:m,py:g,pz:b}=this,{px:x,py:D,pz:v}=p,E=r.eql(r.mul(m,v),r.mul(x,b)),C=r.eql(r.mul(g,v),r.mul(D,b));return E&&C}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:m}=t,g=r.mul(m,wp),{px:b,py:x,pz:D}=this,v=r.ZERO,E=r.ZERO,C=r.ZERO,B=r.mul(b,b),O=r.mul(x,x),K=r.mul(D,D),U=r.mul(b,x);return U=r.add(U,U),C=r.mul(b,D),C=r.add(C,C),v=r.mul(p,C),E=r.mul(g,K),E=r.add(v,E),v=r.sub(O,E),E=r.add(O,E),E=r.mul(v,E),v=r.mul(U,v),C=r.mul(g,C),K=r.mul(p,K),U=r.sub(B,K),U=r.mul(p,U),U=r.add(U,C),C=r.add(B,B),B=r.add(C,B),B=r.add(B,K),B=r.mul(B,U),E=r.add(E,B),K=r.mul(x,D),K=r.add(K,K),B=r.mul(K,U),v=r.sub(v,B),C=r.mul(K,O),C=r.add(C,C),C=r.add(C,C),new l(v,E,C)}add(p){f(p);let{px:m,py:g,pz:b}=this,{px:x,py:D,pz:v}=p,E=r.ZERO,C=r.ZERO,B=r.ZERO,O=t.a,K=r.mul(t.b,wp),U=r.mul(m,x),F=r.mul(g,D),G=r.mul(b,v),Q=r.add(m,g),T=r.add(x,D);Q=r.mul(Q,T),T=r.add(U,F),Q=r.sub(Q,T),T=r.add(m,b);let R=r.add(x,v);return T=r.mul(T,R),R=r.add(U,G),T=r.sub(T,R),R=r.add(g,b),E=r.add(D,v),R=r.mul(R,E),E=r.add(F,G),R=r.sub(R,E),B=r.mul(O,T),E=r.mul(K,G),B=r.add(E,B),E=r.sub(F,B),B=r.add(F,B),C=r.mul(E,B),F=r.add(U,U),F=r.add(F,U),G=r.mul(O,G),T=r.mul(K,T),F=r.add(F,G),G=r.sub(U,G),G=r.mul(O,G),T=r.add(T,G),U=r.mul(F,T),C=r.add(C,U),U=r.mul(R,T),E=r.mul(Q,E),E=r.sub(E,U),U=r.mul(Q,F),B=r.mul(R,B),B=r.add(B,U),new l(E,C,B)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return y.wNAFCached(this,u,p,m=>{let g=r.invertBatch(m.map(b=>b.pz));return m.map((b,x)=>b.toAffine(g[x])).map(l.fromAffine)})}multiplyUnsafe(p){let m=l.ZERO;if(p===lr)return m;if(a(p),p===xe)return this;let{endo:g}=t;if(!g)return y.unsafeLadder(this,p);let{k1neg:b,k1:x,k2neg:D,k2:v}=g.splitScalar(p),E=m,C=m,B=this;for(;x>lr||v>lr;)x&xe&&(E=E.add(B)),v&xe&&(C=C.add(B)),B=B.double(),x>>=xe,v>>=xe;return b&&(E=E.negate()),D&&(C=C.negate()),C=new l(r.mul(C.px,g.beta),C.py,C.pz),E.add(C)}multiply(p){a(p);let m=p,g,b,{endo:x}=t;if(x){let{k1neg:D,k1:v,k2neg:E,k2:C}=x.splitScalar(m),{p:B,f:O}=this.wNAF(v),{p:K,f:U}=this.wNAF(C);B=y.constTimeNegate(D,B),K=y.constTimeNegate(E,K),K=new l(r.mul(K.px,x.beta),K.py,K.pz),g=B.add(K),b=O.add(U)}else{let{p:D,f:v}=this.wNAF(m);g=D,b=v}return l.normalizeZ([g,b])[0]}multiplyAndAddUnsafe(p,m,g){let b=l.BASE,x=(v,E)=>E===lr||E===xe||!v.equals(b)?v.multiplyUnsafe(E):v.multiply(E),D=x(this,m).add(x(p,g));return D.is0()?void 0:D}toAffine(p){let{px:m,py:g,pz:b}=this,x=this.is0();p==null&&(p=x?r.ONE:r.inv(b));let D=r.mul(m,p),v=r.mul(g,p),E=r.mul(b,p);if(x)return{x:r.ZERO,y:r.ZERO};if(!r.eql(E,r.ONE))throw new Error("invZ was invalid");return{x:D,y:v}}isTorsionFree(){let{h:p,isTorsionFree:m}=t;if(p===xe)return!0;if(m)return m(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:m}=t;return p===xe?this:m?m(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return tr(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let d=t.nBitLength,y=ss(l,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function kv(e){let t=Ci(e);return pe(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function vp(e){let t=kv(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(T){return lr<T&&T<r.ORDER}function a(T){return ft(T,n)}function c(T){return is(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:d}=_v({...t,toBytes(T,R,_){let k=R.toAffine(),S=r.toBytes(k.x),P=nr;return _?P(Uint8Array.from([R.hasEvenY()?2:3]),S):P(Uint8Array.from([4]),S,r.toBytes(k.y))},fromBytes(T){let R=T.length,_=T[0],k=T.subarray(1);if(R===i&&(_===2||_===3)){let S=er(k);if(!s(S))throw new Error("Point is not on curve");let P=l(S),M=r.sqrt(P),H=(M&xe)===xe;return(_&1)===1!==H&&(M=r.neg(M)),{x:S,y:M}}else if(R===o&&_===4){let S=r.fromBytes(k.subarray(0,r.BYTES)),P=r.fromBytes(k.subarray(r.BYTES,2*r.BYTES));return{x:S,y:P}}else throw new Error(`Point of length ${R} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=T=>tr(Br(T,t.nByteLength));function h(T){let R=n>>xe;return T>R}function p(T){return h(T)?a(-T):T}let m=(T,R,_)=>er(T.slice(R,_));class g{constructor(R,_,k){this.r=R,this.s=_,this.recovery=k,this.assertValidity()}static fromCompact(R){let _=t.nByteLength;return R=wt("compactSignature",R,_*2),new g(m(R,0,_),m(R,_,2*_))}static fromDER(R){let{r:_,s:k}=dn.toSig(wt("DER",R));return new g(_,k)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(R){return new g(this.r,this.s,R)}recoverPublicKey(R){let{r:_,s:k,recovery:S}=this,P=C(wt("msgHash",R));if(S==null||![0,1,2,3].includes(S))throw new Error("recovery id invalid");let M=S===2||S===3?_+t.n:_;if(M>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=S&1?"03":"02",Z=u.fromHex(H+y(M)),j=c(M),it=a(-P*j),J=a(k*j),et=u.BASE.multiplyAndAddUnsafe(Z,it,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return tn(this.toDERHex())}toDERHex(){return dn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return tn(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let b={isValidPrivateKey(T){try{return f(T),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let T=Qc(t.n);return fh(t.randomBytes(T),t.n)},precompute(T=8,R=u.BASE){return R._setWindowSize(T),R.multiply(BigInt(3)),R}};function x(T,R=!0){return u.fromPrivateKey(T).toRawBytes(R)}function D(T){let R=T instanceof Uint8Array,_=typeof T=="string",k=(R||_)&&T.length;return R?k===i||k===o:_?k===2*i||k===2*o:T instanceof u}function v(T,R,_=!0){if(D(T))throw new Error("first arg must be private key");if(!D(R))throw new Error("second arg must be public key");return u.fromHex(R).multiply(f(T)).toRawBytes(_)}let E=t.bits2int||function(T){let R=er(T),_=T.length*8-t.nBitLength;return _>0?R>>BigInt(_):R},C=t.bits2int_modN||function(T){return a(E(T))},B=Di(t.nBitLength);function O(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(lr<=T&&T<B))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Br(T,t.nByteLength)}function K(T,R,_=U){if(["recovered","canonical"].some(mt=>mt in _))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:S}=t,{lowS:P,prehash:M,extraEntropy:H}=_;P==null&&(P=!0),T=wt("msgHash",T),M&&(T=wt("prehashed msgHash",k(T)));let Z=C(T),j=f(R),it=[O(j),O(Z)];if(H!=null){let mt=H===!0?S(r.BYTES):H;it.push(wt("extraEntropy",mt))}let J=nr(...it),et=Z;function xt(mt){let qt=E(mt);if(!d(qt))return;let zt=c(qt),Ut=u.BASE.multiply(qt).toAffine(),Yt=a(Ut.x);if(Yt===lr)return;let We=a(zt*a(et+Yt*j));if(We===lr)return;let Ur=(Ut.x===Yt?0:2)|Number(Ut.y&xe),ai=We;return P&&h(We)&&(ai=p(We),Ur^=1),new g(Yt,ai,Ur)}return{seed:J,k2sig:xt}}let U={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function G(T,R,_=U){let{seed:k,k2sig:S}=K(T,R,_),P=t;return Wc(P.hash.outputLen,P.nByteLength,P.hmac)(k,S)}u.BASE._setWindowSize(8);function Q(T,R,_,k=F){let S=T;if(R=wt("msgHash",R),_=wt("publicKey",_),"strict"in k)throw new Error("options.strict was renamed to lowS");let{lowS:P,prehash:M}=k,H,Z;try{if(typeof S=="string"||S instanceof Uint8Array)try{H=g.fromDER(S)}catch(Ut){if(!(Ut instanceof dn.Err))throw Ut;H=g.fromCompact(S)}else if(typeof S=="object"&&typeof S.r=="bigint"&&typeof S.s=="bigint"){let{r:Ut,s:Yt}=S;H=new g(Ut,Yt)}else throw new Error("PARSE");Z=u.fromHex(_)}catch(Ut){if(Ut.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(P&&H.hasHighS())return!1;M&&(R=t.hash(R));let{r:j,s:it}=H,J=C(R),et=c(it),xt=a(J*et),mt=a(j*et),qt=u.BASE.multiplyAndAddUnsafe(Z,xt,mt)?.toAffine();return qt?a(qt.x)===j:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:v,sign:G,verify:Q,ProjectivePoint:u,Signature:g,utils:b}}function Rv(e){return{hash:e,hmac:(t,...r)=>Vn(e,t,jo(...r)),randomBytes:Jr}}function Ep(e,t){let r=n=>vp({...e,...Rv(n)});return Object.freeze({...r(t),create:r})}var Dp=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Sp=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Lv=BigInt(1),O0=BigInt(2),Ap=(e,t)=>(e+t/O0)/t;function Nv(e){let t=Dp,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,f=u*u*e%t,l=vt(f,r,t)*f%t,d=vt(l,r,t)*f%t,y=vt(d,O0,t)*u%t,h=vt(y,i,t)*y%t,p=vt(h,o,t)*h%t,m=vt(p,a,t)*p%t,g=vt(m,c,t)*m%t,b=vt(g,a,t)*p%t,x=vt(b,r,t)*f%t,D=vt(x,s,t)*h%t,v=vt(D,n,t)*u%t,E=vt(v,O0,t);if(!K0.eql(K0.sqr(E),e))throw new Error("Cannot find square root");return E}var K0=os(Dp,void 0,void 0,{sqrt:Nv}),ke=Ep({a:BigInt(0),b:BigInt(7),Fp:K0,n:Sp,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=Sp,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Lv*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Ap(o*e,t),c=Ap(-n*e,t),u=ft(e-a*r-c*i,t),f=ft(-a*n-c*o,t),l=u>s,d=f>s;if(l&&(u=t-u),d&&(f=t-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:d,k2:f}}}},Hn),QI=BigInt(0);var jI=ke.ProjectivePoint;function Cp(){return ke.utils.randomPrivateKey()}function Bp(e,t){let r=Gt.digest(t instanceof Uint8Array?t:t.subarray());if(ge(r))return r.then(({digest:n})=>ke.sign(n,e).toDERRawBytes()).catch(n=>{throw new W(String(n),"ERR_INVALID_INPUT")});try{return ke.sign(r.digest,e).toDERRawBytes()}catch(n){throw new W(String(n),"ERR_INVALID_INPUT")}}function Tp(e,t,r){let n=Gt.digest(r instanceof Uint8Array?r:r.subarray());if(ge(n))return n.then(({digest:i})=>ke.verify(t,i,e)).catch(i=>{throw new W(String(i),"ERR_INVALID_INPUT")});try{return ke.verify(t,n.digest,e)}catch(i){throw new W(String(i),"ERR_INVALID_INPUT")}}function Ip(e){return ke.ProjectivePoint.fromHex(e).toRawBytes(!0)}function _p(e){try{ke.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}function M0(e){try{ke.ProjectivePoint.fromHex(e)}catch(t){throw new W(String(t),"ERR_INVALID_PUBLIC_KEY")}}function kp(e){try{return ke.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}var zi=class{_key;constructor(t){M0(t),this._key=t}verify(t,r){return Tp(this._key,r,t)}marshal(){return Ip(this._key)}get bytes(){return He.encode({Type:Bt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return ce(this.bytes,t.bytes)}async hash(){let t=Gt.digest(this.bytes),r;return ge(t)?{bytes:r}=await t:r=t.bytes,r}},Gi=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??kp(t),_p(this._key),M0(this._publicKey)}sign(t){return Bp(this._key,t)}get public(){return new zi(this._publicKey)}marshal(){return this._key}get bytes(){return qe.encode({Type:Bt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return ce(this.bytes,t.bytes)}hash(){let t=Gt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return le(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Xn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Uv(e){return new Gi(e)}function Ov(e){return new zi(e)}async function Kv(){let e=Cp();return new Gi(e)}var pn={rsa:U0,ed25519:k0,secp256k1:F0};function Rp(e){let t=Object.keys(pn).join(" / ");return new W(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Lp(e){let t=He.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Bt.RSA:return pn.rsa.unmarshalRsaPublicKey(r);case Bt.Ed25519:return pn.ed25519.unmarshalEd25519PublicKey(r);case Bt.Secp256k1:return pn.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Rp(t.Type??"unknown")}}async function Np(e){let t=qe.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Bt.RSA:return pn.rsa.unmarshalRsaPrivateKey(r);case Bt.Ed25519:return pn.ed25519.unmarshalEd25519PrivateKey(r);case Bt.Secp256k1:return pn.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Rp(t.Type??"RSA")}}function V0(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=Qr(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Sr(r)}function Up(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Pp=Up("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),H0=Up("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Qr(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Fv={utf8:Pp,"utf-8":Pp,hex:Ot.base16,latin1:H0,ascii:H0,binary:H0,...Ot},Ns=Fv;function Wi(e,t="utf8"){let r=Ns[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Sr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var Ps;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.webtransportCerthashes!=null)for(let o of r.webtransportCerthashes)n.uint32(10),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={webtransportCerthashes:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.webtransportCerthashes.push(r.bytes());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(Ps||(Ps={}));var $i;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.identityKey!=null&&r.identityKey.byteLength>0&&(n.uint32(10),n.bytes(r.identityKey)),r.identitySig!=null&&r.identitySig.byteLength>0&&(n.uint32(18),n.bytes(r.identitySig)),r.extensions!=null&&(n.uint32(34),Ps.codec().encode(r.extensions,n)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identityKey:pt(0),identitySig:pt(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.identityKey=r.bytes();break}case 2:{i.identitySig=r.bytes();break}case 4:{i.extensions=Ps.codec().decode(r,r.uint32());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})($i||($i={}));async function Op(e,t,r){let n=await Hv(e,Kp(t));if(e.publicKey==null)throw new Error("PublicKey was missing from local PeerId");return Vv(e.publicKey,n,r)}function Vv(e,t,r){return $i.encode({identityKey:e,identitySig:t,extensions:r??{webtransportCerthashes:[]}}).subarray()}async function Hv(e,t){if(e.privateKey==null)throw new Error("PrivateKey was missing from PeerId");return(await Np(e.privateKey)).sign(t)}async function q0(e){return Da(e.identityKey)}function z0(e){return $i.decode(e)}function Kp(e){let t=Wi("noise-libp2p-static-key:");return e instanceof Uint8Array?V0([t,e],t.length+e.length):(e.prepend(t),e)}async function G0(e,t,r){let n=await Da(t.identityKey);if(!n.equals(r))throw new Error(`Payload identity key ${n.toString()} does not match expected remote peer ${r.toString()}`);let i=Kp(e);if(n.publicKey==null)throw new Error("PublicKey was missing from PeerId");if(t.identitySig==null)throw new Error("Signature was missing from message");if(!await Lp(n.publicKey).verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function Yi(e){return!(!(e instanceof Uint8Array)&&!In(e)||e.byteLength!==32)}function W0(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ze(e,t="utf8"){let r=Ns[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var qv=0,zv=4294967295,Gv="Cipherstate has reached maximum n, a new handshake must be performed",Us=class{n;bytes;view;constructor(t=qv){this.n=t,this.bytes=pt(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,t,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>zv)throw new Error(Gv)}};var Os=class{crypto;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:noise:abstract-handshake"),this.crypto=r}encryptWithAd(t,r,n){let i=this.encrypt(t.k,t.n,r,n);return t.n.increment(),i}decryptWithAd(t,r,n,i){let{plaintext:o,valid:s}=this.decrypt(t.k,t.n,r,n,i);return s&&t.n.increment(),{plaintext:o,valid:s}}hasKey(t){return!this.isEmptyKey(t.k)}createEmptyKey(){return pt(32)}isEmptyKey(t){let r=this.createEmptyKey();return W0(r,t)}encrypt(t,r,n,i){return r.assertValue(),this.crypto.chaCha20Poly1305Encrypt(i,r.getBytes(),n,t)}encryptAndHash(t,r){let n;return this.hasKey(t.cs)?n=this.encryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,n),n}decrypt(t,r,n,i,o){r.assertValue();let s=this.crypto.chaCha20Poly1305Decrypt(i,r.getBytes(),n,t,o);return s?{plaintext:s,valid:!0}:{plaintext:pt(0),valid:!1}}decryptAndHash(t,r){let n,i=!0;return this.hasKey(t.cs)?{plaintext:n,valid:i}=this.decryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,r),{plaintext:n,valid:i}}dh(t,r){try{let n=this.crypto.generateX25519SharedKey(t,r);return n.length===32?n:n.subarray(0,32)}catch(n){let i=n;return this.log.error("error deriving shared key",i),pt(32)}}mixHash(t,r){t.h=this.getHash(t.h,r)}getHash(t,r){return this.crypto.hashSHA256(new At(t,r))}mixKey(t,r){let[n,i]=this.crypto.getHKDF(t.ck,r);t.cs=this.initializeKey(i),t.ck=n}initializeKey(t){return{k:t,n:new Us}}initializeSymmetric(t){let r=Wi(t,"utf-8"),n=this.hashProtocolName(r),i=n,o=this.createEmptyKey();return{cs:this.initializeKey(o),ck:i,h:n}}hashProtocolName(t){if(t.length<=32){let r=pt(32);return r.set(t),r}else return this.getHash(t,pt(0))}split(t){let[r,n]=this.crypto.getHKDF(t.ck,pt(0)),i=this.initializeKey(r),o=this.initializeKey(n);return{cs1:i,cs2:o}}writeMessageRegular(t,r){let n=this.encryptWithAd(t,pt(0),r),i=this.createEmptyKey(),o=pt(0);return{ne:i,ns:o,ciphertext:n}}readMessageRegular(t,r){return this.decryptWithAd(t,pt(0),r.ciphertext)}};var Ks=class extends Os{initializeInitiator(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=pt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}initializeResponder(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=pt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}writeMessageA(t,r,n){let i=pt(0);n!==void 0?t.e=n:t.e=this.crypto.generateX25519KeyPair();let o=t.e.publicKey;this.mixHash(t.ss,o);let s=this.encryptAndHash(t.ss,r);return{ne:o,ns:i,ciphertext:s}}writeMessageB(t,r){t.e=this.crypto.generateX25519KeyPair();let n=t.e.publicKey;this.mixHash(t.ss,n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let i=t.s.publicKey,o=this.encryptAndHash(t.ss,i);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let s=this.encryptAndHash(t.ss,r);return{ne:n,ns:o,ciphertext:s}}writeMessageC(t,r){let n=t.s.publicKey,i=this.encryptAndHash(t.ss,n);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let o=this.encryptAndHash(t.ss,r),a={ne:this.createEmptyKey(),ns:i,ciphertext:o},{cs1:c,cs2:u}=this.split(t.ss);return{h:t.ss.h,messageBuffer:a,cs1:c,cs2:u}}readMessageA(t,r){return Yi(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),this.decryptAndHash(t.ss,r.ciphertext)}readMessageB(t,r){if(Yi(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);i&&Yi(n)&&(t.rs=n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext);return{plaintext:o,valid:i&&s}}readMessageC(t,r){let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);if(i&&Yi(n)&&(t.rs=n),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext),{cs1:a,cs2:c}=this.split(t.ss);return{h:t.ss.h,plaintext:o,valid:i&&s,cs1:a,cs2:c}}initSession(t,r,n){let i=this.createEmptyKey(),o=pt(32),s;return t?s=this.initializeInitiator(r,n,o,i):s=this.initializeResponder(r,n,o,i),{hs:s,i:t,mc:0}}sendMessage(t,r,n){let i;if(t.mc===0)i=this.writeMessageA(t.hs,r,n);else if(t.mc===1)i=this.writeMessageB(t.hs,r);else if(t.mc===2){let{h:o,messageBuffer:s,cs1:a,cs2:c}=this.writeMessageC(t.hs,r);i=s,t.h=o,t.cs1=a,t.cs2=c}else if(t.mc>2)if(t.i){if(!t.cs1)throw new Error("CS1 (cipher state) is not defined");i=this.writeMessageRegular(t.cs1,r)}else{if(!t.cs2)throw new Error("CS2 (cipher state) is not defined");i=this.writeMessageRegular(t.cs2,r)}else throw new Error("Session invalid.");return t.mc++,i}recvMessage(t,r){let n=pt(0),i=!1;if(t.mc===0)({plaintext:n,valid:i}=this.readMessageA(t.hs,r));else if(t.mc===1)({plaintext:n,valid:i}=this.readMessageB(t.hs,r));else if(t.mc===2){let{h:o,plaintext:s,valid:a,cs1:c,cs2:u}=this.readMessageC(t.hs,r);n=s,i=a,t.h=o,t.cs1=c,t.cs2=u}return t.mc++,{plaintext:n,valid:i}}};function Mp(e,t){!t.enabled||!Pn||(t(`LOCAL_STATIC_PUBLIC_KEY ${ze(e.publicKey,"hex")}`),t(`LOCAL_STATIC_PRIVATE_KEY ${ze(e.privateKey,"hex")}`))}function $0(e,t){!t.enabled||!Pn||(e?(t(`LOCAL_PUBLIC_EPHEMERAL_KEY ${ze(e.publicKey,"hex")}`),t(`LOCAL_PRIVATE_EPHEMERAL_KEY ${ze(e.privateKey,"hex")}`)):t("Missing local ephemeral keys."))}function Fp(e,t){!t.enabled||!Pn||t(`REMOTE_STATIC_PUBLIC_KEY ${ze(e.subarray(),"hex")}`)}function Y0(e,t){!t.enabled||!Pn||t(`REMOTE_EPHEMERAL_PUBLIC_KEY ${ze(e.subarray(),"hex")}`)}function Vp(e,t){!t.enabled||!Pn||(e.cs1&&e.cs2?(t(`CIPHER_STATE_1 ${e.cs1.n.getUint64()} ${ze(e.cs1.k,"hex")}`),t(`CIPHER_STATE_2 ${e.cs2.n.getUint64()} ${ze(e.cs2.k,"hex")}`)):t("Missing cipher state."))}var Ms=class{isInitiator;session;remotePeer;remoteExtensions={webtransportCerthashes:[]};payload;connection;xx;staticKeypair;prologue;log;constructor(t,r,n,i,o,s,a,c,u){this.log=t.logger.forComponent("libp2p:noise:xxhandshake"),this.isInitiator=r,this.payload=n,this.prologue=i,this.staticKeypair=s,this.connection=a,c&&(this.remotePeer=c),this.xx=u??new Ks(t,o),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){if(Mp(this.session.hs.s,this.log),this.isInitiator){this.log.trace("Stage 0 - Initiator starting to send first message.");let t=this.xx.sendMessage(this.session,pt(0));await this.connection.write(Eh(t)),this.log.trace("Stage 0 - Initiator finished sending first message."),$0(this.session.hs.e,this.log)}else{this.log.trace("Stage 0 - Responder waiting to receive first message...");let t=Dh((await this.connection.read()).subarray()),{valid:r}=this.xx.recvMessage(this.session,t);if(!r)throw new rn("xx handshake stage 0 validation fail");this.log.trace("Stage 0 - Responder received first message."),Y0(this.session.hs.re,this.log)}}async exchange(){if(this.isInitiator){this.log.trace("Stage 1 - Initiator waiting to receive first message from responder...");let t=Ch((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new rn("xx handshake stage 1 validation fail");this.log.trace("Stage 1 - Initiator received the message."),Y0(this.session.hs.re,this.log),Fp(this.session.hs.rs,this.log),this.log.trace("Initiator going to check remote's signature...");try{let i=z0(r);this.remotePeer=this.remotePeer||await q0(i),await G0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ri(`Error occurred while verifying signed payload: ${o.message}`)}this.log.trace("All good with the signature!")}else{this.log.trace("Stage 1 - Responder sending out first message with signed payload and static key.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Sh(t)),this.log.trace("Stage 1 - Responder sent the second handshake message with signed payload."),$0(this.session.hs.e,this.log)}}async finish(){if(this.isInitiator){this.log.trace("Stage 2 - Initiator sending third handshake message.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Ah(t)),this.log.trace("Stage 2 - Initiator sent message with signed payload.")}else{this.log.trace("Stage 2 - Responder waiting for third handshake message...");let t=Bh((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new rn("xx handshake stage 2 validation fail");this.log.trace("Stage 2 - Responder received the message, finished handshake.");try{let i=z0(r);this.remotePeer=this.remotePeer||await q0(i),await G0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ri(`Error occurred while verifying signed payload: ${o.message}`)}}Vp(this.session,this.log)}encrypt(t,r){let n=this.getCS(r);return this.xx.encryptWithAd(n,pt(0),t)}decrypt(t,r,n){let i=this.getCS(r,!1);return this.xx.decryptWithAd(i,pt(0),t,n)}getRemoteStaticKey(){return this.session.hs.rs}getCS(t,r=!0){if(!t.cs1||!t.cs2)throw new rn("Handshake not completed properly, cipher state does not exist.");return this.isInitiator?r?t.cs1:t.cs2:r?t.cs2:t.cs1}setRemoteNoiseExtension(t){t&&(this.remoteExtensions=t)}};function Hp(e){return{xxHandshakeSuccesses:e.registerCounter("libp2p_noise_xxhandshake_successes_total",{help:"Total count of noise xxHandshakes successes_"}),xxHandshakeErrors:e.registerCounter("libp2p_noise_xxhandshake_error_total",{help:"Total count of noise xxHandshakes errors"}),encryptedPackets:e.registerCounter("libp2p_noise_encrypted_packets_total",{help:"Total count of noise encrypted packets successfully"}),decryptedPackets:e.registerCounter("libp2p_noise_decrypted_packets_total",{help:"Total count of noise decrypted packets"}),decryptErrors:e.registerCounter("libp2p_noise_decrypt_errors_total",{help:"Total count of noise decrypt errors"})}}var Fs=class{protocol="/noise";crypto;prologue;staticKeys;extensions;metrics;components;constructor(t,r={}){let{staticNoiseKey:n,extensions:i,crypto:o,prologueBytes:s}=r,{metrics:a}=t;this.components=t,this.crypto=o??vh,this.extensions=i,this.metrics=a?Hp(a):void 0,n?this.staticKeys=this.crypto.generateX25519KeyPairFromSeed(n):this.staticKeys=this.crypto.generateX25519KeyPair(),this.prologue=s??pt(0)}async secureOutbound(t,r,n){let i=Si(r,{lengthEncoder:qn,lengthDecoder:_i,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!0,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remoteExtensions:o.remoteExtensions,remotePeer:o.remotePeer}}async secureInbound(t,r,n){let i=Si(r,{lengthEncoder:qn,lengthDecoder:_i,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!1,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remotePeer:o.remotePeer,remoteExtensions:o.remoteExtensions}}async performHandshake(t){let r=await Op(t.localPeer,this.staticKeys.publicKey,this.extensions);return this.performXXHandshake(t,r)}async performXXHandshake(t,r){let{isInitiator:n,remotePeer:i,connection:o}=t,s=new Ms(this.components,n,r,this.prologue,this.crypto,this.staticKeys,o,i);try{await s.propose(),await s.exchange(),await s.finish(),this.metrics?.xxHandshakeSuccesses.increment()}catch(a){if(this.metrics?.xxHandshakeErrors.increment(),a instanceof Error)throw a.message=`Error occurred during XX handshake: ${a.message}`,a}return s}async createSecureConnection(t,r){let[n,i]=Ol(),o=t.unwrap();return await Ml(n,_h(r,this.metrics),o,s=>qr(s,{lengthDecoder:_i}),kh(r,this.metrics),n),i}};function qp(e={}){return t=>new Fs(t,e)}var by=Xt(Au(),1);var hy=Xt(Au(),1);var Du=Object.values(Ot).map(e=>e.decoder).reduce((e,t)=>e.or(t));function dy(e,t){let r=e.getConfiguration().certificates?.at(0);if(r==null||r.getFingerprints==null){t.log.trace("fetching fingerprint from local SDP");let i=e.localDescription;return i==null?void 0:jE(i.sdp)}if(t.log.trace("fetching fingerprint from local certificate"),r.getFingerprints().length===0)return;let n=r.getFingerprints()[0].value;if(n==null)throw rc("","no fingerprint on local certificate");return n}var QE=/^a=fingerprint:(?:\w+-[0-9]+)\s(?<fingerprint>(:?[0-9a-fA-F]{2})+)$/m;function jE(e){return e.match(QE)?.groups?.fingerprint}function JE(e){for(let t of e.protoNames())if(t.startsWith("ip"))return t.toUpperCase();return"IP6"}function js(e){let r=e.stringTuples().filter(n=>n[0]===my).map(n=>n[1])[0];if(r===void 0||r==="")throw Eo(`Couldn't find a certhash component of multiaddr: ${e.toString()}`);return r}function Cu(e){let t=Du.decode(e);return hy.decode(t)}function t3(e){let t=Cu(js(e)),r=Bu(t.name),n=t.digest.reduce((o,s)=>o+s.toString(16).padStart(2,"0"),""),i=n.match(/.{1,2}/g);if(i==null)throw rc(n,e.toString());return[`${r.toUpperCase()} ${i.join(":").toUpperCase()}`,n]}function Bu(e){switch(e){case"sha1":return"sha-1";case"sha2-256":return"sha-256";case"sha2-512":return"sha-512";default:throw Ff(e)}}function e3(e,t){let{host:r,port:n}=e.toOptions(),i=JE(e),[o]=t3(e);return`v=0
29
+ `});var Z1=lt(()=>{X1();zs();Nr();mu();Ji()});var bu,_R,Q1=lt(()=>{A1();D1();C1();B1();T1();au();I1();fu();_1();R1();V1();z1();G1();W1();Z1();bu={...eu,...ru,...nu,...iu,...ou,...su,...cu,...uu,...lu,...hu},_R={...gu,...xu}});function ii(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}var Ys=lt(()=>{});function Xs(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?ii(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var wu=lt(()=>{Ys()});function J1(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var j1,vu,ME,Zs,Eu=lt(()=>{Q1();wu();j1=J1("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),vu=J1("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Xs(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),ME={utf8:j1,"utf-8":j1,hex:bu.base16,latin1:vu,ascii:vu,binary:vu,...bu},Zs=ME});var ty={};ct(ty,{toString:()=>FE});function FE(e,t="utf8"){let r=Zs[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var ey=lt(()=>{Eu()});var ry={};ct(ry,{fromString:()=>VE});function VE(e,t="utf8"){let r=Zs[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ii(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var ny=lt(()=>{Eu();Ys()});var iy={};ct(iy,{concat:()=>HE});function HE(e,t){t||(t=e.reduce((i,o)=>i+o.length,0));let r=Xs(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return ii(r)}var oy=lt(()=>{wu();Ys()});var Au=ot((qR,ly)=>{"use strict";var sy=n1(),oi=p1(),{names:eo}=m1(),{toString:Qs}=(ey(),no(ty)),{fromString:qE}=(ny(),no(ry)),{concat:zE}=(oy(),no(iy)),si={};for(let e in eo){let t=e;si[eo[t]]=t}Object.freeze(si);function GE(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Qs(e,"base16")}function WE(e){return qE(e,"base16")}function $E(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Qs(sy.encode("base58btc",e)).slice(1)}function YE(e){let t=e instanceof Uint8Array?Qs(e):e;return sy.decode("z"+t)}function ay(e){if(!(e instanceof Uint8Array))throw new Error("multihash must be a Uint8Array");if(e.length<2)throw new Error("multihash too short. must be > 2 bytes.");let t=oi.decode(e);if(!uy(t))throw new Error(`multihash unknown function code: 0x${t.toString(16)}`);e=e.slice(oi.decode.bytes);let r=oi.decode(e);if(r<0)throw new Error(`multihash invalid length: ${r}`);if(e=e.slice(oi.decode.bytes),e.length!==r)throw new Error(`multihash length inconsistent: 0x${Qs(e,"base16")}`);return{code:t,name:si[t],length:r,digest:e}}function XE(e,t,r){if(!e||t===void 0)throw new Error("multihash encode requires at least two args: digest, code");let n=cy(t);if(!(e instanceof Uint8Array))throw new Error("digest should be a Uint8Array");if(r==null&&(r=e.length),r&&e.length!==r)throw new Error("digest length should be equal to specified length.");let i=oi.encode(n),o=oi.encode(r);return zE([i,o,e],i.length+o.length+e.length)}function cy(e){let t=e;if(typeof e=="string"){if(eo[e]===void 0)throw new Error(`Unrecognized hash function named: ${e}`);t=eo[e]}if(typeof t!="number")throw new Error(`Hash function code should be a number. Got: ${t}`);if(si[t]===void 0&&!Su(t))throw new Error(`Unrecognized function code: ${t}`);return t}function Su(e){return e>0&&e<16}function uy(e){return!!(Su(e)||si[e])}function fy(e){ay(e)}function ZE(e){return fy(e),e.subarray(0,2)}ly.exports={names:eo,codes:si,toHexString:GE,fromHexString:WE,toB58String:$E,fromB58String:YE,decode:ay,encode:XE,coerceCode:cy,isAppCode:Su,validate:fy,prefix:ZE,isValidCode:uy}});var s3={};ct(s3,{webRTC:()=>o3,webRTCDirect:()=>i3});var c3=Symbol.for("@libp2p/connection");var f3=Symbol.for("@libp2p/content-routing");var d3=Symbol.for("@libp2p/peer-discovery");var Ou=Symbol.for("@libp2p/peer-id");var m3=Symbol.for("@libp2p/peer-routing");var Ku;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(Ku||(Ku={}));var io=Symbol.for("@libp2p/transport");var Mu;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(Mu||(Mu={}));var W=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var oo=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new Ly(t,r))}},ea=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},Ly=globalThis.CustomEvent??ea;var Fu=(e,...t)=>{try{[...t]}catch{}};var sa={};ct(sa,{base58btc:()=>_t,base58flickr:()=>My});function Ny(e,t){if(e.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<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,m=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,D=new Uint8Array(x);g!==b;){for(var v=h[g],E=0,C=x-1;(v!==0||E<m)&&C!==-1;C--,E++)v+=256*D[C]>>>0,D[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=E,g++}for(var B=x-m;B!==x&&D[B]===0;)B++;for(var O=c.repeat(p);B<x;++B)O+=e.charAt(D[B]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var m=0,g=0;h[p]===c;)m++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var D=r[h.charCodeAt(p)];if(D===255)return;for(var v=0,E=b-1;(D!==0||v<g)&&E!==-1;E--,v++)D+=a*x[E]>>>0,x[E]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");g=v,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(m+(b-C)),O=m;C!==b;)B[O++]=x[C++];return B}}}function y(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:y}}var Py=Ny,Uy=Py,Vu=Uy;var j3=new Uint8Array(0);var Hu=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},$e=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var qu=e=>new TextEncoder().encode(e),zu=e=>new TextDecoder().decode(e);var ra=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},na=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Wu(this,t)}},ia=class{constructor(t){this.decoders=t}or(t){return Wu(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Wu=(e,t)=>new ia({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),oa=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new ra(t,r,n),this.decoder=new na(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},gn=({name:e,prefix:t,encode:r,decode:n})=>new oa(e,t,r,n),pr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Vu(r,t);return gn({prefix:e,name:t,encode:n,decode:o=>$e(i(o))})},Oy=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Ky=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Tt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>gn({prefix:t,name:e,encode(i){return Ky(i,n,r)},decode(i){return Oy(i,n,r,e)}});var _t=pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),My=pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var aa={};ct(aa,{base10:()=>Fy});var Fy=pr({prefix:"9",name:"base10",alphabet:"0123456789"});var ca={};ct(ca,{base16:()=>Vy,base16upper:()=>Hy});var Vy=Tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Hy=Tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ua={};ct(ua,{base2:()=>qy});var qy=Tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var fa={};ct(fa,{base256emoji:()=>Yy});var $u=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}"),zy=$u.reduce((e,t,r)=>(e[r]=t,e),[]),Gy=$u.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Wy(e){return e.reduce((t,r)=>(t+=zy[r],t),"")}function $y(e){let t=[];for(let r of e){let n=Gy[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Yy=gn({prefix:"\u{1F680}",name:"base256emoji",encode:Wy,decode:$y});var la={};ct(la,{base32:()=>Ye,base32hex:()=>jy,base32hexpad:()=>t2,base32hexpadupper:()=>e2,base32hexupper:()=>Jy,base32pad:()=>Zy,base32padupper:()=>Qy,base32upper:()=>Xy,base32z:()=>r2});var Ye=Tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Xy=Tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Zy=Tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Qy=Tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),jy=Tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Jy=Tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),t2=Tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),e2=Tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),r2=Tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ha={};ct(ha,{base36:()=>n2,base36upper:()=>i2});var n2=pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),i2=pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var pa={};ct(pa,{base64:()=>so,base64pad:()=>o2,base64url:()=>da,base64urlpad:()=>s2});var so=Tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),o2=Tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),da=Tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),s2=Tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ya={};ct(ya,{base8:()=>a2});var a2=Tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ma={};ct(ma,{identity:()=>c2});var c2=gn({prefix:"\0",name:"identity",encode:e=>zu(e),decode:e=>qu(e)});var d4=new TextEncoder,p4=new TextDecoder;var xa={};ct(xa,{identity:()=>yr});var l2=Zu,Yu=128,h2=127,d2=~h2,p2=Math.pow(2,31);function Zu(e,t,r){t=t||[],r=r||0;for(var n=r;e>=p2;)t[r++]=e&255|Yu,e/=128;for(;e&d2;)t[r++]=e&255|Yu,e>>>=7;return t[r]=e|0,Zu.bytes=r-n+1,t}var y2=ga,m2=128,Xu=127;function ga(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw ga.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Xu)<<i:(s&Xu)*Math.pow(2,i),i+=7}while(s>=m2);return ga.bytes=o-n,r}var g2=Math.pow(2,7),x2=Math.pow(2,14),b2=Math.pow(2,21),w2=Math.pow(2,28),v2=Math.pow(2,35),E2=Math.pow(2,42),S2=Math.pow(2,49),A2=Math.pow(2,56),D2=Math.pow(2,63),C2=function(e){return e<g2?1:e<x2?2:e<b2?3:e<w2?4:e<v2?5:e<E2?6:e<S2?7:e<A2?8:e<D2?9:10},B2={encode:l2,decode:y2,encodingLength:C2},T2=B2,ci=T2;var ui=(e,t=0)=>[ci.decode(e,t),ci.decode.bytes],xn=(e,t,r=0)=>(ci.encode(e,t,r),t),bn=e=>ci.encodingLength(e);var Le=(e,t)=>{let r=t.byteLength,n=bn(e),i=n+bn(r),o=new Uint8Array(i+r);return xn(e,o,0),xn(r,o,n),o.set(t,i),new wn(e,r,t,o)},Or=e=>{let t=$e(e),[r,n]=ui(t),[i,o]=ui(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new wn(r,i,s,t)},Qu=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Hu(e.bytes,r.bytes)}},wn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var ju=0,I2="identity",Ju=$e,_2=e=>Le(ju,Ju(e)),yr={code:ju,name:I2,encode:Ju,digest:_2};var va={};ct(va,{sha256:()=>Gt,sha512:()=>k2});var wa=({name:e,code:t,encode:r})=>new ba(e,t,r),ba=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Le(this.code,r):r.then(n=>Le(this.code,n))}else throw Error("Unknown type, must be binary type")}};var ef=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Gt=wa({name:"sha2-256",code:18,encode:ef("SHA-256")}),k2=wa({name:"sha2-512",code:19,encode:ef("SHA-512")});var rf=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return L2(r,Ea(e),t||_t.encoder);default:return N2(r,Ea(e),t||Ye.encoder)}};var nf=new WeakMap,Ea=e=>{let t=nf.get(e);if(t==null){let r=new Map;return nf.set(e,r),r}return t},be=class e{constructor(t,r,n,i){this.code=r,this.version=t,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:t,multihash:r}=this;if(t!==fi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==P2)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Le(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Qu(t.multihash,n.multihash)}toString(t){return rf(this,t)}toJSON(){return{"/":rf(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new e(n,i,o,s||of(n,i,o.bytes))}else if(r[U2]===!0){let{version:n,multihash:i,code:o}=r,s=Or(i);return e.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==fi)throw new Error(`Version 0 CID must use dag-pb (code: ${fi}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=of(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,fi,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=$e(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new wn(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=ui(t.subarray(r));return r+=d,l},i=n(),o=fi;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=R2(t,r),o=e.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ea(o).set(n,t),o}},R2=(e,t)=>{switch(e[0]){case"Q":{let r=t||_t;return[_t.prefix,r.decode(`${_t.prefix}${e}`)]}case _t.prefix:{let r=t||_t;return[_t.prefix,r.decode(e)]}case Ye.prefix:{let r=t||Ye;return[Ye.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},L2=(e,t,r)=>{let{prefix:n}=r;if(n!==_t.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},N2=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},fi=112,P2=18,of=(e,t,r)=>{let n=bn(e),i=n+bn(t),o=new Uint8Array(i+r.byteLength);return xn(e,o,0),xn(t,o,n),o.set(r,i),o},U2=Symbol.for("@ipld/js-cid/CID");var Ot={...ma,...ua,...ya,...aa,...ca,...la,...ha,...sa,...pa,...fa},_4={...va,...xa};function ce(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var O2=Symbol.for("nodejs.util.inspect.custom"),sf=Object.values(Ot).map(e=>e.decoder).reduce((e,t)=>e.or(t),Ot.identity.decoder),af=114,Sa=36,Aa=37,li=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Ou]=!0;toString(){return this.string==null&&(this.string=_t.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return be.createV1(af,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return ce(this.multihash.bytes,t);if(typeof t=="string")return Mr(t).equals(this);if(t?.multihash?.bytes!=null)return ce(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[O2](){return`PeerId(${this.toString()})`}},vn=class extends li{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},En=class extends li{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},Sn=class extends li{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Mr(e,t){if(t=t??sf,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Or(_t.decode(`z${e}`));return e.startsWith("12D")?new En({multihash:r}):e.startsWith("16U")?new Sn({multihash:r}):new vn({multihash:r})}return K2(sf.decode(e))}function K2(e){try{let t=Or(e);if(t.code===yr.code){if(t.digest.length===Sa)return new En({multihash:t});if(t.digest.length===Aa)return new Sn({multihash:t})}if(t.code===Gt.code)return new vn({multihash:t})}catch{return M2(be.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function M2(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==af)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Gt.code)return new vn({multihash:e.multihash});if(t.code===yr.code){if(t.digest.length===Sa)return new En({multihash:e.multihash});if(t.digest.length===Aa)return new Sn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Da(e,t){return e.length===Sa?new En({multihash:Le(yr.code,e),privateKey:t}):e.length===Aa?new Sn({multihash:Le(yr.code,e),privateKey:t}):new vn({multihash:await Gt.digest(e),publicKey:e,privateKey:t})}function cf(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function An(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function co(e=0){return globalThis.Buffer?.allocUnsafe!=null?An(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function ff(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var uf=ff("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ca=ff("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=co(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),V2={utf8:uf,"utf-8":uf,hex:Ot.base16,latin1:Ca,ascii:Ca,binary:Ca,...Ot},uo=V2;function re(e,t="utf8"){let r=uo[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function lf(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function hf(e=0){return globalThis.Buffer?.allocUnsafe!=null?lf(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var H2=Math.pow(2,7),q2=Math.pow(2,14),z2=Math.pow(2,21),Ba=Math.pow(2,28),Ta=Math.pow(2,35),Ia=Math.pow(2,42),_a=Math.pow(2,49),ht=128,Zt=127;function Qt(e){if(e<H2)return 1;if(e<q2)return 2;if(e<z2)return 3;if(e<Ba)return 4;if(e<Ta)return 5;if(e<Ia)return 6;if(e<_a)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function G2(e,t,r=0){switch(Qt(e)){case 8:t[r++]=e&255|ht,e/=128;case 7:t[r++]=e&255|ht,e/=128;case 6:t[r++]=e&255|ht,e/=128;case 5:t[r++]=e&255|ht,e/=128;case 4:t[r++]=e&255|ht,e>>>=7;case 3:t[r++]=e&255|ht,e>>>=7;case 2:t[r++]=e&255|ht,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function W2(e,t,r=0){switch(Qt(e)){case 8:t.set(r++,e&255|ht),e/=128;case 7:t.set(r++,e&255|ht),e/=128;case 6:t.set(r++,e&255|ht),e/=128;case 5:t.set(r++,e&255|ht),e/=128;case 4:t.set(r++,e&255|ht),e>>>=7;case 3:t.set(r++,e&255|ht),e>>>=7;case 2:t.set(r++,e&255|ht),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function $2(e,t){let r=e[t],n=0;if(n+=r&Zt,r<ht||(r=e[t+1],n+=(r&Zt)<<7,r<ht)||(r=e[t+2],n+=(r&Zt)<<14,r<ht)||(r=e[t+3],n+=(r&Zt)<<21,r<ht)||(r=e[t+4],n+=(r&Zt)*Ba,r<ht)||(r=e[t+5],n+=(r&Zt)*Ta,r<ht)||(r=e[t+6],n+=(r&Zt)*Ia,r<ht)||(r=e[t+7],n+=(r&Zt)*_a,r<ht))return n;throw new RangeError("Could not decode varint")}function Y2(e,t){let r=e.get(t),n=0;if(n+=r&Zt,r<ht||(r=e.get(t+1),n+=(r&Zt)<<7,r<ht)||(r=e.get(t+2),n+=(r&Zt)<<14,r<ht)||(r=e.get(t+3),n+=(r&Zt)<<21,r<ht)||(r=e.get(t+4),n+=(r&Zt)*Ba,r<ht)||(r=e.get(t+5),n+=(r&Zt)*Ta,r<ht)||(r=e.get(t+6),n+=(r&Zt)*Ia,r<ht)||(r=e.get(t+7),n+=(r&Zt)*_a,r<ht))return n;throw new RangeError("Could not decode varint")}function mr(e,t,r=0){return t==null&&(t=hf(Qt(e))),t instanceof Uint8Array?G2(e,t,r):W2(e,t,r)}function we(e,t=0){return e instanceof Uint8Array?$2(e,t):Y2(e,t)}function Xe(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=co(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return An(r)}var fo=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(f===void 0)break;if(o*=t,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=t(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var df=45,X2=15,Dn=new fo;function ka(e){if(!(e.length>X2))return Dn.new(e).parseWith(()=>Dn.readIPv4Addr())}function Ra(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>df))return Dn.new(e).parseWith(()=>Dn.readIPv6Addr())}function lo(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>df))return Dn.new(e).parseWith(()=>Dn.readIPAddr())}var hS=parseInt("0xFFFF",16),dS=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function La(e,t="utf8"){let r=uo[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?An(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function ho(e){return!!ka(e)}function po(e){return!!Ra(e)}function yo(e){return!!lo(e)}var mf=ho,tm=po,Na=function(e){let t=0;if(e=e.toString().trim(),mf(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(tm(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=mf(r[n]),s;o&&(s=Na(r[n]),r[n]=re(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,re(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},gf=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Cn={},Pa={},rm=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];rm.forEach(e=>{let t=nm(...e);Pa[t.code]=t,Cn[t.name]=t});function nm(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function dt(e){if(typeof e=="number"){if(Pa[e]!=null)return Pa[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Cn[e]!=null)return Cn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var JS=dt("ip4"),t5=dt("ip6"),e5=dt("ipcidr");function Oa(e,t){switch(dt(e).code){case 4:case 41:return om(t);case 42:return wf(t);case 6:case 273:case 33:case 132:return Ef(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return wf(t);case 421:return um(t);case 444:return vf(t);case 445:return vf(t);case 466:return cm(t);default:return re(t,"base16")}}function Ka(e,t){switch(dt(e).code){case 4:return xf(t);case 41:return xf(t);case 42:return bf(t);case 6:case 273:case 33:case 132:return Ma(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return bf(t);case 421:return sm(t);case 444:return fm(t);case 445:return lm(t);case 466:return am(t);default:return La(t,"base16")}}var Ua=Object.values(Ot).map(e=>e.decoder),im=function(){let e=Ua[0].or(Ua[1]);return Ua.slice(2).forEach(t=>e=e.or(t)),e}();function xf(e){if(!yo(e))throw new Error("invalid ip address");return Na(e)}function om(e){let t=gf(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!yo(t))throw new Error("invalid ip address");return t}function Ma(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Ef(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function bf(e){let t=La(e),r=Uint8Array.from(mr(t.length));return Xe([r,t],r.length+t.length)}function wf(e){let t=we(e);if(e=e.slice(Qt(t)),e.length!==t)throw new Error("inconsistent lengths");return re(e)}function sm(e){let t;e[0]==="Q"||e[0]==="1"?t=Or(_t.decode(`z${e}`)).bytes:t=be.parse(e).multihash.bytes;let r=Uint8Array.from(mr(t.length));return Xe([r,t],r.length+t.length)}function am(e){let t=im.decode(e),r=Uint8Array.from(mr(t.length));return Xe([r,t],r.length+t.length)}function cm(e){let t=we(e),r=e.slice(Qt(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+re(r,"base64url")}function um(e){let t=we(e),r=e.slice(Qt(t));if(r.length!==t)throw new Error("inconsistent lengths");return re(r,"base58btc")}function fm(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=Ye.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ma(n);return Xe([r,i],r.length+i.length)}function lm(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=Ye.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ma(n);return Xe([r,i],r.length+i.length)}function vf(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=re(t,"base32"),i=Ef(r);return`${n}:${i}`}function Sf(e){e=Fa(e);let t=[],r=[],n=null,i=e.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=dt(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Df("invalid address: "+e);if(a.path===!0){n=Fa(i.slice(o).join("/")),t.push([a.code,Ka(a.code,n)]),r.push([a.code,n]);break}let c=Ka(a.code,i[o]);t.push([a.code,c]),r.push([a.code,Oa(a.code,c)])}return{string:Af(r),bytes:Ha(t),tuples:t,stringTuples:r,path:n}}function Va(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=we(e,i),s=Qt(o),a=dt(o),c=hm(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let u=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw Df("Invalid address Uint8Array: "+re(e,"base16"));t.push([o,u]);let f=Oa(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:Af(r),tuples:t,stringTuples:r,path:n}}function Af(e){let t=[];return e.map(r=>{let n=dt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Fa(t.join("/"))}function Ha(e){return Xe(e.map(t=>{let r=dt(t[0]),n=Uint8Array.from(mr(r.code));return t.length>1&&t[1]!=null&&(n=Xe([n,t[1]])),n}))}function hm(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=we(t instanceof Uint8Array?t:Uint8Array.from(t));return r+Qt(r)}}function Fa(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Df(e){return new Error("Error parsing address: "+e)}var dm=Symbol.for("nodejs.util.inspect.custom"),qa=Symbol.for("@multiformats/js-multiaddr/multiaddr"),pm=[dt("dns").code,dt("dns4").code,dt("dns6").code,dt("dnsaddr").code],mo=class e{bytes;#t;#e;#r;#n;[qa]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Va(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=Sf(t)}else if(Bf(t))r=Va(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=dt("tcp"),a=dt("udp"),c=dt("ip4"),u=dt("ip6"),f=dt("dns6"),l=dt("ip6zone");for(let[y,h]of this.stringTuples())y===l.code&&(o=`%${h??""}`),pm.includes(y)&&(r=s.name,i=443,n=`${h??""}${o}`,t=y===f.code?6:4),(y===s.code||y===a.code)&&(r=dt(y).name,i=parseInt(h??"")),(y===c.code||y===u.code)&&(r=dt(y).name,n=`${h??""}${o}`,t=y===u.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.#e.map(([t])=>Object.assign({},dt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>dt(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Ha(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===Cn.p2p.code&&t.push([n,i]),n===Cn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?re(_t.decode(`z${n}`),"base58btc"):re(be.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return cf(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Cf.get(r.name);if(n==null)throw new W(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new e(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[dm](){return`Multiaddr(${this.#t})`}};var Cf=new Map;function Bf(e){return!!e?.[qa]}function Ze(e){return new mo(e)}var ym=e=>e.toString().split("/").slice(1),di=e=>({match:t=>t.length<1?!1:e(t[0])?t.slice(1):!1,pattern:"fn"}),kt=e=>({match:t=>di(r=>r===e).match(t),pattern:e}),bo=()=>({match:e=>di(t=>typeof t=="string").match(e),pattern:"{string}"}),Tf=()=>({match:e=>di(t=>!isNaN(parseInt(t))).match(e),pattern:"{number}"}),de=()=>({match:e=>{if(e.length<2||e[0]!=="p2p"&&e[0]!=="ipfs")return!1;if(e[1].startsWith("Q")||e[1].startsWith("1"))try{_t.decode(`z${e[1]}`)}catch{return!1}else return!1;return e.slice(2)},pattern:"/p2p/{peerid}"}),go=()=>({match:e=>{if(e.length<2||e[0]!=="certhash")return!1;try{da.decode(e[1])}catch{return!1}return e.slice(2)},pattern:"/certhash/{certhash}"}),Ne=e=>({match:t=>{let r=e.match(t);return r===!1?t:r},pattern:`optional(${e.pattern})`}),Pe=(...e)=>({match:t=>{let r;for(let n of e){let i=n.match(t);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${e.map(t=>t.pattern).join(", ")})`}),Rt=(...e)=>({match:t=>{for(let r of e){let n=r.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${e.map(t=>t.pattern).join(", ")})`});function Kt(...e){function t(i){let o=ym(i);for(let s of e){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return t(i)!==!1}function n(i){let o=t(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var Ga=Rt(kt("dns4"),bo()),Wa=Rt(kt("dns6"),bo()),$a=Rt(kt("dnsaddr"),bo()),If=Rt(kt("dns"),bo()),_5=Kt(Ga),k5=Kt(Wa),R5=Kt($a),L5=Kt(Pe(If,$a,Ga,Wa)),_f=Rt(kt("ip4"),di(ho)),kf=Rt(kt("ip6"),di(po)),Rf=Pe(_f,kf),pi=Pe(Rf,If,Ga,Wa,$a),N5=Kt(pi),P5=Kt(_f),U5=Kt(kf),O5=Kt(Rf),wo=Rt(pi,kt("tcp"),Tf()),yi=Rt(pi,kt("udp"),Tf()),mm=Pe(wo,yi),K5=Kt(wo),M5=Kt(yi),Ya=Rt(yi,kt("quic")),vo=Rt(yi,kt("quic-v1")),gm=Pe(Ya,vo),F5=Kt(Ya),V5=Kt(vo),za=Pe(pi,wo,yi,Ya,vo),Lf=Pe(Rt(za,kt("ws"),Ne(de()))),H5=Kt(Lf),Nf=Pe(Rt(za,kt("wss"),Ne(de())),Rt(za,kt("tls"),kt("ws"),Ne(de()))),q5=Kt(Nf),Pf=Rt(mm,kt("webrtc-direct"),go(),Ne(go()),Ne(de())),Uf=Kt(Pf),Of=Rt(vo,kt("webtransport"),go(),go(),Ne(de())),z5=Kt(Of),xo=Pe(Lf,Nf,Rt(wo,Ne(de())),Rt(gm,Ne(de())),Rt(pi,Ne(de())),Pf,Of,de()),G5=Kt(xo),xm=Rt(xo,kt("p2p-circuit"),de()),W5=Kt(xm),bm=Pe(Rt(xo,kt("p2p-circuit"),kt("webrtc"),de()),Rt(xo,kt("webrtc"),Ne(de())),kt("webrtc")),Kf=Kt(bm);var ue;(function(e){e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_DATA_CHANNEL="ERR_DATA_CHANNEL",e.ERR_CONNECTION_CLOSED="ERR_CONNECTION_CLOSED",e.ERR_HASH_NOT_SUPPORTED="ERR_HASH_NOT_SUPPORTED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_INVALID_FINGERPRINT="ERR_INVALID_FINGERPRINT",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS"})(ue||(ue={}));var gr=class extends W{constructor(t,r){super(`WebRTC transport error: ${t}`,r??""),this.name="WebRTCTransportError"}};var Xa=class extends gr{constructor(t,r){super(`[stream: ${t}] data channel error: ${r}`,ue.ERR_DATA_CHANNEL),this.name="WebRTC/DataChannelError"}};function ec(e,t){return new Xa(e,t)}var Za=class extends gr{constructor(t){super(`There was a problem with the Multiaddr which was passed in: ${t}`,ue.ERR_INVALID_MULTIADDR),this.name="WebRTC/InappropriateMultiaddrError"}};function Eo(e){return new Za(e)}var Qa=class extends gr{constructor(t){super(`There was a problem with a provided argument: ${t}`,ue.ERR_INVALID_PARAMETERS),this.name="WebRTC/InvalidArgumentError"}};function mi(e){return new Qa(e)}var ja=class extends gr{constructor(t,r){super(`Invalid fingerprint "${t}" within ${r}`,ue.ERR_INVALID_FINGERPRINT),this.name="WebRTC/InvalidFingerprintError"}};function rc(e,t){return new ja(e,t)}var Ja=class extends gr{constructor(t){super(`A method (${t}) was called though it has been intentionally left unimplemented.`,ue.ERR_NOT_IMPLEMENTED),this.name="WebRTC/UnimplementedError"}};function Mf(e){return new Ja(e)}var tc=class extends gr{constructor(t){super(`unsupported hash algorithm: ${t}`,ue.ERR_HASH_NOT_SUPPORTED),this.name="WebRTC/UnsupportedHashAlgorithmError"}};function Ff(e){return new tc(e)}var Vf=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},wm=function(){function e(t,r,n){this.name=t,this.version=r,this.os=n,this.type="browser"}return e}();var vm=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}();var Em=function(){function e(t,r,n,i){this.name=t,this.version=r,this.os=n,this.bot=i,this.type="bot-device"}return e}();var Sm=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}();var Am=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}();var Dm=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,Cm=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Hf=3,Bm=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",Dm]],qf=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function Gf(e){return e?zf(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Am:typeof navigator<"u"?zf(navigator.userAgent):_m()}function Tm(e){return e!==""&&Bm.reduce(function(t,r){var n=r[0],i=r[1];if(t)return t;var o=i.exec(e);return!!o&&[n,o]},!1)}function zf(e){var t=Tm(e);if(!t)return null;var r=t[0],n=t[1];if(r==="searchbot")return new Sm;var i=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);i?i.length<Hf&&(i=Vf(Vf([],i,!0),km(Hf-i.length),!0)):i=[];var o=i.join("."),s=Im(e),a=Cm.exec(e);return a&&a[1]?new Em(r,o,s,a[1]):new wm(r,o,s)}function Im(e){for(var t=0,r=qf.length;t<r;t++){var n=qf[t],i=n[0],o=n[1],s=o.exec(e);if(s)return i}return null}function _m(){var e=typeof process<"u"&&process.version;return e?new vm(process.version.slice(1)):null}function km(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}function Nt(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var Bn=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},nc=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Wf=e=>globalThis.DOMException===void 0?new nc(e):new DOMException(e),$f=e=>{let t=e.reason===void 0?Wf("This operation was aborted."):e.reason;return t instanceof Error?t:Wf(t)};function Fr(e,t){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=t,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(t.signal){let{signal:d}=t;d.aborted&&f($f(d)),d.addEventListener("abort",()=>{f($f(d))})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let l=new Bn;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){f(d)}return}typeof e.cancel=="function"&&e.cancel(),i===!1?u():i instanceof Error?f(i):(l.message=i??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await e)}catch(d){f(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Yf=Gf(),gi=Yf!=null&&Yf.name==="firefox",So=async function*(){},Ao=async e=>{},Rm=30*1e3;function Xf(e,t,r=Rm,n){e.readyState==="open"&&Promise.resolve().then(async()=>{if(e.bufferedAmount>0){n.log("%s drain channel with %d buffered bytes",t,e.bufferedAmount);let i=Nt(),o=!1;e.bufferedAmountLowThreshold=0;let s=()=>{o||(n.log("%s drain channel closed before drain",t),i.resolve())};e.addEventListener("close",s,{once:!0}),e.addEventListener("bufferedamountlow",()=>{o=!0,e.removeEventListener("close",s),i.resolve()}),await Fr(i.promise,{milliseconds:r})}}).then(async()=>{e.readyState==="open"&&e.close()}).catch(i=>{n.log.error("error closing outbound stream",i)})}var Vr=class{log;peerConnection;remoteAddr;timeline;metrics;source=So();sink=Ao;constructor(t,r){this.log=t.logger.forComponent("libp2p:webrtc:maconn"),this.remoteAddr=r.remoteAddr,this.timeline=r.timeline,this.peerConnection=r.peerConnection;let n=this.peerConnection.connectionState;this.peerConnection.onconnectionstatechange=()=>{this.log.trace("peer connection state change",this.peerConnection.connectionState,"initial state",n),(this.peerConnection.connectionState==="disconnected"||this.peerConnection.connectionState==="failed"||this.peerConnection.connectionState==="closed")&&(this.timeline.close=Date.now())}}async close(t){this.log.trace("closing connection"),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({close:!0})}abort(t){this.log.error("closing connection due to error",t),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({abort:!0})}};var Do=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},Tn=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new Do(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new Do(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var ic=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function xr(e={}){return Lm(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}},e)}function Lm(e,t){t=t??{};let r=t.onEnd,n=new Tn,i,o,s,a=Nt(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((m,g)=>{o=b=>{o=null,n.push(b);try{m(e(n))}catch(x){g(x)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Nt()})}},u=m=>o!=null?o(m):(n.push(m),i),f=m=>(n=new Tn,o!=null?o({error:m}):(n.push({error:m}),i)),l=m=>{if(s)return i;if(t?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:m})},d=m=>s?i:(s=!0,m!=null?f(m):u({done:!0})),y=()=>(n=new Tn,d(),{done:!0}),h=m=>(d(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:y,throw:h,push:l,end:d,get readableLength(){return n.size},onEmpty:async m=>{let g=m?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let b,x;g!=null&&(b=new Promise((D,v)=>{x=()=>{v(new ic)},g.addEventListener("abort",x)}));try{await Promise.race([a.promise,b])}finally{x!=null&&g!=null&&g?.removeEventListener("abort",x)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:m=>p.onEmpty(m)},i}var Co=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function br(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new Co(r?.errorMessage,r?.errorCode));let n,i=new Co(r?.errorMessage,r?.errorCode);try{return await Promise.race([e,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}function xi(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Qe(e=0){return globalThis.Buffer?.alloc!=null?xi(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function bi(e=0){return globalThis.Buffer?.allocUnsafe!=null?xi(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function oc(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=bi(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return xi(r)}function Zf(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var jf=Symbol.for("@achingbrain/uint8arraylist");function Qf(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function In(e){return!!e?.[jf]}var At=class e{bufs;length;[jf]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(In(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(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(In(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=Qf(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Qf(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(In(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return oc(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:oc(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new e;return o.length=i,o.bufs=[...n],o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!In(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let d=u;d>=0;d--){let y=this.get(l+d);if(n[d]!==y){f=Math.max(1,d-a[y]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=bi(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=Qe(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=Qe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=Qe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=bi(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=Qe(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=Qe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=Qe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=Qe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=Qe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Zf(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Jf(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function tl(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}function el(e,t){let r=Jf(e).return?.();tl(r)&&r.catch(n=>{t.error("could not cause iterator to return",n)})}var Nm="ERR_STREAM_RESET",Pm="ERR_SINK_INVALID_STATE",Um=5e3;function sc(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Bo=class{id;direction;timeline;protocol;metadata;source;status;readStatus;writeStatus;log;sinkController;sinkEnd;closed;endErr;streamSource;onEnd;onCloseRead;onCloseWrite;onReset;onAbort;sendCloseWriteTimeout;constructor(t){this.sinkController=new AbortController,this.sinkEnd=Nt(),this.closed=Nt(),this.log=t.log,this.status="open",this.readStatus="ready",this.writeStatus="ready",this.id=t.id,this.metadata=t.metadata??{},this.direction=t.direction,this.timeline={open:Date.now()},this.sendCloseWriteTimeout=t.sendCloseWriteTimeout??Um,this.onEnd=t.onEnd,this.onCloseRead=t?.onCloseRead,this.onCloseWrite=t?.onCloseWrite,this.onReset=t?.onReset,this.onAbort=t?.onAbort,this.source=this.streamSource=xr({onEnd:r=>{r!=null?this.log.trace("source ended with error",r):this.log.trace("source ended"),this.onSourceEnd(r)}}),this.sink=this.sink.bind(this)}async sink(t){if(this.writeStatus!=="ready")throw new W(`writable end state is "${this.writeStatus}" not "ready"`,Pm);try{this.writeStatus="writing";let r={signal:this.sinkController.signal};if(this.direction==="outbound"){let i=this.sendNewStream(r);sc(i)&&await i}let n=()=>{el(t,this.log)};try{this.sinkController.signal.addEventListener("abort",n),this.log.trace("sink reading from source");for await(let i of t){i=i instanceof Uint8Array?new At(i):i;let o=this.sendData(i,r);sc(o)&&await o}}finally{this.sinkController.signal.removeEventListener("abort",n)}this.log.trace('sink finished reading from source, write status is "%s"',this.writeStatus),this.writeStatus==="writing"&&(this.writeStatus="closing",this.log.trace("send close write to remote"),await this.sendCloseWrite({signal:AbortSignal.timeout(this.sendCloseWriteTimeout)}),this.writeStatus="closed"),this.onSinkEnd()}catch(r){throw this.log.trace("sink ended with error, calling abort with error",r),this.abort(r),r}finally{this.log.trace("resolve sink end"),this.sinkEnd.resolve()}}onSourceEnd(t){this.timeline.closeRead==null&&(this.timeline.closeRead=Date.now(),this.readStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseRead?.(),this.timeline.closeWrite!=null?(this.log.trace("source and sink ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("source ended, waiting for sink to end"))}onSinkEnd(t){this.timeline.closeWrite==null&&(this.timeline.closeWrite=Date.now(),this.writeStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseWrite?.(),this.timeline.closeRead!=null?(this.log.trace("sink and source ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("sink ended, waiting for source to end"))}async close(t){this.log.trace("closing gracefully"),this.status="closing",await Promise.all([this.closeRead(t),this.closeWrite(t)]),await br(this.closed.promise,t?.signal),this.status="closed",this.log.trace("closed gracefully")}async closeRead(t={}){if(this.readStatus==="closing"||this.readStatus==="closed")return;this.log.trace('closing readable end of stream with starting read status "%s"',this.readStatus);let r=this.readStatus;this.readStatus="closing",this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeRead==null&&(this.log.trace("send close read to remote"),await this.sendCloseRead(t)),r==="ready"&&(this.log.trace("ending internal source queue with %d queued bytes",this.streamSource.readableLength),this.streamSource.end()),this.log.trace("closed readable end of stream")}async closeWrite(t={}){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.log.trace('closing writable end of stream with starting write status "%s"',this.writeStatus),this.writeStatus==="ready"&&(this.log.trace("sink was never sunk, sink an empty array"),await br(this.sink([]),t.signal)),this.writeStatus==="writing"&&await new Promise((r,n)=>{queueMicrotask(()=>{this.log.trace("aborting source passed to .sink"),this.sinkController.abort(),br(this.sinkEnd.promise,t.signal).then(r,n)})}),this.writeStatus="closed",this.log.trace("closed writable end of stream"))}abort(t){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;this.log("abort with error",t),this.log("try to send reset to remote");let r=this.sendReset();sc(r)&&r.catch(n=>{this.log.error("error sending reset message",n)}),this.status="aborted",this.timeline.abort=Date.now(),this._closeSinkAndSource(t),this.onAbort?.(t)}reset(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;let t=new W("stream reset",Nm);this.status="reset",this.timeline.reset=Date.now(),this._closeSinkAndSource(t),this.onReset?.()}_closeSinkAndSource(t){this._closeSink(t),this._closeSource(t)}_closeSink(t){this.writeStatus==="writing"&&(this.log.trace("end sink source"),this.sinkController.abort()),this.onSinkEnd(t)}_closeSource(t){this.readStatus!=="closing"&&this.readStatus!=="closed"&&(this.log.trace("ending source with %d bytes to be read by consumer",this.streamSource.readableLength),this.readStatus="closing",this.streamSource.end(t))}remoteCloseWrite(){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("received remote close write but local source is already closed");return}this.log.trace("remote close write"),this._closeSource()}remoteCloseRead(){if(this.writeStatus==="closing"||this.writeStatus==="closed"){this.log("received remote close read but local sink is already closed");return}this.log.trace("remote close read"),this._closeSink()}destroy(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset"){this.log("received destroy but we are already closed");return}this.log.trace("stream destroyed"),this._closeSinkAndSource()}sourcePush(t){this.streamSource.push(t)}sourceReadableLength(){return this.streamSource.readableLength}};function rl(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function nl(e=0){return globalThis.Buffer?.allocUnsafe!=null?rl(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function To(e){return e[Symbol.asyncIterator]!=null}var Io=e=>{let t=Qt(e),r=nl(t);return mr(e,r),Io.bytes=t,r};Io.bytes=0;function wr(e,t){t=t??{};let r=t.lengthEncoder??Io;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return To(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}wr.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Io;return new At(r(e.byteLength),e)};var _n=Xt(sl(),1);var Km=8,Mm=1024*1024*4,Hr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Hr||(Hr={}));var ac=e=>{let t=we(e);return ac.bytes=Qt(t),t};ac.bytes=0;function qr(e,t){let r=new At,n=Hr.LENGTH,i=-1,o=t?.lengthDecoder??ac,s=t?.maxLengthLength??Km,a=t?.maxDataLength??Mm;function*c(){for(;r.byteLength>0;){if(n===Hr.LENGTH)try{if(i=o(r),i<0)throw(0,_n.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,_n.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=Hr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,_n.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Hr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Hr.LENGTH}}}return To(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,_n.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,_n.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}qr.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return qr(n,{...t??{},onLength:o=>{r=o}})};var Fm=e=>{let t=e.on||e.addListener||e.addEventListener,r=e.off||e.removeListener||e.removeEventListener;if(!t||!r)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(e),removeListener:r.bind(e)}};function Vm(e,t,r){let n,i=new Promise((o,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:u,removeListener:f}=Fm(e),l=(...y)=>{let h=r.multiArgs?y:y[0];r.filter&&!r.filter(h)||(c.push(h),r.count===c.length&&(n(),o(c)))},d=y=>{n(),s(y)};n=()=>{for(let y of a)f(y,l);for(let y of r.rejectionEvents)f(y,d)};for(let y of a)u(y,l);for(let y of r.rejectionEvents)u(y,d);r.signal&&r.signal.addEventListener("abort",()=>{d(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(c)});if(i.cancel=n,typeof r.timeout=="number"){let o=Fr(i,{milliseconds:r.timeout});return o.cancel=n,o}return i}function cc(e,t,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Vm(e,t,r),i=n.then(o=>o[0]);return i.cancel=n.cancel,i}var uc=new Float32Array([-0]),vr=new Uint8Array(uc.buffer);function cl(e,t,r){uc[0]=e,t[r]=vr[0],t[r+1]=vr[1],t[r+2]=vr[2],t[r+3]=vr[3]}function ul(e,t){return vr[0]=e[t],vr[1]=e[t+1],vr[2]=e[t+2],vr[3]=e[t+3],uc[0]}var fc=new Float64Array([-0]),jt=new Uint8Array(fc.buffer);function fl(e,t,r){fc[0]=e,t[r]=jt[0],t[r+1]=jt[1],t[r+2]=jt[2],t[r+3]=jt[3],t[r+4]=jt[4],t[r+5]=jt[5],t[r+6]=jt[6],t[r+7]=jt[7]}function ll(e,t){return jt[0]=e[t],jt[1]=e[t+1],jt[2]=e[t+2],jt[3]=e[t+3],jt[4]=e[t+4],jt[5]=e[t+5],jt[6]=e[t+6],jt[7]=e[t+7],fc[0]}var Hm=BigInt(Number.MAX_SAFE_INTEGER),qm=BigInt(Number.MIN_SAFE_INTEGER),ne=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&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(t=!1){if(t)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(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return zr;if(t<Hm&&t>qm)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,i=t-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>hl&&(i=0n,++n>hl&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return zr;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new e(n,i)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):zr}},zr=new ne(0,0);zr.toBigInt=function(){return 0n};zr.zzEncode=zr.zzDecode=function(){return this};zr.length=function(){return 1};var hl=4294967296n;function dl(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function pl(e,t,r){if(r-t<1)return"";let i,o=[],s=0,a;for(;t<r;)a=e[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function lc(e,t,r){let n=r,i,o;for(let s=0;s<e.length;++s)i=e.charCodeAt(s),i<128?t[r++]=i:i<2048?(t[r++]=i>>6|192,t[r++]=i&63|128):(i&64512)===55296&&((o=e.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,t[r++]=i>>18|240,t[r++]=i>>12&63|128,t[r++]=i>>6&63|128,t[r++]=i&63|128):(t[r++]=i>>12|224,t[r++]=i>>6&63|128,t[r++]=i&63|128);return r-n}function ve(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function _o(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var hc=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,ve(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw ve(this,4);return _o(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ve(this,4);return _o(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw ve(this,4);let t=ul(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw ve(this,4);let t=ll(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw ve(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return pl(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw ve(this,t);this.pos+=t}else do if(this.pos>=this.len)throw ve(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new ne(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw ve(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw ve(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw ve(this,8);let t=_o(this.buf,this.pos+=4),r=_o(this.buf,this.pos+=4);return new ne(t,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 dc(e){return new hc(e instanceof Uint8Array?e:e.subarray())}function Ee(e,t){let r=dc(e);return t.decode(r)}function ko(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Gr(e=0){return globalThis.Buffer?.allocUnsafe!=null?ko(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function gl(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var ml=gl("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),pc=gl("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Gr(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),zm={utf8:ml,"utf-8":ml,hex:Ot.base16,latin1:pc,ascii:pc,binary:pc,...Ot},xl=zm;function bl(e,t="utf8"){let r=xl[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ko(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function yc(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return Gr(s);i+s>t&&(n=Gr(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Wr=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function mc(){}var xc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Gm=yc();function Wm(e){return globalThis.Buffer!=null?Gr(e):Gm(e)}var Ei=class{len;head;tail;states;constructor(){this.len=0,this.head=new Wr(mc,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Wr(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new bc((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(wi,10,ne.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=ne.fromBigInt(t);return this._push(wi,r.length(),r)}uint64Number(t){let r=ne.fromNumber(t);return this._push(wi,r.length(),r)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=ne.fromBigInt(t).zzEncode();return this._push(wi,r.length(),r)}sint64Number(t){let r=ne.fromNumber(t).zzEncode();return this._push(wi,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(gc,1,t?1:0)}fixed32(t){return this._push(vi,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=ne.fromBigInt(t);return this._push(vi,4,r.lo)._push(vi,4,r.hi)}fixed64Number(t){let r=ne.fromNumber(t);return this._push(vi,4,r.lo)._push(vi,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(cl,4,t)}double(t){return this._push(fl,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(gc,1,0):this.uint32(r)._push(Ym,r,t)}string(t){let r=dl(t);return r!==0?this.uint32(r)._push(lc,r,t):this._push(gc,1,0)}fork(){return this.states=new xc(this),this.head=this.tail=new Wr(mc,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Wr(mc,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=Wm(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function gc(e,t,r){t[r]=e&255}function $m(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var bc=class extends Wr{next;constructor(t,r){super($m,t,r),this.next=void 0}};function wi(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function vi(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function Ym(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Ei.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Xm,t,e),this},Ei.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Zm,t,e),this});function Xm(e,t,r){t.set(e,r)}function Zm(e,t,r){e.length<40?lc(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(bl(e),r)}function wc(){return new Ei}function Se(e,t){let r=wc();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var kn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(kn||(kn={}));function Ro(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function $r(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Ro("enum",kn.VARINT,r,n)}function Ae(e,t){return Ro("message",kn.LENGTH_DELIMITED,e,t)}var ie;(function(e){let t;(function(i){i.FIN="FIN",i.STOP_SENDING="STOP_SENDING",i.RESET="RESET",i.FIN_ACK="FIN_ACK"})(t=e.Flag||(e.Flag={}));let r;(function(i){i[i.FIN=0]="FIN",i[i.STOP_SENDING=1]="STOP_SENDING",i[i.RESET=2]="RESET",i[i.FIN_ACK=3]="FIN_ACK"})(r||(r={})),function(i){i.codec=()=>$r(r)}(t=e.Flag||(e.Flag={}));let n;e.codec=()=>(n==null&&(n=Ae((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.flag!=null&&(o.uint32(8),e.Flag.codec().encode(i.flag,o)),i.message!=null&&(o.uint32(18),o.bytes(i.message)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.flag=e.Flag.codec().decode(i);break;case 2:s.message=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Se(i,e.codec()),e.decode=i=>Ee(i,e.codec())})(ie||(ie={}));var Qm=16*1024*1024,jm=30*1e3,Jm=5,tg=2,eg=16*1024,rg=5e3,ng=5e3,vc=class extends Bo{channel;incomingData;maxBufferedAmount;bufferedAmountLowEventTimeout;maxMessageSize;receiveFinAck;finAckTimeout;openTimeout;constructor(t){let r=t.onEnd;switch(t.onEnd=i=>{this.log.trace("readable and writeable ends closed",this.status),Promise.resolve(async()=>{if(!(this.timeline.abort!=null||this.timeline.reset!==null))try{await Fr(this.receiveFinAck.promise,{milliseconds:this.finAckTimeout})}catch(o){this.log.error("error receiving FIN_ACK",o)}}).then(()=>{this.incomingData.end(),r?.(i)}).catch(o=>{this.log.error("error ending stream",o)})},super(t),this.channel=t.channel,this.channel.binaryType="arraybuffer",this.incomingData=xr(),this.bufferedAmountLowEventTimeout=t.bufferedAmountLowEventTimeout??jm,this.maxBufferedAmount=t.maxBufferedAmount??Qm,this.maxMessageSize=(t.maxMessageSize??eg)-Jm-tg,this.receiveFinAck=Nt(),this.finAckTimeout=t.closeTimeout??rg,this.openTimeout=t.openTimeout??ng,this.channel.readyState){case"open":this.timeline.open=new Date().getTime();break;case"closed":case"closing":(this.timeline.close===void 0||this.timeline.close===0)&&(this.timeline.close=Date.now());break;case"connecting":break;default:throw this.log.error("unknown datachannel state %s",this.channel.readyState),new W("Unknown datachannel state","ERR_INVALID_STATE")}this.channel.onopen=i=>{this.timeline.open=new Date().getTime()},this.channel.onclose=i=>{this.receiveFinAck.resolve(),this.close().catch(o=>{this.log.error("error closing stream after channel closed",o)})},this.channel.onerror=i=>{let o=i.error;this.abort(o)},this.channel.onmessage=async i=>{let{data:o}=i;o===null||o.byteLength===0||this.incomingData.push(new Uint8Array(o,0,o.byteLength))};let n=this;Promise.resolve().then(async()=>{for await(let i of qr(this.incomingData)){let o=n.processIncomingProtobuf(i);o!=null&&n.sourcePush(new At(o))}}).catch(i=>{this.log.error("error processing incoming data channel messages",i)})}sendNewStream(){}async _sendMessage(t,r=!0){if(r&&this.channel.bufferedAmount>this.maxBufferedAmount)try{this.log('channel buffer is %d, wait for "bufferedamountlow" event',this.channel.bufferedAmount),await cc(this.channel,"bufferedamountlow",{timeout:this.bufferedAmountLowEventTimeout})}catch(n){throw n instanceof Bn?new W(`Timed out waiting for DataChannel buffer to clear after ${this.bufferedAmountLowEventTimeout}ms`,"ERR_BUFFER_CLEAR_TIMEOUT"):n}if(this.channel.readyState==="closed"||this.channel.readyState==="closing")throw new W(`Invalid datachannel state - ${this.channel.readyState}`,"ERR_INVALID_STATE");this.channel.readyState!=="open"&&(this.log('channel state is "%s" and not "open", waiting for "open" event before sending data',this.channel.readyState),await cc(this.channel,"open",{timeout:this.openTimeout}),this.log('channel state is now "%s", sending data',this.channel.readyState)),this.channel.send(t.subarray())}async sendData(t){for(t=t.sublist();t.byteLength>0;){let r=Math.min(t.byteLength,this.maxMessageSize),n=t.subarray(0,r),i=ie.encode({message:n}),o=wr.single(i);await this._sendMessage(o),t.consume(r)}}async sendReset(){await this._sendFlag(ie.Flag.RESET)}async sendCloseWrite(t){if(await this._sendFlag(ie.Flag.FIN)){this.log.trace("awaiting FIN_ACK");try{await br(this.receiveFinAck.promise,t?.signal,{errorMessage:"sending close-write was aborted before FIN_ACK was received",errorCode:"ERR_FIN_ACK_NOT_RECEIVED"})}catch(n){this.log.error("failed to await FIN_ACK",n)}}else this.log.trace("sending FIN failed, not awaiting FIN_ACK");this.receiveFinAck.resolve()}async sendCloseRead(){await this._sendFlag(ie.Flag.STOP_SENDING)}processIncomingProtobuf(t){let r=ie.decode(t);if(r.flag!==void 0&&(this.log.trace('incoming flag %s, write status "%s", read status "%s"',r.flag,this.writeStatus,this.readStatus),r.flag===ie.Flag.FIN&&(this.remoteCloseWrite(),this.log.trace("sending FIN_ACK"),this._sendFlag(ie.Flag.FIN_ACK).catch(n=>{this.log.error("error sending FIN_ACK immediately",n)})),r.flag===ie.Flag.RESET&&this.reset(),r.flag===ie.Flag.STOP_SENDING&&this.remoteCloseRead(),r.flag===ie.Flag.FIN_ACK&&(this.log.trace("received FIN_ACK"),this.receiveFinAck.resolve())),this.readStatus==="ready")return r.message}async _sendFlag(t){if(this.channel.readyState!=="open")return this.log.trace('not sending flag %s because channel is "%s" and not "open"',this.channel.readyState,t.toString()),!1;this.log.trace("sending flag %s",t.toString());let r=ie.encode({flag:t}),n=wr.single(r);try{return await this._sendMessage(n,!1),!0}catch(i){this.log.error("could not send flag %s",t.toString(),i)}return!1}};function Rn(e){let{channel:t,direction:r}=e;return new vc({id:r==="inbound"?`i${t.id}`:`r${t.id}`,log:e.logger.forComponent(`libp2p:webrtc:stream:${r}:${t.id}`),...e})}var wl="/webrtc",Yr=class{protocol;peerConnection;bufferedStreams=[];metrics;dataChannelOptions;components;log;constructor(t,r){this.components=t,this.peerConnection=r.peerConnection,this.metrics=r.metrics,this.protocol=r.protocol??wl,this.dataChannelOptions=r.dataChannelOptions??{},this.log=t.logger.forComponent("libp2p:webrtc:datachannelmuxerfactory"),this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace('incoming early datachannel with channel id %d and label "%s"',n.id),n.label==="init"){this.log.trace("closing early init channel"),n.close();return}let i={},o=Rn({channel:n,direction:"inbound",onEnd:s=>{i.onEnd(s)},logger:t.logger,...this.dataChannelOptions});i.stream=o,i.channel=n,i.onEnd=()=>{this.bufferedStreams=this.bufferedStreams.filter(s=>s.stream.id!==o.id)},this.bufferedStreams.push(i)}}createStreamMuxer(t){return new Ec(this.components,{...t,peerConnection:this.peerConnection,dataChannelOptions:this.dataChannelOptions,metrics:this.metrics,streams:this.bufferedStreams,protocol:this.protocol})}},Ec=class{init;streams;protocol;log;peerConnection;dataChannelOptions;metrics;logger;constructor(t,r){this.init=r,this.log=t.logger.forComponent("libp2p:webrtc:muxer"),this.logger=t.logger,this.streams=r.streams.map(n=>n.stream),this.peerConnection=r.peerConnection,this.protocol=r.protocol??wl,this.metrics=r.metrics,this.dataChannelOptions=r.dataChannelOptions??{},this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace("incoming datachannel with channel id %d",n.id),n.label==="init"){this.log.trace("closing init channel"),n.close();return}let i=Rn({channel:n,direction:"inbound",onEnd:()=>{this.log("incoming channel %s ended with state %s",n.id,n.readyState),this.#t(i,n)},logger:this.logger,...this.dataChannelOptions});this.streams.push(i),this.metrics?.increment({incoming_stream:!0}),r?.onIncomingStream?.(i)},this.init.streams.length>0&&queueMicrotask(()=>{this.init.streams.forEach(n=>{n.onEnd=()=>{this.log("incoming early channel %s ended with state %s",n.channel.id,n.channel.readyState),this.#t(n.stream,n.channel)},this.metrics?.increment({incoming_stream:!0}),this.init?.onIncomingStream?.(n.stream)})})}#t(t,r){this.log.trace("stream %s %s %s onEnd",t.direction,t.id,t.protocol),Xf(r,`${t.direction} ${t.id} ${t.protocol}`,this.dataChannelOptions.drainTimeout,{log:this.log}),this.streams=this.streams.filter(n=>n.id!==t.id),this.metrics?.increment({stream_end:!0}),this.init?.onStreamEnd?.(t)}async close(t){try{await Promise.all(this.streams.map(async r=>r.close(t)))}catch(r){this.abort(r)}}abort(t){for(let r of this.streams)r.abort(t)}source=So();sink=Ao;newStream(){let t=this.peerConnection.createDataChannel("");this.log.trace("opened outgoing datachannel with channel id %s",t.id);let r=Rn({channel:t,direction:"outbound",onEnd:()=>{this.log("outgoing channel %s ended with state %s",t.id,t.readyState),this.#t(r,t)},logger:this.logger,...this.dataChannelOptions});return this.streams.push(r),this.metrics?.increment({outgoing_stream:!0}),r}};var Ln=globalThis.RTCPeerConnection,Lo=globalThis.RTCSessionDescription,vl=globalThis.RTCIceCandidate;var Sc=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Nt(),this.haveNext=Nt()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=Nt(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,r){await this._push(t,r)}async end(t,r){t!=null?await this.throw(t):await this._push(void 0,r)}async _push(t,r){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Nt(),await br(this.needNext.promise,r?.signal,r)}};function El(){return new Sc}var No=class extends Error{code;constructor(t,r){super(t),this.code=r}},Ac=class extends No{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function Sl(e,t){let r=El();e.sink(r).catch(async s=>{await r.end(s)}),e.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=e.source;e.source[Symbol.iterator]!=null?n=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(n=e.source[Symbol.asyncIterator]());let i=new At;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new Ac("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:d}=await Promise.race([n.next(),u]);return l===!0?new At:d}for(;i.byteLength<s;){let{value:l,done:d}=await Promise.race([n.next(),u]);if(d===!0)throw new No("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let f=i.sublist(0,s);return i.consume(s),f}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return e}}}var Po=class extends Error{code;constructor(t,r){super(t),this.code=r}},Al=e=>we(e);Al.bytes=0;function Si(e,t={}){let r=Sl(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=Qt(t.maxDataLength)),{read:async i=>{let o=-1,s=new At,a=t?.lengthDecoder??Al;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new Po("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new Po("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(wr.single(i,t),o)},writeV:async(i,o)=>{let s=new At(...i.map(a=>wr.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Uo(e,t){let r=Si(e,t),n={read:async(i,o)=>{let s=await r.read(o);return i.decode(s)},write:async(i,o,s)=>{await r.write(o.encode(i),s)},writeV:async(i,o,s)=>{await r.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var oe;(function(e){let t;(function(i){i.SDP_OFFER="SDP_OFFER",i.SDP_ANSWER="SDP_ANSWER",i.ICE_CANDIDATE="ICE_CANDIDATE"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.SDP_OFFER=0]="SDP_OFFER",i[i.SDP_ANSWER=1]="SDP_ANSWER",i[i.ICE_CANDIDATE=2]="ICE_CANDIDATE"})(r||(r={})),function(i){i.codec=()=>$r(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=Ae((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.data!=null&&(o.uint32(18),o.string(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.data=i.string();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Se(i,e.codec()),e.decode=i=>Ee(i,e.codec())})(oe||(oe={}));var Oo=async(e,t,r)=>{try{let n=Nt();for(og(e,n);;){let i=await Promise.race([n.promise,t.read({signal:r.signal})]);if(i==null)break;if(i.type!==oe.Type.ICE_CANDIDATE)throw new W("ICE candidate message expected","ERR_NOT_ICE_CANDIDATE");let o=JSON.parse(i.data??"null");if(o===""||o===null){r.log.trace("end-of-candidates received");continue}let s=new vl(o);r.log.trace("%s received new ICE candidate",r.direction,s);try{await e.addIceCandidate(s)}catch(a){r.log.error("%s bad candidate received",r.direction,o,a)}}}catch(n){if(r.log.error("%s error parsing ICE candidate",r.direction,n),r.signal?.aborted===!0)throw n}};function ig(e){return gi?e.iceConnectionState:e.connectionState}function og(e,t){e[gi?"oniceconnectionstatechange":"onconnectionstatechange"]=r=>{switch(ig(e)){case"connected":t.resolve();break;case"failed":case"disconnected":case"closed":t.reject(new W("RTCPeerConnection was closed","ERR_CONNECTION_CLOSED_BEFORE_CONNECTED"));break;default:break}}}async function Dl({peerConnection:e,signal:t,metrics:r,multiaddr:n,connectionManager:i,transportManager:o,log:s}){let{baseAddr:a}=Cl(n);r?.dialerEvents.increment({open:!0}),s.trace("dialing base address: %a",a);let c=a.getPeerId();if(c==null)throw new W("Relay peer was missing","ERR_INVALID_ADDRESS");let u=i.getConnections(Mr(c)),f,l=!1;u.length===0?(f=await o.dial(a,{signal:t}),l=!0):f=u[0];try{let d=await f.newStream(Ko,{signal:t,runOnTransientConnection:!0}),y=Uo(d).pb(oe);try{let h=e.createDataChannel("init");e.onicecandidate=({candidate:b})=>{let x=JSON.stringify(b?.toJSON()??null);s.trace("initiator sending ICE candidate %s",x),y.write({type:oe.Type.ICE_CANDIDATE,data:x},{signal:t}).catch(D=>{s.error("error sending ICE candidate",D)})},e.onicecandidateerror=b=>{s.error("initiator ICE candidate error",b)};let p=await e.createOffer().catch(b=>{throw s.error("could not execute createOffer",b),new W("Failed to set createOffer","ERR_SDP_HANDSHAKE_FAILED")});s.trace("initiator send SDP offer %s",p.sdp),await y.write({type:oe.Type.SDP_OFFER,data:p.sdp},{signal:t}),await e.setLocalDescription(p).catch(b=>{throw s.error("could not execute setLocalDescription",b),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")});let m=await y.read({signal:t});if(m.type!==oe.Type.SDP_ANSWER)throw new W("Remote should send an SDP answer","ERR_SDP_HANDSHAKE_FAILED");s.trace("initiator receive SDP answer %s",m.data);let g=new Lo({type:"answer",sdp:m.data});return await e.setRemoteDescription(g).catch(b=>{throw s.error("could not execute setRemoteDescription",b),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")}),s.trace("initiator read candidates until connected"),await Oo(e,y,{direction:"initiator",signal:t,log:s}),s.trace("initiator connected, closing init channel"),h.close(),s.trace("initiator closing signalling stream"),await y.unwrap().unwrap().close({signal:t}),s.trace("initiator connected to remote address %s",n),{remoteAddress:n}}catch(h){throw e.close(),d.abort(h),h}finally{e.onicecandidate=null,e.onicecandidateerror=null}}finally{if(l)try{await f.close({signal:t})}catch(d){f.abort(d)}}}var sg=q("dns4"),ag=q("dns6"),cg=q("dnsaddr"),Xr=Lt(q("dns"),cg,sg,ag),Vo=Lt(q("ip4"),q("ip6")),Nn=Lt(X(Vo,q("tcp")),X(Xr,q("tcp"))),Ho=X(Vo,q("udp")),ug=X(Ho,q("utp")),fg=X(Ho,q("quic")),lg=X(Ho,q("quic-v1")),Dc=Lt(X(Nn,q("ws")),X(Xr,q("ws"))),Mo=Lt(X(Dc,q("p2p")),Dc),Cc=Lt(X(Nn,q("wss")),X(Xr,q("wss")),X(Nn,q("tls"),q("ws")),X(Xr,q("tls"),q("ws"))),Fo=Lt(X(Cc,q("p2p")),Cc),Bc=Lt(X(Nn,q("http")),X(Vo,q("http")),X(Xr,q("http"))),Tc=Lt(X(Nn,q("https")),X(Vo,q("https")),X(Xr,q("https"))),Bl=X(Ho,q("webrtc-direct"),q("certhash")),_l=Lt(X(Bl,q("p2p")),Bl),Tl=X(lg,q("webtransport"),q("certhash"),q("certhash")),kl=Lt(X(Tl,q("p2p")),Tl),Rl=Lt(X(Mo,q("p2p-webrtc-star"),q("p2p")),X(Fo,q("p2p-webrtc-star"),q("p2p")),X(Mo,q("p2p-webrtc-star")),X(Fo,q("p2p-webrtc-star"))),DD=Lt(X(Mo,q("p2p-websocket-star"),q("p2p")),X(Fo,q("p2p-websocket-star"),q("p2p")),X(Mo,q("p2p-websocket-star")),X(Fo,q("p2p-websocket-star"))),Ll=Lt(X(Bc,q("p2p-webrtc-direct"),q("p2p")),X(Tc,q("p2p-webrtc-direct"),q("p2p")),X(Bc,q("p2p-webrtc-direct")),X(Tc,q("p2p-webrtc-direct"))),Zr=Lt(Dc,Cc,Bc,Tc,Rl,Ll,Nn,ug,fg,Xr,_l,kl),CD=Lt(X(Zr,q("p2p-stardust"),q("p2p")),X(Zr,q("p2p-stardust"))),Er=Lt(X(Zr,q("p2p")),Rl,Ll,_l,kl,q("p2p")),Il=Lt(X(Er,q("p2p-circuit"),Er),X(Er,q("p2p-circuit")),X(q("p2p-circuit"),Er),X(Zr,q("p2p-circuit")),X(q("p2p-circuit"),Zr),q("p2p-circuit")),Nl=()=>Lt(X(Il,Nl),Il),je=Nl(),BD=Lt(X(je,Er,je),X(Er,je),X(je,Er),je,Er);var TD=Lt(X(je,q("webrtc"),q("p2p")),X(je,q("webrtc")),X(Zr,q("webrtc"),q("p2p")),X(Zr,q("webrtc")),q("webrtc"));function Pl(e){function t(r){let n;try{n=Ze(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function X(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Pl(t),partialMatch:t}}function Lt(...e){function t(n){let i=null;return e.some(o=>{let s=typeof o=="function"?o().partialMatch(n):o.partialMatch(n);return s!=null?(i=s,!0):!1}),i}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Pl(t),partialMatch:t}}function q(e){let t=e;function r(i){let o;try{o=Ze(i)}catch{return!1}let s=o.protoNames();return s.length===1&&s[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}var qo=class extends oo{peerId;transportManager;shutdownController;constructor(t,r){super(),this.peerId=t.peerId,this.transportManager=t.transportManager,this.shutdownController=r.shutdownController}async listen(){this.safeDispatchEvent("listening",{})}getAddrs(){return this.transportManager.getListeners().filter(t=>t!==this).map(t=>t.getAddrs().filter(r=>je.matches(r)).map(r=>r.encapsulate(`/webrtc/p2p/${this.peerId}`))).flat()}async close(){this.shutdownController.abort(),this.safeDispatchEvent("close",{})}};async function Ul({peerConnection:e,stream:t,signal:r,connection:n,log:i}){i.trace("new inbound signaling stream");let o=Uo(t).pb(oe);try{e.onicecandidate=({candidate:f})=>{let l=JSON.stringify(f?.toJSON()??null);i.trace("recipient sending ICE candidate %s",l),o.write({type:oe.Type.ICE_CANDIDATE,data:l},{signal:r}).catch(d=>{i.error("error sending ICE candidate",d)})};let a=await o.read({signal:r});if(a.type!==oe.Type.SDP_OFFER)throw new W(`expected message type SDP_OFFER, received: ${a.type??"undefined"} `,"ERR_SDP_HANDSHAKE_FAILED");i.trace("recipient receive SDP offer %s",a.data);let c=new Lo({type:"offer",sdp:a.data});await e.setRemoteDescription(c).catch(f=>{throw i.error("could not execute setRemoteDescription",f),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")});let u=await e.createAnswer().catch(f=>{throw i.error("could not execute createAnswer",f),new W("Failed to create answer","ERR_SDP_HANDSHAKE_FAILED")});i.trace("recipient send SDP answer %s",u.sdp),await o.write({type:oe.Type.SDP_ANSWER,data:u.sdp},{signal:r}),await e.setLocalDescription(u).catch(f=>{throw i.error("could not execute setLocalDescription",f),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")}),i.trace("recipient read candidates until connected"),await Oo(e,o,{direction:"recipient",signal:r,log:i})}catch(a){if(e.connectionState!=="connected")throw i.error("error while handling signaling stream from peer %a",n.remoteAddr,a),e.close(),a;i("error while handling signaling stream from peer %a, ignoring as the RTCPeerConnection is already connected",n.remoteAddr,a)}let s=Ze(`/webrtc/p2p/${n.remoteAddr.getPeerId()}`);return i.trace("recipient connected to remote address %s",s),{remoteAddress:s}}var hg="/webrtc",dg="/p2p-circuit",Ko="/webrtc-signaling/0.0.1",pg=30*1e3,zo=class{components;init;log;_started=!1;metrics;shutdownController;constructor(t,r={}){this.components=t,this.init=r,this.log=t.logger.forComponent("libp2p:webrtc"),this.shutdownController=new AbortController,Fu(1/0,this.shutdownController.signal),t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_dialer_events_total",{label:"event",help:"Total count of WebRTC dialer events by type"}),listenerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_listener_events_total",{label:"event",help:"Total count of WebRTC listener events by type"})})}isStarted(){return this._started}async start(){await this.components.registrar.handle(Ko,t=>{this._onProtocol(t).catch(r=>{this.log.error("failed to handle incoming connect from %p",t.connection.remotePeer,r)})},{runOnTransientConnection:!0}),this._started=!0}async stop(){await this.components.registrar.unhandle(Ko),this._started=!1}createListener(t){return new qo(this.components,{shutdownController:this.shutdownController})}[Symbol.toStringTag]="@libp2p/webrtc";[io]=!0;filter(t){return t.filter(Kf.exactMatch)}async dial(t,r){this.log.trace("dialing address: %a",t);let n=new Ln(this.init.rtcConfiguration),i=new Yr(this.components,{peerConnection:n,dataChannelOptions:this.init.dataChannel}),{remoteAddress:o}=await Dl({peerConnection:n,multiaddr:t,dataChannelOptions:this.init.dataChannel,signal:r.signal,connectionManager:this.components.connectionManager,transportManager:this.components.transportManager,log:this.log}),s=new Vr(this.components,{peerConnection:n,timeline:{open:Date.now()},remoteAddr:o,metrics:this.metrics?.dialerEvents}),a=await r.upgrader.upgradeOutbound(s,{skipProtection:!0,skipEncryption:!0,muxerFactory:i});return this._closeOnShutdown(n,s),a}async _onProtocol({connection:t,stream:r}){let n=AbortSignal.timeout(this.init.inboundConnectionTimeout??pg),i=new Ln(this.init.rtcConfiguration),o=new Yr(this.components,{peerConnection:i,dataChannelOptions:this.init.dataChannel});try{let{remoteAddress:s}=await Ul({peerConnection:i,connection:t,stream:r,signal:n,log:this.log}),a=new Vr(this.components,{peerConnection:i,timeline:{open:new Date().getTime()},remoteAddr:s,metrics:this.metrics?.listenerEvents});this._closeOnShutdown(i,a),await this.components.upgrader.upgradeInbound(a,{skipEncryption:!0,skipProtection:!0,muxerFactory:o}),await r.close({signal:n})}catch(s){throw r.abort(s),s}}_closeOnShutdown(t,r){let n=()=>{r.close().catch(i=>{this.log.error("could not close WebRTCMultiaddrConnection",i)})};this.shutdownController.signal.addEventListener("abort",n),t.addEventListener("close",()=>{this.shutdownController.signal.removeEventListener("abort",n)})}};function Cl(e){let t=e.toString().split(hg+"/");if(t.length!==2)throw new W("webrtc protocol was not present in multiaddr",ue.ERR_INVALID_MULTIADDR);if(!t[0].includes(dg))throw new W("p2p-circuit protocol was not present in multiaddr",ue.ERR_INVALID_MULTIADDR);let r=Ze(t[0]),i=Ze("/"+t[1]).getPeerId();if(i==null)throw new W("destination peer id was missing",ue.ERR_INVALID_MULTIADDR);let o=r.protos().pop();if(o===void 0)throw new W("invalid multiaddr",ue.ERR_INVALID_MULTIADDR);return o.name!=="p2p"&&(r=r.encapsulate(`/p2p/${i}`)),{baseAddr:r,peerId:Mr(i)}}function Ic(){let e=Nt(),t=!1;return{sink:async r=>{if(t)throw new Error("already piped");t=!0,e.resolve(r)},source:async function*(){yield*await e.promise}()}}function Ol(){let e=Ic(),t=Ic();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}function yg(e){return e[Symbol.asyncIterator]!=null}function mg(...e){let t=[];for(let r of e)yg(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=xr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Kl=mg;function Ml(e,...t){if(e==null)throw new Error("Empty pipeline");if(_c(e)){let n=e;e=()=>n.source}else if(Vl(e)||Fl(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&_c(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++)_c(r[n])&&(r[n]=xg(r[n]));return gg(...r)}var gg=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},Fl=e=>e?.[Symbol.asyncIterator]!=null,Vl=e=>e?.[Symbol.iterator]!=null,_c=e=>e==null?!1:e.sink!=null&&e.source!=null,xg=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=xr({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(Fl(o))i=async function*(){yield*o,n.end()};else if(Vl(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Kl(n,i())}return e.source};function Sr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function pt(e=0){return globalThis.Buffer?.alloc!=null?Sr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function Qr(e=0){return globalThis.Buffer?.allocUnsafe!=null?Sr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var Pn=!!globalThis.process?.env?.DUMP_SESSION_KEYS;var bg=e=>e instanceof Uint8Array;var Je=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),Hl=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),wg=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!wg)throw new Error("Non little-endian hardware is not supported");function Go(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Wo(e){if(typeof e=="string")e=Go(e);else if(bg(e))e=e.slice();else throw new Error(`expected Uint8Array, got ${typeof e}`);return e}var vg=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function ql(e,t){if(t!==void 0&&(typeof t!="object"||!vg(t)))throw new Error("options must be object or undefined");return Object.assign(e,t)}function jr(e,t){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");if(typeof t=="number"&&e.length!==t)throw new Error(`Uint8Array length ${t} expected`)}function zl(e,t){if(e.length!==t.length)throw new Error("equalBytes: Different size of Uint8Arrays");let r=!0;for(let n=0;n<e.length;n++)r&&(r=e[n]===t[n]);return r}var kc=(e,t)=>(Object.assign(t,e),t);function Rc(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function $o(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Lc(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function Un(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Nc(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Gl(e,t){Un(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Wt=(e,t)=>e[t++]&255|(e[t++]&255)<<8,Pc=class{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=Wo(t),jr(t,32);let r=Wt(t,0),n=Wt(t,2),i=Wt(t,4),o=Wt(t,6),s=Wt(t,8),a=Wt(t,10),c=Wt(t,12),u=Wt(t,14);this.r[0]=r&8191,this.r[1]=(r>>>13|n<<3)&8191,this.r[2]=(n>>>10|i<<6)&7939,this.r[3]=(i>>>7|o<<9)&8191,this.r[4]=(o>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let f=0;f<8;f++)this.pad[f]=Wt(t,16+2*f)}process(t,r,n=!1){let i=n?0:2048,{h:o,r:s}=this,a=s[0],c=s[1],u=s[2],f=s[3],l=s[4],d=s[5],y=s[6],h=s[7],p=s[8],m=s[9],g=Wt(t,r+0),b=Wt(t,r+2),x=Wt(t,r+4),D=Wt(t,r+6),v=Wt(t,r+8),E=Wt(t,r+10),C=Wt(t,r+12),B=Wt(t,r+14),O=o[0]+(g&8191),K=o[1]+((g>>>13|b<<3)&8191),U=o[2]+((b>>>10|x<<6)&8191),F=o[3]+((x>>>7|D<<9)&8191),G=o[4]+((D>>>4|v<<12)&8191),Q=o[5]+(v>>>1&8191),T=o[6]+((v>>>14|E<<2)&8191),R=o[7]+((E>>>11|C<<5)&8191),_=o[8]+((C>>>8|B<<8)&8191),k=o[9]+(B>>>5|i),S=0,P=S+O*a+K*(5*m)+U*(5*p)+F*(5*h)+G*(5*y);S=P>>>13,P&=8191,P+=Q*(5*d)+T*(5*l)+R*(5*f)+_*(5*u)+k*(5*c),S+=P>>>13,P&=8191;let M=S+O*c+K*a+U*(5*m)+F*(5*p)+G*(5*h);S=M>>>13,M&=8191,M+=Q*(5*y)+T*(5*d)+R*(5*l)+_*(5*f)+k*(5*u),S+=M>>>13,M&=8191;let H=S+O*u+K*c+U*a+F*(5*m)+G*(5*p);S=H>>>13,H&=8191,H+=Q*(5*h)+T*(5*y)+R*(5*d)+_*(5*l)+k*(5*f),S+=H>>>13,H&=8191;let Z=S+O*f+K*u+U*c+F*a+G*(5*m);S=Z>>>13,Z&=8191,Z+=Q*(5*p)+T*(5*h)+R*(5*y)+_*(5*d)+k*(5*l),S+=Z>>>13,Z&=8191;let j=S+O*l+K*f+U*u+F*c+G*a;S=j>>>13,j&=8191,j+=Q*(5*m)+T*(5*p)+R*(5*h)+_*(5*y)+k*(5*d),S+=j>>>13,j&=8191;let it=S+O*d+K*l+U*f+F*u+G*c;S=it>>>13,it&=8191,it+=Q*a+T*(5*m)+R*(5*p)+_*(5*h)+k*(5*y),S+=it>>>13,it&=8191;let J=S+O*y+K*d+U*l+F*f+G*u;S=J>>>13,J&=8191,J+=Q*c+T*a+R*(5*m)+_*(5*p)+k*(5*h),S+=J>>>13,J&=8191;let et=S+O*h+K*y+U*d+F*l+G*f;S=et>>>13,et&=8191,et+=Q*u+T*c+R*a+_*(5*m)+k*(5*p),S+=et>>>13,et&=8191;let xt=S+O*p+K*h+U*y+F*d+G*l;S=xt>>>13,xt&=8191,xt+=Q*f+T*u+R*c+_*a+k*(5*m),S+=xt>>>13,xt&=8191;let mt=S+O*m+K*p+U*h+F*y+G*d;S=mt>>>13,mt&=8191,mt+=Q*l+T*f+R*u+_*c+k*a,S+=mt>>>13,mt&=8191,S=(S<<2)+S|0,S=S+P|0,P=S&8191,S=S>>>13,M+=S,o[0]=P,o[1]=M,o[2]=H,o[3]=Z,o[4]=j,o[5]=it,o[6]=J,o[7]=et,o[8]=xt,o[9]=mt}finalize(){let{h:t,pad:r}=this,n=new Uint16Array(10),i=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=i,i=t[a]>>>13,t[a]&=8191;t[0]+=i*5,i=t[0]>>>13,t[0]&=8191,t[1]+=i,i=t[1]>>>13,t[1]&=8191,t[2]+=i,n[0]=t[0]+5,i=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=t[a]+i,i=n[a]>>>13,n[a]&=8191;n[9]-=8192;let o=(i^1)-1;for(let a=0;a<10;a++)n[a]&=o;o=~o;for(let a=0;a<10;a++)t[a]=t[a]&o|n[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let s=t[0]+r[0];t[0]=s&65535;for(let a=1;a<8;a++)s=(t[a]+r[a]|0)+(s>>>16)|0,t[a]=s&65535}update(t){Nc(this);let{buffer:r,blockLen:n}=this;t=Wo(t);let i=t.length;for(let o=0;o<i;){let s=Math.min(n-this.pos,i-o);if(s===n){for(;n<=i-o;o+=n)this.process(t,o);continue}r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(t){Nc(this),Gl(t,this),this.finished=!0;let{buffer:r,h:n}=this,{pos:i}=this;if(i){for(r[i++]=1;i<16;i++)r[i]=0;this.process(r,0,!0)}this.finalize();let o=0;for(let s=0;s<8;s++)t[o++]=n[s]>>>0,t[o++]=n[s]>>>8;return t}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}};function Eg(e){let t=(n,i)=>e(i).update(Wo(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var Wl=Eg(e=>new Pc(e));var Sg=Go("expand 16-byte k"),Ag=Go("expand 32-byte k"),Dg=Je(Sg),Cg=Je(Ag);function $(e,t){return e<<t|e>>>32-t}function Uc(e){return e.byteOffset%4===0}var Yo=64,Bg=16,Yl=2**32-1,$l=new Uint32Array;function Tg(e,t,r,n,i,o,s,a){let c=i.length,u=new Uint8Array(Yo),f=Je(u),l=Uc(i)&&Uc(o),d=l?Je(i):$l,y=l?Je(o):$l;for(let h=0;h<c;s++){if(e(t,r,n,f,s,a),s>=Yl)throw new Error("arx: counter overflow");let p=Math.min(Yo,c-h);if(l&&p===Yo){let m=h/4;if(h%4!==0)throw new Error("arx: invalid block position");for(let g=0,b;g<Bg;g++)b=m+g,y[b]=d[b]^f[g];h+=Yo;continue}for(let m=0,g;m<p;m++)g=h+m,o[g]=i[g]^u[m];h+=p}}function Oc(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:i,counterRight:o,rounds:s}=ql({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!="function")throw new Error("core must be a function");return $o(i),$o(s),Lc(o),Lc(r),(a,c,u,f,l=0)=>{Un(a),Un(c),Un(u);let d=u.length;if(f||(f=new Uint8Array(d)),Un(f),$o(l),l<0||l>=Yl)throw new Error("arx: counter overflow");if(f.length<d)throw new Error(`arx: output (${f.length}) is shorter than data (${d})`);let y=[],h=a.length,p,m;if(h===32)p=a.slice(),y.push(p),m=Cg;else if(h===16&&r)p=new Uint8Array(32),p.set(a),p.set(a,16),m=Dg,y.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${h}`);Uc(c)||(c=c.slice(),y.push(c));let g=Je(p);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(m,g,Je(c.subarray(0,16)),g),c=c.subarray(16)}let b=16-i;if(b!==c.length)throw new Error(`arx: nonce must be ${b} or 16 bytes`);if(b!==12){let D=new Uint8Array(12);D.set(c,o?0:12-c.length),c=D,y.push(c)}let x=Je(c);for(Tg(e,m,g,x,u,f,l,s);y.length>0;)y.pop().fill(0);return f}}function Ql(e,t,r,n,i,o=20){let s=e[0],a=e[1],c=e[2],u=e[3],f=t[0],l=t[1],d=t[2],y=t[3],h=t[4],p=t[5],m=t[6],g=t[7],b=i,x=r[0],D=r[1],v=r[2],E=s,C=a,B=c,O=u,K=f,U=l,F=d,G=y,Q=h,T=p,R=m,_=g,k=b,S=x,P=D,M=v;for(let Z=0;Z<o;Z+=2)E=E+K|0,k=$(k^E,16),Q=Q+k|0,K=$(K^Q,12),E=E+K|0,k=$(k^E,8),Q=Q+k|0,K=$(K^Q,7),C=C+U|0,S=$(S^C,16),T=T+S|0,U=$(U^T,12),C=C+U|0,S=$(S^C,8),T=T+S|0,U=$(U^T,7),B=B+F|0,P=$(P^B,16),R=R+P|0,F=$(F^R,12),B=B+F|0,P=$(P^B,8),R=R+P|0,F=$(F^R,7),O=O+G|0,M=$(M^O,16),_=_+M|0,G=$(G^_,12),O=O+G|0,M=$(M^O,8),_=_+M|0,G=$(G^_,7),E=E+U|0,M=$(M^E,16),R=R+M|0,U=$(U^R,12),E=E+U|0,M=$(M^E,8),R=R+M|0,U=$(U^R,7),C=C+F|0,k=$(k^C,16),_=_+k|0,F=$(F^_,12),C=C+F|0,k=$(k^C,8),_=_+k|0,F=$(F^_,7),B=B+G|0,S=$(S^B,16),Q=Q+S|0,G=$(G^Q,12),B=B+G|0,S=$(S^B,8),Q=Q+S|0,G=$(G^Q,7),O=O+K|0,P=$(P^O,16),T=T+P|0,K=$(K^T,12),O=O+K|0,P=$(P^O,8),T=T+P|0,K=$(K^T,7);let H=0;n[H++]=s+E|0,n[H++]=a+C|0,n[H++]=c+B|0,n[H++]=u+O|0,n[H++]=f+K|0,n[H++]=l+U|0,n[H++]=d+F|0,n[H++]=y+G|0,n[H++]=h+Q|0,n[H++]=p+T|0,n[H++]=m+R|0,n[H++]=g+_|0,n[H++]=b+k|0,n[H++]=x+S|0,n[H++]=D+P|0,n[H++]=v+M|0}function Ig(e,t,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=t[0],u=t[1],f=t[2],l=t[3],d=t[4],y=t[5],h=t[6],p=t[7],m=r[0],g=r[1],b=r[2],x=r[3];for(let v=0;v<20;v+=2)i=i+c|0,m=$(m^i,16),d=d+m|0,c=$(c^d,12),i=i+c|0,m=$(m^i,8),d=d+m|0,c=$(c^d,7),o=o+u|0,g=$(g^o,16),y=y+g|0,u=$(u^y,12),o=o+u|0,g=$(g^o,8),y=y+g|0,u=$(u^y,7),s=s+f|0,b=$(b^s,16),h=h+b|0,f=$(f^h,12),s=s+f|0,b=$(b^s,8),h=h+b|0,f=$(f^h,7),a=a+l|0,x=$(x^a,16),p=p+x|0,l=$(l^p,12),a=a+l|0,x=$(x^a,8),p=p+x|0,l=$(l^p,7),i=i+u|0,x=$(x^i,16),h=h+x|0,u=$(u^h,12),i=i+u|0,x=$(x^i,8),h=h+x|0,u=$(u^h,7),o=o+f|0,m=$(m^o,16),p=p+m|0,f=$(f^p,12),o=o+f|0,m=$(m^o,8),p=p+m|0,f=$(f^p,7),s=s+l|0,g=$(g^s,16),d=d+g|0,l=$(l^d,12),s=s+l|0,g=$(g^s,8),d=d+g|0,l=$(l^d,7),a=a+c|0,b=$(b^a,16),y=y+b|0,c=$(c^y,12),a=a+c|0,b=$(b^a,8),y=y+b|0,c=$(c^y,7);let D=0;n[D++]=i,n[D++]=o,n[D++]=s,n[D++]=a,n[D++]=m,n[D++]=g,n[D++]=b,n[D++]=x}var _g=Oc(Ql,{counterRight:!1,counterLength:4,allowShortKeys:!1}),kg=Oc(Ql,{counterRight:!1,counterLength:8,extendNonceFn:Ig,allowShortKeys:!1});var Rg=new Uint8Array(16),Xl=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(Rg.subarray(r))},Lg=new Uint8Array(32);function Zl(e,t,r,n,i){let o=e(t,r,Lg),s=Wl.create(o);i&&Xl(s,i),Xl(s,n);let a=new Uint8Array(16),c=Hl(a);Rc(c,0,BigInt(i?i.length:0),!0),Rc(c,8,BigInt(n.length),!0),s.update(a);let u=s.digest();return o.fill(0),u}var jl=e=>(t,r,n)=>(jr(t,32),jr(r),{encrypt:(o,s)=>{let a=o.length,c=a+16;s?jr(s,c):s=new Uint8Array(c),e(t,r,o,s,1);let u=Zl(e,t,r,s.subarray(0,-16),n);return s.set(u,a),s},decrypt:(o,s)=>{let a=o.length,c=a-16;if(a<16)throw new Error("encrypted data must be at least 16 bytes");s?jr(s,c):s=new Uint8Array(c);let u=o.subarray(0,-16),f=o.subarray(-16),l=Zl(e,t,r,u,n);if(!zl(f,l))throw new Error("invalid tag");return e(t,r,u,s,1),s}}),Kc=kc({blockSize:64,nonceLength:12,tagLength:16},jl(_g)),AC=kc({blockSize:64,nonceLength:24,tagLength:16},jl(kg));function Xo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Mc(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Ai(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Xo(e.outputLen),Xo(e.blockLen)}function On(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Jl(e,t){Mc(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Zo=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var th=e=>e instanceof Uint8Array;var Qo=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),De=(e,t)=>e<<32-t|e>>>t,Ng=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Ng)throw new Error("Non little-endian hardware is not supported");function Fc(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Ar(e){if(typeof e=="string"&&(e=Fc(e)),!th(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function jo(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!th(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var Kn=class{clone(){return this._cloneInto()}},IC={}.toString;function Jo(e){let t=n=>e().update(Ar(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Jr(e=32){if(Zo&&typeof Zo.getRandomValues=="function")return Zo.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function Pg(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}var Mn=class extends Kn{constructor(t,r,n,i){super(),this.blockLen=t,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(t),this.view=Qo(this.buffer)}update(t){On(this);let{view:r,buffer:n,blockLen:i}=this;t=Ar(t);let o=t.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=Qo(t);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){On(this),Jl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;Pg(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Qo(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return t.length=i,t.pos=a,t.finished=o,t.destroyed=s,i%r&&t.buffer.set(n),t}};var ts=BigInt(4294967295),Vc=BigInt(32);function eh(e,t=!1){return t?{h:Number(e&ts),l:Number(e>>Vc&ts)}:{h:Number(e>>Vc&ts)|0,l:Number(e&ts)|0}}function Ug(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:o,l:s}=eh(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var Og=(e,t)=>BigInt(e>>>0)<<Vc|BigInt(t>>>0),Kg=(e,t,r)=>e>>>r,Mg=(e,t,r)=>e<<32-r|t>>>r,Fg=(e,t,r)=>e>>>r|t<<32-r,Vg=(e,t,r)=>e<<32-r|t>>>r,Hg=(e,t,r)=>e<<64-r|t>>>r-32,qg=(e,t,r)=>e>>>r-32|t<<64-r,zg=(e,t)=>t,Gg=(e,t)=>e,Wg=(e,t,r)=>e<<r|t>>>32-r,$g=(e,t,r)=>t<<r|e>>>32-r,Yg=(e,t,r)=>t<<r-32|e>>>64-r,Xg=(e,t,r)=>e<<r-32|t>>>64-r;function Zg(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Qg=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),jg=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Jg=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),tx=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,ex=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),rx=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var nx={fromBig:eh,split:Ug,toBig:Og,shrSH:Kg,shrSL:Mg,rotrSH:Fg,rotrSL:Vg,rotrBH:Hg,rotrBL:qg,rotr32H:zg,rotr32L:Gg,rotlSH:Wg,rotlSL:$g,rotlBH:Yg,rotlBL:Xg,add:Zg,add3L:Qg,add3H:jg,add4L:Jg,add4H:tx,add5H:rx,add5L:ex},rt=nx;var[ix,ox]=rt.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(e=>BigInt(e))),Dr=new Uint32Array(80),Cr=new Uint32Array(80),Hc=class extends Mn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:d,Gh:y,Gl:h,Hh:p,Hl:m}=this;return[t,r,n,i,o,s,a,c,u,f,l,d,y,h,p,m]}set(t,r,n,i,o,s,a,c,u,f,l,d,y,h,p,m){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=d|0,this.Gh=y|0,this.Gl=h|0,this.Hh=p|0,this.Hl=m|0}process(t,r){for(let x=0;x<16;x++,r+=4)Dr[x]=t.getUint32(r),Cr[x]=t.getUint32(r+=4);for(let x=16;x<80;x++){let D=Dr[x-15]|0,v=Cr[x-15]|0,E=rt.rotrSH(D,v,1)^rt.rotrSH(D,v,8)^rt.shrSH(D,v,7),C=rt.rotrSL(D,v,1)^rt.rotrSL(D,v,8)^rt.shrSL(D,v,7),B=Dr[x-2]|0,O=Cr[x-2]|0,K=rt.rotrSH(B,O,19)^rt.rotrBH(B,O,61)^rt.shrSH(B,O,6),U=rt.rotrSL(B,O,19)^rt.rotrBL(B,O,61)^rt.shrSL(B,O,6),F=rt.add4L(C,U,Cr[x-7],Cr[x-16]),G=rt.add4H(F,E,K,Dr[x-7],Dr[x-16]);Dr[x]=G|0,Cr[x]=F|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:d,Fh:y,Fl:h,Gh:p,Gl:m,Hh:g,Hl:b}=this;for(let x=0;x<80;x++){let D=rt.rotrSH(l,d,14)^rt.rotrSH(l,d,18)^rt.rotrBH(l,d,41),v=rt.rotrSL(l,d,14)^rt.rotrSL(l,d,18)^rt.rotrBL(l,d,41),E=l&y^~l&p,C=d&h^~d&m,B=rt.add5L(b,v,C,ox[x],Cr[x]),O=rt.add5H(B,g,D,E,ix[x],Dr[x]),K=B|0,U=rt.rotrSH(n,i,28)^rt.rotrBH(n,i,34)^rt.rotrBH(n,i,39),F=rt.rotrSL(n,i,28)^rt.rotrBL(n,i,34)^rt.rotrBL(n,i,39),G=n&o^n&a^o&a,Q=i&s^i&c^s&c;g=p|0,b=m|0,p=y|0,m=h|0,y=l|0,h=d|0,{h:l,l:d}=rt.add(u|0,f|0,O|0,K|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let T=rt.add3L(K,F,Q);n=rt.add3H(T,O,U,G),i=T|0}({h:n,l:i}=rt.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=rt.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=rt.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=rt.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:d}=rt.add(this.Eh|0,this.El|0,l|0,d|0),{h:y,l:h}=rt.add(this.Fh|0,this.Fl|0,y|0,h|0),{h:p,l:m}=rt.add(this.Gh|0,this.Gl|0,p|0,m|0),{h:g,l:b}=rt.add(this.Hh|0,this.Hl|0,g|0,b|0),this.set(n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b)}roundClean(){Dr.fill(0),Cr.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 qc=Jo(()=>new Hc);var ns={};ct(ns,{bitGet:()=>hx,bitLen:()=>lx,bitMask:()=>Di,bitSet:()=>dx,bytesToHex:()=>tr,bytesToNumberBE:()=>er,bytesToNumberLE:()=>Ce,concatBytes:()=>nr,createHmacDrbg:()=>Wc,ensureBytes:()=>wt,equalBytes:()=>ux,hexToBytes:()=>tn,hexToNumber:()=>Gc,numberToBytesBE:()=>Br,numberToBytesLE:()=>rr,numberToHexUnpadded:()=>ih,numberToVarBytesBE:()=>cx,utf8ToBytes:()=>fx,validateObject:()=>pe});var nh=BigInt(0),es=BigInt(1),sx=BigInt(2),rs=e=>e instanceof Uint8Array,ax=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function tr(e){if(!rs(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=ax[e[r]];return t}function ih(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Gc(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function tn(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let i=n*2,o=e.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function er(e){return Gc(tr(e))}function Ce(e){if(!rs(e))throw new Error("Uint8Array expected");return Gc(tr(Uint8Array.from(e).reverse()))}function Br(e,t){return tn(e.toString(16).padStart(t*2,"0"))}function rr(e,t){return Br(e,t).reverse()}function cx(e){return tn(ih(e))}function wt(e,t,r){let n;if(typeof t=="string")try{n=tn(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(rs(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function nr(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!rs(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function ux(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function fx(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function lx(e){let t;for(t=0;e>nh;e>>=es,t+=1);return t}function hx(e,t){return e>>BigInt(t)&es}var dx=(e,t,r)=>e|(r?es:nh)<<BigInt(t),Di=e=>(sx<<BigInt(e-1))-es,zc=e=>new Uint8Array(e),rh=e=>Uint8Array.from(e);function Wc(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=zc(e),i=zc(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=zc())=>{i=a(rh([0]),l),n=a(),l.length!==0&&(i=a(rh([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=a();let y=n.slice();d.push(y),l+=n.length}return nr(...d)};return(l,d)=>{s(),c(l);let y;for(;!(y=d(u()));)c();return s(),y}}var px={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function pe(e,t,r={}){let n=(i,o,s)=>{let a=px[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=e[i];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(t))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return e}var Mt=BigInt(0),Dt=BigInt(1),en=BigInt(2),yx=BigInt(3),$c=BigInt(4),oh=BigInt(5),sh=BigInt(8),mx=BigInt(9),gx=BigInt(16);function ft(e,t){let r=e%t;return r>=Mt?r:t+r}function Yc(e,t,r){if(r<=Mt||t<Mt)throw new Error("Expected power/modulo > 0");if(r===Dt)return Mt;let n=Dt;for(;t>Mt;)t&Dt&&(n=n*e%r),e=e*e%r,t>>=Dt;return n}function vt(e,t,r){let n=e;for(;t-- >Mt;)n*=n,n%=r;return n}function is(e,t){if(e===Mt||t<=Mt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=ft(e,t),n=t,i=Mt,o=Dt,s=Dt,a=Mt;for(;r!==Mt;){let u=n/r,f=n%r,l=i-s*u,d=o-a*u;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==Dt)throw new Error("invert: does not exist");return ft(i,t)}function xx(e){let t=(e-Dt)/en,r,n,i;for(r=e-Dt,n=0;r%en===Mt;r/=en,n++);for(i=en;i<e&&Yc(i,t,e)!==e-Dt;i++);if(n===1){let s=(e+Dt)/$c;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+Dt)/en;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(d);y<u&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let h=a.pow(f,Dt<<BigInt(u-y-1));f=a.sqr(h),l=a.mul(l,h),d=a.mul(d,f),u=y}return l}}function bx(e){if(e%$c===yx){let t=(e+Dt)/$c;return function(n,i){let o=n.pow(i,t);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(e%sh===oh){let t=(e-oh)/sh;return function(n,i){let o=n.mul(i,en),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,en),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return e%gx,xx(e)}var ah=(e,t)=>(ft(e,t)&Dt)===Dt,wx=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Xc(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=wx.reduce((n,i)=>(n[i]="function",n),t);return pe(e,r)}function vx(e,t,r){if(r<Mt)throw new Error("Expected power > 0");if(r===Mt)return e.ONE;if(r===Dt)return t;let n=e.ONE,i=t;for(;r>Mt;)r&Dt&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Dt;return n}function Ex(e,t){let r=new Array(t.length),n=t.reduce((o,s,a)=>e.is0(s)?o:(r[a]=o,e.mul(o,s)),e.ONE),i=e.inv(n);return t.reduceRight((o,s,a)=>e.is0(s)?o:(r[a]=e.mul(o,r[a]),e.mul(o,s)),i),r}function Zc(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function os(e,t,r=!1,n={}){if(e<=Mt)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=Zc(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=bx(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:Di(i),ZERO:Mt,ONE:Dt,create:c=>ft(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Mt<=c&&c<e},is0:c=>c===Mt,isOdd:c=>(c&Dt)===Dt,neg:c=>ft(-c,e),eql:(c,u)=>c===u,sqr:c=>ft(c*c,e),add:(c,u)=>ft(c+u,e),sub:(c,u)=>ft(c-u,e),mul:(c,u)=>ft(c*u,e),pow:(c,u)=>vx(a,c,u),div:(c,u)=>ft(c*is(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>is(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Ex(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?rr(c,o):Br(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Ce(c):er(c)}});return Object.freeze(a)}function ch(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function uh(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Qc(e){let t=uh(e);return t+Math.ceil(t/2)}function fh(e,t,r=!1){let n=e.length,i=uh(t),o=Qc(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?er(e):Ce(e),a=ft(s,t-Dt)+Dt;return r?rr(a,i):Br(a,i)}var Ax=BigInt(0),jc=BigInt(1);function ss(e,t){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(t/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=e.ZERO,a=i;for(;o>Ax;)o&jc&&(s=s.add(a)),a=a.double(),o>>=jc;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let l=0;l<s;l++){f=u,c.push(f);for(let d=1;d<a;d++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=e.ZERO,f=e.BASE,l=BigInt(2**i-1),d=2**i,y=BigInt(i);for(let h=0;h<a;h++){let p=h*c,m=Number(s&l);s>>=y,m>c&&(m-=d,s+=jc);let g=p,b=p+Math.abs(m)-1,x=h%2!==0,D=m<0;m===0?f=f.add(r(x,o[g])):u=u.add(r(D,o[b]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function Ci(e){return Xc(e.Fp),pe(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Zc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Be=BigInt(0),fe=BigInt(1),as=BigInt(2),Dx=BigInt(8),Cx={zip215:!0};function Bx(e){let t=Ci(e);return pe(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function cs(e){let t=Bx(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,u=as<<BigInt(a*8)-fe,f=r.create,l=t.uvRatio||((k,S)=>{try{return{isValid:!0,value:r.sqrt(k*r.inv(S))}}catch{return{isValid:!1,value:Be}}}),d=t.adjustScalarBytes||(k=>k),y=t.domain||((k,S,P)=>{if(S.length||P)throw new Error("Contexts/pre-hash are not supported");return k}),h=k=>typeof k=="bigint"&&Be<k,p=(k,S)=>h(k)&&h(S)&&k<S,m=k=>k===Be||p(k,u);function g(k,S){if(p(k,S))return k;throw new Error(`Expected valid scalar < ${S}, got ${typeof k} ${k}`)}function b(k){return k===Be?k:g(k,n)}let x=new Map;function D(k){if(!(k instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(S,P,M,H){if(this.ex=S,this.ey=P,this.ez=M,this.et=H,!m(S))throw new Error("x required");if(!m(P))throw new Error("y required");if(!m(M))throw new Error("z required");if(!m(H))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(S){if(S instanceof v)throw new Error("extended point not allowed");let{x:P,y:M}=S||{};if(!m(P)||!m(M))throw new Error("invalid affine point");return new v(P,M,fe,f(P*M))}static normalizeZ(S){let P=r.invertBatch(S.map(M=>M.ez));return S.map((M,H)=>M.toAffine(P[H])).map(v.fromAffine)}_setWindowSize(S){this._WINDOW_SIZE=S,x.delete(this)}assertValidity(){let{a:S,d:P}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:M,ey:H,ez:Z,et:j}=this,it=f(M*M),J=f(H*H),et=f(Z*Z),xt=f(et*et),mt=f(it*S),qt=f(et*f(mt+J)),zt=f(xt+f(P*f(it*J)));if(qt!==zt)throw new Error("bad point: equation left != right (1)");let Ut=f(M*H),Yt=f(Z*j);if(Ut!==Yt)throw new Error("bad point: equation left != right (2)")}equals(S){D(S);let{ex:P,ey:M,ez:H}=this,{ex:Z,ey:j,ez:it}=S,J=f(P*it),et=f(Z*H),xt=f(M*it),mt=f(j*H);return J===et&&xt===mt}is0(){return this.equals(v.ZERO)}negate(){return new v(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:S}=t,{ex:P,ey:M,ez:H}=this,Z=f(P*P),j=f(M*M),it=f(as*f(H*H)),J=f(S*Z),et=P+M,xt=f(f(et*et)-Z-j),mt=J+j,qt=mt-it,zt=J-j,Ut=f(xt*qt),Yt=f(mt*zt),We=f(xt*zt),Ur=f(qt*mt);return new v(Ut,Yt,Ur,We)}add(S){D(S);let{a:P,d:M}=t,{ex:H,ey:Z,ez:j,et:it}=this,{ex:J,ey:et,ez:xt,et:mt}=S;if(P===BigInt(-1)){let Iu=f((Z-H)*(et+J)),_u=f((Z+H)*(et-J)),ta=f(_u-Iu);if(ta===Be)return this.double();let ku=f(j*as*mt),Ru=f(it*as*xt),Lu=Ru+ku,Nu=_u+Iu,Pu=Ru-ku,Ay=f(Lu*ta),Dy=f(Nu*Pu),Cy=f(Lu*Pu),By=f(ta*Nu);return new v(Ay,Dy,By,Cy)}let qt=f(H*J),zt=f(Z*et),Ut=f(it*M*mt),Yt=f(j*xt),We=f((H+Z)*(J+et)-qt-zt),Ur=Yt-Ut,ai=Yt+Ut,Tu=f(zt-P*qt),wy=f(We*Ur),vy=f(ai*Tu),Ey=f(We*Tu),Sy=f(Ur*ai);return new v(wy,vy,Sy,Ey)}subtract(S){return this.add(S.negate())}wNAF(S){return B.wNAFCached(this,x,S,v.normalizeZ)}multiply(S){let{p:P,f:M}=this.wNAF(g(S,n));return v.normalizeZ([P,M])[0]}multiplyUnsafe(S){let P=b(S);return P===Be?C:this.equals(C)||P===fe?this:this.equals(E)?this.wNAF(P).p:B.unsafeLadder(this,P)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return B.unsafeLadder(this,n).is0()}toAffine(S){let{ex:P,ey:M,ez:H}=this,Z=this.is0();S==null&&(S=Z?Dx:r.inv(H));let j=f(P*S),it=f(M*S),J=f(H*S);if(Z)return{x:Be,y:fe};if(J!==fe)throw new Error("invZ was invalid");return{x:j,y:it}}clearCofactor(){let{h:S}=t;return S===fe?this:this.multiplyUnsafe(S)}static fromHex(S,P=!1){let{d:M,a:H}=t,Z=r.BYTES;S=wt("pointHex",S,Z);let j=S.slice(),it=S[Z-1];j[Z-1]=it&-129;let J=Ce(j);J===Be||(P?g(J,u):g(J,r.ORDER));let et=f(J*J),xt=f(et-fe),mt=f(M*et-H),{isValid:qt,value:zt}=l(xt,mt);if(!qt)throw new Error("Point.fromHex: invalid y coordinate");let Ut=(zt&fe)===fe,Yt=(it&128)!==0;if(!P&&zt===Be&&Yt)throw new Error("Point.fromHex: x=0 and x_0=1");return Yt!==Ut&&(zt=f(-zt)),v.fromAffine({x:zt,y:J})}static fromPrivateKey(S){return U(S).point}toRawBytes(){let{x:S,y:P}=this.toAffine(),M=rr(P,r.BYTES);return M[M.length-1]|=S&fe?128:0,M}toHex(){return tr(this.toRawBytes())}}v.BASE=new v(t.Gx,t.Gy,fe,f(t.Gx*t.Gy)),v.ZERO=new v(Be,fe,fe,Be);let{BASE:E,ZERO:C}=v,B=ss(v,a*8);function O(k){return ft(k,n)}function K(k){return O(Ce(k))}function U(k){let S=a;k=wt("private key",k,S);let P=wt("hashed private key",o(k),2*S),M=d(P.slice(0,S)),H=P.slice(S,2*S),Z=K(M),j=E.multiply(Z),it=j.toRawBytes();return{head:M,prefix:H,scalar:Z,point:j,pointBytes:it}}function F(k){return U(k).pointBytes}function G(k=new Uint8Array,...S){let P=nr(...S);return K(o(y(P,wt("context",k),!!i)))}function Q(k,S,P={}){k=wt("message",k),i&&(k=i(k));let{prefix:M,scalar:H,pointBytes:Z}=U(S),j=G(P.context,M,k),it=E.multiply(j).toRawBytes(),J=G(P.context,it,Z,k),et=O(j+J*H);b(et);let xt=nr(it,rr(et,r.BYTES));return wt("result",xt,a*2)}let T=Cx;function R(k,S,P,M=T){let{context:H,zip215:Z}=M,j=r.BYTES;k=wt("signature",k,2*j),S=wt("message",S),i&&(S=i(S));let it=Ce(k.slice(j,2*j)),J,et,xt;try{J=v.fromHex(P,Z),et=v.fromHex(k.slice(0,j),Z),xt=E.multiplyUnsafe(it)}catch{return!1}if(!Z&&J.isSmallOrder())return!1;let mt=G(H,et.toRawBytes(),J.toRawBytes(),S);return et.add(J.multiplyUnsafe(mt)).subtract(xt).clearCofactor().equals(v.ZERO)}return E._setWindowSize(8),{CURVE:t,getPublicKey:F,sign:Q,verify:R,ExtendedPoint:v,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>s(r.BYTES),precompute(k=8,S=v.BASE){return S._setWindowSize(k),S.multiply(BigInt(3)),S}}}}var Bi=BigInt(0),Jc=BigInt(1);function Tx(e){return pe(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}function lh(e){let t=Tx(e),{P:r}=t,n=x=>ft(x,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(x=>x),c=t.powPminus2||(x=>Yc(x,r-BigInt(2),r));function u(x,D,v){let E=n(x*(D-v));return D=n(D-E),v=n(v+E),[D,v]}function f(x){if(typeof x=="bigint"&&Bi<=x&&x<r)return x;throw new Error("Expected valid scalar 0 < scalar < CURVE.P")}let l=(t.a-BigInt(2))/BigInt(4);function d(x,D){let v=f(x),E=f(D),C=v,B=Jc,O=Bi,K=v,U=Jc,F=Bi,G;for(let T=BigInt(i-1);T>=Bi;T--){let R=E>>T&Jc;F^=R,G=u(F,B,K),B=G[0],K=G[1],G=u(F,O,U),O=G[0],U=G[1],F=R;let _=B+O,k=n(_*_),S=B-O,P=n(S*S),M=k-P,H=K+U,Z=K-U,j=n(Z*_),it=n(H*S),J=j+it,et=j-it;K=n(J*J),U=n(C*n(et*et)),B=n(k*P),O=n(M*(k+n(l*M)))}G=u(F,B,K),B=G[0],K=G[1],G=u(F,O,U),O=G[0],U=G[1];let Q=c(O);return n(B*Q)}function y(x){return rr(n(x),o)}function h(x){let D=wt("u coordinate",x,o);return s===o&&(D[s-1]&=127),Ce(D)}function p(x){let D=wt("scalar",x);if(D.length!==o&&D.length!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${D.length}`);return Ce(a(D))}function m(x,D){let v=h(D),E=p(x),C=d(v,E);if(C===Bi)throw new Error("Invalid private or public key received");return y(C)}let g=y(t.Gu);function b(x){return m(x,g)}return{scalarMult:m,scalarMultBase:b,getSharedSecret:(x,D)=>m(x,D),getPublicKey:x=>b(x),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:g}}var Ti=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),hh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),eB=BigInt(0),Ix=BigInt(1),t0=BigInt(2),_x=BigInt(5),dh=BigInt(10),kx=BigInt(20),Rx=BigInt(40),ph=BigInt(80);function yh(e){let t=Ti,n=e*e%t*e%t,i=vt(n,t0,t)*n%t,o=vt(i,Ix,t)*e%t,s=vt(o,_x,t)*o%t,a=vt(s,dh,t)*s%t,c=vt(a,kx,t)*a%t,u=vt(c,Rx,t)*c%t,f=vt(u,ph,t)*u%t,l=vt(f,ph,t)*u%t,d=vt(l,dh,t)*s%t;return{pow_p_5_8:vt(d,t0,t)*e%t,b2:n}}function mh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Lx(e,t){let r=Ti,n=ft(t*t*t,r),i=ft(n*n*t,r),o=yh(e*i).pow_p_5_8,s=ft(e*n*o,r),a=ft(t*s*s,r),c=s,u=ft(s*hh,r),f=a===e,l=a===ft(-e,r),d=a===ft(-e*hh,r);return f&&(s=c),(l||d)&&(s=u),ah(s,r)&&(s=ft(-s,r)),{isValid:f||l,value:s}}var ir=os(Ti,void 0,!0),e0={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ir,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:qc,randomBytes:Jr,adjustScalarBytes:mh,uvRatio:Lx},Fn=cs(e0);function gh(e,t,r){if(t.length>255)throw new Error("Context is too big");return jo(Fc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var rB=cs({...e0,domain:gh}),nB=cs({...e0,domain:gh,prehash:qc}),Ii=lh({P:Ti,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=Ti,{pow_p_5_8:r,b2:n}=yh(e);return ft(vt(r,BigInt(3),t)*n,t)},adjustScalarBytes:mh,randomBytes:Jr});var Nx=(ir.ORDER+BigInt(3))/BigInt(8),iB=ir.pow(t0,Nx),oB=ir.sqrt(ir.neg(ir.ONE)),sB=(ir.ORDER-BigInt(5))/BigInt(8),aB=BigInt(486662);var cB=ch(ir,ir.neg(BigInt(486664)));var uB=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),fB=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),lB=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),hB=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var dB=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var us=class extends Kn{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,Ai(t);let n=Ar(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?t.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(t){return On(this),this.iHash.update(t),this}digestInto(t){On(this),Mc(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=o,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Vn=(e,t,r)=>new us(e,t).update(r).digest();Vn.create=(e,t)=>new us(e,t);function bh(e,t,r){return Ai(e),r===void 0&&(r=new Uint8Array(e.outputLen)),Vn(e,Ar(r),Ar(t))}var r0=new Uint8Array([0]),xh=new Uint8Array;function wh(e,t,r,n=32){if(Ai(e),Xo(n),n>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");let i=Math.ceil(n/e.outputLen);r===void 0&&(r=xh);let o=new Uint8Array(i*e.outputLen),s=Vn.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let u=0;u<i;u++)r0[0]=u+1,a.update(u===0?xh:c).update(r).update(r0).digestInto(c),o.set(c,e.outputLen*u),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),r0.fill(0),o.slice(0,n)}var Px=(e,t,r)=>e&t^~e&r,Ux=(e,t,r)=>e&t^e&r^t&r,Ox=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]),Tr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ir=new Uint32Array(64),n0=class extends Mn{constructor(){super(64,32,8,!1),this.A=Tr[0]|0,this.B=Tr[1]|0,this.C=Tr[2]|0,this.D=Tr[3]|0,this.E=Tr[4]|0,this.F=Tr[5]|0,this.G=Tr[6]|0,this.H=Tr[7]|0}get(){let{A:t,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[t,r,n,i,o,s,a,c]}set(t,r,n,i,o,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let l=0;l<16;l++,r+=4)Ir[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let d=Ir[l-15],y=Ir[l-2],h=De(d,7)^De(d,18)^d>>>3,p=De(y,17)^De(y,19)^y>>>10;Ir[l]=p+Ir[l-7]+h+Ir[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let d=De(a,6)^De(a,11)^De(a,25),y=f+d+Px(a,c,u)+Ox[l]+Ir[l]|0,p=(De(n,2)^De(n,13)^De(n,22))+Ux(n,i,o)|0;f=u,u=c,c=a,a=s+y|0,s=o,o=i,i=n,n=y+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,i,o,s,a,c,u,f)}roundClean(){Ir.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Hn=Jo(()=>new n0);var i0={hashSHA256(e){return Hn(e.subarray())},getHKDF(e,t){let r=bh(Hn,t,e),i=wh(Hn,r,void 0,96),o=i.subarray(0,32),s=i.subarray(32,64),a=i.subarray(64,96);return[o,s,a]},generateX25519KeyPair(){let e=Ii.utils.randomPrivateKey();return{publicKey:Ii.getPublicKey(e),privateKey:e}},generateX25519KeyPairFromSeed(e){return{publicKey:Ii.getPublicKey(e),privateKey:e}},generateX25519SharedKey(e,t){return Ii.getSharedSecret(e.subarray(),t.subarray())},chaCha20Poly1305Encrypt(e,t,r,n){return Kc(n,t,r).encrypt(e.subarray())},chaCha20Poly1305Decrypt(e,t,r,n,i){return Kc(n,t,r).decrypt(e.subarray(),i)}};var vh=i0;var qn=e=>{let t=Qr(2);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};qn.bytes=2;var _i=e=>{if(e.length<2)throw RangeError("Could not decode int16BE");return e instanceof Uint8Array?new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1):e.getUint16(0)};_i.bytes=2;function Eh(e){return new At(e.ne,e.ciphertext)}function Sh(e){return new At(e.ne,e.ns,e.ciphertext)}function Ah(e){return new At(e.ns,e.ciphertext)}function Dh(e){if(e.length<32)throw new Error("Cannot decode stage 0 MessageBuffer: length less than 32 bytes.");return{ne:e.subarray(0,32),ciphertext:e.subarray(32,e.length),ns:pt(0)}}function Ch(e){if(e.length<80)throw new Error("Cannot decode stage 1 MessageBuffer: length less than 80 bytes.");return{ne:e.subarray(0,32),ns:e.subarray(32,80),ciphertext:e.subarray(80,e.length)}}function Bh(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:pt(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}var Ih=16;function _h(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65519){let o=i+65519;o>n.length&&(o=n.length);let s;n instanceof Uint8Array?s=e.encrypt(n.subarray(i,o),e.session):s=e.encrypt(n.sublist(i,o),e.session),t?.encryptedPackets.increment(),yield new At(qn(s.byteLength),s)}}}function kh(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65535){let o=i+65535;if(o>n.length&&(o=n.length),o-Ih<i)throw new Error("Invalid chunk");let s=n.sublist(i,o),a=n.subarray(i,o-Ih),{plaintext:c,valid:u}=e.decrypt(s,e.session,a);if(!u)throw t?.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");t?.decryptedPackets.increment(),yield c}}}var Ri=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},rn=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var y_=Xt(Ui(),1),m_=Xt($d(),1);var Mv=Xt(gt(),1);function un(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Ts(e=0){return globalThis.Buffer?.allocUnsafe!=null?un(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Xd(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Yd=Xd("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),B0=Xd("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Ts(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),cv={utf8:Yd,"utf-8":Yd,hex:Ot.base16,latin1:B0,ascii:B0,binary:B0,...Ot},Is=cv;function Jt(e,t="utf8"){let r=Is[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?un(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var k0={};ct(k0,{Ed25519PrivateKey:()=>fn,Ed25519PublicKey:()=>Mi,generateKeyPair:()=>hv,generateKeyPairFromSeed:()=>ip,unmarshalEd25519PrivateKey:()=>fv,unmarshalEd25519PublicKey:()=>lv});var DT=Xt(Pt(),1),CT=Xt(As(),1),Zd=Xt(gt(),1);function cr(e,t){if(globalThis.Buffer!=null)return un(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=Ts(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return un(r)}function le(e,t="utf8"){let r=Is[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function _e(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=cr([new Uint8Array(t-r.length),r])}return le(r,"base64url")}function he(e){let t=Qd(e);return new Zd.default.jsbn.BigInteger(le(t,"base16"),16)}function Qd(e,t){let r=Jt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=cr([new Uint8Array(t-r.length),r])}return r}function ge(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Yn=32,ur=64,_s=32;function jd(){let e=Fn.utils.randomPrivateKey(),t=Fn.getPublicKey(e);return{privateKey:rp(e,t),publicKey:t}}function Jd(e){if(e.length!==_s)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=Fn.getPublicKey(t);return{privateKey:rp(t,r),publicKey:r}}function tp(e,t){let r=e.subarray(0,_s);return Fn.sign(t instanceof Uint8Array?t:t.subarray(),r)}function ep(e,t,r){return Fn.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function rp(e,t){let r=new Uint8Array(ur);for(let n=0;n<_s;n++)r[n]=e[n],r[_s+n]=t[n];return r}var ae={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var T0={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function I0(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=ae.get();r*=8;async function c(l,d){let y=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:h};typeof d=="string"&&(d=Jt(d));let m;if(d.length===0){m=await a.subtle.importKey("jwk",T0,{name:"AES-GCM"},!0,["encrypt"]);try{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",T0,{name:"AES-GCM"},!0,["encrypt"])}}else{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(p,m,l);return cr([y,p.iv,new Uint8Array(g)])}async function u(l,d){let y=l.subarray(0,o),h=l.subarray(o,o+n),p=l.subarray(o+n),m={name:t,iv:h};typeof d=="string"&&(d=Jt(d));let g;if(d.length===0)try{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},D=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,D,{name:t,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",T0,{name:"AES-GCM"},!0,["decrypt"])}else{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},D=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,D,{name:t,length:r},!0,["decrypt"])}let b=await a.subtle.decrypt(m,g,p);return new Uint8Array(b)}return{encrypt:c,decrypt:u}}async function Xn(e,t){let n=await I0().encrypt(e,t);return so.encode(n)}var Bt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(Bt||(Bt={}));var _0;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(_0||(_0={}));(function(e){e.codec=()=>$r(_0)})(Bt||(Bt={}));var He;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Bt.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Bt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(He||(He={}));var qe;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Bt.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Bt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(qe||(qe={}));var Mi=class{_key;constructor(t){this._key=Zn(t,Yn)}verify(t,r){return ep(this._key,r,t)}marshal(){return this._key}get bytes(){return He.encode({Type:Bt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return ce(this.bytes,t.bytes)}hash(){let t=Gt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}},fn=class{_key;_publicKey;constructor(t,r){this._key=Zn(t,ur),this._publicKey=Zn(r,Yn)}sign(t){return tp(this._key,t)}get public(){return new Mi(this._publicKey)}marshal(){return this._key}get bytes(){return qe.encode({Type:Bt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return ce(this.bytes,t.bytes)}async hash(){let t=Gt.digest(this.bytes),r;return ge(t)?{bytes:r}=await t:r=t.bytes,r}async id(){let t=yr.digest(this.public.bytes);return _t.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Xn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function fv(e){if(e.length>ur){e=Zn(e,ur+Yn);let n=e.subarray(0,ur),i=e.subarray(ur,e.length);return new fn(n,i)}e=Zn(e,ur);let t=e.subarray(0,ur),r=e.subarray(Yn);return new fn(t,r)}function lv(e){return e=Zn(e,Yn),new Mi(e)}async function hv(){let{privateKey:e,publicKey:t}=jd();return new fn(e,t)}async function ip(e){let{privateKey:t,publicKey:r}=Jd(e);return new fn(t,r)}function Zn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new W(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var dv={"P-256":256,"P-384":384,"P-521":521},pv=Object.keys(dv),jT=pv.join(" / ");var U0={};ct(U0,{MAX_KEY_SIZE:()=>qi,RsaPrivateKey:()=>Qn,RsaPublicKey:()=>Hi,fromJwk:()=>Dv,generateKeyPair:()=>Cv,unmarshalRsaPrivateKey:()=>Sv,unmarshalRsaPublicKey:()=>Av});var Vi=Xt(gt(),1);var UI=Xt(up(),1);function Rs(e){if(isNaN(e)||e<=0)throw new W("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Jr(e)}var xI=Xt(Bs(),1),N0=Xt(gt(),1);function fp(e,t){return t.map(r=>he(e[r]))}function lp(e){return N0.default.pki.setRsaPrivateKey(...fp(e,["n","e","d","p","q","dp","dq","qi"]))}function hp(e){return N0.default.pki.setRsaPublicKey(...fp(e,["n","e"]))}var hn={};ct(hn,{jwkToPkcs1:()=>xv,jwkToPkix:()=>wv,pkcs1ToJwk:()=>gv,pkixToJwk:()=>bv});var vI=Xt(Ui(),1),EI=Xt(Bs(),1);var fr=Xt(gt(),1);function gv(e){let t=fr.default.asn1.fromDer(le(e,"ascii")),r=fr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:_e(r.n),e:_e(r.e),d:_e(r.d),p:_e(r.p),q:_e(r.q),dp:_e(r.dP),dq:_e(r.dQ),qi:_e(r.qInv),alg:"RS256"}}function xv(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=fr.default.pki.privateKeyToAsn1({n:he(e.n),e:he(e.e),d:he(e.d),p:he(e.p),q:he(e.q),dP:he(e.dp),dQ:he(e.dq),qInv:he(e.qi)});return Jt(fr.default.asn1.toDer(t).getBytes(),"ascii")}function bv(e){let t=fr.default.asn1.fromDer(le(e,"ascii")),r=fr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:_e(r.n),e:_e(r.e)}}function wv(e){if(e.n==null||e.e==null)throw new W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=fr.default.pki.publicKeyToAsn1({n:he(e.n),e:he(e.e)});return Jt(fr.default.asn1.toDer(t).getBytes(),"ascii")}async function dp(e){let t=await ae.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await mp(t);return{privateKey:r[0],publicKey:r[1]}}async function P0(e){let r=[await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await vv(e)],n=await mp({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function pp(e,t){let r=await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ae.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function yp(e,t,r){let n=await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ae.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function mp(e){if(e.privateKey==null||e.publicKey==null)throw new W("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ae.get().subtle.exportKey("jwk",e.privateKey),ae.get().subtle.exportKey("jwk",e.publicKey)])}async function vv(e){return ae.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function gp(e,t,r,n){let i=t?hp(e):lp(e),o=le(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return Jt(s,"ascii")}function xp(e,t){return gp(e,!0,t,(r,n)=>n.encrypt(r))}function bp(e,t){return gp(e,!1,t,(r,n)=>n.decrypt(r))}function Ls(e){if(e.kty!=="RSA")throw new W("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new W("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Jt(e.n,"base64url").length*8}var qi=8192,Hi=class{_key;constructor(t){this._key=t}verify(t,r){return yp(this._key,r,t)}marshal(){return hn.jwkToPkix(this._key)}get bytes(){return He.encode({Type:Bt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return xp(this._key,t)}equals(t){return ce(this.bytes,t.bytes)}hash(){let t=Gt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}},Qn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Rs(16)}sign(t){return pp(this._key,t)}get public(){if(this._publicKey==null)throw new W("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Hi(this._publicKey)}decrypt(t){return bp(this._key,t)}marshal(){return hn.jwkToPkcs1(this._key)}get bytes(){return qe.encode({Type:Bt.RSA,Data:this.marshal()}).subarray()}equals(t){return ce(this.bytes,t.bytes)}hash(){let t=Gt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return le(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Vi.default.util.ByteBuffer(this.marshal()),i=Vi.default.asn1.fromDer(n),o=Vi.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Vi.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return Xn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Sv(e){let t=hn.pkcs1ToJwk(e);if(Ls(t)>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await P0(t);return new Qn(r.privateKey,r.publicKey)}function Av(e){let t=hn.pkixToJwk(e);if(Ls(t)>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Hi(t)}async function Dv(e){if(Ls(e)>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await P0(e);return new Qn(t.privateKey,t.publicKey)}async function Cv(e){if(e>qi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await dp(e);return new Qn(t.privateKey,t.publicKey)}var F0={};ct(F0,{Secp256k1PrivateKey:()=>Gi,Secp256k1PublicKey:()=>zi,generateKeyPair:()=>Kv,unmarshalSecp256k1PrivateKey:()=>Uv,unmarshalSecp256k1PublicKey:()=>Ov});function Bv(e){let t=Ci(e);pe(t,{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}=t;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({...t})}var{bytesToNumberBE:Tv,hexToBytes:Iv}=ns,dn={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=dn;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Tv(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=dn,r=typeof e=="string"?Iv(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:o}=dn._parseInt(r.subarray(2)),{d:s,l:a}=dn._parseInt(o);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(e){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=t(r(e.s)),i=t(r(e.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},lr=BigInt(0),xe=BigInt(1),qI=BigInt(2),wp=BigInt(3),zI=BigInt(4);function _v(e){let t=Bv(e),{Fp:r}=t,n=t.toBytes||((h,p,m)=>{let g=p.toAffine();return nr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=t.fromBytes||(h=>{let p=h.subarray(1),m=r.fromBytes(p.subarray(0,r.BYTES)),g=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:m,y:g}});function o(h){let{a:p,b:m}=t,g=r.sqr(h),b=r.mul(g,h);return r.add(r.add(b,r.mul(h,p)),m)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return typeof h=="bigint"&&lr<h&&h<t.n}function a(h){if(!s(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:p,nByteLength:m,wrapPrivateKey:g,n:b}=t;if(p&&typeof h!="bigint"){if(h instanceof Uint8Array&&(h=tr(h)),typeof h!="string"||!p.includes(h.length))throw new Error("Invalid key");h=h.padStart(m*2,"0")}let x;try{x=typeof h=="bigint"?h:er(wt("private key",h,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof h}`)}return g&&(x=ft(x,b)),a(x),x}let u=new Map;function f(h){if(!(h instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,m,g){if(this.px=p,this.py=m,this.pz=g,p==null||!r.isValid(p))throw new Error("x required");if(m==null||!r.isValid(m))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(p){let{x:m,y:g}=p||{};if(!p||!r.isValid(m)||!r.isValid(g))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let b=x=>r.eql(x,r.ZERO);return b(m)&&b(g)?l.ZERO:new l(m,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let m=r.invertBatch(p.map(g=>g.pz));return p.map((g,b)=>g.toAffine(m[b])).map(l.fromAffine)}static fromHex(p){let m=l.fromAffine(i(wt("pointHex",p)));return m.assertValidity(),m}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:m}=this.toAffine();if(!r.isValid(p)||!r.isValid(m))throw new Error("bad point: x or y not FE");let g=r.sqr(m),b=o(p);if(!r.eql(g,b))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:m,py:g,pz:b}=this,{px:x,py:D,pz:v}=p,E=r.eql(r.mul(m,v),r.mul(x,b)),C=r.eql(r.mul(g,v),r.mul(D,b));return E&&C}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:m}=t,g=r.mul(m,wp),{px:b,py:x,pz:D}=this,v=r.ZERO,E=r.ZERO,C=r.ZERO,B=r.mul(b,b),O=r.mul(x,x),K=r.mul(D,D),U=r.mul(b,x);return U=r.add(U,U),C=r.mul(b,D),C=r.add(C,C),v=r.mul(p,C),E=r.mul(g,K),E=r.add(v,E),v=r.sub(O,E),E=r.add(O,E),E=r.mul(v,E),v=r.mul(U,v),C=r.mul(g,C),K=r.mul(p,K),U=r.sub(B,K),U=r.mul(p,U),U=r.add(U,C),C=r.add(B,B),B=r.add(C,B),B=r.add(B,K),B=r.mul(B,U),E=r.add(E,B),K=r.mul(x,D),K=r.add(K,K),B=r.mul(K,U),v=r.sub(v,B),C=r.mul(K,O),C=r.add(C,C),C=r.add(C,C),new l(v,E,C)}add(p){f(p);let{px:m,py:g,pz:b}=this,{px:x,py:D,pz:v}=p,E=r.ZERO,C=r.ZERO,B=r.ZERO,O=t.a,K=r.mul(t.b,wp),U=r.mul(m,x),F=r.mul(g,D),G=r.mul(b,v),Q=r.add(m,g),T=r.add(x,D);Q=r.mul(Q,T),T=r.add(U,F),Q=r.sub(Q,T),T=r.add(m,b);let R=r.add(x,v);return T=r.mul(T,R),R=r.add(U,G),T=r.sub(T,R),R=r.add(g,b),E=r.add(D,v),R=r.mul(R,E),E=r.add(F,G),R=r.sub(R,E),B=r.mul(O,T),E=r.mul(K,G),B=r.add(E,B),E=r.sub(F,B),B=r.add(F,B),C=r.mul(E,B),F=r.add(U,U),F=r.add(F,U),G=r.mul(O,G),T=r.mul(K,T),F=r.add(F,G),G=r.sub(U,G),G=r.mul(O,G),T=r.add(T,G),U=r.mul(F,T),C=r.add(C,U),U=r.mul(R,T),E=r.mul(Q,E),E=r.sub(E,U),U=r.mul(Q,F),B=r.mul(R,B),B=r.add(B,U),new l(E,C,B)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return y.wNAFCached(this,u,p,m=>{let g=r.invertBatch(m.map(b=>b.pz));return m.map((b,x)=>b.toAffine(g[x])).map(l.fromAffine)})}multiplyUnsafe(p){let m=l.ZERO;if(p===lr)return m;if(a(p),p===xe)return this;let{endo:g}=t;if(!g)return y.unsafeLadder(this,p);let{k1neg:b,k1:x,k2neg:D,k2:v}=g.splitScalar(p),E=m,C=m,B=this;for(;x>lr||v>lr;)x&xe&&(E=E.add(B)),v&xe&&(C=C.add(B)),B=B.double(),x>>=xe,v>>=xe;return b&&(E=E.negate()),D&&(C=C.negate()),C=new l(r.mul(C.px,g.beta),C.py,C.pz),E.add(C)}multiply(p){a(p);let m=p,g,b,{endo:x}=t;if(x){let{k1neg:D,k1:v,k2neg:E,k2:C}=x.splitScalar(m),{p:B,f:O}=this.wNAF(v),{p:K,f:U}=this.wNAF(C);B=y.constTimeNegate(D,B),K=y.constTimeNegate(E,K),K=new l(r.mul(K.px,x.beta),K.py,K.pz),g=B.add(K),b=O.add(U)}else{let{p:D,f:v}=this.wNAF(m);g=D,b=v}return l.normalizeZ([g,b])[0]}multiplyAndAddUnsafe(p,m,g){let b=l.BASE,x=(v,E)=>E===lr||E===xe||!v.equals(b)?v.multiplyUnsafe(E):v.multiply(E),D=x(this,m).add(x(p,g));return D.is0()?void 0:D}toAffine(p){let{px:m,py:g,pz:b}=this,x=this.is0();p==null&&(p=x?r.ONE:r.inv(b));let D=r.mul(m,p),v=r.mul(g,p),E=r.mul(b,p);if(x)return{x:r.ZERO,y:r.ZERO};if(!r.eql(E,r.ONE))throw new Error("invZ was invalid");return{x:D,y:v}}isTorsionFree(){let{h:p,isTorsionFree:m}=t;if(p===xe)return!0;if(m)return m(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:m}=t;return p===xe?this:m?m(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return tr(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let d=t.nBitLength,y=ss(l,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function kv(e){let t=Ci(e);return pe(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function vp(e){let t=kv(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(T){return lr<T&&T<r.ORDER}function a(T){return ft(T,n)}function c(T){return is(T,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:d}=_v({...t,toBytes(T,R,_){let k=R.toAffine(),S=r.toBytes(k.x),P=nr;return _?P(Uint8Array.from([R.hasEvenY()?2:3]),S):P(Uint8Array.from([4]),S,r.toBytes(k.y))},fromBytes(T){let R=T.length,_=T[0],k=T.subarray(1);if(R===i&&(_===2||_===3)){let S=er(k);if(!s(S))throw new Error("Point is not on curve");let P=l(S),M=r.sqrt(P),H=(M&xe)===xe;return(_&1)===1!==H&&(M=r.neg(M)),{x:S,y:M}}else if(R===o&&_===4){let S=r.fromBytes(k.subarray(0,r.BYTES)),P=r.fromBytes(k.subarray(r.BYTES,2*r.BYTES));return{x:S,y:P}}else throw new Error(`Point of length ${R} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=T=>tr(Br(T,t.nByteLength));function h(T){let R=n>>xe;return T>R}function p(T){return h(T)?a(-T):T}let m=(T,R,_)=>er(T.slice(R,_));class g{constructor(R,_,k){this.r=R,this.s=_,this.recovery=k,this.assertValidity()}static fromCompact(R){let _=t.nByteLength;return R=wt("compactSignature",R,_*2),new g(m(R,0,_),m(R,_,2*_))}static fromDER(R){let{r:_,s:k}=dn.toSig(wt("DER",R));return new g(_,k)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(R){return new g(this.r,this.s,R)}recoverPublicKey(R){let{r:_,s:k,recovery:S}=this,P=C(wt("msgHash",R));if(S==null||![0,1,2,3].includes(S))throw new Error("recovery id invalid");let M=S===2||S===3?_+t.n:_;if(M>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=S&1?"03":"02",Z=u.fromHex(H+y(M)),j=c(M),it=a(-P*j),J=a(k*j),et=u.BASE.multiplyAndAddUnsafe(Z,it,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return tn(this.toDERHex())}toDERHex(){return dn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return tn(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let b={isValidPrivateKey(T){try{return f(T),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let T=Qc(t.n);return fh(t.randomBytes(T),t.n)},precompute(T=8,R=u.BASE){return R._setWindowSize(T),R.multiply(BigInt(3)),R}};function x(T,R=!0){return u.fromPrivateKey(T).toRawBytes(R)}function D(T){let R=T instanceof Uint8Array,_=typeof T=="string",k=(R||_)&&T.length;return R?k===i||k===o:_?k===2*i||k===2*o:T instanceof u}function v(T,R,_=!0){if(D(T))throw new Error("first arg must be private key");if(!D(R))throw new Error("second arg must be public key");return u.fromHex(R).multiply(f(T)).toRawBytes(_)}let E=t.bits2int||function(T){let R=er(T),_=T.length*8-t.nBitLength;return _>0?R>>BigInt(_):R},C=t.bits2int_modN||function(T){return a(E(T))},B=Di(t.nBitLength);function O(T){if(typeof T!="bigint")throw new Error("bigint expected");if(!(lr<=T&&T<B))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Br(T,t.nByteLength)}function K(T,R,_=U){if(["recovered","canonical"].some(mt=>mt in _))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:S}=t,{lowS:P,prehash:M,extraEntropy:H}=_;P==null&&(P=!0),T=wt("msgHash",T),M&&(T=wt("prehashed msgHash",k(T)));let Z=C(T),j=f(R),it=[O(j),O(Z)];if(H!=null){let mt=H===!0?S(r.BYTES):H;it.push(wt("extraEntropy",mt))}let J=nr(...it),et=Z;function xt(mt){let qt=E(mt);if(!d(qt))return;let zt=c(qt),Ut=u.BASE.multiply(qt).toAffine(),Yt=a(Ut.x);if(Yt===lr)return;let We=a(zt*a(et+Yt*j));if(We===lr)return;let Ur=(Ut.x===Yt?0:2)|Number(Ut.y&xe),ai=We;return P&&h(We)&&(ai=p(We),Ur^=1),new g(Yt,ai,Ur)}return{seed:J,k2sig:xt}}let U={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function G(T,R,_=U){let{seed:k,k2sig:S}=K(T,R,_),P=t;return Wc(P.hash.outputLen,P.nByteLength,P.hmac)(k,S)}u.BASE._setWindowSize(8);function Q(T,R,_,k=F){let S=T;if(R=wt("msgHash",R),_=wt("publicKey",_),"strict"in k)throw new Error("options.strict was renamed to lowS");let{lowS:P,prehash:M}=k,H,Z;try{if(typeof S=="string"||S instanceof Uint8Array)try{H=g.fromDER(S)}catch(Ut){if(!(Ut instanceof dn.Err))throw Ut;H=g.fromCompact(S)}else if(typeof S=="object"&&typeof S.r=="bigint"&&typeof S.s=="bigint"){let{r:Ut,s:Yt}=S;H=new g(Ut,Yt)}else throw new Error("PARSE");Z=u.fromHex(_)}catch(Ut){if(Ut.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(P&&H.hasHighS())return!1;M&&(R=t.hash(R));let{r:j,s:it}=H,J=C(R),et=c(it),xt=a(J*et),mt=a(j*et),qt=u.BASE.multiplyAndAddUnsafe(Z,xt,mt)?.toAffine();return qt?a(qt.x)===j:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:v,sign:G,verify:Q,ProjectivePoint:u,Signature:g,utils:b}}function Rv(e){return{hash:e,hmac:(t,...r)=>Vn(e,t,jo(...r)),randomBytes:Jr}}function Ep(e,t){let r=n=>vp({...e,...Rv(n)});return Object.freeze({...r(t),create:r})}var Dp=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Sp=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Lv=BigInt(1),O0=BigInt(2),Ap=(e,t)=>(e+t/O0)/t;function Nv(e){let t=Dp,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,f=u*u*e%t,l=vt(f,r,t)*f%t,d=vt(l,r,t)*f%t,y=vt(d,O0,t)*u%t,h=vt(y,i,t)*y%t,p=vt(h,o,t)*h%t,m=vt(p,a,t)*p%t,g=vt(m,c,t)*m%t,b=vt(g,a,t)*p%t,x=vt(b,r,t)*f%t,D=vt(x,s,t)*h%t,v=vt(D,n,t)*u%t,E=vt(v,O0,t);if(!K0.eql(K0.sqr(E),e))throw new Error("Cannot find square root");return E}var K0=os(Dp,void 0,void 0,{sqrt:Nv}),ke=Ep({a:BigInt(0),b:BigInt(7),Fp:K0,n:Sp,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=Sp,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Lv*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Ap(o*e,t),c=Ap(-n*e,t),u=ft(e-a*r-c*i,t),f=ft(-a*n-c*o,t),l=u>s,d=f>s;if(l&&(u=t-u),d&&(f=t-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:d,k2:f}}}},Hn),JI=BigInt(0);var t_=ke.ProjectivePoint;function Cp(){return ke.utils.randomPrivateKey()}function Bp(e,t){let r=Gt.digest(t instanceof Uint8Array?t:t.subarray());if(ge(r))return r.then(({digest:n})=>ke.sign(n,e).toDERRawBytes()).catch(n=>{throw new W(String(n),"ERR_INVALID_INPUT")});try{return ke.sign(r.digest,e).toDERRawBytes()}catch(n){throw new W(String(n),"ERR_INVALID_INPUT")}}function Tp(e,t,r){let n=Gt.digest(r instanceof Uint8Array?r:r.subarray());if(ge(n))return n.then(({digest:i})=>ke.verify(t,i,e)).catch(i=>{throw new W(String(i),"ERR_INVALID_INPUT")});try{return ke.verify(t,n.digest,e)}catch(i){throw new W(String(i),"ERR_INVALID_INPUT")}}function Ip(e){return ke.ProjectivePoint.fromHex(e).toRawBytes(!0)}function _p(e){try{ke.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}function M0(e){try{ke.ProjectivePoint.fromHex(e)}catch(t){throw new W(String(t),"ERR_INVALID_PUBLIC_KEY")}}function kp(e){try{return ke.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}var zi=class{_key;constructor(t){M0(t),this._key=t}verify(t,r){return Tp(this._key,r,t)}marshal(){return Ip(this._key)}get bytes(){return He.encode({Type:Bt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return ce(this.bytes,t.bytes)}async hash(){let t=Gt.digest(this.bytes),r;return ge(t)?{bytes:r}=await t:r=t.bytes,r}},Gi=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??kp(t),_p(this._key),M0(this._publicKey)}sign(t){return Bp(this._key,t)}get public(){return new zi(this._publicKey)}marshal(){return this._key}get bytes(){return qe.encode({Type:Bt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return ce(this.bytes,t.bytes)}hash(){let t=Gt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return le(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Xn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Uv(e){return new Gi(e)}function Ov(e){return new zi(e)}async function Kv(){let e=Cp();return new Gi(e)}var pn={rsa:U0,ed25519:k0,secp256k1:F0};function Rp(e){let t=Object.keys(pn).join(" / ");return new W(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Lp(e){let t=He.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Bt.RSA:return pn.rsa.unmarshalRsaPublicKey(r);case Bt.Ed25519:return pn.ed25519.unmarshalEd25519PublicKey(r);case Bt.Secp256k1:return pn.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Rp(t.Type??"unknown")}}async function Np(e){let t=qe.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Bt.RSA:return pn.rsa.unmarshalRsaPrivateKey(r);case Bt.Ed25519:return pn.ed25519.unmarshalEd25519PrivateKey(r);case Bt.Secp256k1:return pn.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Rp(t.Type??"RSA")}}function V0(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=Qr(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Sr(r)}function Up(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Pp=Up("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),H0=Up("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Qr(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Fv={utf8:Pp,"utf-8":Pp,hex:Ot.base16,latin1:H0,ascii:H0,binary:H0,...Ot},Ns=Fv;function Wi(e,t="utf8"){let r=Ns[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Sr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var Ps;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.webtransportCerthashes!=null)for(let o of r.webtransportCerthashes)n.uint32(10),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={webtransportCerthashes:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.webtransportCerthashes.push(r.bytes());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(Ps||(Ps={}));var $i;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.identityKey!=null&&r.identityKey.byteLength>0&&(n.uint32(10),n.bytes(r.identityKey)),r.identitySig!=null&&r.identitySig.byteLength>0&&(n.uint32(18),n.bytes(r.identitySig)),r.extensions!=null&&(n.uint32(34),Ps.codec().encode(r.extensions,n)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identityKey:pt(0),identitySig:pt(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.identityKey=r.bytes();break}case 2:{i.identitySig=r.bytes();break}case 4:{i.extensions=Ps.codec().decode(r,r.uint32());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})($i||($i={}));async function Op(e,t,r){let n=await Hv(e,Kp(t));if(e.publicKey==null)throw new Error("PublicKey was missing from local PeerId");return Vv(e.publicKey,n,r)}function Vv(e,t,r){return $i.encode({identityKey:e,identitySig:t,extensions:r??{webtransportCerthashes:[]}}).subarray()}async function Hv(e,t){if(e.privateKey==null)throw new Error("PrivateKey was missing from PeerId");return(await Np(e.privateKey)).sign(t)}async function q0(e){return Da(e.identityKey)}function z0(e){return $i.decode(e)}function Kp(e){let t=Wi("noise-libp2p-static-key:");return e instanceof Uint8Array?V0([t,e],t.length+e.length):(e.prepend(t),e)}async function G0(e,t,r){let n=await Da(t.identityKey);if(!n.equals(r))throw new Error(`Payload identity key ${n.toString()} does not match expected remote peer ${r.toString()}`);let i=Kp(e);if(n.publicKey==null)throw new Error("PublicKey was missing from PeerId");if(t.identitySig==null)throw new Error("Signature was missing from message");if(!await Lp(n.publicKey).verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function Yi(e){return!(!(e instanceof Uint8Array)&&!In(e)||e.byteLength!==32)}function W0(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ze(e,t="utf8"){let r=Ns[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var qv=0,zv=4294967295,Gv="Cipherstate has reached maximum n, a new handshake must be performed",Us=class{n;bytes;view;constructor(t=qv){this.n=t,this.bytes=pt(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,t,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>zv)throw new Error(Gv)}};var Os=class{crypto;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:noise:abstract-handshake"),this.crypto=r}encryptWithAd(t,r,n){let i=this.encrypt(t.k,t.n,r,n);return t.n.increment(),i}decryptWithAd(t,r,n,i){let{plaintext:o,valid:s}=this.decrypt(t.k,t.n,r,n,i);return s&&t.n.increment(),{plaintext:o,valid:s}}hasKey(t){return!this.isEmptyKey(t.k)}createEmptyKey(){return pt(32)}isEmptyKey(t){let r=this.createEmptyKey();return W0(r,t)}encrypt(t,r,n,i){return r.assertValue(),this.crypto.chaCha20Poly1305Encrypt(i,r.getBytes(),n,t)}encryptAndHash(t,r){let n;return this.hasKey(t.cs)?n=this.encryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,n),n}decrypt(t,r,n,i,o){r.assertValue();let s=this.crypto.chaCha20Poly1305Decrypt(i,r.getBytes(),n,t,o);return s?{plaintext:s,valid:!0}:{plaintext:pt(0),valid:!1}}decryptAndHash(t,r){let n,i=!0;return this.hasKey(t.cs)?{plaintext:n,valid:i}=this.decryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,r),{plaintext:n,valid:i}}dh(t,r){try{let n=this.crypto.generateX25519SharedKey(t,r);return n.length===32?n:n.subarray(0,32)}catch(n){let i=n;return this.log.error("error deriving shared key",i),pt(32)}}mixHash(t,r){t.h=this.getHash(t.h,r)}getHash(t,r){return this.crypto.hashSHA256(new At(t,r))}mixKey(t,r){let[n,i]=this.crypto.getHKDF(t.ck,r);t.cs=this.initializeKey(i),t.ck=n}initializeKey(t){return{k:t,n:new Us}}initializeSymmetric(t){let r=Wi(t,"utf-8"),n=this.hashProtocolName(r),i=n,o=this.createEmptyKey();return{cs:this.initializeKey(o),ck:i,h:n}}hashProtocolName(t){if(t.length<=32){let r=pt(32);return r.set(t),r}else return this.getHash(t,pt(0))}split(t){let[r,n]=this.crypto.getHKDF(t.ck,pt(0)),i=this.initializeKey(r),o=this.initializeKey(n);return{cs1:i,cs2:o}}writeMessageRegular(t,r){let n=this.encryptWithAd(t,pt(0),r),i=this.createEmptyKey(),o=pt(0);return{ne:i,ns:o,ciphertext:n}}readMessageRegular(t,r){return this.decryptWithAd(t,pt(0),r.ciphertext)}};var Ks=class extends Os{initializeInitiator(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=pt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}initializeResponder(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=pt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}writeMessageA(t,r,n){let i=pt(0);n!==void 0?t.e=n:t.e=this.crypto.generateX25519KeyPair();let o=t.e.publicKey;this.mixHash(t.ss,o);let s=this.encryptAndHash(t.ss,r);return{ne:o,ns:i,ciphertext:s}}writeMessageB(t,r){t.e=this.crypto.generateX25519KeyPair();let n=t.e.publicKey;this.mixHash(t.ss,n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let i=t.s.publicKey,o=this.encryptAndHash(t.ss,i);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let s=this.encryptAndHash(t.ss,r);return{ne:n,ns:o,ciphertext:s}}writeMessageC(t,r){let n=t.s.publicKey,i=this.encryptAndHash(t.ss,n);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let o=this.encryptAndHash(t.ss,r),a={ne:this.createEmptyKey(),ns:i,ciphertext:o},{cs1:c,cs2:u}=this.split(t.ss);return{h:t.ss.h,messageBuffer:a,cs1:c,cs2:u}}readMessageA(t,r){return Yi(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),this.decryptAndHash(t.ss,r.ciphertext)}readMessageB(t,r){if(Yi(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);i&&Yi(n)&&(t.rs=n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext);return{plaintext:o,valid:i&&s}}readMessageC(t,r){let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);if(i&&Yi(n)&&(t.rs=n),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext),{cs1:a,cs2:c}=this.split(t.ss);return{h:t.ss.h,plaintext:o,valid:i&&s,cs1:a,cs2:c}}initSession(t,r,n){let i=this.createEmptyKey(),o=pt(32),s;return t?s=this.initializeInitiator(r,n,o,i):s=this.initializeResponder(r,n,o,i),{hs:s,i:t,mc:0}}sendMessage(t,r,n){let i;if(t.mc===0)i=this.writeMessageA(t.hs,r,n);else if(t.mc===1)i=this.writeMessageB(t.hs,r);else if(t.mc===2){let{h:o,messageBuffer:s,cs1:a,cs2:c}=this.writeMessageC(t.hs,r);i=s,t.h=o,t.cs1=a,t.cs2=c}else if(t.mc>2)if(t.i){if(!t.cs1)throw new Error("CS1 (cipher state) is not defined");i=this.writeMessageRegular(t.cs1,r)}else{if(!t.cs2)throw new Error("CS2 (cipher state) is not defined");i=this.writeMessageRegular(t.cs2,r)}else throw new Error("Session invalid.");return t.mc++,i}recvMessage(t,r){let n=pt(0),i=!1;if(t.mc===0)({plaintext:n,valid:i}=this.readMessageA(t.hs,r));else if(t.mc===1)({plaintext:n,valid:i}=this.readMessageB(t.hs,r));else if(t.mc===2){let{h:o,plaintext:s,valid:a,cs1:c,cs2:u}=this.readMessageC(t.hs,r);n=s,i=a,t.h=o,t.cs1=c,t.cs2=u}return t.mc++,{plaintext:n,valid:i}}};function Mp(e,t){!t.enabled||!Pn||(t(`LOCAL_STATIC_PUBLIC_KEY ${ze(e.publicKey,"hex")}`),t(`LOCAL_STATIC_PRIVATE_KEY ${ze(e.privateKey,"hex")}`))}function $0(e,t){!t.enabled||!Pn||(e?(t(`LOCAL_PUBLIC_EPHEMERAL_KEY ${ze(e.publicKey,"hex")}`),t(`LOCAL_PRIVATE_EPHEMERAL_KEY ${ze(e.privateKey,"hex")}`)):t("Missing local ephemeral keys."))}function Fp(e,t){!t.enabled||!Pn||t(`REMOTE_STATIC_PUBLIC_KEY ${ze(e.subarray(),"hex")}`)}function Y0(e,t){!t.enabled||!Pn||t(`REMOTE_EPHEMERAL_PUBLIC_KEY ${ze(e.subarray(),"hex")}`)}function Vp(e,t){!t.enabled||!Pn||(e.cs1&&e.cs2?(t(`CIPHER_STATE_1 ${e.cs1.n.getUint64()} ${ze(e.cs1.k,"hex")}`),t(`CIPHER_STATE_2 ${e.cs2.n.getUint64()} ${ze(e.cs2.k,"hex")}`)):t("Missing cipher state."))}var Ms=class{isInitiator;session;remotePeer;remoteExtensions={webtransportCerthashes:[]};payload;connection;xx;staticKeypair;prologue;log;constructor(t,r,n,i,o,s,a,c,u){this.log=t.logger.forComponent("libp2p:noise:xxhandshake"),this.isInitiator=r,this.payload=n,this.prologue=i,this.staticKeypair=s,this.connection=a,c&&(this.remotePeer=c),this.xx=u??new Ks(t,o),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){if(Mp(this.session.hs.s,this.log),this.isInitiator){this.log.trace("Stage 0 - Initiator starting to send first message.");let t=this.xx.sendMessage(this.session,pt(0));await this.connection.write(Eh(t)),this.log.trace("Stage 0 - Initiator finished sending first message."),$0(this.session.hs.e,this.log)}else{this.log.trace("Stage 0 - Responder waiting to receive first message...");let t=Dh((await this.connection.read()).subarray()),{valid:r}=this.xx.recvMessage(this.session,t);if(!r)throw new rn("xx handshake stage 0 validation fail");this.log.trace("Stage 0 - Responder received first message."),Y0(this.session.hs.re,this.log)}}async exchange(){if(this.isInitiator){this.log.trace("Stage 1 - Initiator waiting to receive first message from responder...");let t=Ch((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new rn("xx handshake stage 1 validation fail");this.log.trace("Stage 1 - Initiator received the message."),Y0(this.session.hs.re,this.log),Fp(this.session.hs.rs,this.log),this.log.trace("Initiator going to check remote's signature...");try{let i=z0(r);this.remotePeer=this.remotePeer||await q0(i),await G0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ri(`Error occurred while verifying signed payload: ${o.message}`)}this.log.trace("All good with the signature!")}else{this.log.trace("Stage 1 - Responder sending out first message with signed payload and static key.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Sh(t)),this.log.trace("Stage 1 - Responder sent the second handshake message with signed payload."),$0(this.session.hs.e,this.log)}}async finish(){if(this.isInitiator){this.log.trace("Stage 2 - Initiator sending third handshake message.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Ah(t)),this.log.trace("Stage 2 - Initiator sent message with signed payload.")}else{this.log.trace("Stage 2 - Responder waiting for third handshake message...");let t=Bh((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new rn("xx handshake stage 2 validation fail");this.log.trace("Stage 2 - Responder received the message, finished handshake.");try{let i=z0(r);this.remotePeer=this.remotePeer||await q0(i),await G0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ri(`Error occurred while verifying signed payload: ${o.message}`)}}Vp(this.session,this.log)}encrypt(t,r){let n=this.getCS(r);return this.xx.encryptWithAd(n,pt(0),t)}decrypt(t,r,n){let i=this.getCS(r,!1);return this.xx.decryptWithAd(i,pt(0),t,n)}getRemoteStaticKey(){return this.session.hs.rs}getCS(t,r=!0){if(!t.cs1||!t.cs2)throw new rn("Handshake not completed properly, cipher state does not exist.");return this.isInitiator?r?t.cs1:t.cs2:r?t.cs2:t.cs1}setRemoteNoiseExtension(t){t&&(this.remoteExtensions=t)}};function Hp(e){return{xxHandshakeSuccesses:e.registerCounter("libp2p_noise_xxhandshake_successes_total",{help:"Total count of noise xxHandshakes successes_"}),xxHandshakeErrors:e.registerCounter("libp2p_noise_xxhandshake_error_total",{help:"Total count of noise xxHandshakes errors"}),encryptedPackets:e.registerCounter("libp2p_noise_encrypted_packets_total",{help:"Total count of noise encrypted packets successfully"}),decryptedPackets:e.registerCounter("libp2p_noise_decrypted_packets_total",{help:"Total count of noise decrypted packets"}),decryptErrors:e.registerCounter("libp2p_noise_decrypt_errors_total",{help:"Total count of noise decrypt errors"})}}var Fs=class{protocol="/noise";crypto;prologue;staticKeys;extensions;metrics;components;constructor(t,r={}){let{staticNoiseKey:n,extensions:i,crypto:o,prologueBytes:s}=r,{metrics:a}=t;this.components=t,this.crypto=o??vh,this.extensions=i,this.metrics=a?Hp(a):void 0,n?this.staticKeys=this.crypto.generateX25519KeyPairFromSeed(n):this.staticKeys=this.crypto.generateX25519KeyPair(),this.prologue=s??pt(0)}async secureOutbound(t,r,n){let i=Si(r,{lengthEncoder:qn,lengthDecoder:_i,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!0,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remoteExtensions:o.remoteExtensions,remotePeer:o.remotePeer}}async secureInbound(t,r,n){let i=Si(r,{lengthEncoder:qn,lengthDecoder:_i,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!1,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remotePeer:o.remotePeer,remoteExtensions:o.remoteExtensions}}async performHandshake(t){let r=await Op(t.localPeer,this.staticKeys.publicKey,this.extensions);return this.performXXHandshake(t,r)}async performXXHandshake(t,r){let{isInitiator:n,remotePeer:i,connection:o}=t,s=new Ms(this.components,n,r,this.prologue,this.crypto,this.staticKeys,o,i);try{await s.propose(),await s.exchange(),await s.finish(),this.metrics?.xxHandshakeSuccesses.increment()}catch(a){if(this.metrics?.xxHandshakeErrors.increment(),a instanceof Error)throw a.message=`Error occurred during XX handshake: ${a.message}`,a}return s}async createSecureConnection(t,r){let[n,i]=Ol(),o=t.unwrap();return await Ml(n,_h(r,this.metrics),o,s=>qr(s,{lengthDecoder:_i}),kh(r,this.metrics),n),i}};function qp(e={}){return t=>new Fs(t,e)}var by=Xt(Au(),1);var hy=Xt(Au(),1);var Du=Object.values(Ot).map(e=>e.decoder).reduce((e,t)=>e.or(t));function dy(e,t){let r=e.getConfiguration().certificates?.at(0);if(r==null||r.getFingerprints==null){t.log.trace("fetching fingerprint from local SDP");let i=e.localDescription;return i==null?void 0:jE(i.sdp)}if(t.log.trace("fetching fingerprint from local certificate"),r.getFingerprints().length===0)return;let n=r.getFingerprints()[0].value;if(n==null)throw rc("","no fingerprint on local certificate");return n}var QE=/^a=fingerprint:(?:\w+-[0-9]+)\s(?<fingerprint>(:?[0-9a-fA-F]{2})+)$/m;function jE(e){return e.match(QE)?.groups?.fingerprint}function JE(e){for(let t of e.protoNames())if(t.startsWith("ip"))return t.toUpperCase();return"IP6"}function js(e){let r=e.stringTuples().filter(n=>n[0]===my).map(n=>n[1])[0];if(r===void 0||r==="")throw Eo(`Couldn't find a certhash component of multiaddr: ${e.toString()}`);return r}function Cu(e){let t=Du.decode(e);return hy.decode(t)}function t3(e){let t=Cu(js(e)),r=Bu(t.name),n=t.digest.reduce((o,s)=>o+s.toString(16).padStart(2,"0"),""),i=n.match(/.{1,2}/g);if(i==null)throw rc(n,e.toString());return[`${r.toUpperCase()} ${i.join(":").toUpperCase()}`,n]}function Bu(e){switch(e){case"sha1":return"sha-1";case"sha2-256":return"sha-256";case"sha2-512":return"sha-512";default:throw Ff(e)}}function e3(e,t){let{host:r,port:n}=e.toOptions(),i=JE(e),[o]=t3(e);return`v=0
30
30
  o=- 0 0 IN ${i} ${r}
31
31
  s=-
32
32
  c=IN ${i} ${r}
@@ -45,7 +45,7 @@ a=candidate:1467250027 1 UDP 1467250027 ${r} ${n} typ host\r
45
45
  a=ice-ufrag:`+t+`
46
46
  `).replace(/\na=ice-pwd:[^\n]*\n/,`
47
47
  a=ice-pwd:`+t+`
48
- `),e}var gy=Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),xy=e=>[...Array(e)].map(()=>gy.at(Math.floor(Math.random()*gy.length))).join("");var n3=1e4,oL=dt("webrtc-direct").code,my=dt("certhash").code,Js=class{log;metrics;components;init;constructor(t,r={}){this.log=t.logger.forComponent("libp2p:webrtc-direct"),this.components=t,this.init=r,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc-direct_dialer_events_total",{label:"event",help:"Total count of WebRTC-direct dial events by type"})})}async dial(t,r){let n=await this._connect(t,r);return this.log("dialing address: %a",t),n}createListener(t){throw Mf("WebRTCTransport.createListener")}filter(t){return t.filter(Uf.exactMatch)}[Symbol.toStringTag]="@libp2p/webrtc-direct";[io]=!0;async _connect(t,r){let n=new AbortController,i=n.signal,o=t.getPeerId();if(o===null)throw Eo("we need to have the remote's PeerId");let s=Mr(o),a=Cu(js(t)),c=await Ln.generateCertificate({name:"ECDSA",namedCurve:"P-256",hash:Bu(a.name)}),u=new Ln({certificates:[c]});try{let f=new Promise((B,O)=>{let K=u.createDataChannel("",{negotiated:!0,id:0}),U=setTimeout(()=>{let F=`Data channel was never opened: state: ${K.readyState}`;this.log.error(F),this.metrics?.dialerEvents.increment({open_error:!0}),O(ec("data",F))},n3);K.onopen=F=>{clearTimeout(U),B(K)},K.onerror=F=>{clearTimeout(U);let Q=`Error opening a data channel for handshaking: ${F.target?.toString()??"not specified"}`;this.log.error(Q),this.metrics?.dialerEvents.increment({unknown_error:!0}),O(ec("data",Q))}}),l="libp2p+webrtc+v1/"+xy(32),d=await u.createOffer(),y=yy(d,l);await u.setLocalDescription(y);let h=py(t,l);await u.setRemoteDescription(h);let p=await f,m=this.components.peerId,g=this.generateNoisePrologue(u,a.code,t),b=qp({prologueBytes:g})(this.components),x=Rn({channel:p,direction:"inbound",logger:this.components.logger,...this.init.dataChannel??{}}),D={...x,sink:x.sink.bind(x),source:async function*(){for await(let B of x.source)for(let O of B)yield O}()},v=new Vr(this.components,{peerConnection:u,remoteAddr:t,timeline:{open:Date.now()},metrics:this.metrics?.dialerEvents}),E=gi?"iceconnectionstatechange":"connectionstatechange";u.addEventListener(E,()=>{switch(u.connectionState){case"failed":case"disconnected":case"closed":v.close().catch(B=>{this.log.error("error closing connection",B)}).finally(()=>{n.abort()});break;default:break}},{signal:i}),this.metrics?.dialerEvents.increment({peer_connection:!0});let C=new Yr(this.components,{peerConnection:u,metrics:this.metrics?.dialerEvents,dataChannelOptions:this.init.dataChannel});return await b.secureInbound(m,D,s),await r.upgrader.upgradeOutbound(v,{skipProtection:!0,skipEncryption:!0,muxerFactory:C})}catch(f){throw u.close(),f}}generateNoisePrologue(t,r,n){if(t.getConfiguration().certificates?.length===0)throw mi("no local certificate");let i=dy(t,{log:this.log});if(i==null)throw mi("no local fingerprint found");let o=i.trim().toLowerCase().replaceAll(":",""),s=Jt(o,"hex"),a=by.encode(s,r),c=Du.decode(js(n)),u=Jt("libp2p-webrtc-noise:");return cr([u,a,c])}};function i3(e){return t=>new Js(t,e)}function o3(e){return t=>new zo(t,e)}return no(s3);})();
48
+ `),e}var gy=Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),xy=e=>[...Array(e)].map(()=>gy.at(Math.floor(Math.random()*gy.length))).join("");var n3=1e4,aL=dt("webrtc-direct").code,my=dt("certhash").code,Js=class{log;metrics;components;init;constructor(t,r={}){this.log=t.logger.forComponent("libp2p:webrtc-direct"),this.components=t,this.init=r,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc-direct_dialer_events_total",{label:"event",help:"Total count of WebRTC-direct dial events by type"})})}async dial(t,r){let n=await this._connect(t,r);return this.log("dialing address: %a",t),n}createListener(t){throw Mf("WebRTCTransport.createListener")}filter(t){return t.filter(Uf.exactMatch)}[Symbol.toStringTag]="@libp2p/webrtc-direct";[io]=!0;async _connect(t,r){let n=new AbortController,i=n.signal,o=t.getPeerId();if(o===null)throw Eo("we need to have the remote's PeerId");let s=Mr(o),a=Cu(js(t)),c=await Ln.generateCertificate({name:"ECDSA",namedCurve:"P-256",hash:Bu(a.name)}),u=new Ln({certificates:[c]});try{let f=new Promise((B,O)=>{let K=u.createDataChannel("",{negotiated:!0,id:0}),U=setTimeout(()=>{let F=`Data channel was never opened: state: ${K.readyState}`;this.log.error(F),this.metrics?.dialerEvents.increment({open_error:!0}),O(ec("data",F))},n3);K.onopen=F=>{clearTimeout(U),B(K)},K.onerror=F=>{clearTimeout(U);let Q=`Error opening a data channel for handshaking: ${F.target?.toString()??"not specified"}`;this.log.error(Q),this.metrics?.dialerEvents.increment({unknown_error:!0}),O(ec("data",Q))}}),l="libp2p+webrtc+v1/"+xy(32),d=await u.createOffer(),y=yy(d,l);await u.setLocalDescription(y);let h=py(t,l);await u.setRemoteDescription(h);let p=await f,m=this.components.peerId,g=this.generateNoisePrologue(u,a.code,t),b=qp({prologueBytes:g})(this.components),x=Rn({channel:p,direction:"inbound",logger:this.components.logger,...this.init.dataChannel??{}}),D={...x,sink:x.sink.bind(x),source:async function*(){for await(let B of x.source)for(let O of B)yield O}()},v=new Vr(this.components,{peerConnection:u,remoteAddr:t,timeline:{open:Date.now()},metrics:this.metrics?.dialerEvents}),E=gi?"iceconnectionstatechange":"connectionstatechange";u.addEventListener(E,()=>{switch(u.connectionState){case"failed":case"disconnected":case"closed":v.close().catch(B=>{this.log.error("error closing connection",B)}).finally(()=>{n.abort()});break;default:break}},{signal:i}),this.metrics?.dialerEvents.increment({peer_connection:!0});let C=new Yr(this.components,{peerConnection:u,metrics:this.metrics?.dialerEvents,dataChannelOptions:this.init.dataChannel});return await b.secureInbound(m,D,s),await r.upgrader.upgradeOutbound(v,{skipProtection:!0,skipEncryption:!0,muxerFactory:C})}catch(f){throw u.close(),f}}generateNoisePrologue(t,r,n){if(t.getConfiguration().certificates?.length===0)throw mi("no local certificate");let i=dy(t,{log:this.log});if(i==null)throw mi("no local fingerprint found");let o=i.trim().toLowerCase().replaceAll(":",""),s=Jt(o,"hex"),a=by.encode(s,r),c=Du.decode(js(n)),u=Jt("libp2p-webrtc-noise:");return cr([u,a,c])}};function i3(e){return t=>new Js(t,e)}function o3(e){return t=>new zo(t,e)}return no(s3);})();
49
49
  /*! Bundled license information:
50
50
 
51
51
  @noble/ciphers/esm/utils.js: