mirror of
https://github.com/logos-messaging/examples.waku.org.git
synced 2026-01-02 12:53:08 +00:00
2 lines
1.3 MiB
2 lines
1.3 MiB
/*! For license information please see main.485e5d2c.js.LICENSE.txt */
|
|
(()=>{var __webpack_modules__={7223:e=>{"use strict";e.exports=function(e,t){var r=new Array(arguments.length-1),n=0,i=2,o=!0;for(;i<arguments.length;)r[n++]=arguments[i++];return new Promise((function(i,s){r[n]=function(e){if(o)if(o=!1,e)s(e);else{for(var t=new Array(arguments.length-1),r=0;r<t.length;)t[r++]=arguments[r];i.apply(null,t)}};try{e.apply(t||null,r)}catch(a){o&&(o=!1,s(a))}}))}},1938:(e,t)=>{"use strict";var r=t;r.length=function(e){var t=e.length;if(!t)return 0;for(var r=0;--t%4>1&&"="===e.charAt(t);)++r;return Math.ceil(3*e.length)/4-r};for(var n=new Array(64),i=new Array(123),o=0;o<64;)i[n[o]=o<26?o+65:o<52?o+71:o<62?o-4:o-59|43]=o++;r.encode=function(e,t,r){for(var i,o=null,s=[],a=0,c=0;t<r;){var l=e[t++];switch(c){case 0:s[a++]=n[l>>2],i=(3&l)<<4,c=1;break;case 1:s[a++]=n[i|l>>4],i=(15&l)<<2,c=2;break;case 2:s[a++]=n[i|l>>6],s[a++]=n[63&l],c=0}a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0)}return c&&(s[a++]=n[i],s[a++]=61,1===c&&(s[a++]=61)),o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};var s="invalid encoding";r.decode=function(e,t,r){for(var n,o=r,a=0,c=0;c<e.length;){var l=e.charCodeAt(c++);if(61===l&&a>1)break;if(void 0===(l=i[l]))throw Error(s);switch(a){case 0:n=l,a=1;break;case 1:t[r++]=n<<2|(48&l)>>4,n=l,a=2;break;case 2:t[r++]=(15&n)<<4|(60&l)>>2,n=l,a=3;break;case 3:t[r++]=(3&n)<<6|l,a=0}}if(1===a)throw Error(s);return r-o},r.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}},7857:e=>{"use strict";function t(e,r){"string"===typeof e&&(r=e,e=void 0);var n=[];function i(e){if("string"!==typeof e){var r=o();if(t.verbose&&console.log("codegen: "+r),r="return "+r,e){for(var s=Object.keys(e),a=new Array(s.length+1),c=new Array(s.length),l=0;l<s.length;)a[l]=s[l],c[l]=e[s[l++]];return a[l]=r,Function.apply(null,a).apply(null,c)}return Function(r)()}for(var u=new Array(arguments.length-1),h=0;h<u.length;)u[h]=arguments[++h];if(h=0,e=e.replace(/%([%dfijs])/g,(function(e,t){var r=u[h++];switch(t){case"d":case"f":return String(Number(r));case"i":return String(Math.floor(r));case"j":return JSON.stringify(r);case"s":return String(r)}return"%"})),h!==u.length)throw Error("parameter count mismatch");return n.push(e),i}function o(t){return"function "+(t||r||"")+"("+(e&&e.join(",")||"")+"){\n "+n.join("\n ")+"\n}"}return i.toString=o,i}e.exports=t,t.verbose=!1},6597:e=>{"use strict";function t(){this._listeners={}}e.exports=t,t.prototype.on=function(e,t,r){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:t,ctx:r||this}),this},t.prototype.off=function(e,t){if(void 0===e)this._listeners={};else if(void 0===t)this._listeners[e]=[];else for(var r=this._listeners[e],n=0;n<r.length;)r[n].fn===t?r.splice(n,1):++n;return this},t.prototype.emit=function(e){var t=this._listeners[e];if(t){for(var r=[],n=1;n<arguments.length;)r.push(arguments[n++]);for(n=0;n<t.length;)t[n].fn.apply(t[n++].ctx,r)}return this}},8774:(e,t,r)=>{"use strict";e.exports=o;var n=r(7223),i=r(7640)("fs");function o(e,t,r){return"function"===typeof t?(r=t,t={}):t||(t={}),r?!t.xhr&&i&&i.readFile?i.readFile(e,(function(n,i){return n&&"undefined"!==typeof XMLHttpRequest?o.xhr(e,t,r):n?r(n):r(null,t.binary?i:i.toString("utf8"))})):o.xhr(e,t,r):n(o,this,e,t)}o.xhr=function(e,t,r){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(4===n.readyState){if(0!==n.status&&200!==n.status)return r(Error("status "+n.status));if(t.binary){var e=n.response;if(!e){e=[];for(var i=0;i<n.responseText.length;++i)e.push(255&n.responseText.charCodeAt(i))}return r(null,"undefined"!==typeof Uint8Array?new Uint8Array(e):e)}return r(null,n.responseText)}},t.binary&&("overrideMimeType"in n&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.responseType="arraybuffer"),n.open("GET",e),n.send()}},2678:e=>{"use strict";function t(e){return"undefined"!==typeof Float32Array?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=128===r[3];function i(e,n,i){t[0]=e,n[i]=r[0],n[i+1]=r[1],n[i+2]=r[2],n[i+3]=r[3]}function o(e,n,i){t[0]=e,n[i]=r[3],n[i+1]=r[2],n[i+2]=r[1],n[i+3]=r[0]}function s(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],t[0]}function a(e,n){return r[3]=e[n],r[2]=e[n+1],r[1]=e[n+2],r[0]=e[n+3],t[0]}e.writeFloatLE=n?i:o,e.writeFloatBE=n?o:i,e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(e,t,r,n){var i=t<0?1:0;if(i&&(t=-t),0===t)e(1/t>0?0:2147483648,r,n);else if(isNaN(t))e(2143289344,r,n);else if(t>34028234663852886e22)e((i<<31|2139095040)>>>0,r,n);else if(t<11754943508222875e-54)e((i<<31|Math.round(t/1401298464324817e-60))>>>0,r,n);else{var o=Math.floor(Math.log(t)/Math.LN2);e((i<<31|o+127<<23|8388607&Math.round(t*Math.pow(2,-o)*8388608))>>>0,r,n)}}function s(e,t,r){var n=e(t,r),i=2*(n>>31)+1,o=n>>>23&255,s=8388607&n;return 255===o?s?NaN:i*(1/0):0===o?1401298464324817e-60*i*s:i*Math.pow(2,o-150)*(s+8388608)}e.writeFloatLE=t.bind(null,r),e.writeFloatBE=t.bind(null,n),e.readFloatLE=s.bind(null,i),e.readFloatBE=s.bind(null,o)}(),"undefined"!==typeof Float64Array?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=128===r[7];function i(e,n,i){t[0]=e,n[i]=r[0],n[i+1]=r[1],n[i+2]=r[2],n[i+3]=r[3],n[i+4]=r[4],n[i+5]=r[5],n[i+6]=r[6],n[i+7]=r[7]}function o(e,n,i){t[0]=e,n[i]=r[7],n[i+1]=r[6],n[i+2]=r[5],n[i+3]=r[4],n[i+4]=r[3],n[i+5]=r[2],n[i+6]=r[1],n[i+7]=r[0]}function s(e,n){return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r[3]=e[n+3],r[4]=e[n+4],r[5]=e[n+5],r[6]=e[n+6],r[7]=e[n+7],t[0]}function a(e,n){return r[7]=e[n],r[6]=e[n+1],r[5]=e[n+2],r[4]=e[n+3],r[3]=e[n+4],r[2]=e[n+5],r[1]=e[n+6],r[0]=e[n+7],t[0]}e.writeDoubleLE=n?i:o,e.writeDoubleBE=n?o:i,e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(e,t,r,n,i,o){var s=n<0?1:0;if(s&&(n=-n),0===n)e(0,i,o+t),e(1/n>0?0:2147483648,i,o+r);else if(isNaN(n))e(0,i,o+t),e(2146959360,i,o+r);else if(n>17976931348623157e292)e(0,i,o+t),e((s<<31|2146435072)>>>0,i,o+r);else{var a;if(n<22250738585072014e-324)e((a=n/5e-324)>>>0,i,o+t),e((s<<31|a/4294967296)>>>0,i,o+r);else{var c=Math.floor(Math.log(n)/Math.LN2);1024===c&&(c=1023),e(4503599627370496*(a=n*Math.pow(2,-c))>>>0,i,o+t),e((s<<31|c+1023<<20|1048576*a&1048575)>>>0,i,o+r)}}}function s(e,t,r,n,i){var o=e(n,i+t),s=e(n,i+r),a=2*(s>>31)+1,c=s>>>20&2047,l=4294967296*(1048575&s)+o;return 2047===c?l?NaN:a*(1/0):0===c?5e-324*a*l:a*Math.pow(2,c-1075)*(l+4503599627370496)}e.writeDoubleLE=t.bind(null,r,0,4),e.writeDoubleBE=t.bind(null,n,4,0),e.readDoubleLE=s.bind(null,i,0,4),e.readDoubleBE=s.bind(null,o,4,0)}(),e}function r(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function n(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=255&e}function i(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function o(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}e.exports=t(t)},7640:module=>{"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}module.exports=inquire},8464:(e,t)=>{"use strict";var r=t,n=r.isAbsolute=function(e){return/^(?:\/|\w+:)/.test(e)},i=r.normalize=function(e){var t=(e=e.replace(/\\/g,"/").replace(/\/{2,}/g,"/")).split("/"),r=n(e),i="";r&&(i=t.shift()+"/");for(var o=0;o<t.length;)".."===t[o]?o>0&&".."!==t[o-1]?t.splice(--o,2):r?t.splice(o,1):++o:"."===t[o]?t.splice(o,1):++o;return i+t.join("/")};r.resolve=function(e,t,r){return r||(t=i(t)),n(t)?t:(r||(e=i(e)),(e=e.replace(/(?:\/|^)[^/]+$/,"")).length?i(e+"/"+t):t)}},110:e=>{"use strict";e.exports=function(e,t,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(r){if(r<1||r>i)return e(r);s+r>n&&(o=e(n),s=0);var a=t.call(o,s,s+=r);return 7&s&&(s=1+(7|s)),a}}},2842:(e,t)=>{"use strict";var r=t;r.length=function(e){for(var t=0,r=0,n=0;n<e.length;++n)(r=e.charCodeAt(n))<128?t+=1:r<2048?t+=2:55296===(64512&r)&&56320===(64512&e.charCodeAt(n+1))?(++n,t+=4):t+=3;return t},r.read=function(e,t,r){if(r-t<1)return"";for(var n,i=null,o=[],s=0;t<r;)(n=e[t++])<128?o[s++]=n:n>191&&n<224?o[s++]=(31&n)<<6|63&e[t++]:n>239&&n<365?(n=((7&n)<<18|(63&e[t++])<<12|(63&e[t++])<<6|63&e[t++])-65536,o[s++]=55296+(n>>10),o[s++]=56320+(1023&n)):o[s++]=(15&n)<<12|(63&e[t++])<<6|63&e[t++],s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))},r.write=function(e,t,r){for(var n,i,o=r,s=0;s<e.length;++s)(n=e.charCodeAt(s))<128?t[r++]=n:n<2048?(t[r++]=n>>6|192,t[r++]=63&n|128):55296===(64512&n)&&56320===(64512&(i=e.charCodeAt(s+1)))?(n=65536+((1023&n)<<10)+(1023&i),++s,t[r++]=n>>18|240,t[r++]=n>>12&63|128,t[r++]=n>>6&63|128,t[r++]=63&n|128):(t[r++]=n>>12|224,t[r++]=n>>6&63|128,t[r++]=63&n|128);return r-o}},9734:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(4654);function i(e,t,r){return void 0===t&&(t=new Uint8Array(2)),void 0===r&&(r=0),t[r+0]=e>>>8,t[r+1]=e>>>0,t}function o(e,t,r){return void 0===t&&(t=new Uint8Array(2)),void 0===r&&(r=0),t[r+0]=e>>>0,t[r+1]=e>>>8,t}function s(e,t){return void 0===t&&(t=0),e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function a(e,t){return void 0===t&&(t=0),(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function c(e,t){return void 0===t&&(t=0),e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]}function l(e,t){return void 0===t&&(t=0),(e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t])>>>0}function u(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),t[r+0]=e>>>24,t[r+1]=e>>>16,t[r+2]=e>>>8,t[r+3]=e>>>0,t}function h(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),t[r+0]=e>>>0,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24,t}function d(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),u(e/4294967296>>>0,t,r),u(e>>>0,t,r+4),t}function p(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),h(e>>>0,t,r),h(e/4294967296>>>0,t,r+4),t}t.readInt16BE=function(e,t){return void 0===t&&(t=0),(e[t+0]<<8|e[t+1])<<16>>16},t.readUint16BE=function(e,t){return void 0===t&&(t=0),(e[t+0]<<8|e[t+1])>>>0},t.readInt16LE=function(e,t){return void 0===t&&(t=0),(e[t+1]<<8|e[t])<<16>>16},t.readUint16LE=function(e,t){return void 0===t&&(t=0),(e[t+1]<<8|e[t])>>>0},t.writeUint16BE=i,t.writeInt16BE=i,t.writeUint16LE=o,t.writeInt16LE=o,t.readInt32BE=s,t.readUint32BE=a,t.readInt32LE=c,t.readUint32LE=l,t.writeUint32BE=u,t.writeInt32BE=u,t.writeUint32LE=h,t.writeInt32LE=h,t.readInt64BE=function(e,t){void 0===t&&(t=0);var r=s(e,t),n=s(e,t+4);return 4294967296*r+n-4294967296*(n>>31)},t.readUint64BE=function(e,t){return void 0===t&&(t=0),4294967296*a(e,t)+a(e,t+4)},t.readInt64LE=function(e,t){void 0===t&&(t=0);var r=c(e,t);return 4294967296*c(e,t+4)+r-4294967296*(r>>31)},t.readUint64LE=function(e,t){void 0===t&&(t=0);var r=l(e,t);return 4294967296*l(e,t+4)+r},t.writeUint64BE=d,t.writeInt64BE=d,t.writeUint64LE=p,t.writeInt64LE=p,t.readUintBE=function(e,t,r){if(void 0===r&&(r=0),e%8!==0)throw new Error("readUintBE supports only bitLengths divisible by 8");if(e/8>t.length-r)throw new Error("readUintBE: array is too short for the given bitLength");for(var n=0,i=1,o=e/8+r-1;o>=r;o--)n+=t[o]*i,i*=256;return n},t.readUintLE=function(e,t,r){if(void 0===r&&(r=0),e%8!==0)throw new Error("readUintLE supports only bitLengths divisible by 8");if(e/8>t.length-r)throw new Error("readUintLE: array is too short for the given bitLength");for(var n=0,i=1,o=r;o<r+e/8;o++)n+=t[o]*i,i*=256;return n},t.writeUintBE=function(e,t,r,i){if(void 0===r&&(r=new Uint8Array(e/8)),void 0===i&&(i=0),e%8!==0)throw new Error("writeUintBE supports only bitLengths divisible by 8");if(!n.isSafeInteger(t))throw new Error("writeUintBE value must be an integer");for(var o=1,s=e/8+i-1;s>=i;s--)r[s]=t/o&255,o*=256;return r},t.writeUintLE=function(e,t,r,i){if(void 0===r&&(r=new Uint8Array(e/8)),void 0===i&&(i=0),e%8!==0)throw new Error("writeUintLE supports only bitLengths divisible by 8");if(!n.isSafeInteger(t))throw new Error("writeUintLE value must be an integer");for(var o=1,s=i;s<i+e/8;s++)r[s]=t/o&255,o*=256;return r},t.readFloat32BE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(t)},t.readFloat32LE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat32(t,!0)},t.readFloat64BE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(t)},t.readFloat64LE=function(e,t){return void 0===t&&(t=0),new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(t,!0)},t.writeFloat32BE=function(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat32(r,e),t},t.writeFloat32LE=function(e,t,r){return void 0===t&&(t=new Uint8Array(4)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat32(r,e,!0),t},t.writeFloat64BE=function(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat64(r,e),t},t.writeFloat64LE=function(e,t,r){return void 0===t&&(t=new Uint8Array(8)),void 0===r&&(r=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat64(r,e,!0),t}},2873:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(9734),i=r(3227);function o(e,t,r){for(var i=1634760805,o=857760878,s=2036477234,a=1797285236,c=r[3]<<24|r[2]<<16|r[1]<<8|r[0],l=r[7]<<24|r[6]<<16|r[5]<<8|r[4],u=r[11]<<24|r[10]<<16|r[9]<<8|r[8],h=r[15]<<24|r[14]<<16|r[13]<<8|r[12],d=r[19]<<24|r[18]<<16|r[17]<<8|r[16],p=r[23]<<24|r[22]<<16|r[21]<<8|r[20],f=r[27]<<24|r[26]<<16|r[25]<<8|r[24],g=r[31]<<24|r[30]<<16|r[29]<<8|r[28],y=t[3]<<24|t[2]<<16|t[1]<<8|t[0],m=t[7]<<24|t[6]<<16|t[5]<<8|t[4],v=t[11]<<24|t[10]<<16|t[9]<<8|t[8],b=t[15]<<24|t[14]<<16|t[13]<<8|t[12],w=i,E=o,_=s,S=a,A=c,C=l,I=u,T=h,k=d,R=p,P=f,D=g,N=y,L=m,x=v,O=b,B=0;B<20;B+=2)A=(A^=k=k+(N=(N^=w=w+A|0)>>>16|N<<16)|0)>>>20|A<<12,C=(C^=R=R+(L=(L^=E=E+C|0)>>>16|L<<16)|0)>>>20|C<<12,I=(I^=P=P+(x=(x^=_=_+I|0)>>>16|x<<16)|0)>>>20|I<<12,T=(T^=D=D+(O=(O^=S=S+T|0)>>>16|O<<16)|0)>>>20|T<<12,I=(I^=P=P+(x=(x^=_=_+I|0)>>>24|x<<8)|0)>>>25|I<<7,T=(T^=D=D+(O=(O^=S=S+T|0)>>>24|O<<8)|0)>>>25|T<<7,C=(C^=R=R+(L=(L^=E=E+C|0)>>>24|L<<8)|0)>>>25|C<<7,A=(A^=k=k+(N=(N^=w=w+A|0)>>>24|N<<8)|0)>>>25|A<<7,C=(C^=P=P+(O=(O^=w=w+C|0)>>>16|O<<16)|0)>>>20|C<<12,I=(I^=D=D+(N=(N^=E=E+I|0)>>>16|N<<16)|0)>>>20|I<<12,T=(T^=k=k+(L=(L^=_=_+T|0)>>>16|L<<16)|0)>>>20|T<<12,A=(A^=R=R+(x=(x^=S=S+A|0)>>>16|x<<16)|0)>>>20|A<<12,T=(T^=k=k+(L=(L^=_=_+T|0)>>>24|L<<8)|0)>>>25|T<<7,A=(A^=R=R+(x=(x^=S=S+A|0)>>>24|x<<8)|0)>>>25|A<<7,I=(I^=D=D+(N=(N^=E=E+I|0)>>>24|N<<8)|0)>>>25|I<<7,C=(C^=P=P+(O=(O^=w=w+C|0)>>>24|O<<8)|0)>>>25|C<<7;n.writeUint32LE(w+i|0,e,0),n.writeUint32LE(E+o|0,e,4),n.writeUint32LE(_+s|0,e,8),n.writeUint32LE(S+a|0,e,12),n.writeUint32LE(A+c|0,e,16),n.writeUint32LE(C+l|0,e,20),n.writeUint32LE(I+u|0,e,24),n.writeUint32LE(T+h|0,e,28),n.writeUint32LE(k+d|0,e,32),n.writeUint32LE(R+p|0,e,36),n.writeUint32LE(P+f|0,e,40),n.writeUint32LE(D+g|0,e,44),n.writeUint32LE(N+y|0,e,48),n.writeUint32LE(L+m|0,e,52),n.writeUint32LE(x+v|0,e,56),n.writeUint32LE(O+b|0,e,60)}function s(e,t,r,n,s){if(void 0===s&&(s=0),32!==e.length)throw new Error("ChaCha: key size must be 32 bytes");if(n.length<r.length)throw new Error("ChaCha: destination is shorter than source");var c,l;if(0===s){if(8!==t.length&&12!==t.length)throw new Error("ChaCha nonce must be 8 or 12 bytes");l=(c=new Uint8Array(16)).length-t.length,c.set(t,l)}else{if(16!==t.length)throw new Error("ChaCha nonce with counter must be 16 bytes");c=t,l=s}for(var u=new Uint8Array(64),h=0;h<r.length;h+=64){o(u,c,e);for(var d=h;d<h+64&&d<r.length;d++)n[d]=r[d]^u[d-h];a(c,0,l)}return i.wipe(u),0===s&&i.wipe(c),n}function a(e,t,r){for(var n=1;r--;)n=n+(255&e[t])|0,e[t]=255&n,n>>>=8,t++;if(n>0)throw new Error("ChaCha: counter overflow")}t.streamXOR=s,t.stream=function(e,t,r,n){return void 0===n&&(n=0),i.wipe(r),s(e,t,r,r,n)}},4533:(e,t,r)=>{"use strict";var n=r(2873),i=r(2625),o=r(3227),s=r(9734),a=r(6852);t.Cv=32,t.WH=12,t.pg=16;var c=new Uint8Array(16),l=function(){function e(e){if(this.nonceLength=t.WH,this.tagLength=t.pg,e.length!==t.Cv)throw new Error("ChaCha20Poly1305 needs 32-byte key");this._key=new Uint8Array(e)}return e.prototype.seal=function(e,t,r,i){if(e.length>16)throw new Error("ChaCha20Poly1305: incorrect nonce length");var s=new Uint8Array(16);s.set(e,s.length-e.length);var a=new Uint8Array(32);n.stream(this._key,s,a,4);var c,l=t.length+this.tagLength;if(i){if(i.length!==l)throw new Error("ChaCha20Poly1305: incorrect destination length");c=i}else c=new Uint8Array(l);return n.streamXOR(this._key,s,t,c,4),this._authenticate(c.subarray(c.length-this.tagLength,c.length),a,c.subarray(0,c.length-this.tagLength),r),o.wipe(s),c},e.prototype.open=function(e,t,r,i){if(e.length>16)throw new Error("ChaCha20Poly1305: incorrect nonce length");if(t.length<this.tagLength)return null;var s=new Uint8Array(16);s.set(e,s.length-e.length);var c=new Uint8Array(32);n.stream(this._key,s,c,4);var l=new Uint8Array(this.tagLength);if(this._authenticate(l,c,t.subarray(0,t.length-this.tagLength),r),!a.equal(l,t.subarray(t.length-this.tagLength,t.length)))return null;var u,h=t.length-this.tagLength;if(i){if(i.length!==h)throw new Error("ChaCha20Poly1305: incorrect destination length");u=i}else u=new Uint8Array(h);return n.streamXOR(this._key,s,t.subarray(0,t.length-this.tagLength),u,4),o.wipe(s),u},e.prototype.clean=function(){return o.wipe(this._key),this},e.prototype._authenticate=function(e,t,r,n){var a=new i.Poly1305(t);n&&(a.update(n),n.length%16>0&&a.update(c.subarray(n.length%16))),a.update(r),r.length%16>0&&a.update(c.subarray(r.length%16));var l=new Uint8Array(8);n&&s.writeUint64LE(n.length,l),a.update(l),s.writeUint64LE(r.length,l),a.update(l);for(var u=a.digest(),h=0;h<u.length;h++)e[h]=u[h];a.clean(),o.wipe(u),o.wipe(l)},e}();t.OK=l},6852:(e,t)=>{"use strict";function r(e,t){if(e.length!==t.length)return 0;for(var r=0,n=0;n<e.length;n++)r|=e[n]^t[n];return 1&r-1>>>8}Object.defineProperty(t,"__esModule",{value:!0}),t.select=function(e,t,r){return~(e-1)&t|e-1&r},t.lessOrEqual=function(e,t){return(0|e)-(0|t)-1>>>31&1},t.compare=r,t.equal=function(e,t){return 0!==e.length&&0!==t.length&&0!==r(e,t)}},5202:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSerializableHash=function(e){return"undefined"!==typeof e.saveState&&"undefined"!==typeof e.restoreState&&"undefined"!==typeof e.cleanSavedState}},1791:(e,t,r)=>{"use strict";var n=r(1680),i=r(3227),o=function(){function e(e,t,r,i){void 0===r&&(r=new Uint8Array(0)),this._counter=new Uint8Array(1),this._hash=e,this._info=i;var o=n.hmac(this._hash,r,t);this._hmac=new n.HMAC(e,o),this._buffer=new Uint8Array(this._hmac.digestLength),this._bufpos=this._buffer.length}return e.prototype._fillBuffer=function(){this._counter[0]++;var e=this._counter[0];if(0===e)throw new Error("hkdf: cannot expand more");this._hmac.reset(),e>1&&this._hmac.update(this._buffer),this._info&&this._hmac.update(this._info),this._hmac.update(this._counter),this._hmac.finish(this._buffer),this._bufpos=0},e.prototype.expand=function(e){for(var t=new Uint8Array(e),r=0;r<t.length;r++)this._bufpos===this._buffer.length&&this._fillBuffer(),t[r]=this._buffer[this._bufpos++];return t},e.prototype.clean=function(){this._hmac.clean(),i.wipe(this._buffer),i.wipe(this._counter),this._bufpos=0},e}();t.t=o},1680:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(5202),i=r(6852),o=r(3227),s=function(){function e(e,t){this._finished=!1,this._inner=new e,this._outer=new e,this.blockSize=this._outer.blockSize,this.digestLength=this._outer.digestLength;var r=new Uint8Array(this.blockSize);t.length>this.blockSize?this._inner.update(t).finish(r).clean():r.set(t);for(var i=0;i<r.length;i++)r[i]^=54;this._inner.update(r);for(i=0;i<r.length;i++)r[i]^=106;this._outer.update(r),n.isSerializableHash(this._inner)&&n.isSerializableHash(this._outer)&&(this._innerKeyedState=this._inner.saveState(),this._outerKeyedState=this._outer.saveState()),o.wipe(r)}return e.prototype.reset=function(){if(!n.isSerializableHash(this._inner)||!n.isSerializableHash(this._outer))throw new Error("hmac: can't reset() because hash doesn't implement restoreState()");return this._inner.restoreState(this._innerKeyedState),this._outer.restoreState(this._outerKeyedState),this._finished=!1,this},e.prototype.clean=function(){n.isSerializableHash(this._inner)&&this._inner.cleanSavedState(this._innerKeyedState),n.isSerializableHash(this._outer)&&this._outer.cleanSavedState(this._outerKeyedState),this._inner.clean(),this._outer.clean()},e.prototype.update=function(e){return this._inner.update(e),this},e.prototype.finish=function(e){return this._finished?(this._outer.finish(e),this):(this._inner.finish(e),this._outer.update(e.subarray(0,this.digestLength)).finish(e),this._finished=!0,this)},e.prototype.digest=function(){var e=new Uint8Array(this.digestLength);return this.finish(e),e},e.prototype.saveState=function(){if(!n.isSerializableHash(this._inner))throw new Error("hmac: can't saveState() because hash doesn't implement it");return this._inner.saveState()},e.prototype.restoreState=function(e){if(!n.isSerializableHash(this._inner)||!n.isSerializableHash(this._outer))throw new Error("hmac: can't restoreState() because hash doesn't implement it");return this._inner.restoreState(e),this._outer.restoreState(this._outerKeyedState),this._finished=!1,this},e.prototype.cleanSavedState=function(e){if(!n.isSerializableHash(this._inner))throw new Error("hmac: can't cleanSavedState() because hash doesn't implement it");this._inner.cleanSavedState(e)},e}();t.HMAC=s,t.hmac=function(e,t,r){var n=new s(e,t);n.update(r);var i=n.digest();return n.clean(),i},t.equal=i.equal},4654:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.mul=Math.imul||function(e,t){var r=65535&e,n=65535&t;return r*n+((e>>>16&65535)*n+r*(t>>>16&65535)<<16>>>0)|0},t.add=function(e,t){return e+t|0},t.sub=function(e,t){return e-t|0},t.rotl=function(e,t){return e<<t|e>>>32-t},t.rotr=function(e,t){return e<<32-t|e>>>t},t.isInteger=Number.isInteger||function(e){return"number"===typeof e&&isFinite(e)&&Math.floor(e)===e},t.MAX_SAFE_INTEGER=9007199254740991,t.isSafeInteger=function(e){return t.isInteger(e)&&e>=-t.MAX_SAFE_INTEGER&&e<=t.MAX_SAFE_INTEGER}},2625:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(6852),i=r(3227);t.DIGEST_LENGTH=16;var o=function(){function e(e){this.digestLength=t.DIGEST_LENGTH,this._buffer=new Uint8Array(16),this._r=new Uint16Array(10),this._h=new Uint16Array(10),this._pad=new Uint16Array(8),this._leftover=0,this._fin=0,this._finished=!1;var r=e[0]|e[1]<<8;this._r[0]=8191&r;var n=e[2]|e[3]<<8;this._r[1]=8191&(r>>>13|n<<3);var i=e[4]|e[5]<<8;this._r[2]=7939&(n>>>10|i<<6);var o=e[6]|e[7]<<8;this._r[3]=8191&(i>>>7|o<<9);var s=e[8]|e[9]<<8;this._r[4]=255&(o>>>4|s<<12),this._r[5]=s>>>1&8190;var a=e[10]|e[11]<<8;this._r[6]=8191&(s>>>14|a<<2);var c=e[12]|e[13]<<8;this._r[7]=8065&(a>>>11|c<<5);var l=e[14]|e[15]<<8;this._r[8]=8191&(c>>>8|l<<8),this._r[9]=l>>>5&127,this._pad[0]=e[16]|e[17]<<8,this._pad[1]=e[18]|e[19]<<8,this._pad[2]=e[20]|e[21]<<8,this._pad[3]=e[22]|e[23]<<8,this._pad[4]=e[24]|e[25]<<8,this._pad[5]=e[26]|e[27]<<8,this._pad[6]=e[28]|e[29]<<8,this._pad[7]=e[30]|e[31]<<8}return e.prototype._blocks=function(e,t,r){for(var n=this._fin?0:2048,i=this._h[0],o=this._h[1],s=this._h[2],a=this._h[3],c=this._h[4],l=this._h[5],u=this._h[6],h=this._h[7],d=this._h[8],p=this._h[9],f=this._r[0],g=this._r[1],y=this._r[2],m=this._r[3],v=this._r[4],b=this._r[5],w=this._r[6],E=this._r[7],_=this._r[8],S=this._r[9];r>=16;){var A=e[t+0]|e[t+1]<<8;i+=8191&A;var C=e[t+2]|e[t+3]<<8;o+=8191&(A>>>13|C<<3);var I=e[t+4]|e[t+5]<<8;s+=8191&(C>>>10|I<<6);var T=e[t+6]|e[t+7]<<8;a+=8191&(I>>>7|T<<9);var k=e[t+8]|e[t+9]<<8;c+=8191&(T>>>4|k<<12),l+=k>>>1&8191;var R=e[t+10]|e[t+11]<<8;u+=8191&(k>>>14|R<<2);var P=e[t+12]|e[t+13]<<8;h+=8191&(R>>>11|P<<5);var D=e[t+14]|e[t+15]<<8,N=0,L=N;L+=i*f,L+=o*(5*S),L+=s*(5*_),L+=a*(5*E),N=(L+=c*(5*w))>>>13,L&=8191,L+=l*(5*b),L+=u*(5*v),L+=h*(5*m),L+=(d+=8191&(P>>>8|D<<8))*(5*y);var x=N+=(L+=(p+=D>>>5|n)*(5*g))>>>13;x+=i*g,x+=o*f,x+=s*(5*S),x+=a*(5*_),N=(x+=c*(5*E))>>>13,x&=8191,x+=l*(5*w),x+=u*(5*b),x+=h*(5*v),x+=d*(5*m),N+=(x+=p*(5*y))>>>13,x&=8191;var O=N;O+=i*y,O+=o*g,O+=s*f,O+=a*(5*S),N=(O+=c*(5*_))>>>13,O&=8191,O+=l*(5*E),O+=u*(5*w),O+=h*(5*b),O+=d*(5*v);var B=N+=(O+=p*(5*m))>>>13;B+=i*m,B+=o*y,B+=s*g,B+=a*f,N=(B+=c*(5*S))>>>13,B&=8191,B+=l*(5*_),B+=u*(5*E),B+=h*(5*w),B+=d*(5*b);var M=N+=(B+=p*(5*v))>>>13;M+=i*v,M+=o*m,M+=s*y,M+=a*g,N=(M+=c*f)>>>13,M&=8191,M+=l*(5*S),M+=u*(5*_),M+=h*(5*E),M+=d*(5*w);var U=N+=(M+=p*(5*b))>>>13;U+=i*b,U+=o*v,U+=s*m,U+=a*y,N=(U+=c*g)>>>13,U&=8191,U+=l*f,U+=u*(5*S),U+=h*(5*_),U+=d*(5*E);var F=N+=(U+=p*(5*w))>>>13;F+=i*w,F+=o*b,F+=s*v,F+=a*m,N=(F+=c*y)>>>13,F&=8191,F+=l*g,F+=u*f,F+=h*(5*S),F+=d*(5*_);var V=N+=(F+=p*(5*E))>>>13;V+=i*E,V+=o*w,V+=s*b,V+=a*v,N=(V+=c*m)>>>13,V&=8191,V+=l*y,V+=u*g,V+=h*f,V+=d*(5*S);var j=N+=(V+=p*(5*_))>>>13;j+=i*_,j+=o*E,j+=s*w,j+=a*b,N=(j+=c*v)>>>13,j&=8191,j+=l*m,j+=u*y,j+=h*g,j+=d*f;var z=N+=(j+=p*(5*S))>>>13;z+=i*S,z+=o*_,z+=s*E,z+=a*w,N=(z+=c*b)>>>13,z&=8191,z+=l*v,z+=u*m,z+=h*y,z+=d*g,i=L=8191&(N=(N=((N+=(z+=p*f)>>>13)<<2)+N|0)+(L&=8191)|0),o=x+=N>>>=13,s=O&=8191,a=B&=8191,c=M&=8191,l=U&=8191,u=F&=8191,h=V&=8191,d=j&=8191,p=z&=8191,t+=16,r-=16}this._h[0]=i,this._h[1]=o,this._h[2]=s,this._h[3]=a,this._h[4]=c,this._h[5]=l,this._h[6]=u,this._h[7]=h,this._h[8]=d,this._h[9]=p},e.prototype.finish=function(e,t){void 0===t&&(t=0);var r,n,i,o,s=new Uint16Array(10);if(this._leftover){for(o=this._leftover,this._buffer[o++]=1;o<16;o++)this._buffer[o]=0;this._fin=1,this._blocks(this._buffer,0,16)}for(r=this._h[1]>>>13,this._h[1]&=8191,o=2;o<10;o++)this._h[o]+=r,r=this._h[o]>>>13,this._h[o]&=8191;for(this._h[0]+=5*r,r=this._h[0]>>>13,this._h[0]&=8191,this._h[1]+=r,r=this._h[1]>>>13,this._h[1]&=8191,this._h[2]+=r,s[0]=this._h[0]+5,r=s[0]>>>13,s[0]&=8191,o=1;o<10;o++)s[o]=this._h[o]+r,r=s[o]>>>13,s[o]&=8191;for(s[9]-=8192,n=(1^r)-1,o=0;o<10;o++)s[o]&=n;for(n=~n,o=0;o<10;o++)this._h[o]=this._h[o]&n|s[o];for(this._h[0]=65535&(this._h[0]|this._h[1]<<13),this._h[1]=65535&(this._h[1]>>>3|this._h[2]<<10),this._h[2]=65535&(this._h[2]>>>6|this._h[3]<<7),this._h[3]=65535&(this._h[3]>>>9|this._h[4]<<4),this._h[4]=65535&(this._h[4]>>>12|this._h[5]<<1|this._h[6]<<14),this._h[5]=65535&(this._h[6]>>>2|this._h[7]<<11),this._h[6]=65535&(this._h[7]>>>5|this._h[8]<<8),this._h[7]=65535&(this._h[8]>>>8|this._h[9]<<5),i=this._h[0]+this._pad[0],this._h[0]=65535&i,o=1;o<8;o++)i=(this._h[o]+this._pad[o]|0)+(i>>>16)|0,this._h[o]=65535&i;return e[t+0]=this._h[0]>>>0,e[t+1]=this._h[0]>>>8,e[t+2]=this._h[1]>>>0,e[t+3]=this._h[1]>>>8,e[t+4]=this._h[2]>>>0,e[t+5]=this._h[2]>>>8,e[t+6]=this._h[3]>>>0,e[t+7]=this._h[3]>>>8,e[t+8]=this._h[4]>>>0,e[t+9]=this._h[4]>>>8,e[t+10]=this._h[5]>>>0,e[t+11]=this._h[5]>>>8,e[t+12]=this._h[6]>>>0,e[t+13]=this._h[6]>>>8,e[t+14]=this._h[7]>>>0,e[t+15]=this._h[7]>>>8,this._finished=!0,this},e.prototype.update=function(e){var t,r=0,n=e.length;if(this._leftover){(t=16-this._leftover)>n&&(t=n);for(var i=0;i<t;i++)this._buffer[this._leftover+i]=e[r+i];if(n-=t,r+=t,this._leftover+=t,this._leftover<16)return this;this._blocks(this._buffer,0,16),this._leftover=0}if(n>=16&&(t=n-n%16,this._blocks(e,r,t),r+=t,n-=t),n){for(i=0;i<n;i++)this._buffer[this._leftover+i]=e[r+i];this._leftover+=n}return this},e.prototype.digest=function(){if(this._finished)throw new Error("Poly1305 was finished");var e=new Uint8Array(16);return this.finish(e),e},e.prototype.clean=function(){return i.wipe(this._buffer),i.wipe(this._r),i.wipe(this._h),i.wipe(this._pad),this._leftover=0,this._fin=0,this._finished=!0,this},e}();t.Poly1305=o,t.oneTimeAuth=function(e,t){var r=new o(e);r.update(t);var n=r.digest();return r.clean(),n},t.equal=function(e,r){return e.length===t.DIGEST_LENGTH&&r.length===t.DIGEST_LENGTH&&n.equal(e,r)}},4701:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.randomStringForEntropy=t.randomString=t.randomUint32=t.randomBytes=t.defaultRandomSource=void 0;const n=r(4239),i=r(9734),o=r(3227);function s(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.defaultRandomSource;return r.randomBytes(e)}t.defaultRandomSource=new n.SystemRandomSource,t.randomBytes=s,t.randomUint32=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.defaultRandomSource;const r=s(4,e),n=(0,i.readUint32LE)(r);return(0,o.wipe)(r),n};const a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";function c(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.defaultRandomSource;if(r.length<2)throw new Error("randomString charset is too short");if(r.length>256)throw new Error("randomString charset is too long");let i="";const c=r.length,l=256-256%c;for(;e>0;){const t=s(Math.ceil(256*e/l),n);for(let n=0;n<t.length&&e>0;n++){const o=t[n];o<l&&(i+=r.charAt(o%c),e--)}(0,o.wipe)(t)}return i}t.randomString=c,t.randomStringForEntropy=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.defaultRandomSource;const i=Math.ceil(e/(Math.log(r.length)/Math.LN2));return c(i,r,n)}},3687:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserRandomSource=void 0;t.BrowserRandomSource=class{constructor(){this.isAvailable=!1,this.isInstantiated=!1;const e="undefined"!==typeof self?self.crypto||self.msCrypto:null;e&&void 0!==e.getRandomValues&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error("Browser random byte generator is not available.");const t=new Uint8Array(e);for(let r=0;r<t.length;r+=65536)this._crypto.getRandomValues(t.subarray(r,r+Math.min(t.length-r,65536)));return t}}},6846:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeRandomSource=void 0;const n=r(3227);t.NodeRandomSource=class{constructor(){this.isAvailable=!1,this.isInstantiated=!1;{const e=r(5883);e&&e.randomBytes&&(this._crypto=e,this.isAvailable=!0,this.isInstantiated=!0)}}randomBytes(e){if(!this.isAvailable||!this._crypto)throw new Error("Node.js random byte generator is not available.");let t=this._crypto.randomBytes(e);if(t.length!==e)throw new Error("NodeRandomSource: got fewer bytes than requested");const r=new Uint8Array(e);for(let n=0;n<r.length;n++)r[n]=t[n];return(0,n.wipe)(t),r}}},4239:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SystemRandomSource=void 0;const n=r(3687),i=r(6846);t.SystemRandomSource=class{constructor(){return this.isAvailable=!1,this.name="",this._source=new n.BrowserRandomSource,this._source.isAvailable?(this.isAvailable=!0,void(this.name="Browser")):(this._source=new i.NodeRandomSource,this._source.isAvailable?(this.isAvailable=!0,void(this.name="Node")):void 0)}randomBytes(e){if(!this.isAvailable)throw new Error("System random byte generator is not available.");return this._source.randomBytes(e)}}},9900:(e,t,r)=>{"use strict";var n=r(9734),i=r(3227);t.k=32,t.cn=64;var o=function(){function e(){this.digestLength=t.k,this.blockSize=t.cn,this._state=new Int32Array(8),this._temp=new Int32Array(64),this._buffer=new Uint8Array(128),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this.reset()}return e.prototype._initState=function(){this._state[0]=1779033703,this._state[1]=3144134277,this._state[2]=1013904242,this._state[3]=2773480762,this._state[4]=1359893119,this._state[5]=2600822924,this._state[6]=528734635,this._state[7]=1541459225},e.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},e.prototype.clean=function(){i.wipe(this._buffer),i.wipe(this._temp),this.reset()},e.prototype.update=function(e,t){if(void 0===t&&(t=e.length),this._finished)throw new Error("SHA256: can't update because hash was finished.");var r=0;if(this._bytesHashed+=t,this._bufferLength>0){for(;this._bufferLength<this.blockSize&&t>0;)this._buffer[this._bufferLength++]=e[r++],t--;this._bufferLength===this.blockSize&&(a(this._temp,this._state,this._buffer,0,this.blockSize),this._bufferLength=0)}for(t>=this.blockSize&&(r=a(this._temp,this._state,e,r,t),t%=this.blockSize);t>0;)this._buffer[this._bufferLength++]=e[r++],t--;return this},e.prototype.finish=function(e){if(!this._finished){var t=this._bytesHashed,r=this._bufferLength,i=t/536870912|0,o=t<<3,s=t%64<56?64:128;this._buffer[r]=128;for(var c=r+1;c<s-8;c++)this._buffer[c]=0;n.writeUint32BE(i,this._buffer,s-8),n.writeUint32BE(o,this._buffer,s-4),a(this._temp,this._state,this._buffer,0,s),this._finished=!0}for(c=0;c<this.digestLength/4;c++)n.writeUint32BE(this._state[c],e,4*c);return this},e.prototype.digest=function(){var e=new Uint8Array(this.digestLength);return this.finish(e),e},e.prototype.saveState=function(){if(this._finished)throw new Error("SHA256: cannot save finished state");return{state:new Int32Array(this._state),buffer:this._bufferLength>0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},e.prototype.restoreState=function(e){return this._state.set(e.state),this._bufferLength=e.bufferLength,e.buffer&&this._buffer.set(e.buffer),this._bytesHashed=e.bytesHashed,this._finished=!1,this},e.prototype.cleanSavedState=function(e){i.wipe(e.state),e.buffer&&i.wipe(e.buffer),e.bufferLength=0,e.bytesHashed=0},e}();t.mE=o;var s=new Int32Array([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]);function a(e,t,r,i,o){for(;o>=64;){for(var a=t[0],c=t[1],l=t[2],u=t[3],h=t[4],d=t[5],p=t[6],f=t[7],g=0;g<16;g++){var y=i+4*g;e[g]=n.readUint32BE(r,y)}for(g=16;g<64;g++){var m=e[g-2],v=(m>>>17|m<<15)^(m>>>19|m<<13)^m>>>10,b=((m=e[g-15])>>>7|m<<25)^(m>>>18|m<<14)^m>>>3;e[g]=(v+e[g-7]|0)+(b+e[g-16]|0)}for(g=0;g<64;g++){v=(((h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7))+(h&d^~h&p)|0)+(f+(s[g]+e[g]|0)|0)|0,b=((a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10))+(a&c^a&l^c&l)|0;f=p,p=d,d=h,h=u+v|0,u=l,l=c,c=a,a=v+b|0}t[0]+=a,t[1]+=c,t[2]+=l,t[3]+=u,t[4]+=h,t[5]+=d,t[6]+=p,t[7]+=f,i+=64,o-=64}return i}t.vp=function(e){var t=new o;t.update(e);var r=t.digest();return t.clean(),r}},3227:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.wipe=function(e){for(var t=0;t<e.length;t++)e[t]=0;return e}},3539:(e,t,r)=>{"use strict";t.gi=t.Au=t._w=t.KS=t.kz=void 0;const n=r(4701),i=r(3227);function o(e){const t=new Float64Array(16);if(e)for(let r=0;r<e.length;r++)t[r]=e[r];return t}t.kz=32,t.KS=32;const s=new Uint8Array(32);s[0]=9;const a=o([56129,1]);function c(e){let t=1;for(let r=0;r<16;r++){let n=e[r]+t+65535;t=Math.floor(n/65536),e[r]=n-65536*t}e[0]+=t-1+37*(t-1)}function l(e,t,r){const n=~(r-1);for(let i=0;i<16;i++){const r=n&(e[i]^t[i]);e[i]^=r,t[i]^=r}}function u(e,t,r){for(let n=0;n<16;n++)e[n]=t[n]+r[n]}function h(e,t,r){for(let n=0;n<16;n++)e[n]=t[n]-r[n]}function d(e,t,r){let n,i,o=0,s=0,a=0,c=0,l=0,u=0,h=0,d=0,p=0,f=0,g=0,y=0,m=0,v=0,b=0,w=0,E=0,_=0,S=0,A=0,C=0,I=0,T=0,k=0,R=0,P=0,D=0,N=0,L=0,x=0,O=0,B=r[0],M=r[1],U=r[2],F=r[3],V=r[4],j=r[5],z=r[6],K=r[7],q=r[8],H=r[9],G=r[10],W=r[11],Q=r[12],Y=r[13],X=r[14],J=r[15];n=t[0],o+=n*B,s+=n*M,a+=n*U,c+=n*F,l+=n*V,u+=n*j,h+=n*z,d+=n*K,p+=n*q,f+=n*H,g+=n*G,y+=n*W,m+=n*Q,v+=n*Y,b+=n*X,w+=n*J,n=t[1],s+=n*B,a+=n*M,c+=n*U,l+=n*F,u+=n*V,h+=n*j,d+=n*z,p+=n*K,f+=n*q,g+=n*H,y+=n*G,m+=n*W,v+=n*Q,b+=n*Y,w+=n*X,E+=n*J,n=t[2],a+=n*B,c+=n*M,l+=n*U,u+=n*F,h+=n*V,d+=n*j,p+=n*z,f+=n*K,g+=n*q,y+=n*H,m+=n*G,v+=n*W,b+=n*Q,w+=n*Y,E+=n*X,_+=n*J,n=t[3],c+=n*B,l+=n*M,u+=n*U,h+=n*F,d+=n*V,p+=n*j,f+=n*z,g+=n*K,y+=n*q,m+=n*H,v+=n*G,b+=n*W,w+=n*Q,E+=n*Y,_+=n*X,S+=n*J,n=t[4],l+=n*B,u+=n*M,h+=n*U,d+=n*F,p+=n*V,f+=n*j,g+=n*z,y+=n*K,m+=n*q,v+=n*H,b+=n*G,w+=n*W,E+=n*Q,_+=n*Y,S+=n*X,A+=n*J,n=t[5],u+=n*B,h+=n*M,d+=n*U,p+=n*F,f+=n*V,g+=n*j,y+=n*z,m+=n*K,v+=n*q,b+=n*H,w+=n*G,E+=n*W,_+=n*Q,S+=n*Y,A+=n*X,C+=n*J,n=t[6],h+=n*B,d+=n*M,p+=n*U,f+=n*F,g+=n*V,y+=n*j,m+=n*z,v+=n*K,b+=n*q,w+=n*H,E+=n*G,_+=n*W,S+=n*Q,A+=n*Y,C+=n*X,I+=n*J,n=t[7],d+=n*B,p+=n*M,f+=n*U,g+=n*F,y+=n*V,m+=n*j,v+=n*z,b+=n*K,w+=n*q,E+=n*H,_+=n*G,S+=n*W,A+=n*Q,C+=n*Y,I+=n*X,T+=n*J,n=t[8],p+=n*B,f+=n*M,g+=n*U,y+=n*F,m+=n*V,v+=n*j,b+=n*z,w+=n*K,E+=n*q,_+=n*H,S+=n*G,A+=n*W,C+=n*Q,I+=n*Y,T+=n*X,k+=n*J,n=t[9],f+=n*B,g+=n*M,y+=n*U,m+=n*F,v+=n*V,b+=n*j,w+=n*z,E+=n*K,_+=n*q,S+=n*H,A+=n*G,C+=n*W,I+=n*Q,T+=n*Y,k+=n*X,R+=n*J,n=t[10],g+=n*B,y+=n*M,m+=n*U,v+=n*F,b+=n*V,w+=n*j,E+=n*z,_+=n*K,S+=n*q,A+=n*H,C+=n*G,I+=n*W,T+=n*Q,k+=n*Y,R+=n*X,P+=n*J,n=t[11],y+=n*B,m+=n*M,v+=n*U,b+=n*F,w+=n*V,E+=n*j,_+=n*z,S+=n*K,A+=n*q,C+=n*H,I+=n*G,T+=n*W,k+=n*Q,R+=n*Y,P+=n*X,D+=n*J,n=t[12],m+=n*B,v+=n*M,b+=n*U,w+=n*F,E+=n*V,_+=n*j,S+=n*z,A+=n*K,C+=n*q,I+=n*H,T+=n*G,k+=n*W,R+=n*Q,P+=n*Y,D+=n*X,N+=n*J,n=t[13],v+=n*B,b+=n*M,w+=n*U,E+=n*F,_+=n*V,S+=n*j,A+=n*z,C+=n*K,I+=n*q,T+=n*H,k+=n*G,R+=n*W,P+=n*Q,D+=n*Y,N+=n*X,L+=n*J,n=t[14],b+=n*B,w+=n*M,E+=n*U,_+=n*F,S+=n*V,A+=n*j,C+=n*z,I+=n*K,T+=n*q,k+=n*H,R+=n*G,P+=n*W,D+=n*Q,N+=n*Y,L+=n*X,x+=n*J,n=t[15],w+=n*B,E+=n*M,_+=n*U,S+=n*F,A+=n*V,C+=n*j,I+=n*z,T+=n*K,k+=n*q,R+=n*H,P+=n*G,D+=n*W,N+=n*Q,L+=n*Y,x+=n*X,O+=n*J,o+=38*E,s+=38*_,a+=38*S,c+=38*A,l+=38*C,u+=38*I,h+=38*T,d+=38*k,p+=38*R,f+=38*P,g+=38*D,y+=38*N,m+=38*L,v+=38*x,b+=38*O,i=1,n=o+i+65535,i=Math.floor(n/65536),o=n-65536*i,n=s+i+65535,i=Math.floor(n/65536),s=n-65536*i,n=a+i+65535,i=Math.floor(n/65536),a=n-65536*i,n=c+i+65535,i=Math.floor(n/65536),c=n-65536*i,n=l+i+65535,i=Math.floor(n/65536),l=n-65536*i,n=u+i+65535,i=Math.floor(n/65536),u=n-65536*i,n=h+i+65535,i=Math.floor(n/65536),h=n-65536*i,n=d+i+65535,i=Math.floor(n/65536),d=n-65536*i,n=p+i+65535,i=Math.floor(n/65536),p=n-65536*i,n=f+i+65535,i=Math.floor(n/65536),f=n-65536*i,n=g+i+65535,i=Math.floor(n/65536),g=n-65536*i,n=y+i+65535,i=Math.floor(n/65536),y=n-65536*i,n=m+i+65535,i=Math.floor(n/65536),m=n-65536*i,n=v+i+65535,i=Math.floor(n/65536),v=n-65536*i,n=b+i+65535,i=Math.floor(n/65536),b=n-65536*i,n=w+i+65535,i=Math.floor(n/65536),w=n-65536*i,o+=i-1+37*(i-1),i=1,n=o+i+65535,i=Math.floor(n/65536),o=n-65536*i,n=s+i+65535,i=Math.floor(n/65536),s=n-65536*i,n=a+i+65535,i=Math.floor(n/65536),a=n-65536*i,n=c+i+65535,i=Math.floor(n/65536),c=n-65536*i,n=l+i+65535,i=Math.floor(n/65536),l=n-65536*i,n=u+i+65535,i=Math.floor(n/65536),u=n-65536*i,n=h+i+65535,i=Math.floor(n/65536),h=n-65536*i,n=d+i+65535,i=Math.floor(n/65536),d=n-65536*i,n=p+i+65535,i=Math.floor(n/65536),p=n-65536*i,n=f+i+65535,i=Math.floor(n/65536),f=n-65536*i,n=g+i+65535,i=Math.floor(n/65536),g=n-65536*i,n=y+i+65535,i=Math.floor(n/65536),y=n-65536*i,n=m+i+65535,i=Math.floor(n/65536),m=n-65536*i,n=v+i+65535,i=Math.floor(n/65536),v=n-65536*i,n=b+i+65535,i=Math.floor(n/65536),b=n-65536*i,n=w+i+65535,i=Math.floor(n/65536),w=n-65536*i,o+=i-1+37*(i-1),e[0]=o,e[1]=s,e[2]=a,e[3]=c,e[4]=l,e[5]=u,e[6]=h,e[7]=d,e[8]=p,e[9]=f,e[10]=g,e[11]=y,e[12]=m,e[13]=v,e[14]=b,e[15]=w}function p(e,t){d(e,t,t)}function f(e,t){const r=new Uint8Array(32),n=new Float64Array(80),i=o(),s=o(),f=o(),g=o(),y=o(),m=o();for(let o=0;o<31;o++)r[o]=e[o];r[31]=127&e[31]|64,r[0]&=248,function(e,t){for(let r=0;r<16;r++)e[r]=t[2*r]+(t[2*r+1]<<8);e[15]&=32767}(n,t);for(let o=0;o<16;o++)s[o]=n[o];i[0]=g[0]=1;for(let o=254;o>=0;--o){const e=r[o>>>3]>>>(7&o)&1;l(i,s,e),l(f,g,e),u(y,i,f),h(i,i,f),u(f,s,g),h(s,s,g),p(g,y),p(m,i),d(i,f,i),d(f,s,y),u(y,i,f),h(i,i,f),p(s,i),h(f,g,m),d(i,f,a),u(i,i,g),d(f,f,i),d(i,g,m),d(g,s,n),p(s,y),l(i,s,e),l(f,g,e)}for(let o=0;o<16;o++)n[o+16]=i[o],n[o+32]=f[o],n[o+48]=s[o],n[o+64]=g[o];const v=n.subarray(32),b=n.subarray(16);!function(e,t){const r=o();for(let n=0;n<16;n++)r[n]=t[n];for(let n=253;n>=0;n--)p(r,r),2!==n&&4!==n&&d(r,r,t);for(let n=0;n<16;n++)e[n]=r[n]}(v,v),d(b,b,v);const w=new Uint8Array(32);return function(e,t){const r=o(),n=o();for(let i=0;i<16;i++)n[i]=t[i];c(n),c(n),c(n);for(let i=0;i<2;i++){r[0]=n[0]-65517;for(let t=1;t<15;t++)r[t]=n[t]-65535-(r[t-1]>>16&1),r[t-1]&=65535;r[15]=n[15]-32767-(r[14]>>16&1);const e=r[15]>>16&1;r[14]&=65535,l(n,r,1-e)}for(let i=0;i<16;i++)e[2*i]=255&n[i],e[2*i+1]=n[i]>>8}(w,b),w}function g(e){return f(e,s)}function y(e){if(e.length!==t.KS)throw new Error("x25519: seed must be ".concat(t.KS," bytes"));const r=new Uint8Array(e);return{publicKey:g(r),secretKey:r}}t._w=y,t.Au=function(e){const t=(0,n.randomBytes)(32,e),r=y(t);return(0,i.wipe)(t),r},t.gi=function(e,r){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e.length!==t.kz)throw new Error("X25519: incorrect secret key length");if(r.length!==t.kz)throw new Error("X25519: incorrect public key length");const i=f(e,r);if(n){let e=0;for(let t=0;t<i.length;t++)e|=i[t];if(0===e)throw new Error("X25519: invalid shared key")}return i}},907:(e,t,r)=>{"use strict";e.exports=c;var n,i=r(4432),o=i.LongBits,s=i.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var l="undefined"!==typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},u=function(){return i.Buffer?function(e){return(c.create=function(e){return i.Buffer.isBuffer(e)?new n(e):l(e)})(e)}:l};function h(){var e=new o(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function d(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function p(){if(this.pos+8>this.len)throw a(this,8);return new o(d(this.buf,this.pos+=4),d(this.buf,this.pos+=4))}c.create=u(),c.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,c.prototype.uint32=function(){var e=4294967295;return function(){if(e=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return e;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return e}}(),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return d(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|d(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw a(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,r):t===r?new this.buf.constructor(0):this._slice.call(this.buf,t,r)},c.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},c.prototype.skip=function(e){if("number"===typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!==(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){n=e,c.create=u(),n._configure();var t=i.Long?"toLong":"toNumber";i.merge(c.prototype,{int64:function(){return h.call(this)[t](!1)},uint64:function(){return h.call(this)[t](!0)},sint64:function(){return h.call(this).zzDecode()[t](!1)},fixed64:function(){return p.call(this)[t](!0)},sfixed64:function(){return p.call(this)[t](!1)}})}},9605:(e,t,r)=>{"use strict";e.exports=o;var n=r(907);(o.prototype=Object.create(n.prototype)).constructor=o;var i=r(4432);function o(e){n.call(this,e)}o._configure=function(){i.Buffer&&(o.prototype._slice=i.Buffer.prototype.slice)},o.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},o._configure()},349:(e,t,r)=>{"use strict";e.exports=i;var n=r(4432);function i(e,t){this.lo=e>>>0,this.hi=t>>>0}var o=i.zero=new i(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var s=i.zeroHash="\0\0\0\0\0\0\0\0";i.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new i(r,n)},i.from=function(e){if("number"===typeof e)return i.fromNumber(e);if(n.isString(e)){if(!n.Long)return i.fromNumber(parseInt(e,10));e=n.Long.fromString(e)}return e.low||e.high?new i(e.low>>>0,e.high>>>0):o},i.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,r=~this.hi>>>0;return t||(r=r+1>>>0),-(t+4294967296*r)}return this.lo+4294967296*this.hi},i.prototype.toLong=function(e){return n.Long?new n.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;i.fromHash=function(e){return e===s?o:new i((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},i.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},i.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},i.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},i.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,r=this.hi>>>24;return 0===r?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10}},4432:function(e,t,r){"use strict";var n=t;function i(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)void 0!==e[n[i]]&&r||(e[n[i]]=t[n[i]]);return e}function o(e){function t(e,r){if(!(this instanceof t))return new t(e,r);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),r&&i(this,r)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}n.asPromise=r(7223),n.base64=r(1938),n.EventEmitter=r(6597),n.float=r(2678),n.inquire=r(7640),n.utf8=r(2842),n.pool=r(110),n.LongBits=r(349),n.isNode=Boolean("undefined"!==typeof r.g&&r.g&&r.g.process&&r.g.process.versions&&r.g.process.versions.node),n.global=n.isNode&&r.g||"undefined"!==typeof window&&window||"undefined"!==typeof self&&self||this,n.emptyArray=Object.freeze?Object.freeze([]):[],n.emptyObject=Object.freeze?Object.freeze({}):{},n.isInteger=Number.isInteger||function(e){return"number"===typeof e&&isFinite(e)&&Math.floor(e)===e},n.isString=function(e){return"string"===typeof e||e instanceof String},n.isObject=function(e){return e&&"object"===typeof e},n.isset=n.isSet=function(e,t){var r=e[t];return!(null==r||!e.hasOwnProperty(t))&&("object"!==typeof r||(Array.isArray(r)?r.length:Object.keys(r).length)>0)},n.Buffer=function(){try{var e=n.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(t){return null}}(),n._Buffer_from=null,n._Buffer_allocUnsafe=null,n.newBuffer=function(e){return"number"===typeof e?n.Buffer?n._Buffer_allocUnsafe(e):new n.Array(e):n.Buffer?n._Buffer_from(e):"undefined"===typeof Uint8Array?e:new Uint8Array(e)},n.Array="undefined"!==typeof Uint8Array?Uint8Array:Array,n.Long=n.global.dcodeIO&&n.global.dcodeIO.Long||n.global.Long||n.inquire("long"),n.key2Re=/^true|false|0|1$/,n.key32Re=/^-?(?:0|[1-9][0-9]*)$/,n.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,n.longToHash=function(e){return e?n.LongBits.from(e).toHash():n.LongBits.zeroHash},n.longFromHash=function(e,t){var r=n.LongBits.fromHash(e);return n.Long?n.Long.fromBits(r.lo,r.hi,t):r.toNumber(Boolean(t))},n.merge=i,n.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},n.newError=o,n.ProtocolError=o("ProtocolError"),n.oneOfGetter=function(e){for(var t={},r=0;r<e.length;++r)t[e[r]]=1;return function(){for(var e=Object.keys(this),r=e.length-1;r>-1;--r)if(1===t[e[r]]&&void 0!==this[e[r]]&&null!==this[e[r]])return e[r]}},n.oneOfSetter=function(e){return function(t){for(var r=0;r<e.length;++r)e[r]!==t&&delete this[e[r]]}},n.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},n._configure=function(){var e=n.Buffer;e?(n._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,r){return new e(t,r)},n._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):n._Buffer_from=n._Buffer_allocUnsafe=null}},3798:(e,t,r)=>{"use strict";e.exports=h;var n,i=r(4432),o=i.LongBits,s=i.base64,a=i.utf8;function c(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function l(){}function u(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function h(){this.len=0,this.head=new c(l,0,0),this.tail=this.head,this.states=null}var d=function(){return i.Buffer?function(){return(h.create=function(){return new n})()}:function(){return new h}};function p(e,t,r){t[r]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function g(e,t,r){for(;e.hi;)t[r++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=127&e.lo|128,e.lo=e.lo>>>7;t[r++]=e.lo}function y(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}h.create=d(),h.alloc=function(e){return new i.Array(e)},i.Array!==Array&&(h.alloc=i.pool(h.alloc,i.Array.prototype.subarray)),h.prototype._push=function(e,t,r){return this.tail=this.tail.next=new c(e,t,r),this.len+=t,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(e,t,r){for(;e>127;)t[r++]=127&e|128,e>>>=7;t[r]=e},h.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},h.prototype.int32=function(e){return e<0?this._push(g,10,o.fromNumber(e)):this.uint32(e)},h.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},h.prototype.uint64=function(e){var t=o.from(e);return this._push(g,t.length(),t)},h.prototype.int64=h.prototype.uint64,h.prototype.sint64=function(e){var t=o.from(e).zzEncode();return this._push(g,t.length(),t)},h.prototype.bool=function(e){return this._push(p,1,e?1:0)},h.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},h.prototype.sfixed32=h.prototype.fixed32,h.prototype.fixed64=function(e){var t=o.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},h.prototype.sfixed64=h.prototype.fixed64,h.prototype.float=function(e){return this._push(i.float.writeFloatLE,4,e)},h.prototype.double=function(e){return this._push(i.float.writeDoubleLE,8,e)};var m=i.Array.prototype.set?function(e,t,r){t.set(e,r)}:function(e,t,r){for(var n=0;n<e.length;++n)t[r+n]=e[n]};h.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(p,1,0);if(i.isString(e)){var r=h.alloc(t=s.length(e));s.decode(e,r,0),e=r}return this.uint32(t)._push(m,t,e)},h.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(p,1,0)},h.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new c(l,0,0),this.len=0,this},h.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(l,0,0),this.len=0),this},h.prototype.ldelim=function(){var e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=e.next,this.tail=t,this.len+=r),this},h.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),r=0;e;)e.fn(e.val,t,r),r+=e.len,e=e.next;return t},h._configure=function(e){n=e,h.create=d(),n._configure()}},1431:(e,t,r)=>{"use strict";e.exports=o;var n=r(3798);(o.prototype=Object.create(n.prototype)).constructor=o;var i=r(4432);function o(){n.call(this)}function s(e,t,r){e.length<40?i.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}o._configure=function(){o.alloc=i._Buffer_allocUnsafe,o.writeBytesBuffer=i.Buffer&&i.Buffer.prototype instanceof Uint8Array&&"set"===i.Buffer.prototype.set.name?function(e,t,r){t.set(e,r)}:function(e,t,r){if(e.copy)e.copy(t,r,0,e.length);else for(var n=0;n<e.length;)t[r++]=e[n++]}},o.prototype.bytes=function(e){i.isString(e)&&(e=i._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(o.writeBytesBuffer,t,e),this},o.prototype.string=function(e){var t=i.Buffer.byteLength(e);return this.uint32(t),t&&this._push(s,t,e),this},o._configure()},1359:(e,t,r)=>{"use strict";e.exports=r(3495)},3495:(e,t,r)=>{"use strict";var n=t;function i(){n.util._configure(),n.Writer._configure(n.BufferWriter),n.Reader._configure(n.BufferReader)}n.build="minimal",n.Writer=r(4930),n.BufferWriter=r(2731),n.Reader=r(5704),n.BufferReader=r(9754),n.util=r(9256),n.rpc=r(3871),n.roots=r(2410),n.configure=i,i()},5704:(e,t,r)=>{"use strict";e.exports=c;var n,i=r(9256),o=i.LongBits,s=i.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var l="undefined"!==typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},u=function(){return i.Buffer?function(e){return(c.create=function(e){return i.Buffer.isBuffer(e)?new n(e):l(e)})(e)}:l};function h(){var e=new o(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function d(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function p(){if(this.pos+8>this.len)throw a(this,8);return new o(d(this.buf,this.pos+=4),d(this.buf,this.pos+=4))}c.create=u(),c.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,c.prototype.uint32=function(){var e=4294967295;return function(){if(e=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return e;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return e}}(),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return d(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|d(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw a(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,r):t===r?new this.buf.constructor(0):this._slice.call(this.buf,t,r)},c.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},c.prototype.skip=function(e){if("number"===typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!==(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){n=e,c.create=u(),n._configure();var t=i.Long?"toLong":"toNumber";i.merge(c.prototype,{int64:function(){return h.call(this)[t](!1)},uint64:function(){return h.call(this)[t](!0)},sint64:function(){return h.call(this).zzDecode()[t](!1)},fixed64:function(){return p.call(this)[t](!0)},sfixed64:function(){return p.call(this)[t](!1)}})}},9754:(e,t,r)=>{"use strict";e.exports=o;var n=r(5704);(o.prototype=Object.create(n.prototype)).constructor=o;var i=r(9256);function o(e){n.call(this,e)}o._configure=function(){i.Buffer&&(o.prototype._slice=i.Buffer.prototype.slice)},o.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},o._configure()},2410:e=>{"use strict";e.exports={}},3871:(e,t,r)=>{"use strict";t.Service=r(243)},243:(e,t,r)=>{"use strict";e.exports=i;var n=r(9256);function i(e,t,r){if("function"!==typeof e)throw TypeError("rpcImpl must be a function");n.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(r)}(i.prototype=Object.create(n.EventEmitter.prototype)).constructor=i,i.prototype.rpcCall=function e(t,r,i,o,s){if(!o)throw TypeError("request must be specified");var a=this;if(!s)return n.asPromise(e,a,t,r,i,o);if(a.rpcImpl)try{return a.rpcImpl(t,r[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(e,r){if(e)return a.emit("error",e,t),s(e);if(null!==r){if(!(r instanceof i))try{r=i[a.responseDelimited?"decodeDelimited":"decode"](r)}catch(e){return a.emit("error",e,t),s(e)}return a.emit("data",r,t),s(null,r)}a.end(!0)}))}catch(c){return a.emit("error",c,t),void setTimeout((function(){s(c)}),0)}else setTimeout((function(){s(Error("already ended"))}),0)},i.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},2949:(e,t,r)=>{"use strict";e.exports=i;var n=r(9256);function i(e,t){this.lo=e>>>0,this.hi=t>>>0}var o=i.zero=new i(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var s=i.zeroHash="\0\0\0\0\0\0\0\0";i.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new i(r,n)},i.from=function(e){if("number"===typeof e)return i.fromNumber(e);if(n.isString(e)){if(!n.Long)return i.fromNumber(parseInt(e,10));e=n.Long.fromString(e)}return e.low||e.high?new i(e.low>>>0,e.high>>>0):o},i.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,r=~this.hi>>>0;return t||(r=r+1>>>0),-(t+4294967296*r)}return this.lo+4294967296*this.hi},i.prototype.toLong=function(e){return n.Long?new n.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;i.fromHash=function(e){return e===s?o:new i((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},i.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},i.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},i.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},i.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,r=this.hi>>>24;return 0===r?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10}},9256:function(e,t,r){"use strict";var n=t;function i(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)void 0!==e[n[i]]&&r||(e[n[i]]=t[n[i]]);return e}function o(e){function t(e,r){if(!(this instanceof t))return new t(e,r);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),r&&i(this,r)}return(t.prototype=Object.create(Error.prototype)).constructor=t,Object.defineProperty(t.prototype,"name",{get:function(){return e}}),t.prototype.toString=function(){return this.name+": "+this.message},t}n.asPromise=r(7223),n.base64=r(1938),n.EventEmitter=r(6597),n.float=r(2678),n.inquire=r(7640),n.utf8=r(2842),n.pool=r(110),n.LongBits=r(2949),n.isNode=Boolean("undefined"!==typeof r.g&&r.g&&r.g.process&&r.g.process.versions&&r.g.process.versions.node),n.global=n.isNode&&r.g||"undefined"!==typeof window&&window||"undefined"!==typeof self&&self||this,n.emptyArray=Object.freeze?Object.freeze([]):[],n.emptyObject=Object.freeze?Object.freeze({}):{},n.isInteger=Number.isInteger||function(e){return"number"===typeof e&&isFinite(e)&&Math.floor(e)===e},n.isString=function(e){return"string"===typeof e||e instanceof String},n.isObject=function(e){return e&&"object"===typeof e},n.isset=n.isSet=function(e,t){var r=e[t];return!(null==r||!e.hasOwnProperty(t))&&("object"!==typeof r||(Array.isArray(r)?r.length:Object.keys(r).length)>0)},n.Buffer=function(){try{var e=n.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(t){return null}}(),n._Buffer_from=null,n._Buffer_allocUnsafe=null,n.newBuffer=function(e){return"number"===typeof e?n.Buffer?n._Buffer_allocUnsafe(e):new n.Array(e):n.Buffer?n._Buffer_from(e):"undefined"===typeof Uint8Array?e:new Uint8Array(e)},n.Array="undefined"!==typeof Uint8Array?Uint8Array:Array,n.Long=n.global.dcodeIO&&n.global.dcodeIO.Long||n.global.Long||n.inquire("long"),n.key2Re=/^true|false|0|1$/,n.key32Re=/^-?(?:0|[1-9][0-9]*)$/,n.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,n.longToHash=function(e){return e?n.LongBits.from(e).toHash():n.LongBits.zeroHash},n.longFromHash=function(e,t){var r=n.LongBits.fromHash(e);return n.Long?n.Long.fromBits(r.lo,r.hi,t):r.toNumber(Boolean(t))},n.merge=i,n.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},n.newError=o,n.ProtocolError=o("ProtocolError"),n.oneOfGetter=function(e){for(var t={},r=0;r<e.length;++r)t[e[r]]=1;return function(){for(var e=Object.keys(this),r=e.length-1;r>-1;--r)if(1===t[e[r]]&&void 0!==this[e[r]]&&null!==this[e[r]])return e[r]}},n.oneOfSetter=function(e){return function(t){for(var r=0;r<e.length;++r)e[r]!==t&&delete this[e[r]]}},n.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},n._configure=function(){var e=n.Buffer;e?(n._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,r){return new e(t,r)},n._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):n._Buffer_from=n._Buffer_allocUnsafe=null}},4930:(e,t,r)=>{"use strict";e.exports=h;var n,i=r(9256),o=i.LongBits,s=i.base64,a=i.utf8;function c(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function l(){}function u(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function h(){this.len=0,this.head=new c(l,0,0),this.tail=this.head,this.states=null}var d=function(){return i.Buffer?function(){return(h.create=function(){return new n})()}:function(){return new h}};function p(e,t,r){t[r]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function g(e,t,r){for(;e.hi;)t[r++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=127&e.lo|128,e.lo=e.lo>>>7;t[r++]=e.lo}function y(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}h.create=d(),h.alloc=function(e){return new i.Array(e)},i.Array!==Array&&(h.alloc=i.pool(h.alloc,i.Array.prototype.subarray)),h.prototype._push=function(e,t,r){return this.tail=this.tail.next=new c(e,t,r),this.len+=t,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(e,t,r){for(;e>127;)t[r++]=127&e|128,e>>>=7;t[r]=e},h.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},h.prototype.int32=function(e){return e<0?this._push(g,10,o.fromNumber(e)):this.uint32(e)},h.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},h.prototype.uint64=function(e){var t=o.from(e);return this._push(g,t.length(),t)},h.prototype.int64=h.prototype.uint64,h.prototype.sint64=function(e){var t=o.from(e).zzEncode();return this._push(g,t.length(),t)},h.prototype.bool=function(e){return this._push(p,1,e?1:0)},h.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},h.prototype.sfixed32=h.prototype.fixed32,h.prototype.fixed64=function(e){var t=o.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},h.prototype.sfixed64=h.prototype.fixed64,h.prototype.float=function(e){return this._push(i.float.writeFloatLE,4,e)},h.prototype.double=function(e){return this._push(i.float.writeDoubleLE,8,e)};var m=i.Array.prototype.set?function(e,t,r){t.set(e,r)}:function(e,t,r){for(var n=0;n<e.length;++n)t[r+n]=e[n]};h.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(p,1,0);if(i.isString(e)){var r=h.alloc(t=s.length(e));s.decode(e,r,0),e=r}return this.uint32(t)._push(m,t,e)},h.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(p,1,0)},h.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new c(l,0,0),this.len=0,this},h.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(l,0,0),this.len=0),this},h.prototype.ldelim=function(){var e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=e.next,this.tail=t,this.len+=r),this},h.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),r=0;e;)e.fn(e.val,t,r),r+=e.len,e=e.next;return t},h._configure=function(e){n=e,h.create=d(),n._configure()}},2731:(e,t,r)=>{"use strict";e.exports=o;var n=r(4930);(o.prototype=Object.create(n.prototype)).constructor=o;var i=r(9256);function o(){n.call(this)}function s(e,t,r){e.length<40?i.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}o._configure=function(){o.alloc=i._Buffer_allocUnsafe,o.writeBytesBuffer=i.Buffer&&i.Buffer.prototype instanceof Uint8Array&&"set"===i.Buffer.prototype.set.name?function(e,t,r){t.set(e,r)}:function(e,t,r){if(e.copy)e.copy(t,r,0,e.length);else for(var n=0;n<e.length;)t[r++]=e[n++]}},o.prototype.bytes=function(e){i.isString(e)&&(e=i._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(o.writeBytesBuffer,t,e),this},o.prototype.string=function(e){var t=i.Buffer.byteLength(e);return this.uint32(t),t&&this._push(s,t,e),this},o._configure()},2269:e=>{function t(e){const t=new globalThis.AbortController;function r(){t.abort();for(const t of e)t&&t.removeEventListener&&t.removeEventListener("abort",r)}for(const n of e)if(n&&n.addEventListener){if(n.aborted){r();break}n.addEventListener("abort",r)}return t.signal}e.exports=t,e.exports.anySignal=t},4054:(e,t,r)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,i=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(i=n))})),t.splice(i,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(r){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(r){}!e&&"undefined"!==typeof process&&"env"in process&&(e={NODE_ENV:"production",PUBLIC_URL:"/relay-reactjs-chat",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.DEBUG);return e},t.useColors=function(){if("undefined"!==typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!==typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!==typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!==typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(7175)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}},7175:(e,t,r)=>{e.exports=function(e){function t(e){let r,i,o,s=null;function a(){for(var e=arguments.length,n=new Array(e),i=0;i<e;i++)n[i]=arguments[i];if(!a.enabled)return;const o=a,s=Number(new Date),c=s-(r||s);o.diff=c,o.prev=r,o.curr=s,r=s,n[0]=t.coerce(n[0]),"string"!==typeof n[0]&&n.unshift("%O");let l=0;n[0]=n[0].replace(/%([a-zA-Z%])/g,((e,r)=>{if("%%"===e)return"%";l++;const i=t.formatters[r];if("function"===typeof i){const t=n[l];e=i.call(o,t),n.splice(l,1),l--}return e})),t.formatArgs.call(o,n);const u=o.log||t.log;u.apply(o,n)}return a.namespace=e,a.useColors=t.useColors(),a.color=t.selectColor(e),a.extend=n,a.destroy=t.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(i!==t.namespaces&&(i=t.namespaces,o=t.enabled(e)),o),set:e=>{s=e}}),"function"===typeof t.init&&t.init(a),a}function n(e,r){const n=t(this.namespace+("undefined"===typeof r?":":r)+e);return n.log=this.log,n}function i(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(i),...t.skips.map(i).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"===typeof e?e:"").split(/[\s,]+/),i=n.length;for(r=0;r<i;r++)n[r]&&("-"===(e=n[r].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let r,n;for(r=0,n=t.skips.length;r<n;r++)if(t.skips[r].test(e))return!1;for(r=0,n=t.names.length;r<n;r++)if(t.names[r].test(e))return!0;return!1},t.humanize=r(5187),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((r=>{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return t.colors[Math.abs(r)%t.colors.length]},t.enable(t.load()),t}},3331:e=>{"use strict";function t(e,t){t=t||{};this._head=0,this._tail=0,this._capacity=t.capacity,this._capacityMask=3,this._list=new Array(4),Array.isArray(e)&&this._fromArray(e)}t.prototype.peekAt=function(e){var t=e;if(t===(0|t)){var r=this.size();if(!(t>=r||t<-r))return t<0&&(t+=r),t=this._head+t&this._capacityMask,this._list[t]}},t.prototype.get=function(e){return this.peekAt(e)},t.prototype.peek=function(){if(this._head!==this._tail)return this._list[this._head]},t.prototype.peekFront=function(){return this.peek()},t.prototype.peekBack=function(){return this.peekAt(-1)},Object.defineProperty(t.prototype,"length",{get:function(){return this.size()}}),t.prototype.size=function(){return this._head===this._tail?0:this._head<this._tail?this._tail-this._head:this._capacityMask+1-(this._head-this._tail)},t.prototype.unshift=function(e){if(void 0===e)return this.size();var t=this._list.length;return this._head=this._head-1+t&this._capacityMask,this._list[this._head]=e,this._tail===this._head&&this._growArray(),this._capacity&&this.size()>this._capacity&&this.pop(),this._head<this._tail?this._tail-this._head:this._capacityMask+1-(this._head-this._tail)},t.prototype.shift=function(){var e=this._head;if(e!==this._tail){var t=this._list[e];return this._list[e]=void 0,this._head=e+1&this._capacityMask,e<2&&this._tail>1e4&&this._tail<=this._list.length>>>2&&this._shrinkArray(),t}},t.prototype.push=function(e){if(void 0===e)return this.size();var t=this._tail;return this._list[t]=e,this._tail=t+1&this._capacityMask,this._tail===this._head&&this._growArray(),this._capacity&&this.size()>this._capacity&&this.shift(),this._head<this._tail?this._tail-this._head:this._capacityMask+1-(this._head-this._tail)},t.prototype.pop=function(){var e=this._tail;if(e!==this._head){var t=this._list.length;this._tail=e-1+t&this._capacityMask;var r=this._list[this._tail];return this._list[this._tail]=void 0,this._head<2&&e>1e4&&e<=t>>>2&&this._shrinkArray(),r}},t.prototype.removeOne=function(e){var t=e;if(t===(0|t)&&this._head!==this._tail){var r=this.size(),n=this._list.length;if(!(t>=r||t<-r)){t<0&&(t+=r),t=this._head+t&this._capacityMask;var i,o=this._list[t];if(e<r/2){for(i=e;i>0;i--)this._list[t]=this._list[t=t-1+n&this._capacityMask];this._list[t]=void 0,this._head=this._head+1+n&this._capacityMask}else{for(i=r-1-e;i>0;i--)this._list[t]=this._list[t=t+1+n&this._capacityMask];this._list[t]=void 0,this._tail=this._tail-1+n&this._capacityMask}return o}}},t.prototype.remove=function(e,t){var r,n=e,i=t;if(n===(0|n)&&this._head!==this._tail){var o=this.size(),s=this._list.length;if(!(n>=o||n<-o||t<1)){if(n<0&&(n+=o),1===t||!t)return(r=new Array(1))[0]=this.removeOne(n),r;if(0===n&&n+t>=o)return r=this.toArray(),this.clear(),r;var a;for(n+t>o&&(t=o-n),r=new Array(t),a=0;a<t;a++)r[a]=this._list[this._head+n+a&this._capacityMask];if(n=this._head+n&this._capacityMask,e+t===o){for(this._tail=this._tail-t+s&this._capacityMask,a=t;a>0;a--)this._list[n=n+1+s&this._capacityMask]=void 0;return r}if(0===e){for(this._head=this._head+t+s&this._capacityMask,a=t-1;a>0;a--)this._list[n=n+1+s&this._capacityMask]=void 0;return r}if(n<o/2){for(this._head=this._head+e+t+s&this._capacityMask,a=e;a>0;a--)this.unshift(this._list[n=n-1+s&this._capacityMask]);for(n=this._head-1+s&this._capacityMask;i>0;)this._list[n=n-1+s&this._capacityMask]=void 0,i--;e<0&&(this._tail=n)}else{for(this._tail=n,n=n+t+s&this._capacityMask,a=o-(t+e);a>0;a--)this.push(this._list[n++]);for(n=this._tail;i>0;)this._list[n=n+1+s&this._capacityMask]=void 0,i--}return this._head<2&&this._tail>1e4&&this._tail<=s>>>2&&this._shrinkArray(),r}}},t.prototype.splice=function(e,t){var r=e;if(r===(0|r)){var n=this.size();if(r<0&&(r+=n),!(r>n)){if(arguments.length>2){var i,o,s,a=arguments.length,c=this._list.length,l=2;if(!n||r<n/2){for(o=new Array(r),i=0;i<r;i++)o[i]=this._list[this._head+i&this._capacityMask];for(0===t?(s=[],r>0&&(this._head=this._head+r+c&this._capacityMask)):(s=this.remove(r,t),this._head=this._head+r+c&this._capacityMask);a>l;)this.unshift(arguments[--a]);for(i=r;i>0;i--)this.unshift(o[i-1])}else{var u=(o=new Array(n-(r+t))).length;for(i=0;i<u;i++)o[i]=this._list[this._head+r+t+i&this._capacityMask];for(0===t?(s=[],r!=n&&(this._tail=this._head+r+c&this._capacityMask)):(s=this.remove(r,t),this._tail=this._tail-u+c&this._capacityMask);l<a;)this.push(arguments[l++]);for(i=0;i<u;i++)this.push(o[i])}return s}return this.remove(r,t)}}},t.prototype.clear=function(){this._head=0,this._tail=0},t.prototype.isEmpty=function(){return this._head===this._tail},t.prototype.toArray=function(){return this._copyArray(!1)},t.prototype._fromArray=function(e){for(var t=0;t<e.length;t++)this.push(e[t])},t.prototype._copyArray=function(e){var t,r=[],n=this._list,i=n.length;if(e||this._head>this._tail){for(t=this._head;t<i;t++)r.push(n[t]);for(t=0;t<this._tail;t++)r.push(n[t])}else for(t=this._head;t<this._tail;t++)r.push(n[t]);return r},t.prototype._growArray=function(){this._head&&(this._list=this._copyArray(!0),this._head=0),this._tail=this._list.length,this._list.length<<=1,this._capacityMask=this._capacityMask<<1|1},t.prototype._shrinkArray=function(){this._list.length>>>=1,this._capacityMask>>>=1},e.exports=t},1425:e=>{"use strict";function t(e,t){for(const r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}e.exports=function(e,r,n){if(!e||"string"===typeof e)throw new TypeError("Please pass an Error to err-code");n||(n={}),"object"===typeof r&&(n=r,r=""),r&&(n.code=r);try{return t(e,n)}catch(i){n.message=e.message,n.stack=e.stack;const r=function(){};r.prototype=Object.create(Object.getPrototypeOf(e));return t(new r,n)}}},3751:(e,t,r)=>{"use strict";const n=r(6840);t.zN=n.EventIterator,n.EventIterator},6840:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(){this.pullQueue=[],this.pushQueue=[],this.eventHandlers={},this.isPaused=!1,this.isStopped=!1}push(e){if(this.isStopped)return;const t={value:e,done:!1};if(this.pullQueue.length){const e=this.pullQueue.shift();e&&e.resolve(t)}else this.pushQueue.push(Promise.resolve(t)),void 0!==this.highWaterMark&&this.pushQueue.length>=this.highWaterMark&&!this.isPaused&&(this.isPaused=!0,this.eventHandlers.highWater?this.eventHandlers.highWater():console&&console.warn("EventIterator queue reached ".concat(this.pushQueue.length," items")))}stop(){if(!this.isStopped){this.isStopped=!0,this.remove();for(const e of this.pullQueue)e.resolve({value:void 0,done:!0});this.pullQueue.length=0}}fail(e){if(!this.isStopped)if(this.isStopped=!0,this.remove(),this.pullQueue.length){for(const t of this.pullQueue)t.reject(e);this.pullQueue.length=0}else{const t=Promise.reject(e);t.catch((()=>{})),this.pushQueue.push(t)}}remove(){Promise.resolve().then((()=>{this.removeCallback&&this.removeCallback()}))}[Symbol.asyncIterator](){return{next:e=>{const t=this.pushQueue.shift();return t?(void 0!==this.lowWaterMark&&this.pushQueue.length<=this.lowWaterMark&&this.isPaused&&(this.isPaused=!1,this.eventHandlers.lowWater&&this.eventHandlers.lowWater()),t):this.isStopped?Promise.resolve({value:void 0,done:!0}):new Promise(((e,t)=>{this.pullQueue.push({resolve:e,reject:t})}))},return:()=>(this.isStopped=!0,this.pushQueue.length=0,this.remove(),Promise.resolve({value:void 0,done:!0}))}}}class n{constructor(e){let{highWaterMark:t=100,lowWaterMark:n=1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=new r;i.highWaterMark=t,i.lowWaterMark=n,i.removeCallback=e({push:e=>i.push(e),stop:()=>i.stop(),fail:e=>i.fail(e),on:(e,t)=>{i.eventHandlers[e]=t}})||(()=>{}),this[Symbol.asyncIterator]=()=>i[Symbol.asyncIterator](),Object.freeze(this)}}t.EventIterator=n,t.default=n},548:e=>{"use strict";var t=Object.prototype.hasOwnProperty,r="~";function n(){}function i(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function o(e,t,n,o,s){if("function"!==typeof n)throw new TypeError("The listener must be a function");var a=new i(n,o||e,s),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],a]:e._events[c].push(a):(e._events[c]=a,e._eventsCount++),e}function s(e,t){0===--e._eventsCount?e._events=new n:delete e._events[t]}function a(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),a.prototype.eventNames=function(){var e,n,i=[];if(0===this._eventsCount)return i;for(n in e=this._events)t.call(e,n)&&i.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(e)):i},a.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s},a.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},a.prototype.emit=function(e,t,n,i,o,s){var a=r?r+e:e;if(!this._events[a])return!1;var c,l,u=this._events[a],h=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),h){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,n),!0;case 4:return u.fn.call(u.context,t,n,i),!0;case 5:return u.fn.call(u.context,t,n,i,o),!0;case 6:return u.fn.call(u.context,t,n,i,o,s),!0}for(l=1,c=new Array(h-1);l<h;l++)c[l-1]=arguments[l];u.fn.apply(u.context,c)}else{var d,p=u.length;for(l=0;l<p;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),h){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,n);break;case 4:u[l].fn.call(u[l].context,t,n,i);break;default:if(!c)for(d=1,c=new Array(h-1);d<h;d++)c[d-1]=arguments[d];u[l].fn.apply(u[l].context,c)}}return!0},a.prototype.on=function(e,t,r){return o(this,e,t,r,!1)},a.prototype.once=function(e,t,r){return o(this,e,t,r,!0)},a.prototype.removeListener=function(e,t,n,i){var o=r?r+e:e;if(!this._events[o])return this;if(!t)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==t||i&&!a.once||n&&a.context!==n||s(this,o);else{for(var c=0,l=[],u=a.length;c<u;c++)(a[c].fn!==t||i&&!a[c].once||n&&a[c].context!==n)&&l.push(a[c]);l.length?this._events[o]=1===l.length?l[0]:l:s(this,o)}return this},a.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new n,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=r,a.EventEmitter=a,e.exports=a},8041:e=>{"use strict";var t,r="object"===typeof Reflect?Reflect:null,n=r&&"function"===typeof r.apply?r.apply:function(e,t,r){return Function.prototype.apply.call(e,t,r)};t=r&&"function"===typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!==e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(r,n){function i(r){e.removeListener(t,o),n(r)}function o(){"function"===typeof e.removeListener&&e.removeListener("error",i),r([].slice.call(arguments))}g(e,t,o,{once:!0}),"error"!==t&&function(e,t,r){"function"===typeof e.on&&g(e,"error",t,r)}(e,i,{once:!0})}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function a(e){if("function"!==typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function l(e,t,r,n){var i,o,s,l;if(a(r),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),s=o[t]),void 0===s)s=o[t]=r,++e._eventsCount;else if("function"===typeof s?s=o[t]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),(i=c(e))>0&&s.length>i&&!s.warned){s.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=s.length,l=u,console&&console.warn&&console.warn(l)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=u.bind(n);return i.listener=r,n.wrapFn=i,i}function d(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"===typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}(i):f(i,i.length)}function p(e){var t=this._events;if(void 0!==t){var r=t[e];if("function"===typeof r)return 1;if(void 0!==r)return r.length}return 0}function f(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function g(e,t,r,n){if("function"===typeof e.on)n.once?e.once(t,r):e.on(t,r);else{if("function"!==typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(o){n.once&&e.removeEventListener(t,i),r(o)}))}}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return s},set:function(e){if("number"!==typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");s=e}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!==typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return c(this)},o.prototype.emit=function(e){for(var t=[],r=1;r<arguments.length;r++)t.push(arguments[r]);var i="error"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(void 0===c)return!1;if("function"===typeof c)n(c,this,t);else{var l=c.length,u=f(c,l);for(r=0;r<l;++r)n(u[r],this,t)}return!0},o.prototype.addListener=function(e,t){return l(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return l(this,e,t,!0)},o.prototype.once=function(e,t){return a(t),this.on(e,h(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,h(this,e,t)),this},o.prototype.removeListener=function(e,t){var r,n,i,o,s;if(a(t),void 0===(n=this._events))return this;if(void 0===(r=n[e]))return this;if(r===t||r.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,r.listener||t));else if("function"!==typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===t||r[o].listener===t){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(r,i),1===r.length&&(n[e]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",e,s||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete r[e]),this;if(0===arguments.length){var i,o=Object.keys(r);for(n=0;n<o.length;++n)"removeListener"!==(i=o[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"===typeof(t=r[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},o.prototype.listeners=function(e){return d(this,e,!0)},o.prototype.rawListeners=function(e){return d(this,e,!1)},o.listenerCount=function(e,t){return"function"===typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},o.prototype.listenerCount=p,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},2799:e=>{e.exports=class{constructor(e){if(!(e>0)||0!==(e-1&e))throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return void 0===this.buffer[this.top]&&(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){const e=this.buffer[this.btm];if(void 0!==e)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}peek(){return this.buffer[this.btm]}isEmpty(){return void 0===this.buffer[this.btm]}}},3837:(e,t,r)=>{const n=r(2799);e.exports=class{constructor(e){this.hwm=e||16,this.head=new n(this.hwm),this.tail=this.head}push(e){if(!this.head.push(e)){const t=this.head;this.head=t.next=new n(2*this.head.buffer.length),this.head.push(e)}}shift(){const e=this.tail.shift();if(void 0===e&&this.tail.next){const e=this.tail.next;return this.tail.next=null,this.tail=e,this.tail.shift()}return e}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}},1026:(e,t,r)=>{var n;!function(){"use strict";var t="object"===typeof window?window:{};!t.HI_BASE32_NO_NODE_JS&&"object"===typeof process&&process.versions&&process.versions.node&&(t=r.g);var i=!t.HI_BASE32_NO_COMMON_JS&&e.exports,o=r.amdO,s="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".split(""),a={A:0,B:1,C:2,D:3,E:4,F:5,G:6,H:7,I:8,J:9,K:10,L:11,M:12,N:13,O:14,P:15,Q:16,R:17,S:18,T:19,U:20,V:21,W:22,X:23,Y:24,Z:25,2:26,3:27,4:28,5:29,6:30,7:31},c=[0,0,0,0,0,0,0,0],l=function(e,t){t.length>10&&(t="..."+t.substr(-10));var r=new Error("Decoded data is not valid UTF-8. Maybe try base32.decode.asBytes()? Partial data after reading "+e+" bytes: "+t+" <-");throw r.position=e,r},u=function(e){if(""===e)return[];if(!/^[A-Z2-7=]+$/.test(e))throw new Error("Invalid base32 characters");for(var t,r,n,i,o,s,c,l,u=[],h=0,d=(e=e.replace(/=/g,"")).length,p=0,f=d>>3<<3;p<f;)t=a[e.charAt(p++)],r=a[e.charAt(p++)],n=a[e.charAt(p++)],i=a[e.charAt(p++)],o=a[e.charAt(p++)],s=a[e.charAt(p++)],c=a[e.charAt(p++)],l=a[e.charAt(p++)],u[h++]=255&(t<<3|r>>>2),u[h++]=255&(r<<6|n<<1|i>>>4),u[h++]=255&(i<<4|o>>>1),u[h++]=255&(o<<7|s<<2|c>>>3),u[h++]=255&(c<<5|l);var g=d-f;return 2===g?(t=a[e.charAt(p++)],r=a[e.charAt(p++)],u[h++]=255&(t<<3|r>>>2)):4===g?(t=a[e.charAt(p++)],r=a[e.charAt(p++)],n=a[e.charAt(p++)],i=a[e.charAt(p++)],u[h++]=255&(t<<3|r>>>2),u[h++]=255&(r<<6|n<<1|i>>>4)):5===g?(t=a[e.charAt(p++)],r=a[e.charAt(p++)],n=a[e.charAt(p++)],i=a[e.charAt(p++)],o=a[e.charAt(p++)],u[h++]=255&(t<<3|r>>>2),u[h++]=255&(r<<6|n<<1|i>>>4),u[h++]=255&(i<<4|o>>>1)):7===g&&(t=a[e.charAt(p++)],r=a[e.charAt(p++)],n=a[e.charAt(p++)],i=a[e.charAt(p++)],o=a[e.charAt(p++)],s=a[e.charAt(p++)],c=a[e.charAt(p++)],u[h++]=255&(t<<3|r>>>2),u[h++]=255&(r<<6|n<<1|i>>>4),u[h++]=255&(i<<4|o>>>1),u[h++]=255&(o<<7|s<<2|c>>>3)),u},h=function(e,t){if(!t)return function(e){for(var t,r,n="",i=e.length,o=0,s=0;o<i;)if((t=e[o++])<=127)n+=String.fromCharCode(t);else{t>191&&t<=223?(r=31&t,s=1):t<=239?(r=15&t,s=2):t<=247?(r=7&t,s=3):l(o,n);for(var a=0;a<s;++a)((t=e[o++])<128||t>191)&&l(o,n),r<<=6,r+=63&t;r>=55296&&r<=57343&&l(o,n),r>1114111&&l(o,n),r<=65535?n+=String.fromCharCode(r):(r-=65536,n+=String.fromCharCode(55296+(r>>10)),n+=String.fromCharCode(56320+(1023&r)))}return n}(u(e));if(""===e)return"";if(!/^[A-Z2-7=]+$/.test(e))throw new Error("Invalid base32 characters");var r,n,i,o,s,c,h,d,p="",f=e.indexOf("=");-1===f&&(f=e.length);for(var g=0,y=f>>3<<3;g<y;)r=a[e.charAt(g++)],n=a[e.charAt(g++)],i=a[e.charAt(g++)],o=a[e.charAt(g++)],s=a[e.charAt(g++)],c=a[e.charAt(g++)],h=a[e.charAt(g++)],d=a[e.charAt(g++)],p+=String.fromCharCode(255&(r<<3|n>>>2))+String.fromCharCode(255&(n<<6|i<<1|o>>>4))+String.fromCharCode(255&(o<<4|s>>>1))+String.fromCharCode(255&(s<<7|c<<2|h>>>3))+String.fromCharCode(255&(h<<5|d));var m=f-y;return 2===m?(r=a[e.charAt(g++)],n=a[e.charAt(g++)],p+=String.fromCharCode(255&(r<<3|n>>>2))):4===m?(r=a[e.charAt(g++)],n=a[e.charAt(g++)],i=a[e.charAt(g++)],o=a[e.charAt(g++)],p+=String.fromCharCode(255&(r<<3|n>>>2))+String.fromCharCode(255&(n<<6|i<<1|o>>>4))):5===m?(r=a[e.charAt(g++)],n=a[e.charAt(g++)],i=a[e.charAt(g++)],o=a[e.charAt(g++)],s=a[e.charAt(g++)],p+=String.fromCharCode(255&(r<<3|n>>>2))+String.fromCharCode(255&(n<<6|i<<1|o>>>4))+String.fromCharCode(255&(o<<4|s>>>1))):7===m&&(r=a[e.charAt(g++)],n=a[e.charAt(g++)],i=a[e.charAt(g++)],o=a[e.charAt(g++)],s=a[e.charAt(g++)],c=a[e.charAt(g++)],h=a[e.charAt(g++)],p+=String.fromCharCode(255&(r<<3|n>>>2))+String.fromCharCode(255&(n<<6|i<<1|o>>>4))+String.fromCharCode(255&(o<<4|s>>>1))+String.fromCharCode(255&(s<<7|c<<2|h>>>3))),p},d={encode:function(e,t){var r="string"!==typeof e;return r&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),r?function(e){for(var t,r,n,i,o,a="",c=e.length,l=0,u=5*parseInt(c/5);l<u;)t=e[l++],r=e[l++],n=e[l++],i=e[l++],o=e[l++],a+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[31&(r<<4|n>>>4)]+s[31&(n<<1|i>>>7)]+s[i>>>2&31]+s[31&(i<<3|o>>>5)]+s[31&o];var h=c-u;return 1===h?(t=e[l],a+=s[t>>>3]+s[t<<2&31]+"======"):2===h?(t=e[l++],r=e[l],a+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[r<<4&31]+"===="):3===h?(t=e[l++],r=e[l++],n=e[l],a+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[31&(r<<4|n>>>4)]+s[n<<1&31]+"==="):4===h&&(t=e[l++],r=e[l++],n=e[l++],i=e[l],a+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[31&(r<<4|n>>>4)]+s[31&(n<<1|i>>>7)]+s[i>>>2&31]+s[i<<3&31]+"="),a}(e):t?function(e){for(var t,r,n,i,o,a="",c=e.length,l=0,u=5*parseInt(c/5);l<u;)t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),i=e.charCodeAt(l++),o=e.charCodeAt(l++),a+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[31&(r<<4|n>>>4)]+s[31&(n<<1|i>>>7)]+s[i>>>2&31]+s[31&(i<<3|o>>>5)]+s[31&o];var h=c-u;return 1===h?(t=e.charCodeAt(l),a+=s[t>>>3]+s[t<<2&31]+"======"):2===h?(t=e.charCodeAt(l++),r=e.charCodeAt(l),a+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[r<<4&31]+"===="):3===h?(t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l),a+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[31&(r<<4|n>>>4)]+s[n<<1&31]+"==="):4===h&&(t=e.charCodeAt(l++),r=e.charCodeAt(l++),n=e.charCodeAt(l++),i=e.charCodeAt(l),a+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[31&(r<<4|n>>>4)]+s[31&(n<<1|i>>>7)]+s[i>>>2&31]+s[i<<3&31]+"="),a}(e):function(e){var t,r,n,i,o,a,l,u=!1,h="",d=0,p=0,f=e.length;if(""===e)return h;do{for(c[0]=c[5],c[1]=c[6],c[2]=c[7],l=p;d<f&&l<5;++d)(a=e.charCodeAt(d))<128?c[l++]=a:a<2048?(c[l++]=192|a>>6,c[l++]=128|63&a):a<55296||a>=57344?(c[l++]=224|a>>12,c[l++]=128|a>>6&63,c[l++]=128|63&a):(a=65536+((1023&a)<<10|1023&e.charCodeAt(++d)),c[l++]=240|a>>18,c[l++]=128|a>>12&63,c[l++]=128|a>>6&63,c[l++]=128|63&a);p=l-5,d===f&&++d,d>f&&l<6&&(u=!0),t=c[0],l>4?(r=c[1],n=c[2],i=c[3],o=c[4],h+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[31&(r<<4|n>>>4)]+s[31&(n<<1|i>>>7)]+s[i>>>2&31]+s[31&(i<<3|o>>>5)]+s[31&o]):1===l?h+=s[t>>>3]+s[t<<2&31]+"======":2===l?(r=c[1],h+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[r<<4&31]+"===="):3===l?(r=c[1],n=c[2],h+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[31&(r<<4|n>>>4)]+s[n<<1&31]+"==="):(r=c[1],n=c[2],i=c[3],h+=s[t>>>3]+s[31&(t<<2|r>>>6)]+s[r>>>1&31]+s[31&(r<<4|n>>>4)]+s[31&(n<<1|i>>>7)]+s[i>>>2&31]+s[i<<3&31]+"=")}while(!u);return h}(e)},decode:h};h.asBytes=u,i?e.exports=d:(t.base32=d,o&&(void 0===(n=function(){return d}.call(d,r,d,e))||(e.exports=n)))}()},7967:function(e){!function(t){"use strict";const r="(0?\\d+|0x[a-f0-9]+)",n={fourOctet:new RegExp("^".concat(r,"\\.").concat(r,"\\.").concat(r,"\\.").concat(r,"$"),"i"),threeOctet:new RegExp("^".concat(r,"\\.").concat(r,"\\.").concat(r,"$"),"i"),twoOctet:new RegExp("^".concat(r,"\\.").concat(r,"$"),"i"),longValue:new RegExp("^".concat(r,"$"),"i")},i=new RegExp("^0[0-7]+$","i"),o=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",a="(?:[0-9a-f]+::?)+",c={zoneIndex:new RegExp(s,"i"),native:new RegExp("^(::)?(".concat(a,")?([0-9a-f]+)?(::)?(").concat(s,")?$"),"i"),deprecatedTransitional:new RegExp("^(?:::)(".concat(r,"\\.").concat(r,"\\.").concat(r,"\\.").concat(r,"(").concat(s,")?)$"),"i"),transitional:new RegExp("^((?:".concat(a,")|(?:::)(?:").concat(a,")?)").concat(r,"\\.").concat(r,"\\.").concat(r,"\\.").concat(r,"(").concat(s,")?$"),"i")};function l(e,t){if(e.indexOf("::")!==e.lastIndexOf("::"))return null;let r,n,i=0,o=-1,s=(e.match(c.zoneIndex)||[])[0];for(s&&(s=s.substring(1),e=e.replace(/%.+$/,""));(o=e.indexOf(":",o+1))>=0;)i++;if("::"===e.substr(0,2)&&i--,"::"===e.substr(-2,2)&&i--,i>t)return null;for(n=t-i,r=":";n--;)r+="0:";return":"===(e=e.replace("::",r))[0]&&(e=e.slice(1)),":"===e[e.length-1]&&(e=e.slice(0,-1)),{parts:t=function(){const t=e.split(":"),r=[];for(let e=0;e<t.length;e++)r.push(parseInt(t[e],16));return r}(),zoneId:s}}function u(e,t,r,n){if(e.length!==t.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let i,o=0;for(;n>0;){if(i=r-n,i<0&&(i=0),e[o]>>i!==t[o]>>i)return!1;n-=r,o+=1}return!0}function h(e){if(o.test(e))return parseInt(e,16);if("0"===e[0]&&!isNaN(parseInt(e[1],10))){if(i.test(e))return parseInt(e,8);throw new Error("ipaddr: cannot parse ".concat(e," as octal"))}return parseInt(e,10)}function d(e,t){for(;e.length<t;)e="0".concat(e);return e}const p={};p.IPv4=function(){function e(e){if(4!==e.length)throw new Error("ipaddr: ipv4 octet count should be 4");let t,r;for(t=0;t<e.length;t++)if(r=e[t],!(0<=r&&r<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=e}return e.prototype.SpecialRanges={unspecified:[[new e([0,0,0,0]),8]],broadcast:[[new e([255,255,255,255]),32]],multicast:[[new e([224,0,0,0]),4]],linkLocal:[[new e([169,254,0,0]),16]],loopback:[[new e([127,0,0,0]),8]],carrierGradeNat:[[new e([100,64,0,0]),10]],private:[[new e([10,0,0,0]),8],[new e([172,16,0,0]),12],[new e([192,168,0,0]),16]],reserved:[[new e([192,0,0,0]),24],[new e([192,0,2,0]),24],[new e([192,88,99,0]),24],[new e([198,51,100,0]),24],[new e([203,0,113,0]),24],[new e([240,0,0,0]),4]]},e.prototype.kind=function(){return"ipv4"},e.prototype.match=function(e,t){let r;if(void 0===t&&(r=e,e=r[0],t=r[1]),"ipv4"!==e.kind())throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,e.octets,8,t)},e.prototype.prefixLengthFromSubnetMask=function(){let e=0,t=!1;const r={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let n,i,o;for(n=3;n>=0;n-=1){if(i=this.octets[n],!(i in r))return null;if(o=r[i],t&&0!==o)return null;8!==o&&(t=!0),e+=o}return 32-e},e.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},e.prototype.toByteArray=function(){return this.octets.slice(0)},e.prototype.toIPv4MappedAddress=function(){return p.IPv6.parse("::ffff:".concat(this.toString()))},e.prototype.toNormalizedString=function(){return this.toString()},e.prototype.toString=function(){return this.octets.join(".")},e}(),p.IPv4.broadcastAddressFromCIDR=function(e){try{const t=this.parseCIDR(e),r=t[0].toByteArray(),n=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),i=[];let o=0;for(;o<4;)i.push(parseInt(r[o],10)|255^parseInt(n[o],10)),o++;return new this(i)}catch(t){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.isIPv4=function(e){return null!==this.parser(e)},p.IPv4.isValid=function(e){try{return new this(this.parser(e)),!0}catch(t){return!1}},p.IPv4.isValidFourPartDecimal=function(e){return!(!p.IPv4.isValid(e)||!e.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},p.IPv4.networkAddressFromCIDR=function(e){let t,r,n,i,o;try{for(t=this.parseCIDR(e),n=t[0].toByteArray(),o=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),i=[],r=0;r<4;)i.push(parseInt(n[r],10)&parseInt(o[r],10)),r++;return new this(i)}catch(s){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.parse=function(e){const t=this.parser(e);if(null===t)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(t)},p.IPv4.parseCIDR=function(e){let t;if(t=e.match(/^(.+)\/(\d+)$/)){const e=parseInt(t[2]);if(e>=0&&e<=32){const r=[this.parse(t[1]),e];return Object.defineProperty(r,"toString",{value:function(){return this.join("/")}}),r}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},p.IPv4.parser=function(e){let t,r,i;if(t=e.match(n.fourOctet))return function(){const e=t.slice(1,6),n=[];for(let t=0;t<e.length;t++)r=e[t],n.push(h(r));return n}();if(t=e.match(n.longValue)){if(i=h(t[1]),i>4294967295||i<0)throw new Error("ipaddr: address outside defined range");return function(){const e=[];let t;for(t=0;t<=24;t+=8)e.push(i>>t&255);return e}().reverse()}return(t=e.match(n.twoOctet))?function(){const e=t.slice(1,4),r=[];if(i=h(e[1]),i>16777215||i<0)throw new Error("ipaddr: address outside defined range");return r.push(h(e[0])),r.push(i>>16&255),r.push(i>>8&255),r.push(255&i),r}():(t=e.match(n.threeOctet))?function(){const e=t.slice(1,5),r=[];if(i=h(e[2]),i>65535||i<0)throw new Error("ipaddr: address outside defined range");return r.push(h(e[0])),r.push(h(e[1])),r.push(i>>8&255),r.push(255&i),r}():null},p.IPv4.subnetMaskFromPrefixLength=function(e){if((e=parseInt(e))<0||e>32)throw new Error("ipaddr: invalid IPv4 prefix length");const t=[0,0,0,0];let r=0;const n=Math.floor(e/8);for(;r<n;)t[r]=255,r++;return n<4&&(t[n]=Math.pow(2,e%8)-1<<8-e%8),new this(t)},p.IPv6=function(){function e(e,t){let r,n;if(16===e.length)for(this.parts=[],r=0;r<=14;r+=2)this.parts.push(e[r]<<8|e[r+1]);else{if(8!==e.length)throw new Error("ipaddr: ipv6 part count should be 8 or 16");this.parts=e}for(r=0;r<this.parts.length;r++)if(n=this.parts[r],!(0<=n&&n<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");t&&(this.zoneId=t)}return e.prototype.SpecialRanges={unspecified:[new e([0,0,0,0,0,0,0,0]),128],linkLocal:[new e([65152,0,0,0,0,0,0,0]),10],multicast:[new e([65280,0,0,0,0,0,0,0]),8],loopback:[new e([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new e([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new e([0,0,0,0,0,65535,0,0]),96],rfc6145:[new e([0,0,0,0,65535,0,0,0]),96],rfc6052:[new e([100,65435,0,0,0,0,0,0]),96],"6to4":[new e([8194,0,0,0,0,0,0,0]),16],teredo:[new e([8193,0,0,0,0,0,0,0]),32],reserved:[[new e([8193,3512,0,0,0,0,0,0]),32]]},e.prototype.isIPv4MappedAddress=function(){return"ipv4Mapped"===this.range()},e.prototype.kind=function(){return"ipv6"},e.prototype.match=function(e,t){let r;if(void 0===t&&(r=e,e=r[0],t=r[1]),"ipv6"!==e.kind())throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,e.parts,16,t)},e.prototype.prefixLengthFromSubnetMask=function(){let e=0,t=!1;const r={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0};let n,i;for(let o=7;o>=0;o-=1){if(n=this.parts[o],!(n in r))return null;if(i=r[n],t&&0!==i)return null;16!==i&&(t=!0),e+=i}return 128-e},e.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},e.prototype.toByteArray=function(){let e;const t=[],r=this.parts;for(let n=0;n<r.length;n++)e=r[n],t.push(e>>8),t.push(255&e);return t},e.prototype.toFixedLengthString=function(){const e=function(){const e=[];for(let t=0;t<this.parts.length;t++)e.push(d(this.parts[t].toString(16),4));return e}.call(this).join(":");let t="";return this.zoneId&&(t="%".concat(this.zoneId)),e+t},e.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");const e=this.parts.slice(-2),t=e[0],r=e[1];return new p.IPv4([t>>8,255&t,r>>8,255&r])},e.prototype.toNormalizedString=function(){const e=function(){const e=[];for(let t=0;t<this.parts.length;t++)e.push(this.parts[t].toString(16));return e}.call(this).join(":");let t="";return this.zoneId&&(t="%".concat(this.zoneId)),e+t},e.prototype.toRFC5952String=function(){const e=/((^|:)(0(:|$)){2,})/g,t=this.toNormalizedString();let r,n=0,i=-1;for(;r=e.exec(t);)r[0].length>i&&(n=r.index,i=r[0].length);return i<0?t:"".concat(t.substring(0,n),"::").concat(t.substring(n+i))},e.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},e}(),p.IPv6.broadcastAddressFromCIDR=function(e){try{const t=this.parseCIDR(e),r=t[0].toByteArray(),n=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),i=[];let o=0;for(;o<16;)i.push(parseInt(r[o],10)|255^parseInt(n[o],10)),o++;return new this(i)}catch(t){throw new Error("ipaddr: the address does not have IPv6 CIDR format (".concat(t,")"))}},p.IPv6.isIPv6=function(e){return null!==this.parser(e)},p.IPv6.isValid=function(e){if("string"===typeof e&&-1===e.indexOf(":"))return!1;try{const t=this.parser(e);return new this(t.parts,t.zoneId),!0}catch(t){return!1}},p.IPv6.networkAddressFromCIDR=function(e){let t,r,n,i,o;try{for(t=this.parseCIDR(e),n=t[0].toByteArray(),o=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),i=[],r=0;r<16;)i.push(parseInt(n[r],10)&parseInt(o[r],10)),r++;return new this(i)}catch(s){throw new Error("ipaddr: the address does not have IPv6 CIDR format (".concat(s,")"))}},p.IPv6.parse=function(e){const t=this.parser(e);if(null===t.parts)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(t.parts,t.zoneId)},p.IPv6.parseCIDR=function(e){let t,r,n;if((r=e.match(/^(.+)\/(\d+)$/))&&(t=parseInt(r[2]),t>=0&&t<=128))return n=[this.parse(r[1]),t],Object.defineProperty(n,"toString",{value:function(){return this.join("/")}}),n;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},p.IPv6.parser=function(e){let t,r,n,i,o,s;if(n=e.match(c.deprecatedTransitional))return this.parser("::ffff:".concat(n[1]));if(c.native.test(e))return l(e,8);if((n=e.match(c.transitional))&&(s=n[6]||"",t=l(n[1].slice(0,-1)+s,6),t.parts)){for(o=[parseInt(n[2]),parseInt(n[3]),parseInt(n[4]),parseInt(n[5])],r=0;r<o.length;r++)if(i=o[r],!(0<=i&&i<=255))return null;return t.parts.push(o[0]<<8|o[1]),t.parts.push(o[2]<<8|o[3]),{parts:t.parts,zoneId:t.zoneId}}return null},p.IPv6.subnetMaskFromPrefixLength=function(e){if((e=parseInt(e))<0||e>128)throw new Error("ipaddr: invalid IPv6 prefix length");const t=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let r=0;const n=Math.floor(e/8);for(;r<n;)t[r]=255,r++;return n<16&&(t[n]=Math.pow(2,e%8)-1<<8-e%8),new this(t)},p.fromByteArray=function(e){const t=e.length;if(4===t)return new p.IPv4(e);if(16===t)return new p.IPv6(e);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},p.isValid=function(e){return p.IPv6.isValid(e)||p.IPv4.isValid(e)},p.parse=function(e){if(p.IPv6.isValid(e))return p.IPv6.parse(e);if(p.IPv4.isValid(e))return p.IPv4.parse(e);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},p.parseCIDR=function(e){try{return p.IPv6.parseCIDR(e)}catch(t){try{return p.IPv4.parseCIDR(e)}catch(r){throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},p.process=function(e){const t=this.parse(e);return"ipv6"===t.kind()&&t.isIPv4MappedAddress()?t.toIPv4Address():t},p.subnetMatch=function(e,t,r){let n,i,o,s;for(i in void 0!==r&&null!==r||(r="unicast"),t)if(Object.prototype.hasOwnProperty.call(t,i))for(o=t[i],!o[0]||o[0]instanceof Array||(o=[o]),n=0;n<o.length;n++)if(s=o[n],e.kind()===s[0].kind()&&e.match.apply(e,s))return i;return r},e.exports?e.exports=p:t.ipaddr=p}(this)},6956:e=>{e.exports=function(){return"undefined"!==typeof window&&"object"===typeof window.process&&"renderer"===window.process.type||(!("undefined"===typeof process||"object"!==typeof process.versions||!process.versions.electron)||"object"===typeof navigator&&"string"===typeof navigator.userAgent&&navigator.userAgent.indexOf("Electron")>=0)}},3181:e=>{"use strict";e.exports=e=>{if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}},4114:(e,t,r)=>{"use strict";const{URLWithLegacySupport:n,format:i,URLSearchParams:o,defaultBase:s}=r(7401),a=r(8637);e.exports={URL:n,URLSearchParams:o,format:i,relative:a,defaultBase:s}},8637:(e,t,r)=>{"use strict";const{URLWithLegacySupport:n,format:i}=r(7401);e.exports=function(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3?arguments[3]:void 0,a=r.protocol?r.protocol.replace(":",""):"http";a=(o[a]||s||a)+":";try{t=new n(e)}catch(l){t={}}const c=Object.assign({},r,{protocol:a||t.protocol,host:r.host||t.host});return new n(e,i(c)).toString()}},7401:e=>{"use strict";const t="undefined"!==typeof navigator&&"ReactNative"===navigator.product;const r=self.URL,n=t?"http://localhost":self.location?self.location.protocol+"//"+self.location.host:"";e.exports={URLWithLegacySupport:class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n;this.super=new r(e,t),this.path=this.pathname+this.search,this.auth=this.username&&this.password?this.username+":"+this.password:null,this.query=this.search&&this.search.startsWith("?")?this.search.slice(1):null}get hash(){return this.super.hash}get host(){return this.super.host}get hostname(){return this.super.hostname}get href(){return this.super.href}get origin(){return this.super.origin}get password(){return this.super.password}get pathname(){return this.super.pathname}get port(){return this.super.port}get protocol(){return this.super.protocol}get search(){return this.super.search}get searchParams(){return this.super.searchParams}get username(){return this.super.username}set hash(e){this.super.hash=e}set host(e){this.super.host=e}set hostname(e){this.super.hostname=e}set href(e){this.super.href=e}set password(e){this.super.password=e}set pathname(e){this.super.pathname=e}set port(e){this.super.port=e}set protocol(e){this.super.protocol=e}set search(e){this.super.search=e}set username(e){this.super.username=e}static createObjectURL(e){return r.createObjectURL(e)}static revokeObjectURL(e){r.revokeObjectURL(e)}toJSON(){return this.super.toJSON()}toString(){return this.super.toString()}format(){return this.toString()}},URLSearchParams:self.URLSearchParams,defaultBase:n,format:function(e){if("string"===typeof e){return new r(e).toString()}if(!(e instanceof r)){const t=e.username&&e.password?"".concat(e.username,":").concat(e.password,"@"):"",r=e.auth?e.auth+"@":"",n=e.port?":"+e.port:"",i=e.protocol?e.protocol+"//":"",o=e.host||"",s=e.hostname||"",a=e.search||(e.query?"?"+e.query:""),c=e.hash||"",l=e.pathname||"",u=e.path||l+a;return"".concat(i).concat(t||r).concat(o||s+n).concat(u).concat(c)}}}},7676:(e,t,r)=>{var n;!function(){"use strict";var i="input is invalid type",o="object"===typeof window,s=o?window:{};s.JS_SHA3_NO_WINDOW&&(o=!1);var a=!o&&"object"===typeof self;!s.JS_SHA3_NO_NODE_JS&&"object"===typeof process&&process.versions&&process.versions.node?s=r.g:a&&(s=self);var c=!s.JS_SHA3_NO_COMMON_JS&&e.exports,l=r.amdO,u=!s.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!==typeof ArrayBuffer,h="0123456789abcdef".split(""),d=[4,1024,262144,67108864],p=[0,8,16,24],f=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],g=[224,256,384,512],y=[128,256],m=["hex","buffer","arrayBuffer","array","digest"],v={128:168,256:136};!s.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!u||!s.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"===typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var b=function(e,t,r){return function(n){return new x(e,t,e).update(n)[r]()}},w=function(e,t,r){return function(n,i){return new x(e,t,i).update(n)[r]()}},E=function(e,t,r){return function(t,n,i,o){return I["cshake"+e].update(t,n,i,o)[r]()}},_=function(e,t,r){return function(t,n,i,o){return I["kmac"+e].update(t,n,i,o)[r]()}},S=function(e,t,r,n){for(var i=0;i<m.length;++i){var o=m[i];e[o]=t(r,n,o)}return e},A=function(e,t){var r=b(e,t,"hex");return r.create=function(){return new x(e,t,e)},r.update=function(e){return r.create().update(e)},S(r,b,e,t)},C=[{name:"keccak",padding:[1,256,65536,16777216],bits:g,createMethod:A},{name:"sha3",padding:[6,1536,393216,100663296],bits:g,createMethod:A},{name:"shake",padding:[31,7936,2031616,520093696],bits:y,createMethod:function(e,t){var r=w(e,t,"hex");return r.create=function(r){return new x(e,t,r)},r.update=function(e,t){return r.create(t).update(e)},S(r,w,e,t)}},{name:"cshake",padding:d,bits:y,createMethod:function(e,t){var r=v[e],n=E(e,0,"hex");return n.create=function(n,i,o){return i||o?new x(e,t,n).bytepad([i,o],r):I["shake"+e].create(n)},n.update=function(e,t,r,i){return n.create(t,r,i).update(e)},S(n,E,e,t)}},{name:"kmac",padding:d,bits:y,createMethod:function(e,t){var r=v[e],n=_(e,0,"hex");return n.create=function(n,i,o){return new O(e,t,i).bytepad(["KMAC",o],r).bytepad([n],r)},n.update=function(e,t,r,i){return n.create(e,r,i).update(t)},S(n,_,e,t)}}],I={},T=[],k=0;k<C.length;++k)for(var R=C[k],P=R.bits,D=0;D<P.length;++D){var N=R.name+"_"+P[D];if(T.push(N),I[N]=R.createMethod(P[D],R.padding),"sha3"!==R.name){var L=R.name+P[D];T.push(L),I[L]=I[N]}}function x(e,t,r){this.blocks=[],this.s=[],this.padding=t,this.outputBits=r,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(e<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}function O(e,t,r){x.call(this,e,t,r)}x.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var t,r=typeof e;if("string"!==r){if("object"!==r)throw new Error(i);if(null===e)throw new Error(i);if(u&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!u||!ArrayBuffer.isView(e)))throw new Error(i);t=!0}for(var n,o,s=this.blocks,a=this.byteCount,c=e.length,l=this.blockCount,h=0,d=this.s;h<c;){if(this.reset)for(this.reset=!1,s[0]=this.block,n=1;n<l+1;++n)s[n]=0;if(t)for(n=this.start;h<c&&n<a;++h)s[n>>2]|=e[h]<<p[3&n++];else for(n=this.start;h<c&&n<a;++h)(o=e.charCodeAt(h))<128?s[n>>2]|=o<<p[3&n++]:o<2048?(s[n>>2]|=(192|o>>6)<<p[3&n++],s[n>>2]|=(128|63&o)<<p[3&n++]):o<55296||o>=57344?(s[n>>2]|=(224|o>>12)<<p[3&n++],s[n>>2]|=(128|o>>6&63)<<p[3&n++],s[n>>2]|=(128|63&o)<<p[3&n++]):(o=65536+((1023&o)<<10|1023&e.charCodeAt(++h)),s[n>>2]|=(240|o>>18)<<p[3&n++],s[n>>2]|=(128|o>>12&63)<<p[3&n++],s[n>>2]|=(128|o>>6&63)<<p[3&n++],s[n>>2]|=(128|63&o)<<p[3&n++]);if(this.lastByteIndex=n,n>=a){for(this.start=n-a,this.block=s[l],n=0;n<l;++n)d[n]^=s[n];B(d),this.reset=!0}else this.start=n}return this},x.prototype.encode=function(e,t){var r=255&e,n=1,i=[r];for(r=255&(e>>=8);r>0;)i.unshift(r),r=255&(e>>=8),++n;return t?i.push(n):i.unshift(n),this.update(i),i.length},x.prototype.encodeString=function(e){var t,r=typeof e;if("string"!==r){if("object"!==r)throw new Error(i);if(null===e)throw new Error(i);if(u&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!u||!ArrayBuffer.isView(e)))throw new Error(i);t=!0}var n=0,o=e.length;if(t)n=o;else for(var s=0;s<e.length;++s){var a=e.charCodeAt(s);a<128?n+=1:a<2048?n+=2:a<55296||a>=57344?n+=3:(a=65536+((1023&a)<<10|1023&e.charCodeAt(++s)),n+=4)}return n+=this.encode(8*n),this.update(e),n},x.prototype.bytepad=function(e,t){for(var r=this.encode(t),n=0;n<e.length;++n)r+=this.encodeString(e[n]);var i=t-r%t,o=[];return o.length=i,this.update(o),this},x.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex,r=this.blockCount,n=this.s;if(e[t>>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t<r+1;++t)e[t]=0;for(e[r-1]|=2147483648,t=0;t<r;++t)n[t]^=e[t];B(n)}},x.prototype.toString=x.prototype.hex=function(){this.finalize();for(var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,s=0,a="";s<n;){for(o=0;o<t&&s<n;++o,++s)e=r[o],a+=h[e>>4&15]+h[15&e]+h[e>>12&15]+h[e>>8&15]+h[e>>20&15]+h[e>>16&15]+h[e>>28&15]+h[e>>24&15];s%t===0&&(B(r),o=0)}return i&&(e=r[o],a+=h[e>>4&15]+h[15&e],i>1&&(a+=h[e>>12&15]+h[e>>8&15]),i>2&&(a+=h[e>>20&15]+h[e>>16&15])),a},x.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,s=0,a=this.outputBits>>3;e=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(a);for(var c=new Uint32Array(e);s<n;){for(o=0;o<t&&s<n;++o,++s)c[s]=r[o];s%t===0&&B(r)}return i&&(c[o]=r[o],e=e.slice(0,a)),e},x.prototype.buffer=x.prototype.arrayBuffer,x.prototype.digest=x.prototype.array=function(){this.finalize();for(var e,t,r=this.blockCount,n=this.s,i=this.outputBlocks,o=this.extraBytes,s=0,a=0,c=[];a<i;){for(s=0;s<r&&a<i;++s,++a)e=a<<2,t=n[s],c[e]=255&t,c[e+1]=t>>8&255,c[e+2]=t>>16&255,c[e+3]=t>>24&255;a%r===0&&B(n)}return o&&(e=a<<2,t=n[s],c[e]=255&t,o>1&&(c[e+1]=t>>8&255),o>2&&(c[e+2]=t>>16&255)),c},O.prototype=new x,O.prototype.finalize=function(){return this.encode(this.outputBits,!0),x.prototype.finalize.call(this)};var B=function(e){var t,r,n,i,o,s,a,c,l,u,h,d,p,g,y,m,v,b,w,E,_,S,A,C,I,T,k,R,P,D,N,L,x,O,B,M,U,F,V,j,z,K,q,H,G,W,Q,Y,X,J,$,Z,ee,te,re,ne,ie,oe,se,ae,ce,le,ue;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],a=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],l=e[5]^e[15]^e[25]^e[35]^e[45],u=e[6]^e[16]^e[26]^e[36]^e[46],h=e[7]^e[17]^e[27]^e[37]^e[47],t=(d=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|a>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(a<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(c<<1|l>>>31),r=o^(l<<1|c>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(u<<1|h>>>31),r=a^(h<<1|u>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=c^(d<<1|p>>>31),r=l^(p<<1|d>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=u^(i<<1|o>>>31),r=h^(o<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,g=e[0],y=e[1],W=e[11]<<4|e[10]>>>28,Q=e[10]<<4|e[11]>>>28,R=e[20]<<3|e[21]>>>29,P=e[21]<<3|e[20]>>>29,ae=e[31]<<9|e[30]>>>23,ce=e[30]<<9|e[31]>>>23,K=e[40]<<18|e[41]>>>14,q=e[41]<<18|e[40]>>>14,O=e[2]<<1|e[3]>>>31,B=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Y=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,D=e[33]<<13|e[32]>>>19,N=e[32]<<13|e[33]>>>19,le=e[42]<<2|e[43]>>>30,ue=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,M=e[14]<<6|e[15]>>>26,U=e[15]<<6|e[14]>>>26,b=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,J=e[34]<<15|e[35]>>>17,$=e[35]<<15|e[34]>>>17,L=e[45]<<29|e[44]>>>3,x=e[44]<<29|e[45]>>>3,C=e[6]<<28|e[7]>>>4,I=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,F=e[26]<<25|e[27]>>>7,V=e[27]<<25|e[26]>>>7,E=e[36]<<21|e[37]>>>11,_=e[37]<<21|e[36]>>>11,Z=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,H=e[8]<<27|e[9]>>>5,G=e[9]<<27|e[8]>>>5,T=e[18]<<20|e[19]>>>12,k=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,se=e[28]<<7|e[29]>>>25,j=e[38]<<8|e[39]>>>24,z=e[39]<<8|e[38]>>>24,S=e[48]<<14|e[49]>>>18,A=e[49]<<14|e[48]>>>18,e[0]=g^~m&b,e[1]=y^~v&w,e[10]=C^~T&R,e[11]=I^~k&P,e[20]=O^~M&F,e[21]=B^~U&V,e[30]=H^~W&Y,e[31]=G^~Q&X,e[40]=te^~ne&oe,e[41]=re^~ie&se,e[2]=m^~b&E,e[3]=v^~w&_,e[12]=T^~R&D,e[13]=k^~P&N,e[22]=M^~F&j,e[23]=U^~V&z,e[32]=W^~Y&J,e[33]=Q^~X&$,e[42]=ne^~oe&ae,e[43]=ie^~se&ce,e[4]=b^~E&S,e[5]=w^~_&A,e[14]=R^~D&L,e[15]=P^~N&x,e[24]=F^~j&K,e[25]=V^~z&q,e[34]=Y^~J&Z,e[35]=X^~$&ee,e[44]=oe^~ae&le,e[45]=se^~ce&ue,e[6]=E^~S&g,e[7]=_^~A&y,e[16]=D^~L&C,e[17]=N^~x&I,e[26]=j^~K&O,e[27]=z^~q&B,e[36]=J^~Z&H,e[37]=$^~ee&G,e[46]=ae^~le&te,e[47]=ce^~ue&re,e[8]=S^~g&m,e[9]=A^~y&v,e[18]=L^~C&T,e[19]=x^~I&k,e[28]=K^~O&M,e[29]=q^~B&U,e[38]=Z^~H&W,e[39]=ee^~G&Q,e[48]=le^~te&ne,e[49]=ue^~re&ie,e[0]^=f[n],e[1]^=f[n+1]};if(c)e.exports=I;else{for(k=0;k<T.length;++k)s[T[k]]=I[T[k]];l&&(void 0===(n=function(){return I}.call(t,r,t,e))||(e.exports=n))}}()},308:function(e,t,r){"use strict";const n=r(3181),{hasOwnProperty:i}=Object.prototype,{propertyIsEnumerable:o}=Object,s=(e,t,r)=>Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0}),a=this,c={concatArrays:!1,ignoreUndefined:!1},l=e=>{const t=[];for(const r in e)i.call(e,r)&&t.push(r);if(Object.getOwnPropertySymbols){const r=Object.getOwnPropertySymbols(e);for(const n of r)o.call(e,n)&&t.push(n)}return t};function u(e){return Array.isArray(e)?function(e){const t=e.slice(0,0);return l(e).forEach((r=>{s(t,r,u(e[r]))})),t}(e):n(e)?function(e){const t=null===Object.getPrototypeOf(e)?Object.create(null):{};return l(e).forEach((r=>{s(t,r,u(e[r]))})),t}(e):e}const h=(e,t,r,n)=>(r.forEach((r=>{"undefined"===typeof t[r]&&n.ignoreUndefined||(r in e&&e[r]!==Object.getPrototypeOf(e)?s(e,r,d(e[r],t[r],n)):s(e,r,u(t[r])))})),e);function d(e,t,r){return r.concatArrays&&Array.isArray(e)&&Array.isArray(t)?((e,t,r)=>{let n=e.slice(0,0),o=0;return[e,t].forEach((t=>{const a=[];for(let r=0;r<t.length;r++)i.call(t,r)&&(a.push(String(r)),s(n,o++,t===e?t[r]:u(t[r])));n=h(n,t,l(t).filter((e=>!a.includes(e))),r)})),n})(e,t,r):n(t)&&n(e)?h(e,t,l(t),r):u(t)}e.exports=function(){const e=d(u(c),this!==a&&this||{},c);let t={_:{}};for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];for(const s of i)if(void 0!==s){if(!n(s))throw new TypeError("`"+s+"` is not an Option Object");t=d(t,{_:s},e)}return t._}},5187:e=>{var t=1e3,r=60*t,n=60*r,i=24*n,o=7*i,s=365.25*i;function a(e,t,r,n){var i=t>=1.5*r;return Math.round(e/r)+" "+n+(i?"s":"")}e.exports=function(e,c){c=c||{};var l=typeof e;if("string"===l&&e.length>0)return function(e){if((e=String(e)).length>100)return;var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!a)return;var c=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return c*s;case"weeks":case"week":case"w":return c*o;case"days":case"day":case"d":return c*i;case"hours":case"hour":case"hrs":case"hr":case"h":return c*n;case"minutes":case"minute":case"mins":case"min":case"m":return c*r;case"seconds":case"second":case"secs":case"sec":case"s":return c*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return c;default:return}}(e);if("number"===l&&isFinite(e))return c.long?function(e){var o=Math.abs(e);if(o>=i)return a(e,o,i,"day");if(o>=n)return a(e,o,n,"hour");if(o>=r)return a(e,o,r,"minute");if(o>=t)return a(e,o,t,"second");return e+" ms"}(e):function(e){var o=Math.abs(e);if(o>=i)return Math.round(e/i)+"d";if(o>=n)return Math.round(e/n)+"h";if(o>=r)return Math.round(e/r)+"m";if(o>=t)return Math.round(e/t)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},5181:function(e,t){(function(){var e,r,n,i,o,s,a,c;c=function(e){return[(e&255<<24)>>>24,(e&255<<16)>>>16,(65280&e)>>>8,255&e].join(".")},a=function(e){var t,n,i,o,s,a;for(t=[],i=o=0;o<=3&&0!==e.length;i=++o){if(i>0){if("."!==e[0])throw new Error("Invalid IP");e=e.substring(1)}s=(a=r(e))[0],n=a[1],e=e.substring(n),t.push(s)}if(0!==e.length)throw new Error("Invalid IP");switch(t.length){case 1:if(t[0]>4294967295)throw new Error("Invalid IP");return t[0]>>>0;case 2:if(t[0]>255||t[1]>16777215)throw new Error("Invalid IP");return(t[0]<<24|t[1])>>>0;case 3:if(t[0]>255||t[1]>255||t[2]>65535)throw new Error("Invalid IP");return(t[0]<<24|t[1]<<16|t[2])>>>0;case 4:if(t[0]>255||t[1]>255||t[2]>255||t[3]>255)throw new Error("Invalid IP");return(t[0]<<24|t[1]<<16|t[2]<<8|t[3])>>>0;default:throw new Error("Invalid IP")}},i=(n=function(e){return e.charCodeAt(0)})("0"),s=n("a"),o=n("A"),r=function(e){var t,r,a,c,l;for(c=0,t=10,r="9",a=0,e.length>1&&"0"===e[a]&&("x"===e[a+1]||"X"===e[a+1]?(a+=2,t=16):"0"<=e[a+1]&&e[a+1]<="9"&&(a++,t=8,r="7")),l=a;a<e.length;){if("0"<=e[a]&&e[a]<=r)c=c*t+(n(e[a])-i)>>>0;else{if(16!==t)break;if("a"<=e[a]&&e[a]<="f")c=c*t+(10+n(e[a])-s)>>>0;else{if(!("A"<=e[a]&&e[a]<="F"))break;c=c*t+(10+n(e[a])-o)>>>0}}if(c>4294967295)throw new Error("too large");a++}if(a===l)throw new Error("empty octet");return[c,a]},e=function(){function e(e,t){var r,n,i;if("string"!==typeof e)throw new Error("Missing `net' parameter");if(t||(i=e.split("/",2),e=i[0],t=i[1]),t||(t=32),"string"===typeof t&&t.indexOf(".")>-1){try{this.maskLong=a(t)}catch(o){throw o,new Error("Invalid mask: "+t)}for(r=n=32;n>=0;r=--n)if(this.maskLong===4294967295<<32-r>>>0){this.bitmask=r;break}}else{if(!t&&0!==t)throw new Error("Invalid mask: empty");this.bitmask=parseInt(t,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0)}try{this.netLong=(a(e)&this.maskLong)>>>0}catch(o){throw o,new Error("Invalid net address: "+e)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+t);this.size=Math.pow(2,32-this.bitmask),this.base=c(this.netLong),this.mask=c(this.maskLong),this.hostmask=c(~this.maskLong),this.first=this.bitmask<=30?c(this.netLong+1):this.base,this.last=this.bitmask<=30?c(this.netLong+this.size-2):c(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?c(this.netLong+this.size-1):void 0}return e.prototype.contains=function(t){return"string"===typeof t&&(t.indexOf("/")>0||4!==t.split(".").length)&&(t=new e(t)),t instanceof e?this.contains(t.base)&&this.contains(t.broadcast||t.last):(a(t)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},e.prototype.next=function(t){return null==t&&(t=1),new e(c(this.netLong+this.size*t),this.mask)},e.prototype.forEach=function(e){var t,r,n;for(n=a(this.first),r=a(this.last),t=0;n<=r;)e(c(n),n,t),t++,n++},e.prototype.toString=function(){return this.base+"/"+this.bitmask},e}(),t.ip2long=a,t.long2ip=c,t.Netmask=e}).call(this)},5332:(e,t,r)=>{var n=r(428);function i(e,t){n.cipher.registerAlgorithm(e,(function(){return new n.aes.Algorithm(e,t)}))}r(9205),r(8076),r(9491),e.exports=n.aes=n.aes||{},n.aes.startEncrypting=function(e,t,r,n){var i=f({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i},n.aes.createEncryptionCipher=function(e,t){return f({key:e,output:null,decrypt:!1,mode:t})},n.aes.startDecrypting=function(e,t,r,n){var i=f({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i},n.aes.createDecryptionCipher=function(e,t){return f({key:e,output:null,decrypt:!0,mode:t})},n.aes.Algorithm=function(e,t){u||h();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(e,t){return p(r._w,e,t,!1)},decrypt:function(e,t){return p(r._w,e,t,!0)}}}),r._init=!1},n.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t,r=e.key;if("string"!==typeof r||16!==r.length&&24!==r.length&&32!==r.length){if(n.util.isArray(r)&&(16===r.length||24===r.length||32===r.length)){t=r,r=n.util.createBuffer();for(var i=0;i<t.length;++i)r.putByte(t[i])}}else r=n.util.createBuffer(r);if(!n.util.isArray(r)){t=r,r=[];var o=t.length();if(16===o||24===o||32===o){o>>>=2;for(i=0;i<o;++i)r.push(t.getInt32())}}if(!n.util.isArray(r)||4!==r.length&&6!==r.length&&8!==r.length)throw new Error("Invalid key parameter.");var s=this.mode.name,a=-1!==["CFB","OFB","CTR","GCM"].indexOf(s);this._w=d(r,e.decrypt&&!a),this._init=!0}},n.aes._expandKey=function(e,t){return u||h(),d(e,t)},n.aes._updateBlock=p,i("AES-ECB",n.cipher.modes.ecb),i("AES-CBC",n.cipher.modes.cbc),i("AES-CFB",n.cipher.modes.cfb),i("AES-OFB",n.cipher.modes.ofb),i("AES-CTR",n.cipher.modes.ctr),i("AES-GCM",n.cipher.modes.gcm);var o,s,a,c,l,u=!1;function h(){u=!0,a=[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;o=new Array(256),s=new Array(256),c=new Array(4),l=new Array(4);for(t=0;t<4;++t)c[t]=new Array(256),l[t]=new Array(256);var r,n,i,h,d,p,f,g=0,y=0;for(t=0;t<256;++t){h=(h=y^y<<1^y<<2^y<<3^y<<4)>>8^255&h^99,o[g]=h,s[h]=g,p=(d=e[h])<<24^h<<16^h<<8^h^d,f=((r=e[g])^(n=e[r])^(i=e[n]))<<24^(g^i)<<16^(g^n^i)<<8^g^r^i;for(var m=0;m<4;++m)c[m][g]=p,l[m][h]=f,p=p<<24|p>>>8,f=f<<24|f>>>8;0===g?g=y=1:(g=r^e[e[e[r^i]]],y^=e[e[y]])}}function d(e,t){for(var r,n=e.slice(0),i=1,s=n.length,c=4*(s+6+1),u=s;u<c;++u)r=n[u-1],u%s===0?(r=o[r>>>16&255]<<24^o[r>>>8&255]<<16^o[255&r]<<8^o[r>>>24]^a[i]<<24,i++):s>6&&u%s===4&&(r=o[r>>>24]<<24^o[r>>>16&255]<<16^o[r>>>8&255]<<8^o[255&r]),n[u]=n[u-s]^r;if(t){for(var h,d=l[0],p=l[1],f=l[2],g=l[3],y=n.slice(0),m=(u=0,(c=n.length)-4);u<c;u+=4,m-=4)if(0===u||u===c-4)y[u]=n[m],y[u+1]=n[m+3],y[u+2]=n[m+2],y[u+3]=n[m+1];else for(var v=0;v<4;++v)h=n[m+v],y[u+(3&-v)]=d[o[h>>>24]]^p[o[h>>>16&255]]^f[o[h>>>8&255]]^g[o[255&h]];n=y}return n}function p(e,t,r,n){var i,a,u,h,d,p,f,g,y,m,v,b,w=e.length/4-1;n?(i=l[0],a=l[1],u=l[2],h=l[3],d=s):(i=c[0],a=c[1],u=c[2],h=c[3],d=o),p=t[0]^e[0],f=t[n?3:1]^e[1],g=t[2]^e[2],y=t[n?1:3]^e[3];for(var E=3,_=1;_<w;++_)m=i[p>>>24]^a[f>>>16&255]^u[g>>>8&255]^h[255&y]^e[++E],v=i[f>>>24]^a[g>>>16&255]^u[y>>>8&255]^h[255&p]^e[++E],b=i[g>>>24]^a[y>>>16&255]^u[p>>>8&255]^h[255&f]^e[++E],y=i[y>>>24]^a[p>>>16&255]^u[f>>>8&255]^h[255&g]^e[++E],p=m,f=v,g=b;r[0]=d[p>>>24]<<24^d[f>>>16&255]<<16^d[g>>>8&255]<<8^d[255&y]^e[++E],r[n?3:1]=d[f>>>24]<<24^d[g>>>16&255]<<16^d[y>>>8&255]<<8^d[255&p]^e[++E],r[2]=d[g>>>24]<<24^d[y>>>16&255]<<16^d[p>>>8&255]<<8^d[255&f]^e[++E],r[n?1:3]=d[y>>>24]<<24^d[p>>>16&255]<<16^d[f>>>8&255]<<8^d[255&g]^e[++E]}function f(e){var t,r="AES-"+((e=e||{}).mode||"CBC").toUpperCase(),i=(t=e.decrypt?n.cipher.createDecipher(r,e.key):n.cipher.createCipher(r,e.key)).start;return t.start=function(e,r){var o=null;r instanceof n.util.ByteBuffer&&(o=r,r={}),(r=r||{}).output=o,r.iv=e,i.call(t,r)},t}},5419:(e,t,r)=>{var n=r(428);r(9491),r(1346);var i=e.exports=n.asn1=n.asn1||{};function o(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}}i.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},i.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},i.create=function(e,t,r,o,s){if(n.util.isArray(o)){for(var a=[],c=0;c<o.length;++c)void 0!==o[c]&&a.push(o[c]);o=a}var l={tagClass:e,type:t,constructed:r,composed:r||n.util.isArray(o),value:o};return s&&"bitStringContents"in s&&(l.bitStringContents=s.bitStringContents,l.original=i.copy(l)),l},i.copy=function(e,t){var r;if(n.util.isArray(e)){r=[];for(var o=0;o<e.length;++o)r.push(i.copy(e[o],t));return r}return"string"===typeof e?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:i.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)},i.equals=function(e,t,r){if(n.util.isArray(e)){if(!n.util.isArray(t))return!1;if(e.length!==t.length)return!1;for(var o=0;o<e.length;++o)if(!i.equals(e[o],t[o]))return!1;return!0}if(typeof e!==typeof t)return!1;if("string"===typeof e)return e===t;var s=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&i.equals(e.value,t.value);return r&&r.includeBitStringContents&&(s=s&&e.bitStringContents===t.bitStringContents),s},i.getBerValueLength=function(e){var t=e.getByte();if(128!==t)return 128&t?e.getInt((127&t)<<3):t};function s(e,t,r,n){var a;o(e,t,2);var c=e.getByte();t--;var l=192&c,u=31&c;a=e.length();var h,d,p=function(e,t){var r=e.getByte();if(t--,128!==r){var n;if(128&r){var i=127&r;o(e,t,i),n=e.getInt(i<<3)}else n=r;if(n<0)throw new Error("Negative length: "+n);return n}}(e,t);if(t-=a-e.length(),void 0!==p&&p>t){if(n.strict){var f=new Error("Too few bytes to read ASN.1 value.");throw f.available=e.length(),f.remaining=t,f.requested=p,f}p=t}var g=32===(32&c);if(g)if(h=[],void 0===p)for(;;){if(o(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}a=e.length(),h.push(s(e,t,r+1,n)),t-=a-e.length()}else for(;p>0;)a=e.length(),h.push(s(e,p,r+1,n)),t-=a-e.length(),p-=a-e.length();if(void 0===h&&l===i.Class.UNIVERSAL&&u===i.Type.BITSTRING&&(d=e.bytes(p)),void 0===h&&n.decodeBitStrings&&l===i.Class.UNIVERSAL&&u===i.Type.BITSTRING&&p>1){var y=e.read,m=t,v=0;if(u===i.Type.BITSTRING&&(o(e,t,1),v=e.getByte(),t--),0===v)try{a=e.length();var b=s(e,t,r+1,{strict:!0,decodeBitStrings:!0}),w=a-e.length();t-=w,u==i.Type.BITSTRING&&w++;var E=b.tagClass;w!==p||E!==i.Class.UNIVERSAL&&E!==i.Class.CONTEXT_SPECIFIC||(h=[b])}catch(S){}void 0===h&&(e.read=y,t=m)}if(void 0===h){if(void 0===p){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");p=t}if(u===i.Type.BMPSTRING)for(h="";p>0;p-=2)o(e,t,2),h+=String.fromCharCode(e.getInt16()),t-=2;else h=e.getBytes(p),t-=p}var _=void 0===d?null:{bitStringContents:d};return i.create(l,u,g,h,_)}i.fromDer=function(e,t){void 0===t&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),"boolean"===typeof t&&(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),"string"===typeof e&&(e=n.util.createBuffer(e));var r=e.length(),i=s(e,e.length(),0,t);if(t.parseAllBytes&&0!==e.length()){var o=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw o.byteCount=r,o.remaining=e.length(),o}return i},i.toDer=function(e){var t=n.util.createBuffer(),r=e.tagClass|e.type,o=n.util.createBuffer(),s=!1;if("bitStringContents"in e&&(s=!0,e.original&&(s=i.equals(e,e.original))),s)o.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:o.putByte(0);for(var a=0;a<e.value.length;++a)void 0!==e.value[a]&&o.putBuffer(i.toDer(e.value[a]))}else if(e.type===i.Type.BMPSTRING)for(a=0;a<e.value.length;++a)o.putInt16(e.value.charCodeAt(a));else e.type===i.Type.INTEGER&&e.value.length>1&&(0===e.value.charCodeAt(0)&&0===(128&e.value.charCodeAt(1))||255===e.value.charCodeAt(0)&&128===(128&e.value.charCodeAt(1)))?o.putBytes(e.value.substr(1)):o.putBytes(e.value);if(t.putByte(r),o.length()<=127)t.putByte(127&o.length());else{var c=o.length(),l="";do{l+=String.fromCharCode(255&c),c>>>=8}while(c>0);t.putByte(128|l.length);for(a=l.length-1;a>=0;--a)t.putByte(l.charCodeAt(a))}return t.putBuffer(o),t},i.oidToDer=function(e){var t,r,i,o,s=e.split("."),a=n.util.createBuffer();a.putByte(40*parseInt(s[0],10)+parseInt(s[1],10));for(var c=2;c<s.length;++c){t=!0,r=[],i=parseInt(s[c],10);do{o=127&i,i>>>=7,t||(o|=128),r.push(o),t=!1}while(i>0);for(var l=r.length-1;l>=0;--l)a.putByte(r[l])}return a},i.derToOid=function(e){var t;"string"===typeof e&&(e=n.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var i=0;e.length()>0;)i<<=7,128&(r=e.getByte())?i+=127&r:(t+="."+(i+r),i=0);return t},i.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),l=10;"+"!==c&&"-"!==c&&(a=parseInt(e.substr(10,2),10),l+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),l&&("+"===(c=e.charAt(l))||"-"===c)){var u=60*parseInt(e.substr(l+1,2),10)+parseInt(e.substr(l+4,2),10);u*=6e4,"+"===c?t.setTime(+t-u):t.setTime(+t+u)}return t},i.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,l=0,u=!1;"Z"===e.charAt(e.length-1)&&(u=!0);var h=e.length-5,d=e.charAt(h);"+"!==d&&"-"!==d||(l=60*parseInt(e.substr(h+1,2),10)+parseInt(e.substr(h+4,2),10),l*=6e4,"+"===d&&(l*=-1),u=!0);return"."===e.charAt(14)&&(c=1e3*parseFloat(e.substr(14),10)),u?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+l)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t},i.dateToUtcTime=function(e){if("string"===typeof e)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"},i.dateToGeneralizedTime=function(e){if("string"===typeof e)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"},i.integerToDer=function(e){var t=n.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},i.derToInteger=function(e){"string"===typeof e&&(e=n.util.createBuffer(e));var t=8*e.length();if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)},i.validate=function(e,t,r,o){var s=!1;if(e.tagClass!==t.tagClass&&"undefined"!==typeof t.tagClass||e.type!==t.type&&"undefined"!==typeof t.type)o&&(e.tagClass!==t.tagClass&&o.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&o.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));else if(e.constructed===t.constructed||"undefined"===typeof t.constructed){if(s=!0,t.value&&n.util.isArray(t.value))for(var a=0,c=0;s&&c<t.value.length;++c)s=t.value[c].optional||!1,e.value[a]&&((s=i.validate(e.value[a],t.value[c],r,o))?++a:t.value[c].optional&&(s=!0)),!s&&o&&o.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(s&&r)if(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)if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{if(0!==e.bitStringContents.charCodeAt(0))throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}else o&&o.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');return s};var a=/[^\\u0000-\\u00ff]/;i.prettyPrint=function(e,t,r){var o="";r=r||2,(t=t||0)>0&&(o+="\n");for(var s="",c=0;c<t*r;++c)s+=" ";switch(o+=s+"Tag: ",e.tagClass){case i.Class.UNIVERSAL:o+="Universal:";break;case i.Class.APPLICATION:o+="Application:";break;case i.Class.CONTEXT_SPECIFIC:o+="Context-Specific:";break;case i.Class.PRIVATE:o+="Private:"}if(e.tagClass===i.Class.UNIVERSAL)switch(o+=e.type,e.type){case i.Type.NONE:o+=" (None)";break;case i.Type.BOOLEAN:o+=" (Boolean)";break;case i.Type.INTEGER:o+=" (Integer)";break;case i.Type.BITSTRING:o+=" (Bit string)";break;case i.Type.OCTETSTRING:o+=" (Octet string)";break;case i.Type.NULL:o+=" (Null)";break;case i.Type.OID:o+=" (Object Identifier)";break;case i.Type.ODESC:o+=" (Object Descriptor)";break;case i.Type.EXTERNAL:o+=" (External or Instance of)";break;case i.Type.REAL:o+=" (Real)";break;case i.Type.ENUMERATED:o+=" (Enumerated)";break;case i.Type.EMBEDDED:o+=" (Embedded PDV)";break;case i.Type.UTF8:o+=" (UTF8)";break;case i.Type.ROID:o+=" (Relative Object Identifier)";break;case i.Type.SEQUENCE:o+=" (Sequence)";break;case i.Type.SET:o+=" (Set)";break;case i.Type.PRINTABLESTRING:o+=" (Printable String)";break;case i.Type.IA5String:o+=" (IA5String (ASCII))";break;case i.Type.UTCTIME:o+=" (UTC time)";break;case i.Type.GENERALIZEDTIME:o+=" (Generalized time)";break;case i.Type.BMPSTRING:o+=" (BMP String)"}else o+=e.type;if(o+="\n",o+=s+"Constructed: "+e.constructed+"\n",e.composed){var l=0,u="";for(c=0;c<e.value.length;++c)void 0!==e.value[c]&&(l+=1,u+=i.prettyPrint(e.value[c],t+1,r),c+1<e.value.length&&(u+=","));o+=s+"Sub values: "+l+u}else{if(o+=s+"Value: ",e.type===i.Type.OID){var h=i.derToOid(e.value);o+=h,n.pki&&n.pki.oids&&h in n.pki.oids&&(o+=" ("+n.pki.oids[h]+") ")}if(e.type===i.Type.INTEGER)try{o+=i.derToInteger(e.value)}catch(p){o+="0x"+n.util.bytesToHex(e.value)}else if(e.type===i.Type.BITSTRING){if(e.value.length>1?o+="0x"+n.util.bytesToHex(e.value.slice(1)):o+="(none)",e.value.length>0){var d=e.value.charCodeAt(0);1==d?o+=" (1 unused bit shown)":d>1&&(o+=" ("+d+" unused bits shown)")}}else if(e.type===i.Type.OCTETSTRING)a.test(e.value)||(o+="("+e.value+") "),o+="0x"+n.util.bytesToHex(e.value);else if(e.type===i.Type.UTF8)try{o+=n.util.decodeUtf8(e.value)}catch(f){if("URI malformed"!==f.message)throw f;o+="0x"+n.util.bytesToHex(e.value)+" (malformed UTF8)"}else e.type===i.Type.PRINTABLESTRING||e.type===i.Type.IA5String?o+=e.value:a.test(e.value)?o+="0x"+n.util.bytesToHex(e.value):0===e.value.length?o+="[null]":o+=e.value}return o}},4443:e=>{var t={};e.exports=t;var r={};t.encode=function(e,t,r){if("string"!==typeof t)throw new TypeError('"alphabet" must be a string.');if(void 0!==r&&"number"!==typeof r)throw new TypeError('"maxline" must be a number.');var n="";if(e instanceof Uint8Array){var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,l=e[i];c<a.length;++c)l+=a[c]<<8,a[c]=l%o,l=l/o|0;for(;l>0;)a.push(l%o),l=l/o|0}for(i=0;0===e[i]&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}else n=function(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;0===e.at(r)&&r<e.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=t[o[r]];return c}(e,t);if(r){var u=new RegExp(".{1,"+r+"}","g");n=n.match(u).join("\r\n")}return n},t.decode=function(e,t){if("string"!==typeof e)throw new TypeError('"input" must be a string.');if("string"!==typeof t)throw new TypeError('"alphabet" must be a string.');var n=r[t];if(!n){n=r[t]=[];for(var i=0;i<t.length;++i)n[t.charCodeAt(i)]=i}e=e.replace(/\s/g,"");var o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;i++){var c=n[e.charCodeAt(i)];if(void 0===c)return;for(var l=0,u=c;l<a.length;++l)u+=a[l]*o,a[l]=255&u,u>>=8;for(;u>0;)a.push(255&u),u>>=8}for(var h=0;e[h]===s&&h<e.length-1;++h)a.push(0);return"undefined"!==typeof Buffer?Buffer.from(a.reverse()):new Uint8Array(a.reverse())}},9205:(e,t,r)=>{var n=r(428);r(9491),e.exports=n.cipher=n.cipher||{},n.cipher.algorithms=n.cipher.algorithms||{},n.cipher.createCipher=function(e,t){var r=e;if("string"===typeof r&&(r=n.cipher.getAlgorithm(r))&&(r=r()),!r)throw new Error("Unsupported algorithm: "+e);return new n.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})},n.cipher.createDecipher=function(e,t){var r=e;if("string"===typeof r&&(r=n.cipher.getAlgorithm(r))&&(r=r()),!r)throw new Error("Unsupported algorithm: "+e);return new n.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})},n.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),n.cipher.algorithms[e]=t},n.cipher.getAlgorithm=function(e){return(e=e.toUpperCase())in n.cipher.algorithms?n.cipher.algorithms[e]:null};var i=n.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)};i.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=n.util.createBuffer(),this.output=e.output||n.util.createBuffer(),this.mode.start(t)},i.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()},i.prototype.finish=function(e){!e||"ECB"!==this.mode.name&&"CBC"!==this.mode.name||(this.mode.pad=function(t){return e(this.blockSize,t,!1)},this.mode.unpad=function(t){return e(this.blockSize,t,!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)))}},8076:(e,t,r)=>{var n=r(428);r(9491),n.cipher=n.cipher||{};var i=e.exports=n.cipher.modes=n.cipher.modes||{};function o(e,t){if("string"===typeof e&&(e=n.util.createBuffer(e)),n.util.isArray(e)&&e.length>4){var r=e;e=n.util.createBuffer();for(var i=0;i<r.length;++i)e.putByte(r[i])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!n.util.isArray(e)){var o=[],s=t/4;for(i=0;i<s;++i)o.push(e.getInt32());e=o}return e}function s(e){e[e.length-1]=e[e.length-1]+1&4294967295}function a(e){return[e/4294967296|0,4294967295&e]}i.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)},i.ecb.prototype.start=function(e){},i.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(n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])},i.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(n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])},i.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0},i.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)&&(e.truncate(n),!0)},i.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)},i.cbc.prototype.start=function(e){if(null===e.iv){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else{if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=o(e.iv,this.blockSize),this._prev=this._iv.slice(0)}},i.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(n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock},i.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(n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)},i.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0},i.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)&&(e.truncate(n),!0)},i.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=n.util.createBuffer(),this._partialBytes=0},i.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=o(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},i.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(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(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}},i.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(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(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}},i.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=n.util.createBuffer(),this._partialBytes=0},i.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=o(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},i.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(0===e.length())return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(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}},i.ofb.prototype.decrypt=i.ofb.prototype.encrypt,i.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=n.util.createBuffer(),this._partialBytes=0},i.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=o(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},i.ctr.prototype.encrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&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(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}s(this._inBlock)},i.ctr.prototype.decrypt=i.ctr.prototype.encrypt,i.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=n.util.createBuffer(),this._partialBytes=0,this._R=3774873600},i.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t,r=n.util.createBuffer(e.iv);if(this._cipherLength=0,t="additionalData"in e?n.util.createBuffer(e.additionalData):n.util.createBuffer(),this._tagLength="tagLength"in e?e.tagLength:128,this._tag=null,e.decrypt&&(this._tag=n.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 i=r.length();if(12===i)this._j0=[r.getInt32(),r.getInt32(),r.getInt32(),1];else{for(this._j0=[0,0,0,0];r.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(a(8*i)))}this._inBlock=this._j0.slice(0),s(this._inBlock),this._partialBytes=0,t=n.util.createBuffer(t),this._aDataLength=a(8*t.length());var o=t.length()%this.blockSize;for(o&&t.fillWithByte(0,this.blockSize-o),this._s=[0,0,0,0];t.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()])},i.gcm.prototype.encrypt=function(e,t,r){var n=e.length();if(0===n)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&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(i=0;i<this._ints;++i)this._partialOutput.putInt32(e.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var a=n%this.blockSize;this._cipherLength+=a,this._partialOutput.truncate(this.blockSize-a)}else this._cipherLength+=this.blockSize;for(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),s(this._inBlock)},i.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),s(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},i.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=n.util.createBuffer();var i=this._aDataLength.concat(a(8*this._cipherLength));this._s=this.ghash(this._hashSubkey,this._s,i);var o=[];this.cipher.encrypt(this._j0,o);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^o[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r},i.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){e[i/32|0]&1<<31-i%32&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r},i.gcm.prototype.pow=function(e,t){for(var r=1&e[3],n=3;n>0;--n)t[n]=e[n]>>>1|(1&e[n-1])<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)},i.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=e[r/8|0]>>>4*(7-r%8)&15,i=this._m[r][n];t[0]^=i[0],t[1]^=i[1],t[2]^=i[2],t[3]^=i[3]}return t},i.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)},i.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=(n-1-s%n)*t;a[s/n|0]=1<<t-1<<c,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o},i.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 l=i[o^n];i[o]=[e[0]^l[0],e[1]^l[1],e[2]^l[2],e[3]^l[3]]}return i}},5877:(e,t,r)=>{var n=r(428);function i(e,t){n.cipher.registerAlgorithm(e,(function(){return new n.des.Algorithm(e,t)}))}r(9205),r(8076),r(9491),e.exports=n.des=n.des||{},n.des.startEncrypting=function(e,t,r,n){var i=f({key:e,output:r,decrypt:!1,mode:n||(null===t?"ECB":"CBC")});return i.start(t),i},n.des.createEncryptionCipher=function(e,t){return f({key:e,output:null,decrypt:!1,mode:t})},n.des.startDecrypting=function(e,t,r,n){var i=f({key:e,output:r,decrypt:!0,mode:n||(null===t?"ECB":"CBC")});return i.start(t),i},n.des.createDecryptionCipher=function(e,t){return f({key:e,output:null,decrypt:!0,mode:t})},n.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(e,t){return p(r._keys,e,t,!1)},decrypt:function(e,t){return p(r._keys,e,t,!0)}}}),r._init=!1},n.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=n.util.createBuffer(e.key);if(0===this.name.indexOf("3DES")&&24!==t.length())throw new Error("Invalid Triple-DES key size: "+8*t.length());this._keys=function(e){for(var t,r=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],n=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],i=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],o=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],a=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],c=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],l=[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],h=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],d=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],p=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],f=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],g=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],y=e.length()>8?3:1,m=[],v=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],b=0,w=0;w<y;w++){var E=e.getInt32(),_=e.getInt32();E^=(t=252645135&(E>>>4^_))<<4,E^=t=65535&((_^=t)>>>-16^E),E^=(t=858993459&(E>>>2^(_^=t<<-16)))<<2,E^=t=65535&((_^=t)>>>-16^E),E^=(t=1431655765&(E>>>1^(_^=t<<-16)))<<1,E^=t=16711935&((_^=t)>>>8^E),t=(E^=(t=1431655765&(E>>>1^(_^=t<<8)))<<1)<<8|(_^=t)>>>20&240,E=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=t;for(var S=0;S<v.length;++S){v[S]?(E=E<<2|E>>>26,_=_<<2|_>>>26):(E=E<<1|E>>>27,_=_<<1|_>>>27),_&=-15;var A=r[(E&=-15)>>>28]|n[E>>>24&15]|i[E>>>20&15]|o[E>>>16&15]|s[E>>>12&15]|a[E>>>8&15]|c[E>>>4&15],C=l[_>>>28]|u[_>>>24&15]|h[_>>>20&15]|d[_>>>16&15]|p[_>>>12&15]|f[_>>>8&15]|g[_>>>4&15];t=65535&(C>>>16^A),m[b++]=A^t,m[b++]=C^t<<16}}return m}(t),this._init=!0}},i("DES-ECB",n.cipher.modes.ecb),i("DES-CBC",n.cipher.modes.cbc),i("DES-CFB",n.cipher.modes.cfb),i("DES-OFB",n.cipher.modes.ofb),i("DES-CTR",n.cipher.modes.ctr),i("3DES-ECB",n.cipher.modes.ecb),i("3DES-CBC",n.cipher.modes.cbc),i("3DES-CFB",n.cipher.modes.cfb),i("3DES-OFB",n.cipher.modes.ofb),i("3DES-CTR",n.cipher.modes.ctr);var o=[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],s=[-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],a=[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],c=[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],l=[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],u=[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],h=[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],d=[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 p(e,t,r,n){var i,p,f=32===e.length?3:9;i=3===f?n?[30,-2,-2]:[0,32,2]:n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var g=t[0],y=t[1];g^=(p=252645135&(g>>>4^y))<<4,g^=(p=65535&(g>>>16^(y^=p)))<<16,g^=p=858993459&((y^=p)>>>2^g),g^=p=16711935&((y^=p<<2)>>>8^g),g=(g^=(p=1431655765&(g>>>1^(y^=p<<8)))<<1)<<1|g>>>31,y=(y^=p)<<1|y>>>31;for(var m=0;m<f;m+=3){for(var v=i[m+1],b=i[m+2],w=i[m];w!=v;w+=b){var E=y^e[w],_=(y>>>4|y<<28)^e[w+1];p=g,g=y,y=p^(s[E>>>24&63]|c[E>>>16&63]|u[E>>>8&63]|d[63&E]|o[_>>>24&63]|a[_>>>16&63]|l[_>>>8&63]|h[63&_])}p=g,g=y,y=p}y=y>>>1|y<<31,y^=p=1431655765&((g=g>>>1|g<<31)>>>1^y),y^=(p=16711935&(y>>>8^(g^=p<<1)))<<8,y^=(p=858993459&(y>>>2^(g^=p)))<<2,y^=p=65535&((g^=p)>>>16^y),y^=p=252645135&((g^=p<<16)>>>4^y),g^=p<<4,r[0]=g,r[1]=y}function f(e){var t,r="DES-"+((e=e||{}).mode||"CBC").toUpperCase(),i=(t=e.decrypt?n.cipher.createDecipher(r,e.key):n.cipher.createCipher(r,e.key)).start;return t.start=function(e,r){var o=null;r instanceof n.util.ByteBuffer&&(o=r,r={}),(r=r||{}).output=o,r.iv=e,i.call(t,r)},t}},428:e=>{e.exports={options:{usePureJavaScript:!1}}},5617:(e,t,r)=>{var n=r(428);r(9207),r(9491),(e.exports=n.hmac=n.hmac||{}).create=function(){var e=null,t=null,r=null,i=null,o={start:function(o,s){if(null!==o)if("string"===typeof o){if(!((o=o.toLowerCase())in n.md.algorithms))throw new Error('Unknown hash algorithm "'+o+'"');t=n.md.algorithms[o].create()}else t=o;if(null===s)s=e;else{if("string"===typeof s)s=n.util.createBuffer(s);else if(n.util.isArray(s)){var a=s;s=n.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var l=s.length();l>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=n.util.createBuffer(),i=n.util.createBuffer(),l=s.length();for(c=0;c<l;++c){a=s.at(c);r.putByte(54^a),i.putByte(92^a)}if(l<t.blockLength)for(a=t.blockLength-l,c=0;c<a;++c)r.putByte(54),i.putByte(92);e=s,r=r.bytes(),i=i.bytes()}t.start(),t.update(r)},update:function(e){t.update(e)},getMac:function(){var e=t.digest().bytes();return t.start(),t.update(i),t.update(e),t.digest()}};return o.digest=o.getMac,o}},7834:(e,t,r)=>{var n,i=r(428);e.exports=i.jsbn=i.jsbn||{};function o(e,t,r){this.data=[],null!=e&&("number"==typeof e?this.fromNumber(e,t,r):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function s(){return new o(null)}function a(e,t,r,n,i,o){for(var s=16383&t,a=t>>14;--o>=0;){var c=16383&this.data[e],l=this.data[e++]>>14,u=a*c+l*s;i=((c=s*c+((16383&u)<<14)+r.data[n]+i)>>28)+(u>>14)+a*l,r.data[n++]=268435455&c}return i}i.jsbn.BigInteger=o,"undefined"===typeof navigator?(o.prototype.am=a,n=28):"Microsoft Internet Explorer"==navigator.appName?(o.prototype.am=function(e,t,r,n,i,o){for(var s=32767&t,a=t>>15;--o>=0;){var c=32767&this.data[e],l=this.data[e++]>>15,u=a*c+l*s;i=((c=s*c+((32767&u)<<15)+r.data[n]+(1073741823&i))>>>30)+(u>>>15)+a*l+(i>>>30),r.data[n++]=1073741823&c}return i},n=30):"Netscape"!=navigator.appName?(o.prototype.am=function(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++]=67108863&s}return i},n=26):(o.prototype.am=a,n=28),o.prototype.DB=n,o.prototype.DM=(1<<n)-1,o.prototype.DV=1<<n;o.prototype.FV=Math.pow(2,52),o.prototype.F1=52-n,o.prototype.F2=2*n-52;var c,l,u=new Array;for(c="0".charCodeAt(0),l=0;l<=9;++l)u[c++]=l;for(c="a".charCodeAt(0),l=10;l<36;++l)u[c++]=l;for(c="A".charCodeAt(0),l=10;l<36;++l)u[c++]=l;function h(e){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(e)}function d(e,t){var r=u[e.charCodeAt(t)];return null==r?-1:r}function p(e){var t=s();return t.fromInt(e),t}function f(e){var t,r=1;return 0!=(t=e>>>16)&&(e=t,r+=16),0!=(t=e>>8)&&(e=t,r+=8),0!=(t=e>>4)&&(e=t,r+=4),0!=(t=e>>2)&&(e=t,r+=2),0!=(t=e>>1)&&(e=t,r+=1),r}function g(e){this.m=e}function y(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function m(e,t){return e&t}function v(e,t){return e|t}function b(e,t){return e^t}function w(e,t){return e&~t}function E(e){if(0==e)return-1;var t=0;return 0==(65535&e)&&(e>>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function _(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function S(){}function A(e){return e}function C(e){this.r2=s(),this.q3=s(),o.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}g.prototype.convert=function(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e},g.prototype.revert=function(e){return e},g.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},g.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},g.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},y.prototype.convert=function(e){var t=s();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(o.ZERO)>0&&this.m.subTo(t,t),t},y.prototype.revert=function(e){var t=s();return e.copyTo(t),this.reduce(t),t},y.prototype.reduce=function(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=32767&e.data[t],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)},y.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},y.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},o.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s},o.prototype.fromInt=function(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},o.prototype.fromString=function(e,t){var r;if(16==t)r=4;else if(8==t)r=3;else if(256==t)r=8;else if(2==t)r=1;else if(32==t)r=5;else{if(4!=t)return void this.fromRadix(e,t);r=2}this.t=0,this.s=0;for(var n=e.length,i=!1,s=0;--n>=0;){var a=8==r?255&e[n]:d(e,n);a<0?"-"==e.charAt(n)&&(i=!0):(i=!1,0==s?this.data[this.t++]=a:s+r>this.DB?(this.data[this.t-1]|=(a&(1<<this.DB-s)-1)<<s,this.data[this.t++]=a>>this.DB-s):this.data[this.t-1]|=a<<s,(s+=r)>=this.DB&&(s-=this.DB))}8==r&&0!=(128&e[0])&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&o.ZERO.subTo(this,this)},o.prototype.clamp=function(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t},o.prototype.dlShiftTo=function(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},o.prototype.drShiftTo=function(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},o.prototype.lShiftTo=function(e,t){var r,n=e%this.DB,i=this.DB-n,o=(1<<i)-1,s=Math.floor(e/this.DB),a=this.s<<n&this.DM;for(r=this.t-1;r>=0;--r)t.data[r+s+1]=this.data[r]>>i|a,a=(this.data[r]&o)<<n;for(r=s-1;r>=0;--r)t.data[r]=0;t.data[s]=a,t.t=this.t+s+1,t.s=this.s,t.clamp()},o.prototype.rShiftTo=function(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t)t.t=0;else{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()}},o.prototype.subTo=function(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()},o.prototype.multiplyTo=function(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&&o.ZERO.subTo(t,t)},o.prototype.squareTo=function(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()},o.prototype.divRemTo=function(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t)return null!=t&&t.fromInt(0),void(null!=r&&this.copyTo(r));null==r&&(r=s());var a=s(),c=this.s,l=e.s,u=this.DB-f(n.data[n.t-1]);u>0?(n.lShiftTo(u,a),i.lShiftTo(u,r)):(n.copyTo(a),i.copyTo(r));var h=a.t,d=a.data[h-1];if(0!=d){var p=d*(1<<this.F1)+(h>1?a.data[h-2]>>this.F2:0),g=this.FV/p,y=(1<<this.F1)/p,m=1<<this.F2,v=r.t,b=v-h,w=null==t?s():t;for(a.dlShiftTo(b,w),r.compareTo(w)>=0&&(r.data[r.t++]=1,r.subTo(w,r)),o.ONE.dlShiftTo(h,w),w.subTo(a,a);a.t<h;)a.data[a.t++]=0;for(;--b>=0;){var E=r.data[--v]==d?this.DM:Math.floor(r.data[v]*g+(r.data[v-1]+m)*y);if((r.data[v]+=a.am(0,E,r,b,0,h))<E)for(a.dlShiftTo(b,w),r.subTo(w,r);r.data[v]<--E;)r.subTo(w,r)}null!=t&&(r.drShiftTo(h,t),c!=l&&o.ZERO.subTo(t,t)),r.t=h,r.clamp(),u>0&&r.rShiftTo(u,r),c<0&&o.ZERO.subTo(r,r)}}},o.prototype.invDigit=function(){if(this.t<1)return 0;var e=this.data[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},o.prototype.isEven=function(){return 0==(this.t>0?1&this.data[0]:this.s)},o.prototype.exp=function(e,t){if(e>4294967295||e<1)return o.ONE;var r=s(),n=s(),i=t.convert(this),a=f(e)-1;for(i.copyTo(r);--a>=0;)if(t.sqrTo(r,n),(e&1<<a)>0)t.mulTo(n,i,r);else{var c=r;r=n,n=c}return t.revert(r)},o.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var r,n=(1<<t)-1,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(r=this.data[s]>>a)>0&&(i=!0,o=h(r));s>=0;)a<t?(r=(this.data[s]&(1<<a)-1)<<t-a,r|=this.data[--s]>>(a+=this.DB-t)):(r=this.data[s]>>(a-=t)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=h(r));return i?o:"0"},o.prototype.negate=function(){var e=s();return o.ZERO.subTo(this,e),e},o.prototype.abs=function(){return this.s<0?this.negate():this},o.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var r=this.t;if(0!=(t=r-e.t))return this.s<0?-t:t;for(;--r>=0;)if(0!=(t=this.data[r]-e.data[r]))return t;return 0},o.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+f(this.data[this.t-1]^this.s&this.DM)},o.prototype.mod=function(e){var t=s();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(o.ZERO)>0&&e.subTo(t,t),t},o.prototype.modPowInt=function(e,t){var r;return r=e<256||t.isEven()?new g(t):new y(t),this.exp(e,r)},o.ZERO=p(0),o.ONE=p(1),S.prototype.convert=A,S.prototype.revert=A,S.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r)},S.prototype.sqrTo=function(e,t){e.squareTo(t)},C.prototype.convert=function(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=s();return e.copyTo(t),this.reduce(t),t},C.prototype.revert=function(e){return e},C.prototype.reduce=function(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)},C.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},C.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)};var I=[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],T=(1<<26)/I[I.length-1];o.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},o.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=p(r),i=s(),o=s(),a="";for(this.divRemTo(n,i,o);i.signum()>0;)a=(r+o.intValue()).toString(e).substr(1)+a,i.divRemTo(n,i,o);return o.intValue().toString(e)+a},o.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,s=0,a=0,c=0;c<e.length;++c){var l=d(e,c);l<0?"-"==e.charAt(c)&&0==this.signum()&&(i=!0):(a=t*a+l,++s>=r&&(this.dMultiply(n),this.dAddOffset(a,0),s=0,a=0))}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(a,0)),i&&o.ZERO.subTo(this,this)},o.prototype.fromNumber=function(e,t,r){if("number"==typeof t)if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(o.ONE.shiftLeft(e-1),v,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(o.ONE.shiftLeft(e-1),this);else{var n=new Array,i=7&e;n.length=1+(e>>3),t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}},o.prototype.bitwiseTo=function(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()},o.prototype.changeBit=function(e,t){var r=o.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r},o.prototype.addTo=function(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()},o.prototype.dMultiply=function(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},o.prototype.dAddOffset=function(e,t){if(0!=e){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]}},o.prototype.multiplyLowerTo=function(e,t,r){var n,i=Math.min(this.t+e.t,t);for(r.s=0,r.t=i;i>0;)r.data[--i]=0;for(n=r.t-this.t;i<n;++i)r.data[i+this.t]=this.am(0,e.data[i],r,i,0,this.t);for(n=Math.min(e.t,t);i<n;++i)this.am(0,e.data[i],r,i,0,t-i);r.clamp()},o.prototype.multiplyUpperTo=function(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)},o.prototype.modInt=function(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(0==t)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r},o.prototype.millerRabin=function(e){var t=this.subtract(o.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n,i=t.shiftRight(r),s={nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(256*Math.random())}},a=0;a<e;++a){do{n=new o(this.bitLength(),s)}while(n.compareTo(o.ONE)<=0||n.compareTo(t)>=0);var c=n.modPow(i,this);if(0!=c.compareTo(o.ONE)&&0!=c.compareTo(t)){for(var l=1;l++<r&&0!=c.compareTo(t);)if(0==(c=c.modPowInt(2,this)).compareTo(o.ONE))return!1;if(0!=c.compareTo(t))return!1}}return!0},o.prototype.clone=function(){var e=s();return this.copyTo(e),e},o.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this.data[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this.data[0];if(0==this.t)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]},o.prototype.byteValue=function(){return 0==this.t?this.s:this.data[0]<<24>>24},o.prototype.shortValue=function(){return 0==this.t?this.s:this.data[0]<<16>>16},o.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this.data[0]<=0?0:1},o.prototype.toByteArray=function(){var e=this.t,t=new Array;t[0]=this.s;var r,n=this.DB-e*this.DB%8,i=0;if(e-- >0)for(n<this.DB&&(r=this.data[e]>>n)!=(this.s&this.DM)>>n&&(t[i++]=r|this.s<<this.DB-n);e>=0;)n<8?(r=(this.data[e]&(1<<n)-1)<<8-n,r|=this.data[--e]>>(n+=this.DB-8)):(r=this.data[e]>>(n-=8)&255,n<=0&&(n+=this.DB,--e)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(t[i++]=r);return t},o.prototype.equals=function(e){return 0==this.compareTo(e)},o.prototype.min=function(e){return this.compareTo(e)<0?this:e},o.prototype.max=function(e){return this.compareTo(e)>0?this:e},o.prototype.and=function(e){var t=s();return this.bitwiseTo(e,m,t),t},o.prototype.or=function(e){var t=s();return this.bitwiseTo(e,v,t),t},o.prototype.xor=function(e){var t=s();return this.bitwiseTo(e,b,t),t},o.prototype.andNot=function(e){var t=s();return this.bitwiseTo(e,w,t),t},o.prototype.not=function(){for(var e=s(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e},o.prototype.shiftLeft=function(e){var t=s();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t},o.prototype.shiftRight=function(e){var t=s();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t},o.prototype.getLowestSetBit=function(){for(var e=0;e<this.t;++e)if(0!=this.data[e])return e*this.DB+E(this.data[e]);return this.s<0?this.t*this.DB:-1},o.prototype.bitCount=function(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=_(this.data[r]^t);return e},o.prototype.testBit=function(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:0!=(this.data[t]&1<<e%this.DB)},o.prototype.setBit=function(e){return this.changeBit(e,v)},o.prototype.clearBit=function(e){return this.changeBit(e,w)},o.prototype.flipBit=function(e){return this.changeBit(e,b)},o.prototype.add=function(e){var t=s();return this.addTo(e,t),t},o.prototype.subtract=function(e){var t=s();return this.subTo(e,t),t},o.prototype.multiply=function(e){var t=s();return this.multiplyTo(e,t),t},o.prototype.divide=function(e){var t=s();return this.divRemTo(e,t,null),t},o.prototype.remainder=function(e){var t=s();return this.divRemTo(e,null,t),t},o.prototype.divideAndRemainder=function(e){var t=s(),r=s();return this.divRemTo(e,t,r),new Array(t,r)},o.prototype.modPow=function(e,t){var r,n,i=e.bitLength(),o=p(1);if(i<=0)return o;r=i<18?1:i<48?3:i<144?4:i<768?5:6,n=i<8?new g(t):t.isEven()?new C(t):new y(t);var a=new Array,c=3,l=r-1,u=(1<<r)-1;if(a[1]=n.convert(this),r>1){var h=s();for(n.sqrTo(a[1],h);c<=u;)a[c]=s(),n.mulTo(h,a[c-2],a[c]),c+=2}var d,m,v=e.t-1,b=!0,w=s();for(i=f(e.data[v])-1;v>=0;){for(i>=l?d=e.data[v]>>i-l&u:(d=(e.data[v]&(1<<i+1)-1)<<l-i,v>0&&(d|=e.data[v-1]>>this.DB+i-l)),c=r;0==(1&d);)d>>=1,--c;if((i-=c)<0&&(i+=this.DB,--v),b)a[d].copyTo(o),b=!1;else{for(;c>1;)n.sqrTo(o,w),n.sqrTo(w,o),c-=2;c>0?n.sqrTo(o,w):(m=o,o=w,w=m),n.mulTo(w,a[d],o)}for(;v>=0&&0==(e.data[v]&1<<i);)n.sqrTo(o,w),m=o,o=w,w=m,--i<0&&(i=this.DB-1,--v)}return n.revert(o)},o.prototype.modInverse=function(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return o.ZERO;for(var r=e.clone(),n=this.clone(),i=p(1),s=p(0),a=p(0),c=p(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),t?(i.isEven()&&s.isEven()||(i.addTo(this,i),s.subTo(e,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?(a.isEven()&&c.isEven()||(a.addTo(this,a),c.subTo(e,c)),a.rShiftTo(1,a)):c.isEven()||c.subTo(e,c),c.rShiftTo(1,c);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(a,i),s.subTo(c,s)):(n.subTo(r,n),t&&a.subTo(i,a),c.subTo(s,c))}return 0!=n.compareTo(o.ONE)?o.ZERO:c.compareTo(e)>=0?c.subtract(e):c.signum()<0?(c.addTo(e,c),c.signum()<0?c.add(e):c):c},o.prototype.pow=function(e){return this.exp(e,new S)},o.prototype.gcd=function(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},o.prototype.isProbablePrime=function(e){var t,r=this.abs();if(1==r.t&&r.data[0]<=I[I.length-1]){for(t=0;t<I.length;++t)if(r.data[0]==I[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<I.length;){for(var n=I[t],i=t+1;i<I.length&&n<T;)n*=I[i++];for(n=r.modInt(n);t<i;)if(n%I[t++]==0)return!1}return r.millerRabin(e)}},9207:(e,t,r)=>{var n=r(428);e.exports=n.md=n.md||{},n.md.algorithms=n.md.algorithms||{}},3043:(e,t,r)=>{var n=r(428);r(9167),e.exports=n.mgf=n.mgf||{},n.mgf.mgf1=n.mgf1},9167:(e,t,r)=>{var n=r(428);r(9491),n.mgf=n.mgf||{},(e.exports=n.mgf.mgf1=n.mgf1=n.mgf1||{}).create=function(e){return{generate:function(t,r){for(var i=new n.util.ByteBuffer,o=Math.ceil(r/e.digestLength),s=0;s<o;s++){var a=new n.util.ByteBuffer;a.putInt32(s),e.start(),e.update(t+a.getBytes()),i.putBuffer(e.digest())}return i.truncate(i.length()-r),i.getBytes()}}}},1346:(e,t,r)=>{var n=r(428);n.pki=n.pki||{};var i=e.exports=n.pki.oids=n.oids=n.oids||{};function o(e,t){i[e]=t,i[t]=e}function s(e,t){i[e]=t}o("1.2.840.113549.1.1.1","rsaEncryption"),o("1.2.840.113549.1.1.4","md5WithRSAEncryption"),o("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),o("1.2.840.113549.1.1.7","RSAES-OAEP"),o("1.2.840.113549.1.1.8","mgf1"),o("1.2.840.113549.1.1.9","pSpecified"),o("1.2.840.113549.1.1.10","RSASSA-PSS"),o("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),o("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),o("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),o("1.3.101.112","EdDSA25519"),o("1.2.840.10040.4.3","dsa-with-sha1"),o("1.3.14.3.2.7","desCBC"),o("1.3.14.3.2.26","sha1"),o("1.3.14.3.2.29","sha1WithRSASignature"),o("2.16.840.1.101.3.4.2.1","sha256"),o("2.16.840.1.101.3.4.2.2","sha384"),o("2.16.840.1.101.3.4.2.3","sha512"),o("2.16.840.1.101.3.4.2.4","sha224"),o("2.16.840.1.101.3.4.2.5","sha512-224"),o("2.16.840.1.101.3.4.2.6","sha512-256"),o("1.2.840.113549.2.2","md2"),o("1.2.840.113549.2.5","md5"),o("1.2.840.113549.1.7.1","data"),o("1.2.840.113549.1.7.2","signedData"),o("1.2.840.113549.1.7.3","envelopedData"),o("1.2.840.113549.1.7.4","signedAndEnvelopedData"),o("1.2.840.113549.1.7.5","digestedData"),o("1.2.840.113549.1.7.6","encryptedData"),o("1.2.840.113549.1.9.1","emailAddress"),o("1.2.840.113549.1.9.2","unstructuredName"),o("1.2.840.113549.1.9.3","contentType"),o("1.2.840.113549.1.9.4","messageDigest"),o("1.2.840.113549.1.9.5","signingTime"),o("1.2.840.113549.1.9.6","counterSignature"),o("1.2.840.113549.1.9.7","challengePassword"),o("1.2.840.113549.1.9.8","unstructuredAddress"),o("1.2.840.113549.1.9.14","extensionRequest"),o("1.2.840.113549.1.9.20","friendlyName"),o("1.2.840.113549.1.9.21","localKeyId"),o("1.2.840.113549.1.9.22.1","x509Certificate"),o("1.2.840.113549.1.12.10.1.1","keyBag"),o("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),o("1.2.840.113549.1.12.10.1.3","certBag"),o("1.2.840.113549.1.12.10.1.4","crlBag"),o("1.2.840.113549.1.12.10.1.5","secretBag"),o("1.2.840.113549.1.12.10.1.6","safeContentsBag"),o("1.2.840.113549.1.5.13","pkcs5PBES2"),o("1.2.840.113549.1.5.12","pkcs5PBKDF2"),o("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),o("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),o("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),o("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),o("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),o("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),o("1.2.840.113549.2.7","hmacWithSHA1"),o("1.2.840.113549.2.8","hmacWithSHA224"),o("1.2.840.113549.2.9","hmacWithSHA256"),o("1.2.840.113549.2.10","hmacWithSHA384"),o("1.2.840.113549.2.11","hmacWithSHA512"),o("1.2.840.113549.3.7","des-EDE3-CBC"),o("2.16.840.1.101.3.4.1.2","aes128-CBC"),o("2.16.840.1.101.3.4.1.22","aes192-CBC"),o("2.16.840.1.101.3.4.1.42","aes256-CBC"),o("2.5.4.3","commonName"),o("2.5.4.4","surname"),o("2.5.4.5","serialNumber"),o("2.5.4.6","countryName"),o("2.5.4.7","localityName"),o("2.5.4.8","stateOrProvinceName"),o("2.5.4.9","streetAddress"),o("2.5.4.10","organizationName"),o("2.5.4.11","organizationalUnitName"),o("2.5.4.12","title"),o("2.5.4.13","description"),o("2.5.4.15","businessCategory"),o("2.5.4.17","postalCode"),o("2.5.4.42","givenName"),o("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName"),o("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName"),o("2.16.840.1.113730.1.1","nsCertType"),o("2.16.840.1.113730.1.13","nsComment"),s("2.5.29.1","authorityKeyIdentifier"),s("2.5.29.2","keyAttributes"),s("2.5.29.3","certificatePolicies"),s("2.5.29.4","keyUsageRestriction"),s("2.5.29.5","policyMapping"),s("2.5.29.6","subtreesConstraint"),s("2.5.29.7","subjectAltName"),s("2.5.29.8","issuerAltName"),s("2.5.29.9","subjectDirectoryAttributes"),s("2.5.29.10","basicConstraints"),s("2.5.29.11","nameConstraints"),s("2.5.29.12","policyConstraints"),s("2.5.29.13","basicConstraints"),o("2.5.29.14","subjectKeyIdentifier"),o("2.5.29.15","keyUsage"),s("2.5.29.16","privateKeyUsagePeriod"),o("2.5.29.17","subjectAltName"),o("2.5.29.18","issuerAltName"),o("2.5.29.19","basicConstraints"),s("2.5.29.20","cRLNumber"),s("2.5.29.21","cRLReason"),s("2.5.29.22","expirationDate"),s("2.5.29.23","instructionCode"),s("2.5.29.24","invalidityDate"),s("2.5.29.25","cRLDistributionPoints"),s("2.5.29.26","issuingDistributionPoint"),s("2.5.29.27","deltaCRLIndicator"),s("2.5.29.28","issuingDistributionPoint"),s("2.5.29.29","certificateIssuer"),s("2.5.29.30","nameConstraints"),o("2.5.29.31","cRLDistributionPoints"),o("2.5.29.32","certificatePolicies"),s("2.5.29.33","policyMappings"),s("2.5.29.34","policyConstraints"),o("2.5.29.35","authorityKeyIdentifier"),s("2.5.29.36","policyConstraints"),o("2.5.29.37","extKeyUsage"),s("2.5.29.46","freshestCRL"),s("2.5.29.54","inhibitAnyPolicy"),o("1.3.6.1.4.1.11129.2.4.2","timestampList"),o("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),o("1.3.6.1.5.5.7.3.1","serverAuth"),o("1.3.6.1.5.5.7.3.2","clientAuth"),o("1.3.6.1.5.5.7.3.3","codeSigning"),o("1.3.6.1.5.5.7.3.4","emailProtection"),o("1.3.6.1.5.5.7.3.8","timeStamping")},6443:(e,t,r)=>{var n=r(428);if(r(5332),r(5419),r(5877),r(9207),r(1346),r(4021),r(197),r(5455),r(8177),r(3894),r(9491),"undefined"===typeof i)var i=n.jsbn.BigInteger;var o=n.asn1,s=n.pki=n.pki||{};e.exports=s.pbe=n.pbe=n.pbe||{};var a=s.oids,c={name:"EncryptedPrivateKeyInfo",tagClass:o.Class.UNIVERSAL,type:o.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:o.Class.UNIVERSAL,type:o.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:o.Class.UNIVERSAL,type:o.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:o.Class.UNIVERSAL,type:o.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:o.Class.UNIVERSAL,type:o.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},l={name:"PBES2Algorithms",tagClass:o.Class.UNIVERSAL,type:o.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:o.Class.UNIVERSAL,type:o.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:o.Class.UNIVERSAL,type:o.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:o.Class.UNIVERSAL,type:o.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:o.Class.UNIVERSAL,type:o.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:o.Class.UNIVERSAL,type:o.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:o.Class.UNIVERSAL,type:o.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:o.Class.UNIVERSAL,type:o.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:o.Class.UNIVERSAL,type:o.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:o.Class.UNIVERSAL,type:o.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:o.Class.UNIVERSAL,type:o.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:o.Class.UNIVERSAL,type:o.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},u={name:"pkcs-12PbeParams",tagClass:o.Class.UNIVERSAL,type:o.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:o.Class.UNIVERSAL,type:o.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:o.Class.UNIVERSAL,type:o.Type.INTEGER,constructed:!1,capture:"iterations"}]};function h(e,t){return e.start().update(t).digest().getBytes()}function d(e){var t;if(e){if(!(t=s.oids[o.derToOid(e)])){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}}else t="hmacWithSHA1";return p(t)}function p(e){var t=n.md;switch(e){case"hmacWithSHA224":t=n.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()}s.encryptPrivateKeyInfo=function(e,t,r){(r=r||{}).saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var i,c,l,u=n.random.getBytesSync(r.saltSize),h=r.count,d=o.integerToDer(h);if(0===r.algorithm.indexOf("aes")||"des"===r.algorithm){var f,g,y;switch(r.algorithm){case"aes128":i=16,f=16,g=a["aes128-CBC"],y=n.aes.createEncryptionCipher;break;case"aes192":i=24,f=16,g=a["aes192-CBC"],y=n.aes.createEncryptionCipher;break;case"aes256":i=32,f=16,g=a["aes256-CBC"],y=n.aes.createEncryptionCipher;break;case"des":i=8,f=8,g=a.desCBC,y=n.des.createEncryptionCipher;break;default:throw(_=new Error("Cannot encrypt private key. Unknown encryption algorithm.")).algorithm=r.algorithm,_}var m="hmacWith"+r.prfAlgorithm.toUpperCase(),v=p(m),b=n.pkcs5.pbkdf2(t,u,h,i,v),w=n.random.getBytesSync(f);(S=y(b)).start(w),S.update(o.toDer(e)),S.finish(),l=S.output.getBytes();var E=function(e,t,r,i){var a=o.create(o.Class.UNIVERSAL,o.Type.SEQUENCE,!0,[o.create(o.Class.UNIVERSAL,o.Type.OCTETSTRING,!1,e),o.create(o.Class.UNIVERSAL,o.Type.INTEGER,!1,t.getBytes())]);"hmacWithSHA1"!==i&&a.value.push(o.create(o.Class.UNIVERSAL,o.Type.INTEGER,!1,n.util.hexToBytes(r.toString(16))),o.create(o.Class.UNIVERSAL,o.Type.SEQUENCE,!0,[o.create(o.Class.UNIVERSAL,o.Type.OID,!1,o.oidToDer(s.oids[i]).getBytes()),o.create(o.Class.UNIVERSAL,o.Type.NULL,!1,"")]));return a}(u,d,i,m);c=o.create(o.Class.UNIVERSAL,o.Type.SEQUENCE,!0,[o.create(o.Class.UNIVERSAL,o.Type.OID,!1,o.oidToDer(a.pkcs5PBES2).getBytes()),o.create(o.Class.UNIVERSAL,o.Type.SEQUENCE,!0,[o.create(o.Class.UNIVERSAL,o.Type.SEQUENCE,!0,[o.create(o.Class.UNIVERSAL,o.Type.OID,!1,o.oidToDer(a.pkcs5PBKDF2).getBytes()),E]),o.create(o.Class.UNIVERSAL,o.Type.SEQUENCE,!0,[o.create(o.Class.UNIVERSAL,o.Type.OID,!1,o.oidToDer(g).getBytes()),o.create(o.Class.UNIVERSAL,o.Type.OCTETSTRING,!1,w)])])])}else{var _;if("3des"!==r.algorithm)throw(_=new Error("Cannot encrypt private key. Unknown encryption algorithm.")).algorithm=r.algorithm,_;i=24;var S,A=new n.util.ByteBuffer(u);b=s.pbe.generatePkcs12Key(t,A,1,h,i),w=s.pbe.generatePkcs12Key(t,A,2,h,i);(S=n.des.createEncryptionCipher(b)).start(w),S.update(o.toDer(e)),S.finish(),l=S.output.getBytes(),c=o.create(o.Class.UNIVERSAL,o.Type.SEQUENCE,!0,[o.create(o.Class.UNIVERSAL,o.Type.OID,!1,o.oidToDer(a["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),o.create(o.Class.UNIVERSAL,o.Type.SEQUENCE,!0,[o.create(o.Class.UNIVERSAL,o.Type.OCTETSTRING,!1,u),o.create(o.Class.UNIVERSAL,o.Type.INTEGER,!1,d.getBytes())])])}return o.create(o.Class.UNIVERSAL,o.Type.SEQUENCE,!0,[c,o.create(o.Class.UNIVERSAL,o.Type.OCTETSTRING,!1,l)])},s.decryptPrivateKeyInfo=function(e,t){var r=null,i={},a=[];if(!o.validate(e,c,i,a)){var l=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw l.errors=a,l}var u=o.derToOid(i.encryptionOid),h=s.pbe.getCipher(u,i.encryptionParams,t),d=n.util.createBuffer(i.encryptedData);return h.update(d),h.finish()&&(r=o.fromDer(h.output)),r},s.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:o.toDer(e).getBytes()};return n.pem.encode(r,{maxline:t})},s.encryptedPrivateKeyFromPem=function(e){var t=n.pem.decode(e)[0];if("ENCRYPTED PRIVATE KEY"!==t.type){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&&"ENCRYPTED"===t.procType.type)throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return o.fromDer(t.body)},s.encryptRsaPrivateKey=function(e,t,r){if(!(r=r||{}).legacy){var i=s.wrapRsaPrivateKey(s.privateKeyToAsn1(e));return i=s.encryptPrivateKeyInfo(i,t,r),s.encryptedPrivateKeyToPem(i)}var a,c,l,u;switch(r.algorithm){case"aes128":a="AES-128-CBC",l=16,c=n.random.getBytesSync(16),u=n.aes.createEncryptionCipher;break;case"aes192":a="AES-192-CBC",l=24,c=n.random.getBytesSync(16),u=n.aes.createEncryptionCipher;break;case"aes256":a="AES-256-CBC",l=32,c=n.random.getBytesSync(16),u=n.aes.createEncryptionCipher;break;case"3des":a="DES-EDE3-CBC",l=24,c=n.random.getBytesSync(8),u=n.des.createEncryptionCipher;break;case"des":a="DES-CBC",l=8,c=n.random.getBytesSync(8),u=n.des.createEncryptionCipher;break;default:var h=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw h.algorithm=r.algorithm,h}var d=u(n.pbe.opensslDeriveBytes(t,c.substr(0,8),l));d.start(c),d.update(o.toDer(s.privateKeyToAsn1(e))),d.finish();var p={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:a,parameters:n.util.bytesToHex(c).toUpperCase()},body:d.output.getBytes()};return n.pem.encode(p)},s.decryptRsaPrivateKey=function(e,t){var r=null,i=n.pem.decode(e)[0];if("ENCRYPTED PRIVATE KEY"!==i.type&&"PRIVATE KEY"!==i.type&&"RSA PRIVATE KEY"!==i.type)throw(l=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".')).headerType=l,l;if(i.procType&&"ENCRYPTED"===i.procType.type){var a,c;switch(i.dekInfo.algorithm){case"DES-CBC":a=8,c=n.des.createDecryptionCipher;break;case"DES-EDE3-CBC":a=24,c=n.des.createDecryptionCipher;break;case"AES-128-CBC":a=16,c=n.aes.createDecryptionCipher;break;case"AES-192-CBC":a=24,c=n.aes.createDecryptionCipher;break;case"AES-256-CBC":a=32,c=n.aes.createDecryptionCipher;break;case"RC2-40-CBC":a=5,c=function(e){return n.rc2.createDecryptionCipher(e,40)};break;case"RC2-64-CBC":a=8,c=function(e){return n.rc2.createDecryptionCipher(e,64)};break;case"RC2-128-CBC":a=16,c=function(e){return n.rc2.createDecryptionCipher(e,128)};break;default:var l;throw(l=new Error('Could not decrypt private key; unsupported encryption algorithm "'+i.dekInfo.algorithm+'".')).algorithm=i.dekInfo.algorithm,l}var u=n.util.hexToBytes(i.dekInfo.parameters),h=c(n.pbe.opensslDeriveBytes(t,u.substr(0,8),a));if(h.start(u),h.update(n.util.createBuffer(i.body)),!h.finish())return r;r=h.output.getBytes()}else r=i.body;return null!==(r="ENCRYPTED PRIVATE KEY"===i.type?s.decryptPrivateKeyInfo(o.fromDer(r),t):o.fromDer(r))&&(r=s.privateKeyFromAsn1(r)),r},s.pbe.generatePkcs12Key=function(e,t,r,i,o,s){var a,c;if("undefined"===typeof s||null===s){if(!("sha1"in n.md))throw new Error('"sha1" hash algorithm unavailable.');s=n.md.sha1.create()}var l=s.digestLength,u=s.blockLength,h=new n.util.ByteBuffer,d=new n.util.ByteBuffer;if(null!==e&&void 0!==e){for(c=0;c<e.length;c++)d.putInt16(e.charCodeAt(c));d.putInt16(0)}var p=d.length(),f=t.length(),g=new n.util.ByteBuffer;g.fillWithByte(r,u);var y=u*Math.ceil(f/u),m=new n.util.ByteBuffer;for(c=0;c<y;c++)m.putByte(t.at(c%f));var v=u*Math.ceil(p/u),b=new n.util.ByteBuffer;for(c=0;c<v;c++)b.putByte(d.at(c%p));var w=m;w.putBuffer(b);for(var E=Math.ceil(o/l),_=1;_<=E;_++){var S=new n.util.ByteBuffer;S.putBytes(g.bytes()),S.putBytes(w.bytes());for(var A=0;A<i;A++)s.start(),s.update(S.getBytes()),S=s.digest();var C=new n.util.ByteBuffer;for(c=0;c<u;c++)C.putByte(S.at(c%l));var I=Math.ceil(f/u)+Math.ceil(p/u),T=new n.util.ByteBuffer;for(a=0;a<I;a++){var k=new n.util.ByteBuffer(w.getBytes(u)),R=511;for(c=C.length()-1;c>=0;c--)R>>=8,R+=C.at(c)+k.at(c),k.setAt(c,255&R);T.putBuffer(k)}w=T,h.putBuffer(S)}return h.truncate(h.length()-o),h},s.pbe.getCipher=function(e,t,r){switch(e){case s.oids.pkcs5PBES2:return s.pbe.getCipherForPBES2(e,t,r);case s.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case s.oids["pbewithSHAAnd40BitRC2-CBC"]:return s.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}},s.pbe.getCipherForPBES2=function(e,t,r){var i,a={},c=[];if(!o.validate(t,l,a,c))throw(i=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.")).errors=c,i;if((e=o.derToOid(a.kdfOid))!==s.oids.pkcs5PBKDF2)throw(i=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.")).oid=e,i.supportedOids=["pkcs5PBKDF2"],i;if((e=o.derToOid(a.encOid))!==s.oids["aes128-CBC"]&&e!==s.oids["aes192-CBC"]&&e!==s.oids["aes256-CBC"]&&e!==s.oids["des-EDE3-CBC"]&&e!==s.oids.desCBC)throw(i=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.")).oid=e,i.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],i;var u,h,p=a.kdfSalt,f=n.util.createBuffer(a.kdfIterationCount);switch(f=f.getInt(f.length()<<3),s.oids[e]){case"aes128-CBC":u=16,h=n.aes.createDecryptionCipher;break;case"aes192-CBC":u=24,h=n.aes.createDecryptionCipher;break;case"aes256-CBC":u=32,h=n.aes.createDecryptionCipher;break;case"des-EDE3-CBC":u=24,h=n.des.createDecryptionCipher;break;case"desCBC":u=8,h=n.des.createDecryptionCipher}var g=d(a.prfOid),y=n.pkcs5.pbkdf2(r,p,f,u,g),m=a.encIv,v=h(y);return v.start(m),v},s.pbe.getCipherForPKCS12PBE=function(e,t,r){var i={},a=[];if(!o.validate(t,u,i,a))throw(g=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.")).errors=a,g;var c,l,h,p=n.util.createBuffer(i.salt),f=n.util.createBuffer(i.iterations);switch(f=f.getInt(f.length()<<3),e){case s.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,l=8,h=n.des.startDecrypting;break;case s.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,l=8,h=function(e,t){var r=n.rc2.createDecryptionCipher(e,40);return r.start(t,null),r};break;default:var g;throw(g=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.")).oid=e,g}var y=d(i.prfOid),m=s.pbe.generatePkcs12Key(r,p,1,f,c,y);return y.start(),h(m,s.pbe.generatePkcs12Key(r,p,2,f,l,y))},s.pbe.opensslDeriveBytes=function(e,t,r,i){if("undefined"===typeof i||null===i){if(!("md5"in n.md))throw new Error('"md5" hash algorithm unavailable.');i=n.md.md5.create()}null===t&&(t="");for(var o=[h(i,e+t)],s=16,a=1;s<r;++a,s+=16)o.push(h(i,o[a-1]+e+t));return o.join("").substr(0,r)}},4021:(e,t,r)=>{var n=r(428);r(5617),r(9207),r(9491);var i,o=n.pkcs5=n.pkcs5||{};n.util.isNodejs&&!n.options.usePureJavaScript&&(i=r(5819)),e.exports=n.pbkdf2=o.pbkdf2=function(e,t,r,o,s,a){if("function"===typeof s&&(a=s,s=null),n.util.isNodejs&&!n.options.usePureJavaScript&&i.pbkdf2&&(null===s||"object"!==typeof s)&&(i.pbkdf2Sync.length>4||!s||"sha1"===s))return"string"!==typeof s&&(s="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),a?4===i.pbkdf2Sync.length?i.pbkdf2(e,t,r,o,(function(e,t){if(e)return a(e);a(null,t.toString("binary"))})):i.pbkdf2(e,t,r,o,s,(function(e,t){if(e)return a(e);a(null,t.toString("binary"))})):4===i.pbkdf2Sync.length?i.pbkdf2Sync(e,t,r,o).toString("binary"):i.pbkdf2Sync(e,t,r,o,s).toString("binary");if("undefined"!==typeof s&&null!==s||(s="sha1"),"string"===typeof s){if(!(s in n.md.algorithms))throw new Error("Unknown hash algorithm: "+s);s=n.md[s].create()}var c=s.digestLength;if(o>4294967295*c){var l=new Error("Derived key is too long.");if(a)return a(l);throw l}var u=Math.ceil(o/c),h=o-(u-1)*c,d=n.hmac.create();d.start(s,e);var p,f,g,y="";if(!a){for(var m=1;m<=u;++m){d.start(null,null),d.update(t),d.update(n.util.int32ToBytes(m)),p=g=d.digest().getBytes();for(var v=2;v<=r;++v)d.start(null,null),d.update(g),f=d.digest().getBytes(),p=n.util.xorBytes(p,f,c),g=f;y+=m<u?p:p.substr(0,h)}return y}m=1;function b(){if(m>u)return a(null,y);d.start(null,null),d.update(t),d.update(n.util.int32ToBytes(m)),p=g=d.digest().getBytes(),v=2,w()}function w(){if(v<=r)return d.start(null,null),d.update(g),f=d.digest().getBytes(),p=n.util.xorBytes(p,f,c),g=f,++v,n.util.setImmediate(w);y+=m<u?p:p.substr(0,h),++m,b()}b()}},197:(e,t,r)=>{var n=r(428);r(9491);var i=e.exports=n.pem=n.pem||{};function o(e){for(var t=e.name+": ",r=[],n=function(e,t){return" "+t},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+"\r\n";var o=0,s=-1;for(i=0;i<t.length;++i,++o)if(o>65&&-1!==s){var a=t[s];","===a?(++s,t=t.substr(0,s)+"\r\n "+t.substr(s)):t=t.substr(0,s)+"\r\n"+a+t.substr(s+1),o=i-s-1,s=-1,++i}else" "!==t[i]&&"\t"!==t[i]&&","!==t[i]||(s=i);return t}function s(e){return e.replace(/^\s+/,"")}i.encode=function(e,t){t=t||{};var r,i="-----BEGIN "+e.type+"-----\r\n";if(e.procType&&(i+=o(r={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]})),e.contentDomain&&(i+=o(r={name:"Content-Domain",values:[e.contentDomain]})),e.dekInfo&&(r={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&r.values.push(e.dekInfo.parameters),i+=o(r)),e.headers)for(var s=0;s<e.headers.length;++s)i+=o(e.headers[s]);return e.procType&&(i+="\r\n"),i+=n.util.encode64(e.body,t.maxline||64)+"\r\n",i+="-----END "+e.type+"-----\r\n"},i.decode=function(e){for(var t,r=[],i=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,o=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,a=/\r?\n/;t=i.exec(e);){var c=t[1];"NEW CERTIFICATE REQUEST"===c&&(c="CERTIFICATE REQUEST");var l={type:c,procType:null,contentDomain:null,dekInfo:null,headers:[],body:n.util.decode64(t[3])};if(r.push(l),t[2]){for(var u=t[2].split(a),h=0;t&&h<u.length;){for(var d=u[h].replace(/\s+$/,""),p=h+1;p<u.length;++p){var f=u[p];if(!/\s/.test(f[0]))break;d+=f,h=p}if(t=d.match(o)){for(var g={name:t[1],values:[]},y=t[2].split(","),m=0;m<y.length;++m)g.values.push(s(y[m]));if(l.procType)if(l.contentDomain||"Content-Domain"!==g.name)if(l.dekInfo||"DEK-Info"!==g.name)l.headers.push(g);else{if(0===g.values.length)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');l.dekInfo={algorithm:y[0],parameters:y[1]||null}}else l.contentDomain=y[0]||"";else{if("Proc-Type"!==g.name)throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(2!==g.values.length)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');l.procType={version:y[0],type:y[1]}}}++h}if("ENCRYPTED"===l.procType&&!l.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(0===r.length)throw new Error("Invalid PEM formatted message.");return r}},9814:(e,t,r)=>{var n=r(428);r(9491),r(5455),r(6687);var i=e.exports=n.pkcs1=n.pkcs1||{};function o(e,t,r){r||(r=n.md.sha1.create());for(var i="",o=Math.ceil(t/r.digestLength),s=0;s<o;++s){var a=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,255&s);r.start(),r.update(e+a),i+=r.digest().getBytes()}return i.substring(0,t)}i.encode_rsa_oaep=function(e,t,r){var i,s,a,c;"string"===typeof r?(i=r,s=arguments[3]||void 0,a=arguments[4]||void 0):r&&(i=r.label||void 0,s=r.seed||void 0,a=r.md||void 0,r.mgf1&&r.mgf1.md&&(c=r.mgf1.md)),a?a.start():a=n.md.sha1.create(),c||(c=a);var l=Math.ceil(e.n.bitLength()/8),u=l-2*a.digestLength-2;if(t.length>u)throw(y=new Error("RSAES-OAEP input message length is too long.")).length=t.length,y.maxLength=u,y;i||(i=""),a.update(i,"raw");for(var h=a.digest(),d="",p=u-t.length,f=0;f<p;f++)d+="\0";var g=h.getBytes()+d+"\x01"+t;if(s){if(s.length!==a.digestLength){var y;throw(y=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.")).seedLength=s.length,y.digestLength=a.digestLength,y}}else s=n.random.getBytes(a.digestLength);var m=o(s,l-a.digestLength-1,c),v=n.util.xorBytes(g,m,g.length),b=o(v,a.digestLength,c),w=n.util.xorBytes(s,b,s.length);return"\0"+w+v},i.decode_rsa_oaep=function(e,t,r){var i,s,a;"string"===typeof r?(i=r,s=arguments[3]||void 0):r&&(i=r.label||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(a=r.mgf1.md));var c=Math.ceil(e.n.bitLength()/8);if(t.length!==c)throw(v=new Error("RSAES-OAEP encoded message length is invalid.")).length=t.length,v.expectedLength=c,v;if(void 0===s?s=n.md.sha1.create():s.start(),a||(a=s),c<2*s.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");i||(i=""),s.update(i,"raw");for(var l=s.digest().getBytes(),u=t.charAt(0),h=t.substring(1,s.digestLength+1),d=t.substring(1+s.digestLength),p=o(d,s.digestLength,a),f=n.util.xorBytes(h,p,h.length),g=o(f,c-s.digestLength-1,a),y=n.util.xorBytes(d,g,d.length),m=y.substring(0,s.digestLength),v="\0"!==u,b=0;b<s.digestLength;++b)v|=l.charAt(b)!==m.charAt(b);for(var w=1,E=s.digestLength,_=s.digestLength;_<y.length;_++){var S=y.charCodeAt(_),A=1&S^1,C=w?65534:0;v|=S&C,E+=w&=A}if(v||1!==y.charCodeAt(E))throw new Error("Invalid RSAES-OAEP padding.");return y.substring(E+1)}},108:(e,t,r)=>{var n=r(428);r(5332),r(5419),r(5877),r(1346),r(197),r(4795),r(5455),r(9491),r(2911);var i=n.asn1,o=e.exports=n.pkcs7=n.pkcs7||{};function s(e){var t={},r=[];if(!i.validate(e,o.asn1.recipientInfoValidator,t,r)){var s=new Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw s.errors=r,s}return{version:t.version.charCodeAt(0),issuer:n.pki.RDNAttributesAsArray(t.issuer),serialNumber:n.util.createBuffer(t.serial).toHex(),encryptedContent:{algorithm:i.derToOid(t.encAlgorithm),parameter:t.encParameter?t.encParameter.value:void 0,content:t.encKey}}}function a(e){for(var t,r=[],o=0;o<e.length;++o)r.push((t=e[o],i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.INTEGER,!1,i.integerToDer(t.version).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[n.pki.distinguishedNameToAsn1({attributes:t.issuer}),i.create(i.Class.UNIVERSAL,i.Type.INTEGER,!1,n.util.hexToBytes(t.serialNumber))]),i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(t.encryptedContent.algorithm).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.NULL,!1,"")]),i.create(i.Class.UNIVERSAL,i.Type.OCTETSTRING,!1,t.encryptedContent.content)])));return r}function c(e){var t=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.INTEGER,!1,i.integerToDer(e.version).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[n.pki.distinguishedNameToAsn1({attributes:e.issuer}),i.create(i.Class.UNIVERSAL,i.Type.INTEGER,!1,n.util.hexToBytes(e.serialNumber))]),i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(e.digestAlgorithm).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.NULL,!1,"")])]);if(e.authenticatedAttributesAsn1&&t.value.push(e.authenticatedAttributesAsn1),t.value.push(i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(e.signatureAlgorithm).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.NULL,!1,"")])),t.value.push(i.create(i.Class.UNIVERSAL,i.Type.OCTETSTRING,!1,e.signature)),e.unauthenticatedAttributes.length>0){for(var r=i.create(i.Class.CONTEXT_SPECIFIC,1,!0,[]),o=0;o<e.unauthenticatedAttributes.length;++o){var s=e.unauthenticatedAttributes[o];r.values.push(l(s))}t.value.push(r)}return t}function l(e){var t;if(e.type===n.pki.oids.contentType)t=i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(e.value).getBytes());else if(e.type===n.pki.oids.messageDigest)t=i.create(i.Class.UNIVERSAL,i.Type.OCTETSTRING,!1,e.value.bytes());else if(e.type===n.pki.oids.signingTime){var r=new Date("1950-01-01T00:00:00Z"),o=new Date("2050-01-01T00:00:00Z"),s=e.value;if("string"===typeof s){var a=Date.parse(s);s=isNaN(a)?13===s.length?i.utcTimeToDate(s):i.generalizedTimeToDate(s):new Date(a)}t=s>=r&&s<o?i.create(i.Class.UNIVERSAL,i.Type.UTCTIME,!1,i.dateToUtcTime(s)):i.create(i.Class.UNIVERSAL,i.Type.GENERALIZEDTIME,!1,i.dateToGeneralizedTime(s))}return i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(e.type).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.SET,!0,[t])])}function u(e,t,r){var o={};if(!i.validate(t,r,o,[])){var s=new Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message.");throw s.errors=s,s}if(i.derToOid(o.contentType)!==n.pki.oids.data)throw new Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(o.encryptedContent){var a="";if(n.util.isArray(o.encryptedContent))for(var c=0;c<o.encryptedContent.length;++c){if(o.encryptedContent[c].type!==i.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");a+=o.encryptedContent[c].value}else a=o.encryptedContent;e.encryptedContent={algorithm:i.derToOid(o.encAlgorithm),parameter:n.util.createBuffer(o.encParameter.value),content:n.util.createBuffer(a)}}if(o.content){a="";if(n.util.isArray(o.content))for(c=0;c<o.content.length;++c){if(o.content[c].type!==i.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");a+=o.content[c].value}else a=o.content;e.content=n.util.createBuffer(a)}return e.version=o.version.charCodeAt(0),e.rawCapture=o,o}function h(e){if(void 0===e.encryptedContent.key)throw new Error("Symmetric key not available.");if(void 0===e.content){var t;switch(e.encryptedContent.algorithm){case n.pki.oids["aes128-CBC"]:case n.pki.oids["aes192-CBC"]:case n.pki.oids["aes256-CBC"]:t=n.aes.createDecryptionCipher(e.encryptedContent.key);break;case n.pki.oids.desCBC:case n.pki.oids["des-EDE3-CBC"]:t=n.des.createDecryptionCipher(e.encryptedContent.key);break;default:throw new Error("Unsupported symmetric cipher, OID "+e.encryptedContent.algorithm)}if(t.start(e.encryptedContent.parameter),t.update(e.encryptedContent.content),!t.finish())throw new Error("Symmetric decryption failed.");e.content=t.output}}o.messageFromPem=function(e){var t=n.pem.decode(e)[0];if("PKCS7"!==t.type){var r=new Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');throw r.headerType=t.type,r}if(t.procType&&"ENCRYPTED"===t.procType.type)throw new Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");var s=i.fromDer(t.body);return o.messageFromAsn1(s)},o.messageToPem=function(e,t){var r={type:"PKCS7",body:i.toDer(e.toAsn1()).getBytes()};return n.pem.encode(r,{maxline:t})},o.messageFromAsn1=function(e){var t={},r=[];if(!i.validate(e,o.asn1.contentInfoValidator,t,r)){var s=new Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo.");throw s.errors=r,s}var a,c=i.derToOid(t.contentType);switch(c){case n.pki.oids.envelopedData:a=o.createEnvelopedData();break;case n.pki.oids.encryptedData:a=o.createEncryptedData();break;case n.pki.oids.signedData:a=o.createSignedData();break;default:throw new Error("Cannot read PKCS#7 message. ContentType with OID "+c+" is not (yet) supported.")}return a.fromAsn1(t.content.value[0]),a},o.createSignedData=function(){var e=null;return e={type:n.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(t){if(u(e,t,o.asn1.signedDataValidator),e.certificates=[],e.crls=[],e.digestAlgorithmIdentifiers=[],e.contentInfo=null,e.signerInfos=[],e.rawCapture.certificates)for(var r=e.rawCapture.certificates.value,i=0;i<r.length;++i)e.certificates.push(n.pki.certificateFromAsn1(r[i]))},toAsn1:function(){e.contentInfo||e.sign();for(var t=[],r=0;r<e.certificates.length;++r)t.push(n.pki.certificateToAsn1(e.certificates[r]));var o=[],s=i.create(i.Class.CONTEXT_SPECIFIC,0,!0,[i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.INTEGER,!1,i.integerToDer(e.version).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.SET,!0,e.digestAlgorithmIdentifiers),e.contentInfo])]);return t.length>0&&s.value[0].value.push(i.create(i.Class.CONTEXT_SPECIFIC,0,!0,t)),o.length>0&&s.value[0].value.push(i.create(i.Class.CONTEXT_SPECIFIC,1,!0,o)),s.value[0].value.push(i.create(i.Class.UNIVERSAL,i.Type.SET,!0,e.signerInfos)),i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(e.type).getBytes()),s])},addSigner:function(t){var r=t.issuer,i=t.serialNumber;if(t.certificate){var o=t.certificate;"string"===typeof o&&(o=n.pki.certificateFromPem(o)),r=o.issuer.attributes,i=o.serialNumber}var s=t.key;if(!s)throw new Error("Could not add PKCS#7 signer; no private key specified.");"string"===typeof s&&(s=n.pki.privateKeyFromPem(s));var a=t.digestAlgorithm||n.pki.oids.sha1;switch(a){case n.pki.oids.sha1:case n.pki.oids.sha256:case n.pki.oids.sha384:case n.pki.oids.sha512:case n.pki.oids.md5:break;default:throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+a)}var c=t.authenticatedAttributes||[];if(c.length>0){for(var l=!1,u=!1,h=0;h<c.length;++h){var d=c[h];if(l||d.type!==n.pki.oids.contentType){if(u||d.type!==n.pki.oids.messageDigest);else if(u=!0,l)break}else if(l=!0,u)break}if(!l||!u)throw new Error("Invalid signer.authenticatedAttributes. If signer.authenticatedAttributes is specified, then it must contain at least two attributes, PKCS #9 content-type and PKCS #9 message-digest.")}e.signers.push({key:s,version:1,issuer:r,serialNumber:i,digestAlgorithm:a,signatureAlgorithm:n.pki.oids.rsaEncryption,signature:null,authenticatedAttributes:c,unauthenticatedAttributes:[]})},sign:function(t){var r;(t=t||{},"object"!==typeof e.content||null===e.contentInfo)&&(e.contentInfo=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(n.pki.oids.data).getBytes())]),"content"in e&&(e.content instanceof n.util.ByteBuffer?r=e.content.bytes():"string"===typeof e.content&&(r=n.util.encodeUtf8(e.content)),t.detached?e.detachedContent=i.create(i.Class.UNIVERSAL,i.Type.OCTETSTRING,!1,r):e.contentInfo.value.push(i.create(i.Class.CONTEXT_SPECIFIC,0,!0,[i.create(i.Class.UNIVERSAL,i.Type.OCTETSTRING,!1,r)]))));0!==e.signers.length&&function(t){var r;r=e.detachedContent?e.detachedContent:(r=e.contentInfo.value[1]).value[0];if(!r)throw new Error("Could not sign PKCS#7 message; there is no content to sign.");var o=i.derToOid(e.contentInfo.value[0].value),s=i.toDer(r);for(var a in s.getByte(),i.getBerValueLength(s),s=s.getBytes(),t)t[a].start().update(s);for(var u=new Date,h=0;h<e.signers.length;++h){var d=e.signers[h];if(0===d.authenticatedAttributes.length){if(o!==n.pki.oids.data)throw new Error("Invalid signer; authenticatedAttributes must be present when the ContentInfo content type is not PKCS#7 Data.")}else{d.authenticatedAttributesAsn1=i.create(i.Class.CONTEXT_SPECIFIC,0,!0,[]);for(var p=i.create(i.Class.UNIVERSAL,i.Type.SET,!0,[]),f=0;f<d.authenticatedAttributes.length;++f){var g=d.authenticatedAttributes[f];g.type===n.pki.oids.messageDigest?g.value=t[d.digestAlgorithm].digest():g.type===n.pki.oids.signingTime&&(g.value||(g.value=u)),p.value.push(l(g)),d.authenticatedAttributesAsn1.value.push(l(g))}s=i.toDer(p).getBytes(),d.md.start().update(s)}d.signature=d.key.sign(d.md,"RSASSA-PKCS1-V1_5")}e.signerInfos=function(e){for(var t=[],r=0;r<e.length;++r)t.push(c(e[r]));return t}(e.signers)}(function(){for(var t={},r=0;r<e.signers.length;++r){var o=e.signers[r];(s=o.digestAlgorithm)in t||(t[s]=n.md[n.pki.oids[s]].create()),0===o.authenticatedAttributes.length?o.md=t[s]:o.md=n.md[n.pki.oids[s]].create()}for(var s in e.digestAlgorithmIdentifiers=[],t)e.digestAlgorithmIdentifiers.push(i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(s).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.NULL,!1,"")]));return t}())},verify:function(){throw new Error("PKCS#7 signature verification not yet implemented.")},addCertificate:function(t){"string"===typeof t&&(t=n.pki.certificateFromPem(t)),e.certificates.push(t)},addCertificateRevokationList:function(e){throw new Error("PKCS#7 CRL support not yet implemented.")}}},o.createEncryptedData=function(){var e=null;return e={type:n.pki.oids.encryptedData,version:0,encryptedContent:{algorithm:n.pki.oids["aes256-CBC"]},fromAsn1:function(t){u(e,t,o.asn1.encryptedDataValidator)},decrypt:function(t){void 0!==t&&(e.encryptedContent.key=t),h(e)}}},o.createEnvelopedData=function(){var e=null;return e={type:n.pki.oids.envelopedData,version:0,recipients:[],encryptedContent:{algorithm:n.pki.oids["aes256-CBC"]},fromAsn1:function(t){var r=u(e,t,o.asn1.envelopedDataValidator);e.recipients=function(e){for(var t=[],r=0;r<e.length;++r)t.push(s(e[r]));return t}(r.recipientInfos.value)},toAsn1:function(){return i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(e.type).getBytes()),i.create(i.Class.CONTEXT_SPECIFIC,0,!0,[i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.INTEGER,!1,i.integerToDer(e.version).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.SET,!0,a(e.recipients)),i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,(t=e.encryptedContent,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(n.pki.oids.data).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(t.algorithm).getBytes()),t.parameter?i.create(i.Class.UNIVERSAL,i.Type.OCTETSTRING,!1,t.parameter.getBytes()):void 0]),i.create(i.Class.CONTEXT_SPECIFIC,0,!0,[i.create(i.Class.UNIVERSAL,i.Type.OCTETSTRING,!1,t.content.getBytes())])]))])])]);var t},findRecipient:function(t){for(var r=t.issuer.attributes,n=0;n<e.recipients.length;++n){var i=e.recipients[n],o=i.issuer;if(i.serialNumber===t.serialNumber&&o.length===r.length){for(var s=!0,a=0;a<r.length;++a)if(o[a].type!==r[a].type||o[a].value!==r[a].value){s=!1;break}if(s)return i}}return null},decrypt:function(t,r){if(void 0===e.encryptedContent.key&&void 0!==t&&void 0!==r)switch(t.encryptedContent.algorithm){case n.pki.oids.rsaEncryption:case n.pki.oids.desCBC:var i=r.decrypt(t.encryptedContent.content);e.encryptedContent.key=n.util.createBuffer(i);break;default:throw new Error("Unsupported asymmetric cipher, OID "+t.encryptedContent.algorithm)}h(e)},addRecipient:function(t){e.recipients.push({version:0,issuer:t.issuer.attributes,serialNumber:t.serialNumber,encryptedContent:{algorithm:n.pki.oids.rsaEncryption,key:t.publicKey}})},encrypt:function(t,r){if(void 0===e.encryptedContent.content){var i,o,s;switch(r=r||e.encryptedContent.algorithm,t=t||e.encryptedContent.key,r){case n.pki.oids["aes128-CBC"]:i=16,o=16,s=n.aes.createEncryptionCipher;break;case n.pki.oids["aes192-CBC"]:i=24,o=16,s=n.aes.createEncryptionCipher;break;case n.pki.oids["aes256-CBC"]:i=32,o=16,s=n.aes.createEncryptionCipher;break;case n.pki.oids["des-EDE3-CBC"]:i=24,o=8,s=n.des.createEncryptionCipher;break;default:throw new Error("Unsupported symmetric cipher, OID "+r)}if(void 0===t)t=n.util.createBuffer(n.random.getBytes(i));else if(t.length()!=i)throw new Error("Symmetric key has wrong length; got "+t.length()+" bytes, expected "+i+".");e.encryptedContent.algorithm=r,e.encryptedContent.key=t,e.encryptedContent.parameter=n.util.createBuffer(n.random.getBytes(o));var a=s(t);if(a.start(e.encryptedContent.parameter.copy()),a.update(e.content),!a.finish())throw new Error("Symmetric encryption failed.");e.encryptedContent.content=a.output}for(var c=0;c<e.recipients.length;++c){var l=e.recipients[c];if(void 0===l.encryptedContent.content){if(l.encryptedContent.algorithm!==n.pki.oids.rsaEncryption)throw new Error("Unsupported asymmetric cipher, OID "+l.encryptedContent.algorithm);l.encryptedContent.content=l.encryptedContent.key.encrypt(e.encryptedContent.key.data)}}}}}},4795:(e,t,r)=>{var n=r(428);r(5419),r(9491);var i=n.asn1,o=e.exports=n.pkcs7asn1=n.pkcs7asn1||{};n.pkcs7=n.pkcs7||{},n.pkcs7.asn1=o;var s={name:"ContentInfo",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.ContentType",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:i.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,captureAsn1:"content"}]};o.contentInfoValidator=s;var a={name:"EncryptedContentInfo",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentType",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1,capture:"contentType"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm.parameter",tagClass:i.Class.UNIVERSAL,captureAsn1:"encParameter"}]},{name:"EncryptedContentInfo.encryptedContent",tagClass:i.Class.CONTEXT_SPECIFIC,type:0,capture:"encryptedContent",captureAsn1:"encryptedContentAsn1"}]};o.envelopedDataValidator={name:"EnvelopedData",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"EnvelopedData.Version",tagClass:i.Class.UNIVERSAL,type:i.Type.INTEGER,constructed:!1,capture:"version"},{name:"EnvelopedData.RecipientInfos",tagClass:i.Class.UNIVERSAL,type:i.Type.SET,constructed:!0,captureAsn1:"recipientInfos"}].concat(a)},o.encryptedDataValidator={name:"EncryptedData",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedData.Version",tagClass:i.Class.UNIVERSAL,type:i.Type.INTEGER,constructed:!1,capture:"version"}].concat(a)};var c={name:"SignerInfo",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.version",tagClass:i.Class.UNIVERSAL,type:i.Type.INTEGER,constructed:!1},{name:"SignerInfo.issuerAndSerialNumber",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.issuerAndSerialNumber.issuer",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"SignerInfo.issuerAndSerialNumber.serialNumber",tagClass:i.Class.UNIVERSAL,type:i.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"SignerInfo.digestAlgorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.digestAlgorithm.algorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1,capture:"digestAlgorithm"},{name:"SignerInfo.digestAlgorithm.parameter",tagClass:i.Class.UNIVERSAL,constructed:!1,captureAsn1:"digestParameter",optional:!0}]},{name:"SignerInfo.authenticatedAttributes",tagClass:i.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"authenticatedAttributes"},{name:"SignerInfo.digestEncryptionAlgorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,capture:"signatureAlgorithm"},{name:"SignerInfo.encryptedDigest",tagClass:i.Class.UNIVERSAL,type:i.Type.OCTETSTRING,constructed:!1,capture:"signature"},{name:"SignerInfo.unauthenticatedAttributes",tagClass:i.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,capture:"unauthenticatedAttributes"}]};o.signedDataValidator={name:"SignedData",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"SignedData.Version",tagClass:i.Class.UNIVERSAL,type:i.Type.INTEGER,constructed:!1,capture:"version"},{name:"SignedData.DigestAlgorithms",tagClass:i.Class.UNIVERSAL,type:i.Type.SET,constructed:!0,captureAsn1:"digestAlgorithms"},s,{name:"SignedData.Certificates",tagClass:i.Class.CONTEXT_SPECIFIC,type:0,optional:!0,captureAsn1:"certificates"},{name:"SignedData.CertificateRevocationLists",tagClass:i.Class.CONTEXT_SPECIFIC,type:1,optional:!0,captureAsn1:"crls"},{name:"SignedData.SignerInfos",tagClass:i.Class.UNIVERSAL,type:i.Type.SET,capture:"signerInfos",optional:!0,value:[c]}]},o.recipientInfoValidator={name:"RecipientInfo",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.version",tagClass:i.Class.UNIVERSAL,type:i.Type.INTEGER,constructed:!1,capture:"version"},{name:"RecipientInfo.issuerAndSerial",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.issuerAndSerial.issuer",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"RecipientInfo.issuerAndSerial.serialNumber",tagClass:i.Class.UNIVERSAL,type:i.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"RecipientInfo.keyEncryptionAlgorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.keyEncryptionAlgorithm.algorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"RecipientInfo.keyEncryptionAlgorithm.parameter",tagClass:i.Class.UNIVERSAL,constructed:!1,captureAsn1:"encParameter",optional:!0}]},{name:"RecipientInfo.encryptedKey",tagClass:i.Class.UNIVERSAL,type:i.Type.OCTETSTRING,constructed:!1,capture:"encKey"}]}},3694:(e,t,r)=>{var n=r(428);r(9491),r(7834),r(5455),function(){if(n.prime)e.exports=n.prime;else{var t=e.exports=n.prime=n.prime||{},r=n.jsbn.BigInteger,i=[6,4,2,4,2,4,6,2],o=new r(null);o.fromInt(30);var s=function(e,t){return e|t};t.generateProbablePrime=function(e,t,i){"function"===typeof t&&(i=t,t={});var o=(t=t||{}).algorithm||"PRIMEINC";"string"===typeof o&&(o={name:o}),o.options=o.options||{};var s=t.prng||n.random,c={nextBytes:function(e){for(var t=s.getBytesSync(e.length),r=0;r<e.length;++r)e[r]=t.charCodeAt(r)}};if("PRIMEINC"===o.name)return function(e,t,i,o){if("workers"in i)return function(e,t,i,o){if("undefined"===typeof Worker)return a(e,t,i,o);var s=l(e,t),c=i.workers,u=i.workLoad||100,h=30*u/8,d=i.workerScript||"forge/prime.worker.js";if(-1===c)return n.util.estimateCores((function(e,t){e&&(t=2),c=t-1,p()}));function p(){c=Math.max(1,c);for(var n=[],i=0;i<c;++i)n[i]=new Worker(d);for(i=0;i<c;++i)n[i].addEventListener("message",p);var a=!1;function p(i){if(!a){0;var c=i.data;if(c.found){for(var d=0;d<n.length;++d)n[d].terminate();return a=!0,o(null,new r(c.prime,16))}s.bitLength()>e&&(s=l(e,t));var p=s.toString(16);i.target.postMessage({hex:p,workLoad:u}),s.dAddOffset(h,0)}}}p()}(e,t,i,o);return a(e,t,i,o)}(e,c,o.options,i);throw new Error("Invalid prime generation algorithm: "+o.name)}}function a(e,t,r,n){var i=l(e,t),o=function(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}(i.bitLength());"millerRabinTests"in r&&(o=r.millerRabinTests);var s=10;"maxBlockTime"in r&&(s=r.maxBlockTime),c(i,e,t,0,o,s,n)}function c(e,t,r,o,s,a,u){var h=+new Date;do{if(e.bitLength()>t&&(e=l(t,r)),e.isProbablePrime(s))return u(null,e);e.dAddOffset(i[o++%8],0)}while(a<0||+new Date-h<a);n.util.setImmediate((function(){c(e,t,r,o,s,a,u)}))}function l(e,t){var n=new r(e,t),i=e-1;return n.testBit(i)||n.bitwiseTo(r.ONE.shiftLeft(i),s,n),n.dAddOffset(31-n.mod(o).byteValue(),0),n}}()},7006:(e,t,r)=>{var n=r(428);r(9491);var i=null;!n.util.isNodejs||n.options.usePureJavaScript||process.versions["node-webkit"]||(i=r(5819)),(e.exports=n.prng=n.prng||{}).create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,o=new Array(32),s=0;s<32;++s)o[s]=r.create();function a(){if(t.pools[0].messageLength>=32)return c();var e=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(e)),c()}function c(){t.reseeds=4294967295===t.reseeds?0:t.reseeds+1;var e=t.plugin.md.create();e.update(t.keyBytes);for(var r=1,n=0;n<32;++n)t.reseeds%r===0&&(e.update(t.pools[n].digest().getBytes()),t.pools[n].start()),r<<=1;t.keyBytes=e.digest().getBytes(),e.start(),e.update(t.keyBytes);var i=e.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(i),t.generated=0}function l(e){var t=null,r=n.util.globalScope,i=r.crypto||r.msCrypto;i&&i.getRandomValues&&(t=function(e){return i.getRandomValues(e)});var o=n.util.createBuffer();if(t)for(;o.length()<e;){var s=Math.max(1,Math.min(e-o.length(),65536)/4),a=new Uint32Array(Math.floor(s));try{t(a);for(var c=0;c<a.length;++c)o.putInt32(a[c])}catch(p){if(!("undefined"!==typeof QuotaExceededError&&p instanceof QuotaExceededError))throw p}}if(o.length()<e)for(var l,u,h,d=Math.floor(65536*Math.random());o.length()<e;){u=16807*(65535&d),u+=(32767&(l=16807*(d>>16)))<<16,d=4294967295&(u=(2147483647&(u+=l>>15))+(u>>31));for(c=0;c<3;++c)h=d>>>(c<<3),h^=Math.floor(256*Math.random()),o.putByte(255&h)}return o.getBytes(e)}return t.pools=o,t.pool=0,t.generate=function(e,r){if(!r)return t.generateSync(e);var i=t.plugin.cipher,o=t.plugin.increment,s=t.plugin.formatKey,a=t.plugin.formatSeed,l=n.util.createBuffer();t.key=null,function u(h){if(h)return r(h);if(l.length()>=e)return r(null,l.getBytes(e));t.generated>1048575&&(t.key=null);if(null===t.key)return n.util.nextTick((function(){!function(e){if(t.pools[0].messageLength>=32)return c(),e();var r=32-t.pools[0].messageLength<<5;t.seedFile(r,(function(r,n){if(r)return e(r);t.collect(n),c(),e()}))}(u)}));var d=i(t.key,t.seed);t.generated+=d.length,l.putBytes(d),t.key=s(i(t.key,o(t.seed))),t.seed=a(i(t.key,t.seed)),n.util.setImmediate(u)}()},t.generateSync=function(e){var r=t.plugin.cipher,i=t.plugin.increment,o=t.plugin.formatKey,s=t.plugin.formatSeed;t.key=null;for(var c=n.util.createBuffer();c.length()<e;){t.generated>1048575&&(t.key=null),null===t.key&&a();var l=r(t.key,t.seed);t.generated+=l.length,c.putBytes(l),t.key=o(r(t.key,i(t.seed))),t.seed=s(r(t.key,t.seed))}return c.getBytes(e)},i?(t.seedFile=function(e,t){i.randomBytes(e,(function(e,r){if(e)return t(e);t(null,r.toString())}))},t.seedFileSync=function(e){return i.randomBytes(e).toString()}):(t.seedFile=function(e,t){try{t(null,l(e))}catch(r){t(r)}},t.seedFileSync=l),t.collect=function(e){for(var r=e.length,n=0;n<r;++n)t.pools[t.pool].update(e.substr(n,1)),t.pool=31===t.pool?0:t.pool+1},t.collectInt=function(e,r){for(var n="",i=0;i<r;i+=8)n+=String.fromCharCode(e>>i&255);t.collect(n)},t.registerWorker=function(e){if(e===self)t.seedFile=function(e,t){self.addEventListener("message",(function e(r){var n=r.data;n.forge&&n.forge.prng&&(self.removeEventListener("message",e),t(n.forge.prng.err,n.forge.prng.bytes))})),self.postMessage({forge:{prng:{needed:e}}})};else{e.addEventListener("message",(function(r){var n=r.data;n.forge&&n.forge.prng&&t.seedFile(n.forge.prng.needed,(function(t,r){e.postMessage({forge:{prng:{err:t,bytes:r}}})}))}))}},t}},9240:(e,t,r)=>{var n=r(428);r(5455),r(9491),(e.exports=n.pss=n.pss||{}).create=function(e){3===arguments.length&&(e={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var t,r=e.md,i=e.mgf,o=r.digestLength,s=e.salt||null;if("string"===typeof s&&(s=n.util.createBuffer(s)),"saltLength"in e)t=e.saltLength;else{if(null===s)throw new Error("Salt length not specified or specific salt not given.");t=s.length()}if(null!==s&&s.length()!==t)throw new Error("Given salt length does not match length of given salt.");var a=e.prng||n.random,c={encode:function(e,c){var l,u,h=c-1,d=Math.ceil(h/8),p=e.digest().getBytes();if(d<o+t+2)throw new Error("Message is too long to encrypt.");u=null===s?a.getBytesSync(t):s.bytes();var f=new n.util.ByteBuffer;f.fillWithByte(0,8),f.putBytes(p),f.putBytes(u),r.start(),r.update(f.getBytes());var g=r.digest().getBytes(),y=new n.util.ByteBuffer;y.fillWithByte(0,d-t-o-2),y.putByte(1),y.putBytes(u);var m=y.getBytes(),v=d-o-1,b=i.generate(g,v),w="";for(l=0;l<v;l++)w+=String.fromCharCode(m.charCodeAt(l)^b.charCodeAt(l));var E=65280>>8*d-h&255;return(w=String.fromCharCode(w.charCodeAt(0)&~E)+w.substr(1))+g+String.fromCharCode(188)},verify:function(e,s,a){var c,l=a-1,u=Math.ceil(l/8);if(s=s.substr(-u),u<o+t+2)throw new Error("Inconsistent parameters to PSS signature verification.");if(188!==s.charCodeAt(u-1))throw new Error("Encoded message does not end in 0xBC.");var h=u-o-1,d=s.substr(0,h),p=s.substr(h,o),f=65280>>8*u-l&255;if(0!==(d.charCodeAt(0)&f))throw new Error("Bits beyond keysize not zero as expected.");var g=i.generate(p,h),y="";for(c=0;c<h;c++)y+=String.fromCharCode(d.charCodeAt(c)^g.charCodeAt(c));y=String.fromCharCode(y.charCodeAt(0)&~f)+y.substr(1);var m=u-o-t-2;for(c=0;c<m;c++)if(0!==y.charCodeAt(c))throw new Error("Leftmost octets not zero as expected");if(1!==y.charCodeAt(m))throw new Error("Inconsistent PSS signature, 0x01 marker not found");var v=y.substr(-t),b=new n.util.ByteBuffer;return b.fillWithByte(0,8),b.putBytes(e),b.putBytes(v),r.start(),r.update(b.getBytes()),p===r.digest().getBytes()}};return c}},5455:(e,t,r)=>{var n=r(428);r(5332),r(7153),r(7006),r(9491),n.random&&n.random.getBytes?e.exports=n.random:function(t){var r={},i=new Array(4),o=n.util.createBuffer();function s(){var e=n.prng.create(r);return e.getBytes=function(t,r){return e.generate(t,r)},e.getBytesSync=function(t){return e.generate(t)},e}r.formatKey=function(e){var t=n.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),n.aes._expandKey(e,!1)},r.formatSeed=function(e){var t=n.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),e},r.cipher=function(e,t){return n.aes._updateBlock(e,t,i,!1),o.putInt32(i[0]),o.putInt32(i[1]),o.putInt32(i[2]),o.putInt32(i[3]),o.getBytes()},r.increment=function(e){return++e[3],e},r.md=n.md.sha256;var a=s(),c=null,l=n.util.globalScope,u=l.crypto||l.msCrypto;if(u&&u.getRandomValues&&(c=function(e){return u.getRandomValues(e)}),n.options.usePureJavaScript||!n.util.isNodejs&&!c){if("undefined"===typeof window||window.document,a.collectInt(+new Date,32),"undefined"!==typeof navigator){var h="";for(var d in navigator)try{"string"==typeof navigator[d]&&(h+=navigator[d])}catch(p){}a.collect(h),h=null}t&&(t().mousemove((function(e){a.collectInt(e.clientX,16),a.collectInt(e.clientY,16)})),t().keypress((function(e){a.collectInt(e.charCode,8)})))}if(n.random)for(var d in a)n.random[d]=a[d];else n.random=a;n.random.createInstance=s,e.exports=n.random}("undefined"!==typeof jQuery?jQuery:null)},8177:(e,t,r)=>{var n=r(428);r(9491);var i=[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],o=[1,2,3,5],s=function(e,t){return e<<t&65535|(65535&e)>>16-t},a=function(e,t){return(65535&e)>>t|e<<16-t&65535};e.exports=n.rc2=n.rc2||{},n.rc2.expandKey=function(e,t){"string"===typeof e&&(e=n.util.createBuffer(e)),t=t||128;var r,o=e,s=e.length(),a=t,c=Math.ceil(a/8),l=255>>(7&a);for(r=s;r<128;r++)o.putByte(i[o.at(r-1)+o.at(r-s)&255]);for(o.setAt(128-c,i[o.at(128-c)&l]),r=127-c;r>=0;r--)o.setAt(r,i[o.at(r+1)^o.at(r+c)]);return o};var c=function(e,t,r){var i,c,l,u,h=!1,d=null,p=null,f=null,g=[];for(e=n.rc2.expandKey(e,t),l=0;l<64;l++)g.push(e.getInt16Le());r?(i=function(e){for(l=0;l<4;l++)e[l]+=g[u]+(e[(l+3)%4]&e[(l+2)%4])+(~e[(l+3)%4]&e[(l+1)%4]),e[l]=s(e[l],o[l]),u++},c=function(e){for(l=0;l<4;l++)e[l]+=g[63&e[(l+3)%4]]}):(i=function(e){for(l=3;l>=0;l--)e[l]=a(e[l],o[l]),e[l]-=g[u]+(e[(l+3)%4]&e[(l+2)%4])+(~e[(l+3)%4]&e[(l+1)%4]),u--},c=function(e){for(l=3;l>=0;l--)e[l]-=g[63&e[(l+3)%4]]});var y=function(e){var t=[];for(l=0;l<4;l++){var n=d.getInt16Le();null!==f&&(r?n^=f.getInt16Le():f.putInt16Le(n)),t.push(65535&n)}u=r?0:63;for(var i=0;i<e.length;i++)for(var o=0;o<e[i][0];o++)e[i][1](t);for(l=0;l<4;l++)null!==f&&(r?f.putInt16Le(t[l]):t[l]^=f.getInt16Le()),p.putInt16Le(t[l])},m=null;return m={start:function(e,t){e&&"string"===typeof e&&(e=n.util.createBuffer(e)),h=!1,d=n.util.createBuffer(),p=t||new n.util.createBuffer,f=e,m.output=p},update:function(e){for(h||d.putBuffer(e);d.length()>=8;)y([[5,i],[1,c],[6,i],[1,c],[5,i]])},finish:function(e){var t=!0;if(r)if(e)t=e(8,d,!r);else{var n=8===d.length()?8:8-d.length();d.fillWithByte(n,n)}if(t&&(h=!0,m.update()),!r&&(t=0===d.length()))if(e)t=e(8,p,!r);else{var i=p.length(),o=p.at(i-1);o>i?t=!1:p.truncate(o)}return t}}};n.rc2.startEncrypting=function(e,t,r){var i=n.rc2.createEncryptionCipher(e,128);return i.start(t,r),i},n.rc2.createEncryptionCipher=function(e,t){return c(e,t,!0)},n.rc2.startDecrypting=function(e,t,r){var i=n.rc2.createDecryptionCipher(e,128);return i.start(t,r),i},n.rc2.createDecryptionCipher=function(e,t){return c(e,t,!1)}},3894:(e,t,r)=>{var n=r(428);if(r(5419),r(7834),r(1346),r(9814),r(3694),r(5455),r(9491),"undefined"===typeof i)var i=n.jsbn.BigInteger;var o=n.util.isNodejs?r(5819):null,s=n.asn1,a=n.util;n.pki=n.pki||{},e.exports=n.pki.rsa=n.rsa=n.rsa||{};var c=n.pki,l=[6,4,2,4,2,4,6,2],u={name:"PrivateKeyInfo",tagClass:s.Class.UNIVERSAL,type:s.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:s.Class.UNIVERSAL,type:s.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:s.Class.UNIVERSAL,type:s.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:s.Class.UNIVERSAL,type:s.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},h={name:"RSAPrivateKey",tagClass:s.Class.UNIVERSAL,type:s.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},d={name:"RSAPublicKey",tagClass:s.Class.UNIVERSAL,type:s.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:s.Class.UNIVERSAL,type:s.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},p=n.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:s.Class.UNIVERSAL,type:s.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:s.Class.UNIVERSAL,type:s.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:s.Class.UNIVERSAL,type:s.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:s.Class.UNIVERSAL,type:s.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:s.Class.UNIVERSAL,type:s.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},f={name:"DigestInfo",tagClass:s.Class.UNIVERSAL,type:s.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:s.Class.UNIVERSAL,type:s.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:s.Class.UNIVERSAL,type:s.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:s.Class.UNIVERSAL,type:s.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:s.Class.UNIVERSAL,type:s.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},g=function(e){var t;if(!(e.algorithm in c.oids)){var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}t=c.oids[e.algorithm];var n=s.oidToDer(t).getBytes(),i=s.create(s.Class.UNIVERSAL,s.Type.SEQUENCE,!0,[]),o=s.create(s.Class.UNIVERSAL,s.Type.SEQUENCE,!0,[]);o.value.push(s.create(s.Class.UNIVERSAL,s.Type.OID,!1,n)),o.value.push(s.create(s.Class.UNIVERSAL,s.Type.NULL,!1,""));var a=s.create(s.Class.UNIVERSAL,s.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(a),s.toDer(i).getBytes()},y=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);var o;t.dP||(t.dP=t.d.mod(t.p.subtract(i.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(i.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));do{o=new i(n.util.bytesToHex(n.random.getBytes(t.n.bitLength()/8)),16)}while(o.compareTo(t.n)>=0||!o.gcd(t.n).equals(i.ONE));for(var s=(e=e.multiply(o.modPow(t.e,t.n)).mod(t.n)).mod(t.p).modPow(t.dP,t.p),a=e.mod(t.q).modPow(t.dQ,t.q);s.compareTo(a)<0;)s=s.add(t.p);var c=s.subtract(a).multiply(t.qInv).mod(t.p).multiply(t.q).add(a);return c=c.multiply(o.modInverse(t.n)).mod(t.n)};function m(e,t,r){var i=n.util.createBuffer(),o=Math.ceil(t.n.bitLength()/8);if(e.length>o-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=e.length,s.max=o-11,s}i.putByte(0),i.putByte(r);var a,c=o-3-e.length;if(0===r||1===r){a=0===r?0:255;for(var l=0;l<c;++l)i.putByte(a)}else for(;c>0;){var u=0,h=n.random.getBytes(c);for(l=0;l<c;++l)0===(a=h.charCodeAt(l))?++u:i.putByte(a);c=u}return i.putByte(0),i.putBytes(e),i}function v(e,t,r,i){var o=Math.ceil(t.n.bitLength()/8),s=n.util.createBuffer(e),a=s.getByte(),c=s.getByte();if(0!==a||r&&0!==c&&1!==c||!r&&2!=c||r&&0===c&&"undefined"===typeof i)throw new Error("Encryption block is invalid.");var l=0;if(0===c){l=o-3-i;for(var u=0;u<l;++u)if(0!==s.getByte())throw new Error("Encryption block is invalid.")}else if(1===c)for(l=0;s.length()>1;){if(255!==s.getByte()){--s.read;break}++l}else if(2===c)for(l=0;s.length()>1;){if(0===s.getByte()){--s.read;break}++l}if(0!==s.getByte()||l!==o-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function b(e,t,r){"function"===typeof t&&(r=t,t={});var o={algorithm:{name:(t=t||{}).algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};function s(){a(e.pBits,(function(t,n){return t?r(t):(e.p=n,null!==e.q?l(t,e.q):void a(e.qBits,l))}))}function a(e,t){n.prime.generateProbablePrime(e,o,t)}function l(t,n){if(t)return r(t);if(e.q=n,e.p.compareTo(e.q)<0){var o=e.p;e.p=e.q,e.q=o}if(0!==e.p.subtract(i.ONE).gcd(e.e).compareTo(i.ONE))return e.p=null,void s();if(0!==e.q.subtract(i.ONE).gcd(e.e).compareTo(i.ONE))return e.q=null,void a(e.qBits,l);if(e.p1=e.p.subtract(i.ONE),e.q1=e.q.subtract(i.ONE),e.phi=e.p1.multiply(e.q1),0!==e.phi.gcd(e.e).compareTo(i.ONE))return e.p=e.q=null,void s();if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits)return e.q=null,void a(e.qBits,l);var u=e.e.modInverse(e.phi);e.keys={privateKey:c.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:c.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}"prng"in t&&(o.prng=t.prng),s()}function w(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=n.util.hexToBytes(t);return r.length>1&&(0===r.charCodeAt(0)&&0===(128&r.charCodeAt(1))||255===r.charCodeAt(0)&&128===(128&r.charCodeAt(1)))?r.substr(1):r}function E(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 _(e){return n.util.isNodejs&&"function"===typeof o[e]}function S(e){return"undefined"!==typeof a.globalScope&&"object"===typeof a.globalScope.crypto&&"object"===typeof a.globalScope.crypto.subtle&&"function"===typeof a.globalScope.crypto.subtle[e]}function A(e){return"undefined"!==typeof a.globalScope&&"object"===typeof a.globalScope.msCrypto&&"object"===typeof a.globalScope.msCrypto.subtle&&"function"===typeof a.globalScope.msCrypto.subtle[e]}function C(e){for(var t=n.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),i=0;i<t.length;++i)r[i]=t.charCodeAt(i);return r}c.rsa.encrypt=function(e,t,r){var o,s=r,a=Math.ceil(t.n.bitLength()/8);!1!==r&&!0!==r?(s=2===r,o=m(e,t,r)):(o=n.util.createBuffer()).putBytes(e);for(var c=new i(o.toHex(),16),l=y(c,t,s).toString(16),u=n.util.createBuffer(),h=a-Math.ceil(l.length/2);h>0;)u.putByte(0),--h;return u.putBytes(n.util.hexToBytes(l)),u.getBytes()},c.rsa.decrypt=function(e,t,r,o){var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var a=new Error("Encrypted message length is invalid.");throw a.length=e.length,a.expected=s,a}var c=new i(n.util.createBuffer(e).toHex(),16);if(c.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var l=y(c,t,r).toString(16),u=n.util.createBuffer(),h=s-Math.ceil(l.length/2);h>0;)u.putByte(0),--h;return u.putBytes(n.util.hexToBytes(l)),!1!==o?v(u.getBytes(),t,r):u.getBytes()},c.rsa.createKeyPairGenerationState=function(e,t,r){"string"===typeof e&&(e=parseInt(e,10)),e=e||2048;var o,s=(r=r||{}).prng||n.random,a={nextBytes:function(e){for(var t=s.getBytesSync(e.length),r=0;r<e.length;++r)e[r]=t.charCodeAt(r)}},c=r.algorithm||"PRIMEINC";if("PRIMEINC"!==c)throw new Error("Invalid key generation algorithm: "+c);return(o={algorithm:c,state:0,bits:e,rng:a,eInt:t||65537,e:new i(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null}).e.fromInt(o.eInt),o},c.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new i(null);r.fromInt(30);for(var n,o=0,s=function(e,t){return e|t},a=+new Date,u=0;null===e.keys&&(t<=0||u<t);){if(0===e.state){var h=null===e.p?e.pBits:e.qBits,d=h-1;0===e.pqState?(e.num=new i(h,e.rng),e.num.testBit(d)||e.num.bitwiseTo(i.ONE.shiftLeft(d),s,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),o=0,++e.pqState):1===e.pqState?e.num.bitLength()>h?e.pqState=0:e.num.isProbablePrime(E(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(l[o++%8],0):2===e.pqState?e.pqState=0===e.num.subtract(i.ONE).gcd(e.e).compareTo(i.ONE)?3:0:3===e.pqState&&(e.pqState=0,null===e.p?e.p=e.num:e.q=e.num,null!==e.p&&null!==e.q&&++e.state,e.num=null)}else if(1===e.state)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(2===e.state)e.p1=e.p.subtract(i.ONE),e.q1=e.q.subtract(i.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(3===e.state)0===e.phi.gcd(e.e).compareTo(i.ONE)?++e.state:(e.p=null,e.q=null,e.state=0);else if(4===e.state)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(5===e.state){var p=e.e.modInverse(e.phi);e.keys={privateKey:c.rsa.setPrivateKey(e.n,e.e,p,e.p,e.q,p.mod(e.p1),p.mod(e.q1),e.q.modInverse(e.p)),publicKey:c.rsa.setPublicKey(e.n,e.e)}}u+=(n=+new Date)-a,a=n}return null!==e.keys},c.rsa.generateKeyPair=function(e,t,r,i){if(1===arguments.length?"object"===typeof e?(r=e,e=void 0):"function"===typeof e&&(i=e,e=void 0):2===arguments.length?"number"===typeof e?"function"===typeof t?(i=t,t=void 0):"number"!==typeof t&&(r=t,t=void 0):(r=e,i=t,e=void 0,t=void 0):3===arguments.length&&("number"===typeof t?"function"===typeof r&&(i=r,r=void 0):(i=r,r=t,t=void 0)),r=r||{},void 0===e&&(e=r.bits||2048),void 0===t&&(t=r.e||65537),!n.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(65537===t||3===t))if(i){if(_("generateKeyPair"))return o.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},(function(e,t,r){if(e)return i(e);i(null,{privateKey:c.privateKeyFromPem(r),publicKey:c.publicKeyFromPem(t)})}));if(S("generateKey")&&S("exportKey"))return a.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:C(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then((function(e){return a.globalScope.crypto.subtle.exportKey("pkcs8",e.privateKey)})).then(void 0,(function(e){i(e)})).then((function(e){if(e){var t=c.privateKeyFromAsn1(s.fromDer(n.util.createBuffer(e)));i(null,{privateKey:t,publicKey:c.setRsaPublicKey(t.n,t.e)})}}));if(A("generateKey")&&A("exportKey")){var l=a.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:C(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);return l.oncomplete=function(e){var t=e.target.result,r=a.globalScope.msCrypto.subtle.exportKey("pkcs8",t.privateKey);r.oncomplete=function(e){var t=e.target.result,r=c.privateKeyFromAsn1(s.fromDer(n.util.createBuffer(t)));i(null,{privateKey:r,publicKey:c.setRsaPublicKey(r.n,r.e)})},r.onerror=function(e){i(e)}},void(l.onerror=function(e){i(e)})}}else if(_("generateKeyPairSync")){var u=o.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:c.privateKeyFromPem(u.privateKey),publicKey:c.publicKeyFromPem(u.publicKey)}}var h=c.rsa.createKeyPairGenerationState(e,t,r);if(!i)return c.rsa.stepKeyPairGenerationState(h,0),h.keys;b(h,r,i)},c.setRsaPublicKey=c.rsa.setPublicKey=function(e,t){var r={n:e,e:t,encrypt:function(e,t,i){if("string"===typeof t?t=t.toUpperCase():void 0===t&&(t="RSAES-PKCS1-V1_5"),"RSAES-PKCS1-V1_5"===t)t={encode:function(e,t,r){return m(e,t,2).getBytes()}};else if("RSA-OAEP"===t||"RSAES-OAEP"===t)t={encode:function(e,t){return n.pkcs1.encode_rsa_oaep(t,e,i)}};else if(-1!==["RAW","NONE","NULL",null].indexOf(t))t={encode:function(e){return e}};else if("string"===typeof t)throw new Error('Unsupported encryption scheme: "'+t+'".');var o=t.encode(e,r,!0);return c.rsa.encrypt(o,r,!0)},verify:function(e,t,i,o){"string"===typeof i?i=i.toUpperCase():void 0===i&&(i="RSASSA-PKCS1-V1_5"),void 0===o&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),"RSASSA-PKCS1-V1_5"===i?i={verify:function(e,t){t=v(t,r,!0);var i=s.fromDer(t,{parseAllBytes:o._parseAllDigestBytes}),a={},c=[];if(!s.validate(i,f,a,c))throw(l=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.")).errors=c,l;var l,u=s.derToOid(a.algorithmIdentifier);if(u!==n.oids.md2&&u!==n.oids.md5&&u!==n.oids.sha1&&u!==n.oids.sha224&&u!==n.oids.sha256&&u!==n.oids.sha384&&u!==n.oids.sha512&&u!==n.oids["sha512-224"]&&u!==n.oids["sha512-256"])throw(l=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.")).oid=u,l;if((u===n.oids.md2||u===n.oids.md5)&&!("parameters"in a))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return e===a.digest}}:"NONE"!==i&&"NULL"!==i&&null!==i||(i={verify:function(e,t){return e===(t=v(t,r,!0))}});var a=c.rsa.decrypt(t,r,!0,!1);return i.verify(e,a,r.n.bitLength())}};return r},c.setRsaPrivateKey=c.rsa.setPrivateKey=function(e,t,r,i,o,s,a,l){var u={n:e,e:t,d:r,p:i,q:o,dP:s,dQ:a,qInv:l,decrypt:function(e,t,r){"string"===typeof t?t=t.toUpperCase():void 0===t&&(t="RSAES-PKCS1-V1_5");var i=c.rsa.decrypt(e,u,!1,!1);if("RSAES-PKCS1-V1_5"===t)t={decode:v};else if("RSA-OAEP"===t||"RSAES-OAEP"===t)t={decode:function(e,t){return n.pkcs1.decode_rsa_oaep(t,e,r)}};else{if(-1===["RAW","NONE","NULL",null].indexOf(t))throw new Error('Unsupported encryption scheme: "'+t+'".');t={decode:function(e){return e}}}return t.decode(i,u,!1)},sign:function(e,t){var r=!1;"string"===typeof t&&(t=t.toUpperCase()),void 0===t||"RSASSA-PKCS1-V1_5"===t?(t={encode:g},r=1):"NONE"!==t&&"NULL"!==t&&null!==t||(t={encode:function(){return e}},r=1);var n=t.encode(e,u.n.bitLength());return c.rsa.encrypt(n,u,r)}};return u},c.wrapRsaPrivateKey=function(e){return s.create(s.Class.UNIVERSAL,s.Type.SEQUENCE,!0,[s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,s.integerToDer(0).getBytes()),s.create(s.Class.UNIVERSAL,s.Type.SEQUENCE,!0,[s.create(s.Class.UNIVERSAL,s.Type.OID,!1,s.oidToDer(c.oids.rsaEncryption).getBytes()),s.create(s.Class.UNIVERSAL,s.Type.NULL,!1,"")]),s.create(s.Class.UNIVERSAL,s.Type.OCTETSTRING,!1,s.toDer(e).getBytes())])},c.privateKeyFromAsn1=function(e){var t,r,o,a,l,d,p,f,g={},y=[];if(s.validate(e,u,g,y)&&(e=s.fromDer(n.util.createBuffer(g.privateKey))),g={},y=[],!s.validate(e,h,g,y)){var m=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw m.errors=y,m}return t=n.util.createBuffer(g.privateKeyModulus).toHex(),r=n.util.createBuffer(g.privateKeyPublicExponent).toHex(),o=n.util.createBuffer(g.privateKeyPrivateExponent).toHex(),a=n.util.createBuffer(g.privateKeyPrime1).toHex(),l=n.util.createBuffer(g.privateKeyPrime2).toHex(),d=n.util.createBuffer(g.privateKeyExponent1).toHex(),p=n.util.createBuffer(g.privateKeyExponent2).toHex(),f=n.util.createBuffer(g.privateKeyCoefficient).toHex(),c.setRsaPrivateKey(new i(t,16),new i(r,16),new i(o,16),new i(a,16),new i(l,16),new i(d,16),new i(p,16),new i(f,16))},c.privateKeyToAsn1=c.privateKeyToRSAPrivateKey=function(e){return s.create(s.Class.UNIVERSAL,s.Type.SEQUENCE,!0,[s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,s.integerToDer(0).getBytes()),s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,w(e.n)),s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,w(e.e)),s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,w(e.d)),s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,w(e.p)),s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,w(e.q)),s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,w(e.dP)),s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,w(e.dQ)),s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,w(e.qInv))])},c.publicKeyFromAsn1=function(e){var t={},r=[];if(s.validate(e,p,t,r)){var o,a=s.derToOid(t.publicKeyOid);if(a!==c.oids.rsaEncryption)throw(o=new Error("Cannot read public key. Unknown OID.")).oid=a,o;e=t.rsaPublicKey}if(r=[],!s.validate(e,d,t,r))throw(o=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.")).errors=r,o;var l=n.util.createBuffer(t.publicKeyModulus).toHex(),u=n.util.createBuffer(t.publicKeyExponent).toHex();return c.setRsaPublicKey(new i(l,16),new i(u,16))},c.publicKeyToAsn1=c.publicKeyToSubjectPublicKeyInfo=function(e){return s.create(s.Class.UNIVERSAL,s.Type.SEQUENCE,!0,[s.create(s.Class.UNIVERSAL,s.Type.SEQUENCE,!0,[s.create(s.Class.UNIVERSAL,s.Type.OID,!1,s.oidToDer(c.oids.rsaEncryption).getBytes()),s.create(s.Class.UNIVERSAL,s.Type.NULL,!1,"")]),s.create(s.Class.UNIVERSAL,s.Type.BITSTRING,!1,[c.publicKeyToRSAPublicKey(e)])])},c.publicKeyToRSAPublicKey=function(e){return s.create(s.Class.UNIVERSAL,s.Type.SEQUENCE,!0,[s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,w(e.n)),s.create(s.Class.UNIVERSAL,s.Type.INTEGER,!1,w(e.e))])}},6687:(e,t,r)=>{var n=r(428);r(9207),r(9491);var i=e.exports=n.sha1=n.sha1||{};n.md.sha1=n.md.algorithms.sha1=i,i.create=function(){s||(o=String.fromCharCode(128),o+=n.util.fillString(String.fromCharCode(0),64),s=!0);var e=null,t=n.util.createBuffer(),r=new Array(80),i={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){i.messageLength=0,i.fullMessageLength=i.messageLength64=[];for(var r=i.messageLengthSize/4,o=0;o<r;++o)i.fullMessageLength.push(0);return t=n.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},i}};return i.start(),i.update=function(o,s){"utf8"===s&&(o=n.util.encodeUtf8(o));var c=o.length;i.messageLength+=c,c=[c/4294967296>>>0,c>>>0];for(var l=i.fullMessageLength.length-1;l>=0;--l)i.fullMessageLength[l]+=c[1],c[1]=c[0]+(i.fullMessageLength[l]/4294967296>>>0),i.fullMessageLength[l]=i.fullMessageLength[l]>>>0,c[0]=c[1]/4294967296>>>0;return t.putBytes(o),a(e,r,t),(t.read>2048||0===t.length())&&t.compact(),i},i.digest=function(){var s=n.util.createBuffer();s.putBytes(t.bytes());var c,l=i.fullMessageLength[i.fullMessageLength.length-1]+i.messageLengthSize&i.blockLength-1;s.putBytes(o.substr(0,i.blockLength-l));for(var u=8*i.fullMessageLength[0],h=0;h<i.fullMessageLength.length-1;++h)u+=(c=8*i.fullMessageLength[h+1])/4294967296>>>0,s.putInt32(u>>>0),u=c>>>0;s.putInt32(u);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};a(d,r,s);var p=n.util.createBuffer();return p.putInt32(d.h0),p.putInt32(d.h1),p.putInt32(d.h2),p.putInt32(d.h3),p.putInt32(d.h4),p},i};var o=null,s=!1;function a(e,t,r){for(var n,i,o,s,a,c,l,u=r.length();u>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,l=0;l<16;++l)n=r.getInt32(),t[l]=n,n=(i<<5|i>>>27)+(a^o&(s^a))+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<20;++l)n=(n=t[l-3]^t[l-8]^t[l-14]^t[l-16])<<1|n>>>31,t[l]=n,n=(i<<5|i>>>27)+(a^o&(s^a))+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<32;++l)n=(n=t[l-3]^t[l-8]^t[l-14]^t[l-16])<<1|n>>>31,t[l]=n,n=(i<<5|i>>>27)+(o^s^a)+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<40;++l)n=(n=t[l-6]^t[l-16]^t[l-28]^t[l-32])<<2|n>>>30,t[l]=n,n=(i<<5|i>>>27)+(o^s^a)+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<60;++l)n=(n=t[l-6]^t[l-16]^t[l-28]^t[l-32])<<2|n>>>30,t[l]=n,n=(i<<5|i>>>27)+(o&s|a&(o^s))+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<80;++l)n=(n=t[l-6]^t[l-16]^t[l-28]^t[l-32])<<2|n>>>30,t[l]=n,n=(i<<5|i>>>27)+(o^s^a)+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,u-=64}}},7153:(e,t,r)=>{var n=r(428);r(9207),r(9491);var i=e.exports=n.sha256=n.sha256||{};n.md.sha256=n.md.algorithms.sha256=i,i.create=function(){s||(o=String.fromCharCode(128),o+=n.util.fillString(String.fromCharCode(0),64),a=[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],s=!0);var e=null,t=n.util.createBuffer(),r=new Array(64),i={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){i.messageLength=0,i.fullMessageLength=i.messageLength64=[];for(var r=i.messageLengthSize/4,o=0;o<r;++o)i.fullMessageLength.push(0);return t=n.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},i}};return i.start(),i.update=function(o,s){"utf8"===s&&(o=n.util.encodeUtf8(o));var a=o.length;i.messageLength+=a,a=[a/4294967296>>>0,a>>>0];for(var l=i.fullMessageLength.length-1;l>=0;--l)i.fullMessageLength[l]+=a[1],a[1]=a[0]+(i.fullMessageLength[l]/4294967296>>>0),i.fullMessageLength[l]=i.fullMessageLength[l]>>>0,a[0]=a[1]/4294967296>>>0;return t.putBytes(o),c(e,r,t),(t.read>2048||0===t.length())&&t.compact(),i},i.digest=function(){var s=n.util.createBuffer();s.putBytes(t.bytes());var a,l=i.fullMessageLength[i.fullMessageLength.length-1]+i.messageLengthSize&i.blockLength-1;s.putBytes(o.substr(0,i.blockLength-l));for(var u=8*i.fullMessageLength[0],h=0;h<i.fullMessageLength.length-1;++h)u+=(a=8*i.fullMessageLength[h+1])/4294967296>>>0,s.putInt32(u>>>0),u=a>>>0;s.putInt32(u);var d={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};c(d,r,s);var p=n.util.createBuffer();return p.putInt32(d.h0),p.putInt32(d.h1),p.putInt32(d.h2),p.putInt32(d.h3),p.putInt32(d.h4),p.putInt32(d.h5),p.putInt32(d.h6),p.putInt32(d.h7),p},i};var o=null,s=!1,a=null;function c(e,t,r){for(var n,i,o,s,c,l,u,h,d,p,f,g,y,m=r.length();m>=64;){for(c=0;c<16;++c)t[c]=r.getInt32();for(;c<64;++c)n=((n=t[c-2])>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=((i=t[c-15])>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[c]=n+t[c-7]+i+t[c-16]|0;for(l=e.h0,u=e.h1,h=e.h2,d=e.h3,p=e.h4,f=e.h5,g=e.h6,y=e.h7,c=0;c<64;++c)o=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),s=l&u|h&(l^u),n=y+((p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7))+(g^p&(f^g))+a[c]+t[c],y=g,g=f,f=p,p=d+n>>>0,d=h,h=u,u=l,l=n+(i=o+s)>>>0;e.h0=e.h0+l|0,e.h1=e.h1+u|0,e.h2=e.h2+h|0,e.h3=e.h3+d|0,e.h4=e.h4+p|0,e.h5=e.h5+f|0,e.h6=e.h6+g|0,e.h7=e.h7+y|0,m-=64}}},8222:(e,t,r)=>{var n=r(428);r(9207),r(9491);var i=e.exports=n.sha512=n.sha512||{};n.md.sha512=n.md.algorithms.sha512=i;var o=n.sha384=n.sha512.sha384=n.sha512.sha384||{};o.create=function(){return i.create("SHA-384")},n.md.sha384=n.md.algorithms.sha384=o,n.sha512.sha256=n.sha512.sha256||{create:function(){return i.create("SHA-512/256")}},n.md["sha512/256"]=n.md.algorithms["sha512/256"]=n.sha512.sha256,n.sha512.sha224=n.sha512.sha224||{create:function(){return i.create("SHA-512/224")}},n.md["sha512/224"]=n.md.algorithms["sha512/224"]=n.sha512.sha224,i.create=function(e){if(a||(s=String.fromCharCode(128),s+=n.util.fillString(String.fromCharCode(0),128),c=[[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]],(l={})["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],l["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],l["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],l["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],a=!0),"undefined"===typeof e&&(e="SHA-512"),!(e in l))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=l[e],r=null,i=n.util.createBuffer(),o=new Array(80),h=0;h<80;++h)o[h]=new Array(2);var d=64;switch(e){case"SHA-384":d=48;break;case"SHA-512/256":d=32;break;case"SHA-512/224":d=28}var p={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:d,messageLength:0,fullMessageLength:null,messageLengthSize:16,start:function(){p.messageLength=0,p.fullMessageLength=p.messageLength128=[];for(var e=p.messageLengthSize/4,o=0;o<e;++o)p.fullMessageLength.push(0);i=n.util.createBuffer(),r=new Array(t.length);for(o=0;o<t.length;++o)r[o]=t[o].slice(0);return p}};return p.start(),p.update=function(e,t){"utf8"===t&&(e=n.util.encodeUtf8(e));var s=e.length;p.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=p.fullMessageLength.length-1;a>=0;--a)p.fullMessageLength[a]+=s[1],s[1]=s[0]+(p.fullMessageLength[a]/4294967296>>>0),p.fullMessageLength[a]=p.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return i.putBytes(e),u(r,o,i),(i.read>2048||0===i.length())&&i.compact(),p},p.digest=function(){var t=n.util.createBuffer();t.putBytes(i.bytes());var a,c=p.fullMessageLength[p.fullMessageLength.length-1]+p.messageLengthSize&p.blockLength-1;t.putBytes(s.substr(0,p.blockLength-c));for(var l=8*p.fullMessageLength[0],h=0;h<p.fullMessageLength.length-1;++h)l+=(a=8*p.fullMessageLength[h+1])/4294967296>>>0,t.putInt32(l>>>0),l=a>>>0;t.putInt32(l);var d=new Array(r.length);for(h=0;h<r.length;++h)d[h]=r[h].slice(0);u(d,o,t);var f,g=n.util.createBuffer();f="SHA-512"===e?d.length:"SHA-384"===e?d.length-2:d.length-4;for(h=0;h<f;++h)g.putInt32(d[h][0]),h===f-1&&"SHA-512/224"===e||g.putInt32(d[h][1]);return g},p};var s=null,a=!1,c=null,l=null;function u(e,t,r){for(var n,i,o,s,a,l,u,h,d,p,f,g,y,m,v,b,w,E,_,S,A,C,I,T,k,R,P,D,N,L,x,O,B,M=r.length();M>=128;){for(P=0;P<16;++P)t[P][0]=r.getInt32()>>>0,t[P][1]=r.getInt32()>>>0;for(;P<80;++P)n=(((D=(L=t[P-2])[0])>>>19|(N=L[1])<<13)^(N>>>29|D<<3)^D>>>6)>>>0,i=((D<<13|N>>>19)^(N<<3|D>>>29)^(D<<26|N>>>6))>>>0,o=(((D=(O=t[P-15])[0])>>>1|(N=O[1])<<31)^(D>>>8|N<<24)^D>>>7)>>>0,s=((D<<31|N>>>1)^(D<<24|N>>>8)^(D<<25|N>>>7))>>>0,x=t[P-7],B=t[P-16],N=i+x[1]+s+B[1],t[P][0]=n+x[0]+o+B[0]+(N/4294967296>>>0)>>>0,t[P][1]=N>>>0;for(f=e[0][0],g=e[0][1],y=e[1][0],m=e[1][1],v=e[2][0],b=e[2][1],w=e[3][0],E=e[3][1],_=e[4][0],S=e[4][1],A=e[5][0],C=e[5][1],I=e[6][0],T=e[6][1],k=e[7][0],R=e[7][1],P=0;P<80;++P)u=((_>>>14|S<<18)^(_>>>18|S<<14)^(S>>>9|_<<23))>>>0,h=(I^_&(A^I))>>>0,a=((f>>>28|g<<4)^(g>>>2|f<<30)^(g>>>7|f<<25))>>>0,l=((f<<4|g>>>28)^(g<<30|f>>>2)^(g<<25|f>>>7))>>>0,d=(f&y|v&(f^y))>>>0,p=(g&m|b&(g^m))>>>0,N=R+(((_<<18|S>>>14)^(_<<14|S>>>18)^(S<<23|_>>>9))>>>0)+((T^S&(C^T))>>>0)+c[P][1]+t[P][1],n=k+u+h+c[P][0]+t[P][0]+(N/4294967296>>>0)>>>0,i=N>>>0,o=a+d+((N=l+p)/4294967296>>>0)>>>0,s=N>>>0,k=I,R=T,I=A,T=C,A=_,C=S,_=w+n+((N=E+i)/4294967296>>>0)>>>0,S=N>>>0,w=v,E=b,v=y,b=m,y=f,m=g,f=n+o+((N=i+s)/4294967296>>>0)>>>0,g=N>>>0;N=e[0][1]+g,e[0][0]=e[0][0]+f+(N/4294967296>>>0)>>>0,e[0][1]=N>>>0,N=e[1][1]+m,e[1][0]=e[1][0]+y+(N/4294967296>>>0)>>>0,e[1][1]=N>>>0,N=e[2][1]+b,e[2][0]=e[2][0]+v+(N/4294967296>>>0)>>>0,e[2][1]=N>>>0,N=e[3][1]+E,e[3][0]=e[3][0]+w+(N/4294967296>>>0)>>>0,e[3][1]=N>>>0,N=e[4][1]+S,e[4][0]=e[4][0]+_+(N/4294967296>>>0)>>>0,e[4][1]=N>>>0,N=e[5][1]+C,e[5][0]=e[5][0]+A+(N/4294967296>>>0)>>>0,e[5][1]=N>>>0,N=e[6][1]+T,e[6][0]=e[6][0]+I+(N/4294967296>>>0)>>>0,e[6][1]=N>>>0,N=e[7][1]+R,e[7][0]=e[7][0]+k+(N/4294967296>>>0)>>>0,e[7][1]=N>>>0,M-=128}}},9491:(e,t,r)=>{var n=r(428),i=r(4443),o=e.exports=n.util=n.util||{};function s(e){if(8!==e&&16!==e&&24!==e&&32!==e)throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}function a(e){if(this.data="",this.read=0,"string"===typeof e)this.data=e;else if(o.isArrayBuffer(e)||o.isArrayBufferView(e))if("undefined"!==typeof Buffer&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch(n){for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof a||"object"===typeof e&&"string"===typeof e.data&&"number"===typeof e.read)&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}!function(){if("undefined"!==typeof process&&process.nextTick&&!process.browser)return o.nextTick=process.nextTick,void("function"===typeof setImmediate?o.setImmediate=setImmediate:o.setImmediate=o.nextTick);if("function"===typeof setImmediate)return o.setImmediate=function(){return setImmediate.apply(void 0,arguments)},void(o.nextTick=function(e){return setImmediate(e)});if(o.setImmediate=function(e){setTimeout(e,0)},"undefined"!==typeof window&&"function"===typeof window.postMessage){var e="forge.setImmediate",t=[];o.setImmediate=function(r){t.push(r),1===t.length&&window.postMessage(e,"*")},window.addEventListener("message",(function(r){if(r.source===window&&r.data===e){r.stopPropagation();var n=t.slice();t.length=0,n.forEach((function(e){e()}))}}),!0)}if("undefined"!==typeof MutationObserver){var r=Date.now(),n=!0,i=document.createElement("div");t=[];new MutationObserver((function(){var e=t.slice();t.length=0,e.forEach((function(e){e()}))})).observe(i,{attributes:!0});var s=o.setImmediate;o.setImmediate=function(e){Date.now()-r>15?(r=Date.now(),s(e)):(t.push(e),1===t.length&&i.setAttribute("a",n=!n))}}o.nextTick=o.setImmediate}(),o.isNodejs="undefined"!==typeof process&&process.versions&&process.versions.node,o.globalScope=o.isNodejs?r.g:"undefined"===typeof self?window:self,o.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},o.isArrayBuffer=function(e){return"undefined"!==typeof ArrayBuffer&&e instanceof ArrayBuffer},o.isArrayBufferView=function(e){return e&&o.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},o.ByteBuffer=a,o.ByteStringBuffer=a;o.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},o.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},o.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},o.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},o.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)1&t&&(r+=e),(t>>>=1)>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this},o.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},o.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(o.encodeUtf8(e))},o.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},o.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},o.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(255&e))},o.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},o.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},o.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},o.ByteStringBuffer.prototype.putInt=function(e,t){s(t);var r="";do{t-=8,r+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(r)},o.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)},o.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())},o.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)},o.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e},o.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},o.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},o.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e},o.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},o.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},o.ByteStringBuffer.prototype.getInt=function(e){s(e);var t=0;do{t=(t<<8)+this.data.charCodeAt(this.read++),e-=8}while(e>0);return t},o.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t},o.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):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},o.ByteStringBuffer.prototype.bytes=function(e){return"undefined"===typeof e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},o.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},o.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},o.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},o.ByteStringBuffer.prototype.copy=function(){var e=o.createBuffer(this.data);return e.read=this.read,e},o.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},o.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},o.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},o.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},o.ByteStringBuffer.prototype.toString=function(){return o.decodeUtf8(this.bytes())},o.DataBuffer=function(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=o.isArrayBuffer(e),n=o.isArrayBufferView(e);if(r||n)return this.data=r?new DataView(e):new DataView(e.buffer,e.byteOffset,e.byteLength),void(this.write="writeOffset"in t?t.writeOffset:this.data.byteLength);this.data=new DataView(new ArrayBuffer(0)),this.write=0,null!==e&&void 0!==e&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)},o.DataBuffer.prototype.length=function(){return this.write-this.read},o.DataBuffer.prototype.isEmpty=function(){return this.length()<=0},o.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},o.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},o.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this},o.DataBuffer.prototype.putBytes=function(e,t){if(o.isArrayBufferView(e)){var r=(n=new Uint8Array(e.buffer,e.byteOffset,e.byteLength)).byteLength-n.byteOffset;return this.accommodate(r),new Uint8Array(this.data.buffer,this.write).set(n),this.write+=r,this}if(o.isArrayBuffer(e)){var n=new Uint8Array(e);return this.accommodate(n.byteLength),new Uint8Array(this.data.buffer).set(n,this.write),this.write+=n.byteLength,this}if(e instanceof o.DataBuffer||"object"===typeof e&&"number"===typeof e.read&&"number"===typeof e.write&&o.isArrayBufferView(e.data)){n=new Uint8Array(e.data.byteLength,e.read,e.length());return this.accommodate(n.byteLength),new Uint8Array(e.data.byteLength,this.write).set(n),this.write+=n.byteLength,this}if(e instanceof o.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary","string"===typeof e){var i;if("hex"===t)return this.accommodate(Math.ceil(e.length/2)),i=new Uint8Array(this.data.buffer,this.write),this.write+=o.binary.hex.decode(e,i,this.write),this;if("base64"===t)return this.accommodate(3*Math.ceil(e.length/4)),i=new Uint8Array(this.data.buffer,this.write),this.write+=o.binary.base64.decode(e,i,this.write),this;if("utf8"===t&&(e=o.encodeUtf8(e),t="binary"),"binary"===t||"raw"===t)return this.accommodate(e.length),i=new Uint8Array(this.data.buffer,this.write),this.write+=o.binary.raw.decode(i),this;if("utf16"===t)return this.accommodate(2*e.length),i=new Uint16Array(this.data.buffer,this.write),this.write+=o.text.utf16.encode(i),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)},o.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this},o.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")},o.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this},o.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},o.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},o.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},o.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},o.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},o.DataBuffer.prototype.putInt=function(e,t){s(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},o.DataBuffer.prototype.putSignedInt=function(e,t){return s(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)},o.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)},o.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e},o.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e},o.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e},o.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e},o.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e},o.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e},o.DataBuffer.prototype.getInt=function(e){s(e);var t=0;do{t=(t<<8)+this.data.getInt8(this.read++),e-=8}while(e>0);return t},o.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t},o.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):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},o.DataBuffer.prototype.bytes=function(e){return"undefined"===typeof e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},o.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},o.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},o.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},o.DataBuffer.prototype.copy=function(){return new o.DataBuffer(this)},o.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},o.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},o.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},o.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},o.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if("binary"===(e=e||"utf8")||"raw"===e)return o.binary.raw.encode(t);if("hex"===e)return o.binary.hex.encode(t);if("base64"===e)return o.binary.base64.encode(t);if("utf8"===e)return o.text.utf8.decode(t);if("utf16"===e)return o.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)},o.createBuffer=function(e,t){return t=t||"raw",void 0!==e&&"utf8"===t&&(e=o.encodeUtf8(e)),new o.ByteBuffer(e)},o.fillString=function(e,t){for(var r="";t>0;)1&t&&(r+=e),(t>>>=1)>0&&(e+=e);return r},o.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},o.hexToBytes=function(e){var t="",r=0;for(!0&e.length&&(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},o.bytesToHex=function(e){return o.createBuffer(e).toHex()},o.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l=[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],u="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";o.encode64=function(e,t){for(var r,n,i,o="",s="",a=0;a<e.length;)r=e.charCodeAt(a++),n=e.charCodeAt(a++),i=e.charCodeAt(a++),o+=c.charAt(r>>2),o+=c.charAt((3&r)<<4|n>>4),isNaN(n)?o+="==":(o+=c.charAt((15&n)<<2|i>>6),o+=isNaN(i)?"=":c.charAt(63&i)),t&&o.length>t&&(s+=o.substr(0,t)+"\r\n",o=o.substr(t));return s+=o},o.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,r,n,i,o="",s=0;s<e.length;)t=l[e.charCodeAt(s++)-43],r=l[e.charCodeAt(s++)-43],n=l[e.charCodeAt(s++)-43],i=l[e.charCodeAt(s++)-43],o+=String.fromCharCode(t<<2|r>>4),64!==n&&(o+=String.fromCharCode((15&r)<<4|n>>2),64!==i&&(o+=String.fromCharCode((3&n)<<6|i)));return o},o.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},o.decodeUtf8=function(e){return decodeURIComponent(escape(e))},o.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:i.encode,decode:i.decode}},o.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},o.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length));for(var i=r=r||0,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n},o.binary.hex.encode=o.bytesToHex,o.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2)));var i=0,o=r=r||0;for(1&e.length&&(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},o.binary.base64.encode=function(e,t){for(var r,n,i,o="",s="",a=0;a<e.byteLength;)r=e[a++],n=e[a++],i=e[a++],o+=c.charAt(r>>2),o+=c.charAt((3&r)<<4|n>>4),isNaN(n)?o+="==":(o+=c.charAt((15&n)<<2|i>>6),o+=isNaN(i)?"=":c.charAt(63&i)),t&&o.length>t&&(s+=o.substr(0,t)+"\r\n",o=o.substr(t));return s+=o},o.binary.base64.decode=function(e,t,r){var n,i,o,s,a=t;a||(a=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var c=0,u=r=r||0;c<e.length;)n=l[e.charCodeAt(c++)-43],i=l[e.charCodeAt(c++)-43],o=l[e.charCodeAt(c++)-43],s=l[e.charCodeAt(c++)-43],a[u++]=n<<2|i>>4,64!==o&&(a[u++]=(15&i)<<4|o>>2,64!==s&&(a[u++]=(3&o)<<6|s));return t?u-r:a.subarray(0,u)},o.binary.base58.encode=function(e,t){return o.binary.baseN.encode(e,u,t)},o.binary.base58.decode=function(e,t){return o.binary.baseN.decode(e,u,t)},o.text={utf8:{},utf16:{}},o.text.utf8.encode=function(e,t,r){e=o.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length));for(var i=r=r||0,s=0;s<e.length;++s)n[i++]=e.charCodeAt(s);return t?i-r:n},o.text.utf8.decode=function(e){return o.decodeUtf8(String.fromCharCode.apply(null,e))},o.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(2*e.length));for(var i=new Uint16Array(n.buffer),o=r=r||0,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n},o.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))},o.deflate=function(e,t,r){if(t=o.decode64(e.deflate(o.encode64(t)).rval),r){var n=2;32&t.charCodeAt(1)&&(n=6),t=t.substring(n,t.length-4)}return t},o.inflate=function(e,t,r){var n=e.inflate(o.encode64(t)).rval;return null===n?null:o.decode64(n)};var h=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(null===r?n=e.removeItem(t):(r=o.encode64(JSON.stringify(r)),n=e.setItem(t,r)),"undefined"!==typeof n&&!0!==n.rval){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},d=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(null===r.rval){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 null!==r&&(r=JSON.parse(o.decode64(r))),r},p=function(e,t,r,n){var i=d(e,t);null===i&&(i={}),i[r]=n,h(e,t,i)},f=function(e,t,r){var n=d(e,t);return null!==n&&(n=r in n?n[r]:null),n},g=function(e,t,r){var n=d(e,t);if(null!==n&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),h(e,t,n)}},y=function(e,t){h(e,t,null)},m=function(e,t,r){var n,i=null;"undefined"===typeof r&&(r=["web","flash"]);var o=!1,s=null;for(var a in r){n=r[a];try{if("flash"===n||"both"===n){if(null===t[0])throw new Error("Flash local storage not available.");i=e.apply(this,t),o="flash"===n}"web"!==n&&"both"!==n||(t[0]=localStorage,i=e.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return i};o.setItem=function(e,t,r,n,i){m(p,arguments,i)},o.getItem=function(e,t,r,n){return m(f,arguments,n)},o.removeItem=function(e,t,r,n){m(g,arguments,n)},o.clearItems=function(e,t,r){m(y,arguments,r)},o.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},o.format=function(e){for(var t,r,n=/%./g,i=0,o=[],s=0;t=n.exec(e);){(r=e.substring(s,n.lastIndex-2)).length>0&&o.push(r),s=n.lastIndex;var a=t[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[1+i++]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(e.substring(s)),o.join("")},o.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,s=void 0===r?",":r,a=void 0===n?".":n,c=i<0?"-":"",l=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",u=l.length>3?l.length%3:0;return c+(u?l.substr(0,u)+a:"")+l.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-l).toFixed(o).slice(2):"")},o.formatSize=function(e){return e=e>=1073741824?o.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?o.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?o.formatNumber(e/1024,0)+" KiB":o.formatNumber(e,0)+" bytes"},o.bytesFromIP=function(e){return-1!==e.indexOf(".")?o.bytesFromIPv4(e):-1!==e.indexOf(":")?o.bytesFromIPv6(e):null},o.bytesFromIPv4=function(e){if(4!==(e=e.split(".")).length)return null;for(var t=o.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()},o.bytesFromIPv6=function(e){for(var t=0,r=2*(8-(e=e.split(":").filter((function(e){return 0===e.length&&++t,!0}))).length+t),n=o.createBuffer(),i=0;i<8;++i)if(e[i]&&0!==e[i].length){var s=o.hexToBytes(e[i]);s.length<2&&n.putByte(0),n.putBytes(s)}else n.fillWithByte(0,r),r=0;return n.getBytes()},o.bytesToIP=function(e){return 4===e.length?o.bytesToIPv4(e):16===e.length?o.bytesToIPv6(e):null},o.bytesToIPv4=function(e){if(4!==e.length)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")},o.bytesToIPv6=function(e){if(16!==e.length)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var s=o.bytesToHex(e[i]+e[i+1]);"0"===s[0]&&"0"!==s;)s=s.substr(1);if("0"===s){var a=r[r.length-1],c=t.length;a&&c===a.end+1?(a.end=c,a.end-a.start>r[n].end-r[n].start&&(n=r.length-1)):r.push({start:c,end:c})}t.push(s)}if(r.length>0){var l=r[n];l.end-l.start>0&&(t.splice(l.start,l.end-l.start+1,""),0===l.start&&t.unshift(""),7===l.end&&t.push(""))}return t.join(":")},o.estimateCores=function(e,t){if("function"===typeof e&&(t=e,e={}),e=e||{},"cores"in o&&!e.update)return t(null,o.cores);if("undefined"!==typeof navigator&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return o.cores=navigator.hardwareConcurrency,t(null,o.cores);if("undefined"===typeof Worker)return o.cores=1,t(null,o.cores);if("undefined"===typeof Blob)return o.cores=2,t(null,o.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",(function(e){for(var t=Date.now(),r=t+4;Date.now()<r;);self.postMessage({st:t,et:r})}))}.toString(),")()"],{type:"application/javascript"}));!function e(n,i,s){if(0===i){var a=Math.floor(n.reduce((function(e,t){return e+t}),0)/n.length);return o.cores=Math.max(1,a),URL.revokeObjectURL(r),t(null,o.cores)}!function(e,t){for(var n=[],i=[],o=0;o<e;++o){var s=new Worker(r);s.addEventListener("message",(function(r){if(i.push(r.data),i.length===e){for(var o=0;o<e;++o)n[o].terminate();t(null,i)}})),n.push(s)}for(o=0;o<e;++o)n[o].postMessage(o)}(s,(function(t,r){n.push(function(e,t){for(var r=[],n=0;n<e;++n)for(var i=t[n],o=r[n]=[],s=0;s<e;++s)if(n!==s){var a=t[s];(i.st>a.st&&i.st<a.et||a.st>i.st&&a.st<i.et)&&o.push(s)}return r.reduce((function(e,t){return Math.max(e,t.length)}),0)}(s,r)),e(n,i-1,s)}))}([],5,16)}},2911:(e,t,r)=>{var n=r(428);r(5332),r(5419),r(5877),r(9207),r(3043),r(1346),r(197),r(9240),r(3894),r(9491);var i=n.asn1,o=e.exports=n.pki=n.pki||{},s=o.oids,a={};a.CN=s.commonName,a.commonName="CN",a.C=s.countryName,a.countryName="C",a.L=s.localityName,a.localityName="L",a.ST=s.stateOrProvinceName,a.stateOrProvinceName="ST",a.O=s.organizationName,a.organizationName="O",a.OU=s.organizationalUnitName,a.organizationalUnitName="OU",a.E=s.emailAddress,a.emailAddress="E";var c=n.pki.rsa.publicKeyValidator,l={name:"Certificate",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,captureAsn1:"tbsCertificate",value:[{name:"Certificate.TBSCertificate.version",tagClass:i.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.version.integer",tagClass:i.Class.UNIVERSAL,type:i.Type.INTEGER,constructed:!1,capture:"certVersion"}]},{name:"Certificate.TBSCertificate.serialNumber",tagClass:i.Class.UNIVERSAL,type:i.Type.INTEGER,constructed:!1,capture:"certSerialNumber"},{name:"Certificate.TBSCertificate.signature",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.signature.algorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1,capture:"certinfoSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:i.Class.UNIVERSAL,optional:!0,captureAsn1:"certinfoSignatureParams"}]},{name:"Certificate.TBSCertificate.issuer",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,captureAsn1:"certIssuer"},{name:"Certificate.TBSCertificate.validity",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.validity.notBefore (utc)",tagClass:i.Class.UNIVERSAL,type:i.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity1UTCTime"},{name:"Certificate.TBSCertificate.validity.notBefore (generalized)",tagClass:i.Class.UNIVERSAL,type:i.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity2GeneralizedTime"},{name:"Certificate.TBSCertificate.validity.notAfter (utc)",tagClass:i.Class.UNIVERSAL,type:i.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity3UTCTime"},{name:"Certificate.TBSCertificate.validity.notAfter (generalized)",tagClass:i.Class.UNIVERSAL,type:i.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity4GeneralizedTime"}]},{name:"Certificate.TBSCertificate.subject",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,captureAsn1:"certSubject"},c,{name:"Certificate.TBSCertificate.issuerUniqueID",tagClass:i.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.issuerUniqueID.id",tagClass:i.Class.UNIVERSAL,type:i.Type.BITSTRING,constructed:!1,captureBitStringValue:"certIssuerUniqueId"}]},{name:"Certificate.TBSCertificate.subjectUniqueID",tagClass:i.Class.CONTEXT_SPECIFIC,type:2,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.subjectUniqueID.id",tagClass:i.Class.UNIVERSAL,type:i.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSubjectUniqueId"}]},{name:"Certificate.TBSCertificate.extensions",tagClass:i.Class.CONTEXT_SPECIFIC,type:3,constructed:!0,captureAsn1:"certExtensions",optional:!0}]},{name:"Certificate.signatureAlgorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.signatureAlgorithm.algorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1,capture:"certSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:i.Class.UNIVERSAL,optional:!0,captureAsn1:"certSignatureParams"}]},{name:"Certificate.signatureValue",tagClass:i.Class.UNIVERSAL,type:i.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSignature"}]},u={name:"rsapss",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.hashAlgorithm",tagClass:i.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier",tagClass:i.Class.UNIVERSAL,type:i.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1,capture:"hashOid"}]}]},{name:"rsapss.maskGenAlgorithm",tagClass:i.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier",tagClass:i.Class.UNIVERSAL,type:i.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1,capture:"maskGenOid"},{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1,capture:"maskGenHashOid"}]}]}]},{name:"rsapss.saltLength",tagClass:i.Class.CONTEXT_SPECIFIC,type:2,optional:!0,value:[{name:"rsapss.saltLength.saltLength",tagClass:i.Class.UNIVERSAL,type:i.Class.INTEGER,constructed:!1,capture:"saltLength"}]},{name:"rsapss.trailerField",tagClass:i.Class.CONTEXT_SPECIFIC,type:3,optional:!0,value:[{name:"rsapss.trailer.trailer",tagClass:i.Class.UNIVERSAL,type:i.Class.INTEGER,constructed:!1,capture:"trailer"}]}]},h={name:"CertificationRequestInfo",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfo",value:[{name:"CertificationRequestInfo.integer",tagClass:i.Class.UNIVERSAL,type:i.Type.INTEGER,constructed:!1,capture:"certificationRequestInfoVersion"},{name:"CertificationRequestInfo.subject",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfoSubject"},c,{name:"CertificationRequestInfo.attributes",tagClass:i.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"certificationRequestInfoAttributes",value:[{name:"CertificationRequestInfo.attributes",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequestInfo.attributes.type",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1},{name:"CertificationRequestInfo.attributes.value",tagClass:i.Class.UNIVERSAL,type:i.Type.SET,constructed:!0}]}]}]},d={name:"CertificationRequest",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,captureAsn1:"csr",value:[h,{name:"CertificationRequest.signatureAlgorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequest.signatureAlgorithm.algorithm",tagClass:i.Class.UNIVERSAL,type:i.Type.OID,constructed:!1,capture:"csrSignatureOid"},{name:"CertificationRequest.signatureAlgorithm.parameters",tagClass:i.Class.UNIVERSAL,optional:!0,captureAsn1:"csrSignatureParams"}]},{name:"CertificationRequest.signature",tagClass:i.Class.UNIVERSAL,type:i.Type.BITSTRING,constructed:!1,captureBitStringValue:"csrSignature"}]};function p(e,t){"string"===typeof t&&(t={shortName:t});for(var r,n=null,i=0;null===n&&i<e.attributes.length;++i)r=e.attributes[i],(t.type&&t.type===r.type||t.name&&t.name===r.name||t.shortName&&t.shortName===r.shortName)&&(n=r);return n}o.RDNAttributesAsArray=function(e,t){for(var r,n,o,c=[],l=0;l<e.value.length;++l){r=e.value[l];for(var u=0;u<r.value.length;++u)o={},n=r.value[u],o.type=i.derToOid(n.value[0].value),o.value=n.value[1].value,o.valueTagClass=n.value[1].type,o.type in s&&(o.name=s[o.type],o.name in a&&(o.shortName=a[o.name])),t&&(t.update(o.type),t.update(o.value)),c.push(o)}return c},o.CRIAttributesAsArray=function(e){for(var t=[],r=0;r<e.length;++r)for(var n=e[r],c=i.derToOid(n.value[0].value),l=n.value[1].value,u=0;u<l.length;++u){var h={};if(h.type=c,h.value=l[u].value,h.valueTagClass=l[u].type,h.type in s&&(h.name=s[h.type],h.name in a&&(h.shortName=a[h.name])),h.type===s.extensionRequest){h.extensions=[];for(var d=0;d<h.value.length;++d)h.extensions.push(o.certificateExtensionFromAsn1(h.value[d]))}t.push(h)}return t};var f=function(e,t,r){var n={};if(e!==s["RSASSA-PSS"])return n;r&&(n={hash:{algorithmOid:s.sha1},mgf:{algorithmOid:s.mgf1,hash:{algorithmOid:s.sha1}},saltLength:20});var o={},a=[];if(!i.validate(t,u,o,a)){var c=new Error("Cannot read RSASSA-PSS parameter block.");throw c.errors=a,c}return void 0!==o.hashOid&&(n.hash=n.hash||{},n.hash.algorithmOid=i.derToOid(o.hashOid)),void 0!==o.maskGenOid&&(n.mgf=n.mgf||{},n.mgf.algorithmOid=i.derToOid(o.maskGenOid),n.mgf.hash=n.mgf.hash||{},n.mgf.hash.algorithmOid=i.derToOid(o.maskGenHashOid)),void 0!==o.saltLength&&(n.saltLength=o.saltLength.charCodeAt(0)),n},g=function(e){switch(s[e.signatureOid]){case"sha1WithRSAEncryption":case"sha1WithRSASignature":return n.md.sha1.create();case"md5WithRSAEncryption":return n.md.md5.create();case"sha256WithRSAEncryption":case"RSASSA-PSS":return n.md.sha256.create();case"sha384WithRSAEncryption":return n.md.sha384.create();case"sha512WithRSAEncryption":return n.md.sha512.create();default:var t=new Error("Could not compute "+e.type+" digest. Unknown signature OID.");throw t.signatureOid=e.signatureOid,t}},y=function(e){var t,r=e.certificate;switch(r.signatureOid){case s.sha1WithRSAEncryption:case s.sha1WithRSASignature:break;case s["RSASSA-PSS"]:var i,o,a;if(void 0===(i=s[r.signatureParameters.mgf.hash.algorithmOid])||void 0===n.md[i])throw(a=new Error("Unsupported MGF hash function.")).oid=r.signatureParameters.mgf.hash.algorithmOid,a.name=i,a;if(void 0===(o=s[r.signatureParameters.mgf.algorithmOid])||void 0===n.mgf[o])throw(a=new Error("Unsupported MGF function.")).oid=r.signatureParameters.mgf.algorithmOid,a.name=o,a;if(o=n.mgf[o].create(n.md[i].create()),void 0===(i=s[r.signatureParameters.hash.algorithmOid])||void 0===n.md[i])throw(a=new Error("Unsupported RSASSA-PSS hash function.")).oid=r.signatureParameters.hash.algorithmOid,a.name=i,a;t=n.pss.create(n.md[i].create(),o,r.signatureParameters.saltLength)}return r.publicKey.verify(e.md.digest().getBytes(),e.signature,t)};function m(e){for(var t,r,o=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[]),s=e.attributes,a=0;a<s.length;++a){var c=(t=s[a]).value,l=i.Type.PRINTABLESTRING;"valueTagClass"in t&&(l=t.valueTagClass)===i.Type.UTF8&&(c=n.util.encodeUtf8(c)),r=i.create(i.Class.UNIVERSAL,i.Type.SET,!0,[i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(t.type).getBytes()),i.create(i.Class.UNIVERSAL,l,!1,c)])]),o.value.push(r)}return o}function v(e){for(var t,r=0;r<e.length;++r){if("undefined"===typeof(t=e[r]).name&&(t.type&&t.type in o.oids?t.name=o.oids[t.type]:t.shortName&&t.shortName in a&&(t.name=o.oids[a[t.shortName]])),"undefined"===typeof t.type){if(!t.name||!(t.name in o.oids))throw(c=new Error("Attribute type not specified.")).attribute=t,c;t.type=o.oids[t.name]}if("undefined"===typeof t.shortName&&t.name&&t.name in a&&(t.shortName=a[t.name]),t.type===s.extensionRequest&&(t.valueConstructed=!0,t.valueTagClass=i.Type.SEQUENCE,!t.value&&t.extensions)){t.value=[];for(var n=0;n<t.extensions.length;++n)t.value.push(o.certificateExtensionToAsn1(b(t.extensions[n])))}var c;if("undefined"===typeof t.value)throw(c=new Error("Attribute value not specified.")).attribute=t,c}}function b(e,t){if(t=t||{},"undefined"===typeof e.name&&e.id&&e.id in o.oids&&(e.name=o.oids[e.id]),"undefined"===typeof e.id){if(!e.name||!(e.name in o.oids))throw(E=new Error("Extension ID not specified.")).extension=e,E;e.id=o.oids[e.name]}if("undefined"!==typeof e.value)return e;if("keyUsage"===e.name){var r=0,a=0,c=0;e.digitalSignature&&(a|=128,r=7),e.nonRepudiation&&(a|=64,r=6),e.keyEncipherment&&(a|=32,r=5),e.dataEncipherment&&(a|=16,r=4),e.keyAgreement&&(a|=8,r=3),e.keyCertSign&&(a|=4,r=2),e.cRLSign&&(a|=2,r=1),e.encipherOnly&&(a|=1,r=0),e.decipherOnly&&(c|=128,r=7);var l=String.fromCharCode(r);0!==c?l+=String.fromCharCode(a)+String.fromCharCode(c):0!==a&&(l+=String.fromCharCode(a)),e.value=i.create(i.Class.UNIVERSAL,i.Type.BITSTRING,!1,l)}else if("basicConstraints"===e.name)e.value=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[]),e.cA&&e.value.value.push(i.create(i.Class.UNIVERSAL,i.Type.BOOLEAN,!1,String.fromCharCode(255))),"pathLenConstraint"in e&&e.value.value.push(i.create(i.Class.UNIVERSAL,i.Type.INTEGER,!1,i.integerToDer(e.pathLenConstraint).getBytes()));else if("extKeyUsage"===e.name){e.value=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[]);var u=e.value.value;for(var h in e)!0===e[h]&&(h in s?u.push(i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(s[h]).getBytes())):-1!==h.indexOf(".")&&u.push(i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(h).getBytes())))}else if("nsCertType"===e.name){r=0,a=0;e.client&&(a|=128,r=7),e.server&&(a|=64,r=6),e.email&&(a|=32,r=5),e.objsign&&(a|=16,r=4),e.reserved&&(a|=8,r=3),e.sslCA&&(a|=4,r=2),e.emailCA&&(a|=2,r=1),e.objCA&&(a|=1,r=0);l=String.fromCharCode(r);0!==a&&(l+=String.fromCharCode(a)),e.value=i.create(i.Class.UNIVERSAL,i.Type.BITSTRING,!1,l)}else if("subjectAltName"===e.name||"issuerAltName"===e.name){e.value=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[]);for(var d=0;d<e.altNames.length;++d){l=(v=e.altNames[d]).value;if(7===v.type&&v.ip){if(null===(l=n.util.bytesFromIP(v.ip)))throw(E=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.')).extension=e,E}else 8===v.type&&(l=v.oid?i.oidToDer(i.oidToDer(v.oid)):i.oidToDer(l));e.value.value.push(i.create(i.Class.CONTEXT_SPECIFIC,v.type,!1,l))}}else if("nsComment"===e.name&&t.cert){if(!/^[\x00-\x7F]*$/.test(e.comment)||e.comment.length<1||e.comment.length>128)throw new Error('Invalid "nsComment" content.');e.value=i.create(i.Class.UNIVERSAL,i.Type.IA5STRING,!1,e.comment)}else if("subjectKeyIdentifier"===e.name&&t.cert){var p=t.cert.generateSubjectKeyIdentifier();e.subjectKeyIdentifier=p.toHex(),e.value=i.create(i.Class.UNIVERSAL,i.Type.OCTETSTRING,!1,p.getBytes())}else if("authorityKeyIdentifier"===e.name&&t.cert){e.value=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[]);u=e.value.value;if(e.keyIdentifier){var f=!0===e.keyIdentifier?t.cert.generateSubjectKeyIdentifier().getBytes():e.keyIdentifier;u.push(i.create(i.Class.CONTEXT_SPECIFIC,0,!1,f))}if(e.authorityCertIssuer){var g=[i.create(i.Class.CONTEXT_SPECIFIC,4,!0,[m(!0===e.authorityCertIssuer?t.cert.issuer:e.authorityCertIssuer)])];u.push(i.create(i.Class.CONTEXT_SPECIFIC,1,!0,g))}if(e.serialNumber){var y=n.util.hexToBytes(!0===e.serialNumber?t.cert.serialNumber:e.serialNumber);u.push(i.create(i.Class.CONTEXT_SPECIFIC,2,!1,y))}}else if("cRLDistributionPoints"===e.name){e.value=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[]);u=e.value.value;var v,b=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[]),w=i.create(i.Class.CONTEXT_SPECIFIC,0,!0,[]);for(d=0;d<e.altNames.length;++d){l=(v=e.altNames[d]).value;if(7===v.type&&v.ip){if(null===(l=n.util.bytesFromIP(v.ip)))throw(E=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.')).extension=e,E}else 8===v.type&&(l=v.oid?i.oidToDer(i.oidToDer(v.oid)):i.oidToDer(l));w.value.push(i.create(i.Class.CONTEXT_SPECIFIC,v.type,!1,l))}b.value.push(i.create(i.Class.CONTEXT_SPECIFIC,0,!0,[w])),u.push(b)}var E;if("undefined"===typeof e.value)throw(E=new Error("Extension value not specified.")).extension=e,E;return e}function w(e,t){if(e===s["RSASSA-PSS"]){var r=[];return void 0!==t.hash.algorithmOid&&r.push(i.create(i.Class.CONTEXT_SPECIFIC,0,!0,[i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(t.hash.algorithmOid).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.NULL,!1,"")])])),void 0!==t.mgf.algorithmOid&&r.push(i.create(i.Class.CONTEXT_SPECIFIC,1,!0,[i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(t.mgf.algorithmOid).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(t.mgf.hash.algorithmOid).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.NULL,!1,"")])])])),void 0!==t.saltLength&&r.push(i.create(i.Class.CONTEXT_SPECIFIC,2,!0,[i.create(i.Class.UNIVERSAL,i.Type.INTEGER,!1,i.integerToDer(t.saltLength).getBytes())])),i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,r)}return i.create(i.Class.UNIVERSAL,i.Type.NULL,!1,"")}function E(e){var t=i.create(i.Class.CONTEXT_SPECIFIC,0,!0,[]);if(0===e.attributes.length)return t;for(var r=e.attributes,o=0;o<r.length;++o){var s=r[o],a=s.value,c=i.Type.UTF8;"valueTagClass"in s&&(c=s.valueTagClass),c===i.Type.UTF8&&(a=n.util.encodeUtf8(a));var l=!1;"valueConstructed"in s&&(l=s.valueConstructed);var u=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(s.type).getBytes()),i.create(i.Class.UNIVERSAL,i.Type.SET,!0,[i.create(i.Class.UNIVERSAL,c,l,a)])]);t.value.push(u)}return t}o.certificateFromPem=function(e,t,r){var s=n.pem.decode(e)[0];if("CERTIFICATE"!==s.type&&"X509 CERTIFICATE"!==s.type&&"TRUSTED CERTIFICATE"!==s.type){var a=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw a.headerType=s.type,a}if(s.procType&&"ENCRYPTED"===s.procType.type)throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var c=i.fromDer(s.body,r);return o.certificateFromAsn1(c,t)},o.certificateToPem=function(e,t){var r={type:"CERTIFICATE",body:i.toDer(o.certificateToAsn1(e)).getBytes()};return n.pem.encode(r,{maxline:t})},o.publicKeyFromPem=function(e){var t=n.pem.decode(e)[0];if("PUBLIC KEY"!==t.type&&"RSA PUBLIC KEY"!==t.type){var r=new Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');throw r.headerType=t.type,r}if(t.procType&&"ENCRYPTED"===t.procType.type)throw new Error("Could not convert public key from PEM; PEM is encrypted.");var s=i.fromDer(t.body);return o.publicKeyFromAsn1(s)},o.publicKeyToPem=function(e,t){var r={type:"PUBLIC KEY",body:i.toDer(o.publicKeyToAsn1(e)).getBytes()};return n.pem.encode(r,{maxline:t})},o.publicKeyToRSAPublicKeyPem=function(e,t){var r={type:"RSA PUBLIC KEY",body:i.toDer(o.publicKeyToRSAPublicKey(e)).getBytes()};return n.pem.encode(r,{maxline:t})},o.getPublicKeyFingerprint=function(e,t){var r,s=(t=t||{}).md||n.md.sha1.create();switch(t.type||"RSAPublicKey"){case"RSAPublicKey":r=i.toDer(o.publicKeyToRSAPublicKey(e)).getBytes();break;case"SubjectPublicKeyInfo":r=i.toDer(o.publicKeyToAsn1(e)).getBytes();break;default:throw new Error('Unknown fingerprint type "'+t.type+'".')}s.start(),s.update(r);var a=s.digest();if("hex"===t.encoding){var c=a.toHex();return t.delimiter?c.match(/.{2}/g).join(t.delimiter):c}if("binary"===t.encoding)return a.getBytes();if(t.encoding)throw new Error('Unknown encoding "'+t.encoding+'".');return a},o.certificationRequestFromPem=function(e,t,r){var s=n.pem.decode(e)[0];if("CERTIFICATE REQUEST"!==s.type){var a=new Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".');throw a.headerType=s.type,a}if(s.procType&&"ENCRYPTED"===s.procType.type)throw new Error("Could not convert certification request from PEM; PEM is encrypted.");var c=i.fromDer(s.body,r);return o.certificationRequestFromAsn1(c,t)},o.certificationRequestToPem=function(e,t){var r={type:"CERTIFICATE REQUEST",body:i.toDer(o.certificationRequestToAsn1(e)).getBytes()};return n.pem.encode(r,{maxline:t})},o.createCertificate=function(){var e={version:2,serialNumber:"00",signatureOid:null,signature:null,siginfo:{}};return e.siginfo.algorithmOid=null,e.validity={},e.validity.notBefore=new Date,e.validity.notAfter=new Date,e.issuer={},e.issuer.getField=function(t){return p(e.issuer,t)},e.issuer.addField=function(t){v([t]),e.issuer.attributes.push(t)},e.issuer.attributes=[],e.issuer.hash=null,e.subject={},e.subject.getField=function(t){return p(e.subject,t)},e.subject.addField=function(t){v([t]),e.subject.attributes.push(t)},e.subject.attributes=[],e.subject.hash=null,e.extensions=[],e.publicKey=null,e.md=null,e.setSubject=function(t,r){v(t),e.subject.attributes=t,delete e.subject.uniqueId,r&&(e.subject.uniqueId=r),e.subject.hash=null},e.setIssuer=function(t,r){v(t),e.issuer.attributes=t,delete e.issuer.uniqueId,r&&(e.issuer.uniqueId=r),e.issuer.hash=null},e.setExtensions=function(t){for(var r=0;r<t.length;++r)b(t[r],{cert:e});e.extensions=t},e.getExtension=function(t){"string"===typeof t&&(t={name:t});for(var r,n=null,i=0;null===n&&i<e.extensions.length;++i)r=e.extensions[i],(t.id&&r.id===t.id||t.name&&r.name===t.name)&&(n=r);return n},e.sign=function(t,r){e.md=r||n.md.sha1.create();var a=s[e.md.algorithm+"WithRSAEncryption"];if(!a){var c=new Error("Could not compute certificate digest. Unknown message digest algorithm OID.");throw c.algorithm=e.md.algorithm,c}e.signatureOid=e.siginfo.algorithmOid=a,e.tbsCertificate=o.getTBSCertificate(e);var l=i.toDer(e.tbsCertificate);e.md.update(l.getBytes()),e.signature=t.sign(e.md)},e.verify=function(t){var r=!1;if(!e.issued(t)){var n=t.issuer,s=e.subject,a=new Error("The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject.");throw a.expectedIssuer=s.attributes,a.actualIssuer=n.attributes,a}var c=t.md;if(null===c){c=g({signatureOid:t.signatureOid,type:"certificate"});var l=t.tbsCertificate||o.getTBSCertificate(t),u=i.toDer(l);c.update(u.getBytes())}return null!==c&&(r=y({certificate:e,md:c,signature:t.signature})),r},e.isIssuer=function(t){var r=!1,n=e.issuer,i=t.subject;if(n.hash&&i.hash)r=n.hash===i.hash;else if(n.attributes.length===i.attributes.length){var o,s;r=!0;for(var a=0;r&&a<n.attributes.length;++a)o=n.attributes[a],s=i.attributes[a],o.type===s.type&&o.value===s.value||(r=!1)}return r},e.issued=function(t){return t.isIssuer(e)},e.generateSubjectKeyIdentifier=function(){return o.getPublicKeyFingerprint(e.publicKey,{type:"RSAPublicKey"})},e.verifySubjectKeyIdentifier=function(){for(var t=s.subjectKeyIdentifier,r=0;r<e.extensions.length;++r){var i=e.extensions[r];if(i.id===t){var o=e.generateSubjectKeyIdentifier().getBytes();return n.util.hexToBytes(i.subjectKeyIdentifier)===o}}return!1},e},o.certificateFromAsn1=function(e,t){var r={},s=[];if(!i.validate(e,l,r,s)){var a=new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.");throw a.errors=s,a}if(i.derToOid(r.publicKeyOid)!==o.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var c=o.createCertificate();c.version=r.certVersion?r.certVersion.charCodeAt(0):0;var u=n.util.createBuffer(r.certSerialNumber);c.serialNumber=u.toHex(),c.signatureOid=n.asn1.derToOid(r.certSignatureOid),c.signatureParameters=f(c.signatureOid,r.certSignatureParams,!0),c.siginfo.algorithmOid=n.asn1.derToOid(r.certinfoSignatureOid),c.siginfo.parameters=f(c.siginfo.algorithmOid,r.certinfoSignatureParams,!1),c.signature=r.certSignature;var h=[];if(void 0!==r.certValidity1UTCTime&&h.push(i.utcTimeToDate(r.certValidity1UTCTime)),void 0!==r.certValidity2GeneralizedTime&&h.push(i.generalizedTimeToDate(r.certValidity2GeneralizedTime)),void 0!==r.certValidity3UTCTime&&h.push(i.utcTimeToDate(r.certValidity3UTCTime)),void 0!==r.certValidity4GeneralizedTime&&h.push(i.generalizedTimeToDate(r.certValidity4GeneralizedTime)),h.length>2)throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");if(h.length<2)throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");if(c.validity.notBefore=h[0],c.validity.notAfter=h[1],c.tbsCertificate=r.tbsCertificate,t){c.md=g({signatureOid:c.signatureOid,type:"certificate"});var d=i.toDer(c.tbsCertificate);c.md.update(d.getBytes())}var y=n.md.sha1.create(),m=i.toDer(r.certIssuer);y.update(m.getBytes()),c.issuer.getField=function(e){return p(c.issuer,e)},c.issuer.addField=function(e){v([e]),c.issuer.attributes.push(e)},c.issuer.attributes=o.RDNAttributesAsArray(r.certIssuer),r.certIssuerUniqueId&&(c.issuer.uniqueId=r.certIssuerUniqueId),c.issuer.hash=y.digest().toHex();var b=n.md.sha1.create(),w=i.toDer(r.certSubject);return b.update(w.getBytes()),c.subject.getField=function(e){return p(c.subject,e)},c.subject.addField=function(e){v([e]),c.subject.attributes.push(e)},c.subject.attributes=o.RDNAttributesAsArray(r.certSubject),r.certSubjectUniqueId&&(c.subject.uniqueId=r.certSubjectUniqueId),c.subject.hash=b.digest().toHex(),r.certExtensions?c.extensions=o.certificateExtensionsFromAsn1(r.certExtensions):c.extensions=[],c.publicKey=o.publicKeyFromAsn1(r.subjectPublicKeyInfo),c},o.certificateExtensionsFromAsn1=function(e){for(var t=[],r=0;r<e.value.length;++r)for(var n=e.value[r],i=0;i<n.value.length;++i)t.push(o.certificateExtensionFromAsn1(n.value[i]));return t},o.certificateExtensionFromAsn1=function(e){var t={};if(t.id=i.derToOid(e.value[0].value),t.critical=!1,e.value[1].type===i.Type.BOOLEAN?(t.critical=0!==e.value[1].value.charCodeAt(0),t.value=e.value[2].value):t.value=e.value[1].value,t.id in s)if(t.name=s[t.id],"keyUsage"===t.name){var r=0,o=0;(c=i.fromDer(t.value)).value.length>1&&(r=c.value.charCodeAt(1),o=c.value.length>2?c.value.charCodeAt(2):0),t.digitalSignature=128===(128&r),t.nonRepudiation=64===(64&r),t.keyEncipherment=32===(32&r),t.dataEncipherment=16===(16&r),t.keyAgreement=8===(8&r),t.keyCertSign=4===(4&r),t.cRLSign=2===(2&r),t.encipherOnly=1===(1&r),t.decipherOnly=128===(128&o)}else if("basicConstraints"===t.name){(c=i.fromDer(t.value)).value.length>0&&c.value[0].type===i.Type.BOOLEAN?t.cA=0!==c.value[0].value.charCodeAt(0):t.cA=!1;var a=null;c.value.length>0&&c.value[0].type===i.Type.INTEGER?a=c.value[0].value:c.value.length>1&&(a=c.value[1].value),null!==a&&(t.pathLenConstraint=i.derToInteger(a))}else if("extKeyUsage"===t.name)for(var c=i.fromDer(t.value),l=0;l<c.value.length;++l){var u=i.derToOid(c.value[l].value);u in s?t[s[u]]=!0:t[u]=!0}else if("nsCertType"===t.name){r=0;(c=i.fromDer(t.value)).value.length>1&&(r=c.value.charCodeAt(1)),t.client=128===(128&r),t.server=64===(64&r),t.email=32===(32&r),t.objsign=16===(16&r),t.reserved=8===(8&r),t.sslCA=4===(4&r),t.emailCA=2===(2&r),t.objCA=1===(1&r)}else if("subjectAltName"===t.name||"issuerAltName"===t.name){var h;t.altNames=[];c=i.fromDer(t.value);for(var d=0;d<c.value.length;++d){var p={type:(h=c.value[d]).type,value:h.value};switch(t.altNames.push(p),h.type){case 1:case 2:case 6:break;case 7:p.ip=n.util.bytesToIP(h.value);break;case 8:p.oid=i.derToOid(h.value)}}}else if("subjectKeyIdentifier"===t.name){c=i.fromDer(t.value);t.subjectKeyIdentifier=n.util.bytesToHex(c.value)}return t},o.certificationRequestFromAsn1=function(e,t){var r={},s=[];if(!i.validate(e,d,r,s)){var a=new Error("Cannot read PKCS#10 certificate request. ASN.1 object is not a PKCS#10 CertificationRequest.");throw a.errors=s,a}if(i.derToOid(r.publicKeyOid)!==o.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var c=o.createCertificationRequest();if(c.version=r.csrVersion?r.csrVersion.charCodeAt(0):0,c.signatureOid=n.asn1.derToOid(r.csrSignatureOid),c.signatureParameters=f(c.signatureOid,r.csrSignatureParams,!0),c.siginfo.algorithmOid=n.asn1.derToOid(r.csrSignatureOid),c.siginfo.parameters=f(c.siginfo.algorithmOid,r.csrSignatureParams,!1),c.signature=r.csrSignature,c.certificationRequestInfo=r.certificationRequestInfo,t){c.md=g({signatureOid:c.signatureOid,type:"certification request"});var l=i.toDer(c.certificationRequestInfo);c.md.update(l.getBytes())}var u=n.md.sha1.create();return c.subject.getField=function(e){return p(c.subject,e)},c.subject.addField=function(e){v([e]),c.subject.attributes.push(e)},c.subject.attributes=o.RDNAttributesAsArray(r.certificationRequestInfoSubject,u),c.subject.hash=u.digest().toHex(),c.publicKey=o.publicKeyFromAsn1(r.subjectPublicKeyInfo),c.getAttribute=function(e){return p(c,e)},c.addAttribute=function(e){v([e]),c.attributes.push(e)},c.attributes=o.CRIAttributesAsArray(r.certificationRequestInfoAttributes||[]),c},o.createCertificationRequest=function(){var e={version:0,signatureOid:null,signature:null,siginfo:{}};return e.siginfo.algorithmOid=null,e.subject={},e.subject.getField=function(t){return p(e.subject,t)},e.subject.addField=function(t){v([t]),e.subject.attributes.push(t)},e.subject.attributes=[],e.subject.hash=null,e.publicKey=null,e.attributes=[],e.getAttribute=function(t){return p(e,t)},e.addAttribute=function(t){v([t]),e.attributes.push(t)},e.md=null,e.setSubject=function(t){v(t),e.subject.attributes=t,e.subject.hash=null},e.setAttributes=function(t){v(t),e.attributes=t},e.sign=function(t,r){e.md=r||n.md.sha1.create();var a=s[e.md.algorithm+"WithRSAEncryption"];if(!a){var c=new Error("Could not compute certification request digest. Unknown message digest algorithm OID.");throw c.algorithm=e.md.algorithm,c}e.signatureOid=e.siginfo.algorithmOid=a,e.certificationRequestInfo=o.getCertificationRequestInfo(e);var l=i.toDer(e.certificationRequestInfo);e.md.update(l.getBytes()),e.signature=t.sign(e.md)},e.verify=function(){var t=!1,r=e.md;if(null===r){r=g({signatureOid:e.signatureOid,type:"certification request"});var n=e.certificationRequestInfo||o.getCertificationRequestInfo(e),s=i.toDer(n);r.update(s.getBytes())}return null!==r&&(t=y({certificate:e,md:r,signature:e.signature})),t},e};var _=new Date("1950-01-01T00:00:00Z"),S=new Date("2050-01-01T00:00:00Z");function A(e){return e>=_&&e<S?i.create(i.Class.UNIVERSAL,i.Type.UTCTIME,!1,i.dateToUtcTime(e)):i.create(i.Class.UNIVERSAL,i.Type.GENERALIZEDTIME,!1,i.dateToGeneralizedTime(e))}o.getTBSCertificate=function(e){var t=A(e.validity.notBefore),r=A(e.validity.notAfter),s=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.CONTEXT_SPECIFIC,0,!0,[i.create(i.Class.UNIVERSAL,i.Type.INTEGER,!1,i.integerToDer(e.version).getBytes())]),i.create(i.Class.UNIVERSAL,i.Type.INTEGER,!1,n.util.hexToBytes(e.serialNumber)),i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(e.siginfo.algorithmOid).getBytes()),w(e.siginfo.algorithmOid,e.siginfo.parameters)]),m(e.issuer),i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[t,r]),m(e.subject),o.publicKeyToAsn1(e.publicKey)]);return e.issuer.uniqueId&&s.value.push(i.create(i.Class.CONTEXT_SPECIFIC,1,!0,[i.create(i.Class.UNIVERSAL,i.Type.BITSTRING,!1,String.fromCharCode(0)+e.issuer.uniqueId)])),e.subject.uniqueId&&s.value.push(i.create(i.Class.CONTEXT_SPECIFIC,2,!0,[i.create(i.Class.UNIVERSAL,i.Type.BITSTRING,!1,String.fromCharCode(0)+e.subject.uniqueId)])),e.extensions.length>0&&s.value.push(o.certificateExtensionsToAsn1(e.extensions)),s},o.getCertificationRequestInfo=function(e){return i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.INTEGER,!1,i.integerToDer(e.version).getBytes()),m(e.subject),o.publicKeyToAsn1(e.publicKey),E(e)])},o.distinguishedNameToAsn1=function(e){return m(e)},o.certificateToAsn1=function(e){var t=e.tbsCertificate||o.getTBSCertificate(e);return i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[t,i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(e.signatureOid).getBytes()),w(e.signatureOid,e.signatureParameters)]),i.create(i.Class.UNIVERSAL,i.Type.BITSTRING,!1,String.fromCharCode(0)+e.signature)])},o.certificateExtensionsToAsn1=function(e){var t=i.create(i.Class.CONTEXT_SPECIFIC,3,!0,[]),r=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[]);t.value.push(r);for(var n=0;n<e.length;++n)r.value.push(o.certificateExtensionToAsn1(e[n]));return t},o.certificateExtensionToAsn1=function(e){var t=i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[]);t.value.push(i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(e.id).getBytes())),e.critical&&t.value.push(i.create(i.Class.UNIVERSAL,i.Type.BOOLEAN,!1,String.fromCharCode(255)));var r=e.value;return"string"!==typeof e.value&&(r=i.toDer(r).getBytes()),t.value.push(i.create(i.Class.UNIVERSAL,i.Type.OCTETSTRING,!1,r)),t},o.certificationRequestToAsn1=function(e){var t=e.certificationRequestInfo||o.getCertificationRequestInfo(e);return i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[t,i.create(i.Class.UNIVERSAL,i.Type.SEQUENCE,!0,[i.create(i.Class.UNIVERSAL,i.Type.OID,!1,i.oidToDer(e.signatureOid).getBytes()),w(e.signatureOid,e.signatureParameters)]),i.create(i.Class.UNIVERSAL,i.Type.BITSTRING,!1,String.fromCharCode(0)+e.signature)])},o.createCaStore=function(e){var t={certs:{}};function r(e){return s(e),t.certs[e.hash]||null}function s(e){if(!e.hash){var t=n.md.sha1.create();e.attributes=o.RDNAttributesAsArray(m(e),t),e.hash=t.digest().toHex()}}if(t.getIssuer=function(e){return r(e.issuer)},t.addCertificate=function(e){if("string"===typeof e&&(e=n.pki.certificateFromPem(e)),s(e.subject),!t.hasCertificate(e))if(e.subject.hash in t.certs){var r=t.certs[e.subject.hash];n.util.isArray(r)||(r=[r]),r.push(e),t.certs[e.subject.hash]=r}else t.certs[e.subject.hash]=e},t.hasCertificate=function(e){"string"===typeof e&&(e=n.pki.certificateFromPem(e));var t=r(e.subject);if(!t)return!1;n.util.isArray(t)||(t=[t]);for(var s=i.toDer(o.certificateToAsn1(e)).getBytes(),a=0;a<t.length;++a){if(s===i.toDer(o.certificateToAsn1(t[a])).getBytes())return!0}return!1},t.listAllCertificates=function(){var e=[];for(var r in t.certs)if(t.certs.hasOwnProperty(r)){var i=t.certs[r];if(n.util.isArray(i))for(var o=0;o<i.length;++o)e.push(i[o]);else e.push(i)}return e},t.removeCertificate=function(e){var a;if("string"===typeof e&&(e=n.pki.certificateFromPem(e)),s(e.subject),!t.hasCertificate(e))return null;var c=r(e.subject);if(!n.util.isArray(c))return a=t.certs[e.subject.hash],delete t.certs[e.subject.hash],a;for(var l=i.toDer(o.certificateToAsn1(e)).getBytes(),u=0;u<c.length;++u){l===i.toDer(o.certificateToAsn1(c[u])).getBytes()&&(a=c[u],c.splice(u,1))}return 0===c.length&&delete t.certs[e.subject.hash],a},e)for(var a=0;a<e.length;++a){var c=e[a];t.addCertificate(c)}return t},o.certificateError={bad_certificate:"forge.pki.BadCertificate",unsupported_certificate:"forge.pki.UnsupportedCertificate",certificate_revoked:"forge.pki.CertificateRevoked",certificate_expired:"forge.pki.CertificateExpired",certificate_unknown:"forge.pki.CertificateUnknown",unknown_ca:"forge.pki.UnknownCertificateAuthority"},o.verifyCertificateChain=function(e,t,r){"function"===typeof r&&(r={verify:r}),r=r||{};var i=(t=t.slice(0)).slice(0),s=r.validityCheckDate;"undefined"===typeof s&&(s=new Date);var a=!0,c=null,l=0;do{var u=t.shift(),h=null,d=!1;if(s&&(s<u.validity.notBefore||s>u.validity.notAfter)&&(c={message:"Certificate is not valid yet or has expired.",error:o.certificateError.certificate_expired,notBefore:u.validity.notBefore,notAfter:u.validity.notAfter,now:s}),null===c){if(null===(h=t[0]||e.getIssuer(u))&&u.isIssuer(u)&&(d=!0,h=u),h){var p=h;n.util.isArray(p)||(p=[p]);for(var f=!1;!f&&p.length>0;){h=p.shift();try{f=h.verify(u)}catch(_){}}f||(c={message:"Certificate signature is invalid.",error:o.certificateError.bad_certificate})}null!==c||h&&!d||e.hasCertificate(u)||(c={message:"Certificate is not trusted.",error:o.certificateError.unknown_ca})}if(null===c&&h&&!u.isIssuer(h)&&(c={message:"Certificate issuer is invalid.",error:o.certificateError.bad_certificate}),null===c)for(var g={keyUsage:!0,basicConstraints:!0},y=0;null===c&&y<u.extensions.length;++y){var m=u.extensions[y];m.critical&&!(m.name in g)&&(c={message:"Certificate has an unsupported critical extension.",error:o.certificateError.unsupported_certificate})}if(null===c&&(!a||0===t.length&&(!h||d))){var v=u.getExtension("basicConstraints"),b=u.getExtension("keyUsage");if(null!==b&&(b.keyCertSign&&null!==v||(c={message:"Certificate keyUsage or basicConstraints conflict or indicate that the certificate is not a CA. If the certificate is the only one in the chain or isn't the first then the certificate must be a valid CA.",error:o.certificateError.bad_certificate})),null!==c||null===v||v.cA||(c={message:"Certificate basicConstraints indicates the certificate is not a CA.",error:o.certificateError.bad_certificate}),null===c&&null!==b&&"pathLenConstraint"in v)l-1>v.pathLenConstraint&&(c={message:"Certificate basicConstraints pathLenConstraint violated.",error:o.certificateError.bad_certificate})}var w=null===c||c.error,E=r.verify?r.verify(w,l,i):w;if(!0!==E)throw!0===w&&(c={message:"The application rejected the certificate.",error:o.certificateError.bad_certificate}),(E||0===E)&&("object"!==typeof E||n.util.isArray(E)?"string"===typeof E&&(c.error=E):(E.message&&(c.message=E.message),E.error&&(c.error=E.error))),c;c=null,a=!1,++l}while(t.length>0);return!0}},4780:(e,t,r)=>{const n=r(3837),i=r(6666);e.exports=class{constructor(){this._buffer=new n,this._waitingConsumers=new n}push(e){const{promise:t,resolve:r}=i();return this._buffer.push({chunk:e,resolve:r}),this._consume(),t}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){const e=this._waitingConsumers.shift(),t=this._buffer.shift();e.resolve(t.chunk),t.resolve()}}shift(){const{promise:e,resolve:t}=i();return this._waitingConsumers.push({resolve:t}),this._consume(),e}isEmpty(){return this._buffer.isEmpty()}}},6666:e=>{"use strict";e.exports=()=>{const e={};return e.promise=new Promise(((t,r)=>{e.resolve=t,e.reject=r})),e}},2173:(e,t,r)=>{"use strict";e.exports=r(3094)},8865:e=>{"use strict";e.exports=n;var t,r=/\/|\./;function n(e,t){r.test(e)||(e="google/protobuf/"+e+".proto",t={nested:{google:{nested:{protobuf:{nested:t}}}}}),n[e]=t}n("any",{Any:{fields:{type_url:{type:"string",id:1},value:{type:"bytes",id:2}}}}),n("duration",{Duration:t={fields:{seconds:{type:"int64",id:1},nanos:{type:"int32",id:2}}}}),n("timestamp",{Timestamp:t}),n("empty",{Empty:{fields:{}}}),n("struct",{Struct:{fields:{fields:{keyType:"string",type:"Value",id:1}}},Value:{oneofs:{kind:{oneof:["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},fields:{nullValue:{type:"NullValue",id:1},numberValue:{type:"double",id:2},stringValue:{type:"string",id:3},boolValue:{type:"bool",id:4},structValue:{type:"Struct",id:5},listValue:{type:"ListValue",id:6}}},NullValue:{values:{NULL_VALUE:0}},ListValue:{fields:{values:{rule:"repeated",type:"Value",id:1}}}}),n("wrappers",{DoubleValue:{fields:{value:{type:"double",id:1}}},FloatValue:{fields:{value:{type:"float",id:1}}},Int64Value:{fields:{value:{type:"int64",id:1}}},UInt64Value:{fields:{value:{type:"uint64",id:1}}},Int32Value:{fields:{value:{type:"int32",id:1}}},UInt32Value:{fields:{value:{type:"uint32",id:1}}},BoolValue:{fields:{value:{type:"bool",id:1}}},StringValue:{fields:{value:{type:"string",id:1}}},BytesValue:{fields:{value:{type:"bytes",id:1}}}}),n("field_mask",{FieldMask:{fields:{paths:{rule:"repeated",type:"string",id:1}}}}),n.get=function(e){return n[e]||null}},4597:(e,t,r)=>{"use strict";var n=t,i=r(6531),o=r(8052);function s(e,t,r,n){var o=!1;if(t.resolvedType)if(t.resolvedType instanceof i){e("switch(d%s){",n);for(var s=t.resolvedType.values,a=Object.keys(s),c=0;c<a.length;++c)s[a[c]]!==t.typeDefault||o||(e("default:")('if(typeof(d%s)==="number"){m%s=d%s;break}',n,n,n),t.repeated||e("break"),o=!0),e("case%j:",a[c])("case %i:",s[a[c]])("m%s=%j",n,s[a[c]])("break");e("}")}else e('if(typeof d%s!=="object")',n)("throw TypeError(%j)",t.fullName+": object expected")("m%s=types[%i].fromObject(d%s)",n,r,n);else{var l=!1;switch(t.type){case"double":case"float":e("m%s=Number(d%s)",n,n);break;case"uint32":case"fixed32":e("m%s=d%s>>>0",n,n);break;case"int32":case"sint32":case"sfixed32":e("m%s=d%s|0",n,n);break;case"uint64":l=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j",n,n,l)('else if(typeof d%s==="string")',n)("m%s=parseInt(d%s,10)",n,n)('else if(typeof d%s==="number")',n)("m%s=d%s",n,n)('else if(typeof d%s==="object")',n)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",n,n,n,l?"true":"");break;case"bytes":e('if(typeof d%s==="string")',n)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",n,n,n)("else if(d%s.length >= 0)",n)("m%s=d%s",n,n);break;case"string":e("m%s=String(d%s)",n,n);break;case"bool":e("m%s=Boolean(d%s)",n,n)}}return e}function a(e,t,r,n){if(t.resolvedType)t.resolvedType instanceof i?e("d%s=o.enums===String?(types[%i].values[m%s]===undefined?m%s:types[%i].values[m%s]):m%s",n,r,n,n,r,n,n):e("d%s=types[%i].toObject(m%s,o)",n,r,n);else{var o=!1;switch(t.type){case"double":case"float":e("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",n,n,n,n);break;case"uint64":o=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":e('if(typeof m%s==="number")',n)("d%s=o.longs===String?String(m%s):m%s",n,n,n)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",n,n,n,n,o?"true":"",n);break;case"bytes":e("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",n,n,n,n,n);break;default:e("d%s=m%s",n,n)}}return e}n.fromObject=function(e){var t=e.fieldsArray,r=o.codegen(["d"],e.name+"$fromObject")("if(d instanceof this.ctor)")("return d");if(!t.length)return r("return new this.ctor");r("var m=new this.ctor");for(var n=0;n<t.length;++n){var a=t[n].resolve(),c=o.safeProp(a.name);a.map?(r("if(d%s){",c)('if(typeof d%s!=="object")',c)("throw TypeError(%j)",a.fullName+": object expected")("m%s={}",c)("for(var ks=Object.keys(d%s),i=0;i<ks.length;++i){",c),s(r,a,n,c+"[ks[i]]")("}")("}")):a.repeated?(r("if(d%s){",c)("if(!Array.isArray(d%s))",c)("throw TypeError(%j)",a.fullName+": array expected")("m%s=[]",c)("for(var i=0;i<d%s.length;++i){",c),s(r,a,n,c+"[i]")("}")("}")):(a.resolvedType instanceof i||r("if(d%s!=null){",c),s(r,a,n,c),a.resolvedType instanceof i||r("}"))}return r("return m")},n.toObject=function(e){var t=e.fieldsArray.slice().sort(o.compareFieldsById);if(!t.length)return o.codegen()("return {}");for(var r=o.codegen(["m","o"],e.name+"$toObject")("if(!o)")("o={}")("var d={}"),n=[],s=[],c=[],l=0;l<t.length;++l)t[l].partOf||(t[l].resolve().repeated?n:t[l].map?s:c).push(t[l]);if(n.length){for(r("if(o.arrays||o.defaults){"),l=0;l<n.length;++l)r("d%s=[]",o.safeProp(n[l].name));r("}")}if(s.length){for(r("if(o.objects||o.defaults){"),l=0;l<s.length;++l)r("d%s={}",o.safeProp(s[l].name));r("}")}if(c.length){for(r("if(o.defaults){"),l=0;l<c.length;++l){var u=c[l],h=o.safeProp(u.name);if(u.resolvedType instanceof i)r("d%s=o.enums===String?%j:%j",h,u.resolvedType.valuesById[u.typeDefault],u.typeDefault);else if(u.long)r("if(util.Long){")("var n=new util.Long(%i,%i,%j)",u.typeDefault.low,u.typeDefault.high,u.typeDefault.unsigned)("d%s=o.longs===String?n.toString():o.longs===Number?n.toNumber():n",h)("}else")("d%s=o.longs===String?%j:%i",h,u.typeDefault.toString(),u.typeDefault.toNumber());else if(u.bytes){var d="["+Array.prototype.slice.call(u.typeDefault).join(",")+"]";r("if(o.bytes===String)d%s=%j",h,String.fromCharCode.apply(String,u.typeDefault))("else{")("d%s=%s",h,d)("if(o.bytes!==Array)d%s=util.newBuffer(d%s)",h,h)("}")}else r("d%s=%j",h,u.typeDefault)}r("}")}var p=!1;for(l=0;l<t.length;++l){u=t[l];var f=e._fieldsArray.indexOf(u);h=o.safeProp(u.name);u.map?(p||(p=!0,r("var ks2")),r("if(m%s&&(ks2=Object.keys(m%s)).length){",h,h)("d%s={}",h)("for(var j=0;j<ks2.length;++j){"),a(r,u,f,h+"[ks2[j]]")("}")):u.repeated?(r("if(m%s&&m%s.length){",h,h)("d%s=[]",h)("for(var j=0;j<m%s.length;++j){",h),a(r,u,f,h+"[j]")("}")):(r("if(m%s!=null&&m.hasOwnProperty(%j)){",h,u.name),a(r,u,f,h),u.partOf&&r("if(o.oneofs)")("d%s=%j",o.safeProp(u.partOf.name),u.name)),r("}")}return r("return d")}},1625:(e,t,r)=>{"use strict";e.exports=function(e){var t=o.codegen(["r","l"],e.name+"$decode")("if(!(r instanceof Reader))")("r=Reader.create(r)")("var c=l===undefined?r.len:r.pos+l,m=new this.ctor"+(e.fieldsArray.filter((function(e){return e.map})).length?",k,value":""))("while(r.pos<c){")("var t=r.uint32()");e.group&&t("if((t&7)===4)")("break");t("switch(t>>>3){");for(var r=0;r<e.fieldsArray.length;++r){var a=e._fieldsArray[r].resolve(),c=a.resolvedType instanceof n?"int32":a.type,l="m"+o.safeProp(a.name);t("case %i: {",a.id),a.map?(t("if(%s===util.emptyObject)",l)("%s={}",l)("var c2 = r.uint32()+r.pos"),void 0!==i.defaults[a.keyType]?t("k=%j",i.defaults[a.keyType]):t("k=null"),void 0!==i.defaults[c]?t("value=%j",i.defaults[c]):t("value=null"),t("while(r.pos<c2){")("var tag2=r.uint32()")("switch(tag2>>>3){")("case 1: k=r.%s(); break",a.keyType)("case 2:"),void 0===i.basic[c]?t("value=types[%i].decode(r,r.uint32())",r):t("value=r.%s()",c),t("break")("default:")("r.skipType(tag2&7)")("break")("}")("}"),void 0!==i.long[a.keyType]?t('%s[typeof k==="object"?util.longToHash(k):k]=value',l):t("%s[k]=value",l)):a.repeated?(t("if(!(%s&&%s.length))",l,l)("%s=[]",l),void 0!==i.packed[c]&&t("if((t&7)===2){")("var c2=r.uint32()+r.pos")("while(r.pos<c2)")("%s.push(r.%s())",l,c)("}else"),void 0===i.basic[c]?t(a.resolvedType.group?"%s.push(types[%i].decode(r))":"%s.push(types[%i].decode(r,r.uint32()))",l,r):t("%s.push(r.%s())",l,c)):void 0===i.basic[c]?t(a.resolvedType.group?"%s=types[%i].decode(r)":"%s=types[%i].decode(r,r.uint32())",l,r):t("%s=r.%s()",l,c),t("break")("}")}for(t("default:")("r.skipType(t&7)")("break")("}")("}"),r=0;r<e._fieldsArray.length;++r){var u=e._fieldsArray[r];u.required&&t("if(!m.hasOwnProperty(%j))",u.name)("throw util.ProtocolError(%j,{instance:m})",s(u))}return t("return m")};var n=r(6531),i=r(5028),o=r(8052);function s(e){return"missing required '"+e.name+"'"}},6652:(e,t,r)=>{"use strict";e.exports=function(e){for(var t,r=o.codegen(["m","w"],e.name+"$encode")("if(!w)")("w=Writer.create()"),a=e.fieldsArray.slice().sort(o.compareFieldsById),c=0;c<a.length;++c){var l=a[c].resolve(),u=e._fieldsArray.indexOf(l),h=l.resolvedType instanceof n?"int32":l.type,d=i.basic[h];t="m"+o.safeProp(l.name),l.map?(r("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){",t,l.name)("for(var ks=Object.keys(%s),i=0;i<ks.length;++i){",t)("w.uint32(%i).fork().uint32(%i).%s(ks[i])",(l.id<<3|2)>>>0,8|i.mapKey[l.keyType],l.keyType),void 0===d?r("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()",u,t):r(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|d,h,t),r("}")("}")):l.repeated?(r("if(%s!=null&&%s.length){",t,t),l.packed&&void 0!==i.packed[h]?r("w.uint32(%i).fork()",(l.id<<3|2)>>>0)("for(var i=0;i<%s.length;++i)",t)("w.%s(%s[i])",h,t)("w.ldelim()"):(r("for(var i=0;i<%s.length;++i)",t),void 0===d?s(r,l,u,t+"[i]"):r("w.uint32(%i).%s(%s[i])",(l.id<<3|d)>>>0,h,t)),r("}")):(l.optional&&r("if(%s!=null&&Object.hasOwnProperty.call(m,%j))",t,l.name),void 0===d?s(r,l,u,t):r("w.uint32(%i).%s(%s)",(l.id<<3|d)>>>0,h,t))}return r("return w")};var n=r(6531),i=r(5028),o=r(8052);function s(e,t,r,n){return t.resolvedType.group?e("types[%i].encode(%s,w.uint32(%i)).uint32(%i)",r,n,(t.id<<3|3)>>>0,(t.id<<3|4)>>>0):e("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()",r,n,(t.id<<3|2)>>>0)}},6531:(e,t,r)=>{"use strict";e.exports=s;var n=r(2028);((s.prototype=Object.create(n.prototype)).constructor=s).className="Enum";var i=r(706),o=r(8052);function s(e,t,r,i,o,s){if(n.call(this,e,r),t&&"object"!==typeof t)throw TypeError("values must be an object");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comment=i,this.comments=o||{},this.valuesOptions=s,this.reserved=void 0,t)for(var a=Object.keys(t),c=0;c<a.length;++c)"number"===typeof t[a[c]]&&(this.valuesById[this.values[a[c]]=t[a[c]]]=a[c])}s.fromJSON=function(e,t){var r=new s(e,t.values,t.options,t.comment,t.comments);return r.reserved=t.reserved,r},s.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return o.toObject(["options",this.options,"valuesOptions",this.valuesOptions,"values",this.values,"reserved",this.reserved&&this.reserved.length?this.reserved:void 0,"comment",t?this.comment:void 0,"comments",t?this.comments:void 0])},s.prototype.add=function(e,t,r,n){if(!o.isString(e))throw TypeError("name must be a string");if(!o.isInteger(t))throw TypeError("id must be an integer");if(void 0!==this.values[e])throw Error("duplicate name '"+e+"' in "+this);if(this.isReservedId(t))throw Error("id "+t+" is reserved in "+this);if(this.isReservedName(e))throw Error("name '"+e+"' is reserved in "+this);if(void 0!==this.valuesById[t]){if(!this.options||!this.options.allow_alias)throw Error("duplicate id "+t+" in "+this);this.values[e]=t}else this.valuesById[this.values[e]=t]=e;return n&&(void 0===this.valuesOptions&&(this.valuesOptions={}),this.valuesOptions[e]=n||null),this.comments[e]=r||null,this},s.prototype.remove=function(e){if(!o.isString(e))throw TypeError("name must be a string");var t=this.values[e];if(null==t)throw Error("name '"+e+"' does not exist in "+this);return delete this.valuesById[t],delete this.values[e],delete this.comments[e],this.valuesOptions&&delete this.valuesOptions[e],this},s.prototype.isReservedId=function(e){return i.isReservedId(this.reserved,e)},s.prototype.isReservedName=function(e){return i.isReservedName(this.reserved,e)}},6151:(e,t,r)=>{"use strict";e.exports=l;var n=r(2028);((l.prototype=Object.create(n.prototype)).constructor=l).className="Field";var i,o=r(6531),s=r(5028),a=r(8052),c=/^required|optional|repeated$/;function l(e,t,r,i,o,l,u){if(a.isObject(i)?(u=o,l=i,i=o=void 0):a.isObject(o)&&(u=l,l=o,o=void 0),n.call(this,e,l),!a.isInteger(t)||t<0)throw TypeError("id must be a non-negative integer");if(!a.isString(r))throw TypeError("type must be a string");if(void 0!==i&&!c.test(i=i.toString().toLowerCase()))throw TypeError("rule must be a string rule");if(void 0!==o&&!a.isString(o))throw TypeError("extend must be a string");"proto3_optional"===i&&(i="optional"),this.rule=i&&"optional"!==i?i:void 0,this.type=r,this.id=t,this.extend=o||void 0,this.required="required"===i,this.optional=!this.required,this.repeated="repeated"===i,this.map=!1,this.message=null,this.partOf=null,this.typeDefault=null,this.defaultValue=null,this.long=!!a.Long&&void 0!==s.long[r],this.bytes="bytes"===r,this.resolvedType=null,this.extensionField=null,this.declaringField=null,this._packed=null,this.comment=u}l.fromJSON=function(e,t){return new l(e,t.id,t.type,t.rule,t.extend,t.options,t.comment)},Object.defineProperty(l.prototype,"packed",{get:function(){return null===this._packed&&(this._packed=!1!==this.getOption("packed")),this._packed}}),l.prototype.setOption=function(e,t,r){return"packed"===e&&(this._packed=null),n.prototype.setOption.call(this,e,t,r)},l.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return a.toObject(["rule","optional"!==this.rule&&this.rule||void 0,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",t?this.comment:void 0])},l.prototype.resolve=function(){if(this.resolved)return this;if(void 0===(this.typeDefault=s.defaults[this.type])?(this.resolvedType=(this.declaringField?this.declaringField.parent:this.parent).lookupTypeOrEnum(this.type),this.resolvedType instanceof i?this.typeDefault=null:this.typeDefault=this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]):this.options&&this.options.proto3_optional&&(this.typeDefault=null),this.options&&null!=this.options.default&&(this.typeDefault=this.options.default,this.resolvedType instanceof o&&"string"===typeof this.typeDefault&&(this.typeDefault=this.resolvedType.values[this.typeDefault])),this.options&&(!0!==this.options.packed&&(void 0===this.options.packed||!this.resolvedType||this.resolvedType instanceof o)||delete this.options.packed,Object.keys(this.options).length||(this.options=void 0)),this.long)this.typeDefault=a.Long.fromNumber(this.typeDefault,"u"===this.type.charAt(0)),Object.freeze&&Object.freeze(this.typeDefault);else if(this.bytes&&"string"===typeof this.typeDefault){var e;a.base64.test(this.typeDefault)?a.base64.decode(this.typeDefault,e=a.newBuffer(a.base64.length(this.typeDefault)),0):a.utf8.write(this.typeDefault,e=a.newBuffer(a.utf8.length(this.typeDefault)),0),this.typeDefault=e}return this.map?this.defaultValue=a.emptyObject:this.repeated?this.defaultValue=a.emptyArray:this.defaultValue=this.typeDefault,this.parent instanceof i&&(this.parent.ctor.prototype[this.name]=this.defaultValue),n.prototype.resolve.call(this)},l.d=function(e,t,r,n){return"function"===typeof t?t=a.decorateType(t).name:t&&"object"===typeof t&&(t=a.decorateEnum(t).name),function(i,o){a.decorateType(i.constructor).add(new l(o,e,t,r,{default:n}))}},l._configure=function(e){i=e}},7661:(e,t,r)=>{"use strict";var n=e.exports=r(9488);n.build="light",n.load=function(e,t,r){return"function"===typeof t?(r=t,t=new n.Root):t||(t=new n.Root),t.load(e,r)},n.loadSync=function(e,t){return t||(t=new n.Root),t.loadSync(e)},n.encoder=r(6652),n.decoder=r(1625),n.verifier=r(2962),n.converter=r(4597),n.ReflectionObject=r(2028),n.Namespace=r(706),n.Root=r(2808),n.Enum=r(6531),n.Type=r(9549),n.Field=r(6151),n.OneOf=r(9825),n.MapField=r(1686),n.Service=r(2342),n.Method=r(5597),n.Message=r(9140),n.wrappers=r(2481),n.types=r(5028),n.util=r(8052),n.ReflectionObject._configure(n.Root),n.Namespace._configure(n.Type,n.Service,n.Enum),n.Root._configure(n.Type),n.Field._configure(n.Type)},9488:(e,t,r)=>{"use strict";var n=t;function i(){n.util._configure(),n.Writer._configure(n.BufferWriter),n.Reader._configure(n.BufferReader)}n.build="minimal",n.Writer=r(8050),n.BufferWriter=r(2149),n.Reader=r(2422),n.BufferReader=r(4148),n.util=r(9716),n.rpc=r(7523),n.roots=r(3107),n.configure=i,i()},3094:(e,t,r)=>{"use strict";var n=e.exports=r(7661);n.build="full",n.tokenize=r(9625),n.parse=r(443),n.common=r(8865),n.Root._configure(n.Type,n.parse,n.common)},1686:(e,t,r)=>{"use strict";e.exports=s;var n=r(6151);((s.prototype=Object.create(n.prototype)).constructor=s).className="MapField";var i=r(5028),o=r(8052);function s(e,t,r,i,s,a){if(n.call(this,e,t,i,void 0,void 0,s,a),!o.isString(r))throw TypeError("keyType must be a string");this.keyType=r,this.resolvedKeyType=null,this.map=!0}s.fromJSON=function(e,t){return new s(e,t.id,t.keyType,t.type,t.options,t.comment)},s.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return o.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",t?this.comment:void 0])},s.prototype.resolve=function(){if(this.resolved)return this;if(void 0===i.mapKey[this.keyType])throw Error("invalid key type: "+this.keyType);return n.prototype.resolve.call(this)},s.d=function(e,t,r){return"function"===typeof r?r=o.decorateType(r).name:r&&"object"===typeof r&&(r=o.decorateEnum(r).name),function(n,i){o.decorateType(n.constructor).add(new s(i,e,t,r))}}},9140:(e,t,r)=>{"use strict";e.exports=i;var n=r(9716);function i(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)this[t[r]]=e[t[r]]}i.create=function(e){return this.$type.create(e)},i.encode=function(e,t){return this.$type.encode(e,t)},i.encodeDelimited=function(e,t){return this.$type.encodeDelimited(e,t)},i.decode=function(e){return this.$type.decode(e)},i.decodeDelimited=function(e){return this.$type.decodeDelimited(e)},i.verify=function(e){return this.$type.verify(e)},i.fromObject=function(e){return this.$type.fromObject(e)},i.toObject=function(e,t){return this.$type.toObject(e,t)},i.prototype.toJSON=function(){return this.$type.toObject(this,n.toJSONOptions)}},5597:(e,t,r)=>{"use strict";e.exports=o;var n=r(2028);((o.prototype=Object.create(n.prototype)).constructor=o).className="Method";var i=r(8052);function o(e,t,r,o,s,a,c,l,u){if(i.isObject(s)?(c=s,s=a=void 0):i.isObject(a)&&(c=a,a=void 0),void 0!==t&&!i.isString(t))throw TypeError("type must be a string");if(!i.isString(r))throw TypeError("requestType must be a string");if(!i.isString(o))throw TypeError("responseType must be a string");n.call(this,e,c),this.type=t||"rpc",this.requestType=r,this.requestStream=!!s||void 0,this.responseType=o,this.responseStream=!!a||void 0,this.resolvedRequestType=null,this.resolvedResponseType=null,this.comment=l,this.parsedOptions=u}o.fromJSON=function(e,t){return new o(e,t.type,t.requestType,t.responseType,t.requestStream,t.responseStream,t.options,t.comment,t.parsedOptions)},o.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return i.toObject(["type","rpc"!==this.type&&this.type||void 0,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options,"comment",t?this.comment:void 0,"parsedOptions",this.parsedOptions])},o.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),n.prototype.resolve.call(this))}},706:(e,t,r)=>{"use strict";e.exports=h;var n=r(2028);((h.prototype=Object.create(n.prototype)).constructor=h).className="Namespace";var i,o,s,a=r(6151),c=r(8052),l=r(9825);function u(e,t){if(e&&e.length){for(var r={},n=0;n<e.length;++n)r[e[n].name]=e[n].toJSON(t);return r}}function h(e,t){n.call(this,e,t),this.nested=void 0,this._nestedArray=null}function d(e){return e._nestedArray=null,e}h.fromJSON=function(e,t){return new h(e,t.options).addJSON(t.nested)},h.arrayToJSON=u,h.isReservedId=function(e,t){if(e)for(var r=0;r<e.length;++r)if("string"!==typeof e[r]&&e[r][0]<=t&&e[r][1]>t)return!0;return!1},h.isReservedName=function(e,t){if(e)for(var r=0;r<e.length;++r)if(e[r]===t)return!0;return!1},Object.defineProperty(h.prototype,"nestedArray",{get:function(){return this._nestedArray||(this._nestedArray=c.toArray(this.nested))}}),h.prototype.toJSON=function(e){return c.toObject(["options",this.options,"nested",u(this.nestedArray,e)])},h.prototype.addJSON=function(e){if(e)for(var t,r=Object.keys(e),n=0;n<r.length;++n)t=e[r[n]],this.add((void 0!==t.fields?i.fromJSON:void 0!==t.values?s.fromJSON:void 0!==t.methods?o.fromJSON:void 0!==t.id?a.fromJSON:h.fromJSON)(r[n],t));return this},h.prototype.get=function(e){return this.nested&&this.nested[e]||null},h.prototype.getEnum=function(e){if(this.nested&&this.nested[e]instanceof s)return this.nested[e].values;throw Error("no such enum: "+e)},h.prototype.add=function(e){if(!(e instanceof a&&void 0!==e.extend||e instanceof i||e instanceof l||e instanceof s||e instanceof o||e instanceof h))throw TypeError("object must be a valid nested object");if(this.nested){var t=this.get(e.name);if(t){if(!(t instanceof h&&e instanceof h)||t instanceof i||t instanceof o)throw Error("duplicate name '"+e.name+"' in "+this);for(var r=t.nestedArray,n=0;n<r.length;++n)e.add(r[n]);this.remove(t),this.nested||(this.nested={}),e.setOptions(t.options,!0)}}else this.nested={};return this.nested[e.name]=e,e.onAdd(this),d(this)},h.prototype.remove=function(e){if(!(e instanceof n))throw TypeError("object must be a ReflectionObject");if(e.parent!==this)throw Error(e+" is not a member of "+this);return delete this.nested[e.name],Object.keys(this.nested).length||(this.nested=void 0),e.onRemove(this),d(this)},h.prototype.define=function(e,t){if(c.isString(e))e=e.split(".");else if(!Array.isArray(e))throw TypeError("illegal path");if(e&&e.length&&""===e[0])throw Error("path must be relative");for(var r=this;e.length>0;){var n=e.shift();if(r.nested&&r.nested[n]){if(!((r=r.nested[n])instanceof h))throw Error("path conflicts with non-namespace objects")}else r.add(r=new h(n))}return t&&r.addJSON(t),r},h.prototype.resolveAll=function(){for(var e=this.nestedArray,t=0;t<e.length;)e[t]instanceof h?e[t++].resolveAll():e[t++].resolve();return this.resolve()},h.prototype.lookup=function(e,t,r){if("boolean"===typeof t?(r=t,t=void 0):t&&!Array.isArray(t)&&(t=[t]),c.isString(e)&&e.length){if("."===e)return this.root;e=e.split(".")}else if(!e.length)return this;if(""===e[0])return this.root.lookup(e.slice(1),t);var n=this.get(e[0]);if(n){if(1===e.length){if(!t||t.indexOf(n.constructor)>-1)return n}else if(n instanceof h&&(n=n.lookup(e.slice(1),t,!0)))return n}else for(var i=0;i<this.nestedArray.length;++i)if(this._nestedArray[i]instanceof h&&(n=this._nestedArray[i].lookup(e,t,!0)))return n;return null===this.parent||r?null:this.parent.lookup(e,t)},h.prototype.lookupType=function(e){var t=this.lookup(e,[i]);if(!t)throw Error("no such type: "+e);return t},h.prototype.lookupEnum=function(e){var t=this.lookup(e,[s]);if(!t)throw Error("no such Enum '"+e+"' in "+this);return t},h.prototype.lookupTypeOrEnum=function(e){var t=this.lookup(e,[i,s]);if(!t)throw Error("no such Type or Enum '"+e+"' in "+this);return t},h.prototype.lookupService=function(e){var t=this.lookup(e,[o]);if(!t)throw Error("no such Service '"+e+"' in "+this);return t},h._configure=function(e,t,r){i=e,o=t,s=r}},2028:(e,t,r)=>{"use strict";e.exports=o,o.className="ReflectionObject";var n,i=r(8052);function o(e,t){if(!i.isString(e))throw TypeError("name must be a string");if(t&&!i.isObject(t))throw TypeError("options must be an object");this.options=t,this.parsedOptions=null,this.name=e,this.parent=null,this.resolved=!1,this.comment=null,this.filename=null}Object.defineProperties(o.prototype,{root:{get:function(){for(var e=this;null!==e.parent;)e=e.parent;return e}},fullName:{get:function(){for(var e=[this.name],t=this.parent;t;)e.unshift(t.name),t=t.parent;return e.join(".")}}}),o.prototype.toJSON=function(){throw Error()},o.prototype.onAdd=function(e){this.parent&&this.parent!==e&&this.parent.remove(this),this.parent=e,this.resolved=!1;var t=e.root;t instanceof n&&t._handleAdd(this)},o.prototype.onRemove=function(e){var t=e.root;t instanceof n&&t._handleRemove(this),this.parent=null,this.resolved=!1},o.prototype.resolve=function(){return this.resolved||this.root instanceof n&&(this.resolved=!0),this},o.prototype.getOption=function(e){if(this.options)return this.options[e]},o.prototype.setOption=function(e,t,r){return r&&this.options&&void 0!==this.options[e]||((this.options||(this.options={}))[e]=t),this},o.prototype.setParsedOption=function(e,t,r){this.parsedOptions||(this.parsedOptions=[]);var n=this.parsedOptions;if(r){var o=n.find((function(t){return Object.prototype.hasOwnProperty.call(t,e)}));if(o){var s=o[e];i.setProperty(s,r,t)}else(o={})[e]=i.setProperty({},r,t),n.push(o)}else{var a={};a[e]=t,n.push(a)}return this},o.prototype.setOptions=function(e,t){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)this.setOption(r[n],e[r[n]],t);return this},o.prototype.toString=function(){var e=this.constructor.className,t=this.fullName;return t.length?e+" "+t:e},o._configure=function(e){n=e}},9825:(e,t,r)=>{"use strict";e.exports=s;var n=r(2028);((s.prototype=Object.create(n.prototype)).constructor=s).className="OneOf";var i=r(6151),o=r(8052);function s(e,t,r,i){if(Array.isArray(t)||(r=t,t=void 0),n.call(this,e,r),void 0!==t&&!Array.isArray(t))throw TypeError("fieldNames must be an Array");this.oneof=t||[],this.fieldsArray=[],this.comment=i}function a(e){if(e.parent)for(var t=0;t<e.fieldsArray.length;++t)e.fieldsArray[t].parent||e.parent.add(e.fieldsArray[t])}s.fromJSON=function(e,t){return new s(e,t.oneof,t.options,t.comment)},s.prototype.toJSON=function(e){var t=!!e&&Boolean(e.keepComments);return o.toObject(["options",this.options,"oneof",this.oneof,"comment",t?this.comment:void 0])},s.prototype.add=function(e){if(!(e instanceof i))throw TypeError("field must be a Field");return e.parent&&e.parent!==this.parent&&e.parent.remove(e),this.oneof.push(e.name),this.fieldsArray.push(e),e.partOf=this,a(this),this},s.prototype.remove=function(e){if(!(e instanceof i))throw TypeError("field must be a Field");var t=this.fieldsArray.indexOf(e);if(t<0)throw Error(e+" is not a member of "+this);return this.fieldsArray.splice(t,1),(t=this.oneof.indexOf(e.name))>-1&&this.oneof.splice(t,1),e.partOf=null,this},s.prototype.onAdd=function(e){n.prototype.onAdd.call(this,e);for(var t=0;t<this.oneof.length;++t){var r=e.get(this.oneof[t]);r&&!r.partOf&&(r.partOf=this,this.fieldsArray.push(r))}a(this)},s.prototype.onRemove=function(e){for(var t,r=0;r<this.fieldsArray.length;++r)(t=this.fieldsArray[r]).parent&&t.parent.remove(t);n.prototype.onRemove.call(this,e)},s.d=function(){for(var e=new Array(arguments.length),t=0;t<arguments.length;)e[t]=arguments[t++];return function(t,r){o.decorateType(t.constructor).add(new s(r,e)),Object.defineProperty(t,r,{get:o.oneOfGetter(e),set:o.oneOfSetter(e)})}}},443:(e,t,r)=>{"use strict";e.exports=A,A.filename=null,A.defaults={keepCase:!1};var n=r(9625),i=r(2808),o=r(9549),s=r(6151),a=r(1686),c=r(9825),l=r(6531),u=r(2342),h=r(5597),d=r(5028),p=r(8052),f=/^[1-9][0-9]*$/,g=/^-?[1-9][0-9]*$/,y=/^0[x][0-9a-fA-F]+$/,m=/^-?0[x][0-9a-fA-F]+$/,v=/^0[0-7]+$/,b=/^-?0[0-7]+$/,w=/^(?![eE])[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?$/,E=/^[a-zA-Z_][a-zA-Z_0-9]*$/,_=/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/,S=/^(?:\.[a-zA-Z_][a-zA-Z_0-9]*)+$/;function A(e,t,r){t instanceof i||(r=t,t=new i),r||(r=A.defaults);var C,I,T,k,R,P=r.preferTrailingComment||!1,D=n(e,r.alternateCommentMode||!1),N=D.next,L=D.push,x=D.peek,O=D.skip,B=D.cmnt,M=!0,U=!1,F=t,V=r.keepCase?function(e){return e}:p.camelCase;function j(e,t,r){var n=A.filename;return r||(A.filename=null),Error("illegal "+(t||"token")+" '"+e+"' ("+(n?n+", ":"")+"line "+D.line+")")}function z(){var e,t=[];do{if('"'!==(e=N())&&"'"!==e)throw j(e);t.push(N()),O(e),e=x()}while('"'===e||"'"===e);return t.join("")}function K(e){var t=N();switch(t){case"'":case'"':return L(t),z();case"true":case"TRUE":return!0;case"false":case"FALSE":return!1}try{return function(e,t){var r=1;"-"===e.charAt(0)&&(r=-1,e=e.substring(1));switch(e){case"inf":case"INF":case"Inf":return r*(1/0);case"nan":case"NAN":case"Nan":case"NaN":return NaN;case"0":return 0}if(f.test(e))return r*parseInt(e,10);if(y.test(e))return r*parseInt(e,16);if(v.test(e))return r*parseInt(e,8);if(w.test(e))return r*parseFloat(e);throw j(e,"number",t)}(t,!0)}catch(r){if(e&&_.test(t))return t;throw j(t,"value")}}function q(e,t){var r,n;do{!t||'"'!==(r=x())&&"'"!==r?e.push([n=H(N()),O("to",!0)?H(N()):n]):e.push(z())}while(O(",",!0));O(";")}function H(e,t){switch(e){case"max":case"MAX":case"Max":return 536870911;case"0":return 0}if(!t&&"-"===e.charAt(0))throw j(e,"id");if(g.test(e))return parseInt(e,10);if(m.test(e))return parseInt(e,16);if(b.test(e))return parseInt(e,8);throw j(e,"id")}function G(){if(void 0!==C)throw j("package");if(C=N(),!_.test(C))throw j(C,"name");F=F.define(C),O(";")}function W(){var e,t=x();switch(t){case"weak":e=T||(T=[]),N();break;case"public":N();default:e=I||(I=[])}t=z(),O(";"),e.push(t)}function Q(){if(O("="),k=z(),!(U="proto3"===k)&&"proto2"!==k)throw j(k,"syntax");O(";")}function Y(e,t){switch(t){case"option":return ee(e,t),O(";"),!0;case"message":return J(e,t),!0;case"enum":return Z(e,t),!0;case"service":return function(e,t){if(!E.test(t=N()))throw j(t,"service name");var r=new u(t);X(r,(function(e){if(!Y(r,e)){if("rpc"!==e)throw j(e);!function(e,t){var r=B(),n=t;if(!E.test(t=N()))throw j(t,"name");var i,o,s,a,c=t;O("("),O("stream",!0)&&(o=!0);if(!_.test(t=N()))throw j(t);i=t,O(")"),O("returns"),O("("),O("stream",!0)&&(a=!0);if(!_.test(t=N()))throw j(t);s=t,O(")");var l=new h(c,n,i,s,o,a);l.comment=r,X(l,(function(e){if("option"!==e)throw j(e);ee(l,e),O(";")})),e.add(l)}(r,e)}})),e.add(r)}(e,t),!0;case"extend":return function(e,t){if(!_.test(t=N()))throw j(t,"reference");var r=t;X(null,(function(t){switch(t){case"required":case"repeated":$(e,t,r);break;case"optional":$(e,U?"proto3_optional":"optional",r);break;default:if(!U||!_.test(t))throw j(t);L(t),$(e,"optional",r)}}))}(e,t),!0}return!1}function X(e,t,r){var n=D.line;if(e&&("string"!==typeof e.comment&&(e.comment=B()),e.filename=A.filename),O("{",!0)){for(var i;"}"!==(i=N());)t(i);O(";",!0)}else r&&r(),O(";"),e&&("string"!==typeof e.comment||P)&&(e.comment=B(n)||e.comment)}function J(e,t){if(!E.test(t=N()))throw j(t,"type name");var r=new o(t);X(r,(function(e){if(!Y(r,e))switch(e){case"map":!function(e){O("<");var t=N();if(void 0===d.mapKey[t])throw j(t,"type");O(",");var r=N();if(!_.test(r))throw j(r,"type");O(">");var n=N();if(!E.test(n))throw j(n,"name");O("=");var i=new a(V(n),H(N()),t,r);X(i,(function(e){if("option"!==e)throw j(e);ee(i,e),O(";")}),(function(){ne(i)})),e.add(i)}(r);break;case"required":case"repeated":$(r,e);break;case"optional":$(r,U?"proto3_optional":"optional");break;case"oneof":!function(e,t){if(!E.test(t=N()))throw j(t,"name");var r=new c(V(t));X(r,(function(e){"option"===e?(ee(r,e),O(";")):(L(e),$(r,"optional"))})),e.add(r)}(r,e);break;case"extensions":q(r.extensions||(r.extensions=[]));break;case"reserved":q(r.reserved||(r.reserved=[]),!0);break;default:if(!U||!_.test(e))throw j(e);L(e),$(r,"optional")}})),e.add(r)}function $(e,t,r){var n=N();if("group"!==n){if(!_.test(n))throw j(n,"type");var i=N();if(!E.test(i))throw j(i,"name");i=V(i),O("=");var a=new s(i,H(N()),n,t,r);if(X(a,(function(e){if("option"!==e)throw j(e);ee(a,e),O(";")}),(function(){ne(a)})),"proto3_optional"===t){var l=new c("_"+i);a.setOption("proto3_optional",!0),l.add(a),e.add(l)}else e.add(a);U||!a.repeated||void 0===d.packed[n]&&void 0!==d.basic[n]||a.setOption("packed",!1,!0)}else!function(e,t){var r=N();if(!E.test(r))throw j(r,"name");var n=p.lcFirst(r);r===n&&(r=p.ucFirst(r));O("=");var i=H(N()),a=new o(r);a.group=!0;var c=new s(n,i,r,t);c.filename=A.filename,X(a,(function(e){switch(e){case"option":ee(a,e),O(";");break;case"required":case"repeated":$(a,e);break;case"optional":$(a,U?"proto3_optional":"optional");break;case"message":J(a,e);break;case"enum":Z(a,e);break;default:throw j(e)}})),e.add(a).add(c)}(e,t)}function Z(e,t){if(!E.test(t=N()))throw j(t,"name");var r=new l(t);X(r,(function(e){switch(e){case"option":ee(r,e),O(";");break;case"reserved":q(r.reserved||(r.reserved=[]),!0);break;default:!function(e,t){if(!E.test(t))throw j(t,"name");O("=");var r=H(N(),!0),n={options:void 0,setOption:function(e,t){void 0===this.options&&(this.options={}),this.options[e]=t}};X(n,(function(e){if("option"!==e)throw j(e);ee(n,e),O(";")}),(function(){ne(n)})),e.add(t,r,n.comment,n.options)}(r,e)}})),e.add(r)}function ee(e,t){var r=O("(",!0);if(!_.test(t=N()))throw j(t,"name");var n,i=t,o=i;r&&(O(")"),o=i="("+i+")",t=x(),S.test(t)&&(n=t.slice(1),i+=t,N())),O("="),function(e,t,r,n){e.setParsedOption&&e.setParsedOption(t,r,n)}(e,o,te(e,i),n)}function te(e,t){if(O("{",!0)){for(var r={};!O("}",!0);){if(!E.test(R=N()))throw j(R,"name");var n,i=R;if(O(":",!0),"{"===x())n=te(e,t+"."+R);else if("["===x()){var o;if(n=[],O("[",!0)){do{o=K(!0),n.push(o)}while(O(",",!0));O("]"),"undefined"!==typeof o&&re(e,t+"."+R,o)}}else n=K(!0),re(e,t+"."+R,n);var s=r[i];s&&(n=[].concat(s).concat(n)),r[i]=n,O(",",!0),O(";",!0)}return r}var a=K(!0);return re(e,t,a),a}function re(e,t,r){e.setOption&&e.setOption(t,r)}function ne(e){if(O("[",!0)){do{ee(e,"option")}while(O(",",!0));O("]")}return e}for(;null!==(R=N());)switch(R){case"package":if(!M)throw j(R);G();break;case"import":if(!M)throw j(R);W();break;case"syntax":if(!M)throw j(R);Q();break;case"option":ee(F,R),O(";");break;default:if(Y(F,R)){M=!1;continue}throw j(R)}return A.filename=null,{package:C,imports:I,weakImports:T,syntax:k,root:t}}},2422:(e,t,r)=>{"use strict";e.exports=c;var n,i=r(9716),o=i.LongBits,s=i.utf8;function a(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function c(e){this.buf=e,this.pos=0,this.len=e.length}var l="undefined"!==typeof Uint8Array?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new c(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new c(e);throw Error("illegal buffer")},u=function(){return i.Buffer?function(e){return(c.create=function(e){return i.Buffer.isBuffer(e)?new n(e):l(e)})(e)}:l};function h(){var e=new o(0,0),t=0;if(!(this.len-this.pos>4)){for(;t<3;++t){if(this.pos>=this.len)throw a(this);if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(127&this.buf[this.pos++])<<7*t)>>>0,e}for(;t<4;++t)if(e.lo=(e.lo|(127&this.buf[this.pos])<<7*t)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(127&this.buf[this.pos])<<28)>>>0,e.hi=(e.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return e;if(t=0,this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw a(this);if(e.hi=(e.hi|(127&this.buf[this.pos])<<7*t+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}function d(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}function p(){if(this.pos+8>this.len)throw a(this,8);return new o(d(this.buf,this.pos+=4),d(this.buf,this.pos+=4))}c.create=u(),c.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,c.prototype.uint32=function(){var e=4294967295;return function(){if(e=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return e;if(e=(e|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return e;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return e}}(),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(1&e)|0},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return d(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|d(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var e=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var e=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e},c.prototype.bytes=function(){var e=this.uint32(),t=this.pos,r=this.pos+e;if(r>this.len)throw a(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(t,r):t===r?new this.buf.constructor(0):this._slice.call(this.buf,t,r)},c.prototype.string=function(){var e=this.bytes();return s.read(e,0,e.length)},c.prototype.skip=function(e){if("number"===typeof e){if(this.pos+e>this.len)throw a(this,e);this.pos+=e}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!==(e=7&this.uint32());)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+e+" at offset "+this.pos)}return this},c._configure=function(e){n=e,c.create=u(),n._configure();var t=i.Long?"toLong":"toNumber";i.merge(c.prototype,{int64:function(){return h.call(this)[t](!1)},uint64:function(){return h.call(this)[t](!0)},sint64:function(){return h.call(this).zzDecode()[t](!1)},fixed64:function(){return p.call(this)[t](!0)},sfixed64:function(){return p.call(this)[t](!1)}})}},4148:(e,t,r)=>{"use strict";e.exports=o;var n=r(2422);(o.prototype=Object.create(n.prototype)).constructor=o;var i=r(9716);function o(e){n.call(this,e)}o._configure=function(){i.Buffer&&(o.prototype._slice=i.Buffer.prototype.slice)},o.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))},o._configure()},2808:(e,t,r)=>{"use strict";e.exports=h;var n=r(706);((h.prototype=Object.create(n.prototype)).constructor=h).className="Root";var i,o,s,a=r(6151),c=r(6531),l=r(9825),u=r(8052);function h(e){n.call(this,"",e),this.deferred=[],this.files=[]}function d(){}h.fromJSON=function(e,t){return t||(t=new h),e.options&&t.setOptions(e.options),t.addJSON(e.nested)},h.prototype.resolvePath=u.path.resolve,h.prototype.fetch=u.fetch,h.prototype.load=function e(t,r,n){"function"===typeof r&&(n=r,r=void 0);var i=this;if(!n)return u.asPromise(e,i,t,r);var a=n===d;function c(e,t){if(n){if(a)throw e;var r=n;n=null,r(e,t)}}function l(e){var t=e.lastIndexOf("google/protobuf/");if(t>-1){var r=e.substring(t);if(r in s)return r}return null}function h(e,t){try{if(u.isString(t)&&"{"===t.charAt(0)&&(t=JSON.parse(t)),u.isString(t)){o.filename=e;var n,s=o(t,i,r),h=0;if(s.imports)for(;h<s.imports.length;++h)(n=l(s.imports[h])||i.resolvePath(e,s.imports[h]))&&p(n);if(s.weakImports)for(h=0;h<s.weakImports.length;++h)(n=l(s.weakImports[h])||i.resolvePath(e,s.weakImports[h]))&&p(n,!0)}else i.setOptions(t.options).addJSON(t.nested)}catch(d){c(d)}a||f||c(null,i)}function p(e,t){if(!(i.files.indexOf(e)>-1))if(i.files.push(e),e in s)a?h(e,s[e]):(++f,setTimeout((function(){--f,h(e,s[e])})));else if(a){var r;try{r=u.fs.readFileSync(e).toString("utf8")}catch(o){return void(t||c(o))}h(e,r)}else++f,i.fetch(e,(function(r,o){--f,n&&(r?t?f||c(null,i):c(r):h(e,o))}))}var f=0;u.isString(t)&&(t=[t]);for(var g,y=0;y<t.length;++y)(g=i.resolvePath("",t[y]))&&p(g);if(a)return i;f||c(null,i)},h.prototype.loadSync=function(e,t){if(!u.isNode)throw Error("not supported");return this.load(e,t,d)},h.prototype.resolveAll=function(){if(this.deferred.length)throw Error("unresolvable extensions: "+this.deferred.map((function(e){return"'extend "+e.extend+"' in "+e.parent.fullName})).join(", "));return n.prototype.resolveAll.call(this)};var p=/^[A-Z]/;function f(e,t){var r=t.parent.lookup(t.extend);if(r){var n=new a(t.fullName,t.id,t.type,t.rule,void 0,t.options);return n.declaringField=t,t.extensionField=n,r.add(n),!0}return!1}h.prototype._handleAdd=function(e){if(e instanceof a)void 0===e.extend||e.extensionField||f(0,e)||this.deferred.push(e);else if(e instanceof c)p.test(e.name)&&(e.parent[e.name]=e.values);else if(!(e instanceof l)){if(e instanceof i)for(var t=0;t<this.deferred.length;)f(0,this.deferred[t])?this.deferred.splice(t,1):++t;for(var r=0;r<e.nestedArray.length;++r)this._handleAdd(e._nestedArray[r]);p.test(e.name)&&(e.parent[e.name]=e)}},h.prototype._handleRemove=function(e){if(e instanceof a){if(void 0!==e.extend)if(e.extensionField)e.extensionField.parent.remove(e.extensionField),e.extensionField=null;else{var t=this.deferred.indexOf(e);t>-1&&this.deferred.splice(t,1)}}else if(e instanceof c)p.test(e.name)&&delete e.parent[e.name];else if(e instanceof n){for(var r=0;r<e.nestedArray.length;++r)this._handleRemove(e._nestedArray[r]);p.test(e.name)&&delete e.parent[e.name]}},h._configure=function(e,t,r){i=e,o=t,s=r}},3107:e=>{"use strict";e.exports={}},7523:(e,t,r)=>{"use strict";t.Service=r(1331)},1331:(e,t,r)=>{"use strict";e.exports=i;var n=r(9716);function i(e,t,r){if("function"!==typeof e)throw TypeError("rpcImpl must be a function");n.EventEmitter.call(this),this.rpcImpl=e,this.requestDelimited=Boolean(t),this.responseDelimited=Boolean(r)}(i.prototype=Object.create(n.EventEmitter.prototype)).constructor=i,i.prototype.rpcCall=function e(t,r,i,o,s){if(!o)throw TypeError("request must be specified");var a=this;if(!s)return n.asPromise(e,a,t,r,i,o);if(a.rpcImpl)try{return a.rpcImpl(t,r[a.requestDelimited?"encodeDelimited":"encode"](o).finish(),(function(e,r){if(e)return a.emit("error",e,t),s(e);if(null!==r){if(!(r instanceof i))try{r=i[a.responseDelimited?"decodeDelimited":"decode"](r)}catch(e){return a.emit("error",e,t),s(e)}return a.emit("data",r,t),s(null,r)}a.end(!0)}))}catch(c){return a.emit("error",c,t),void setTimeout((function(){s(c)}),0)}else setTimeout((function(){s(Error("already ended"))}),0)},i.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},2342:(e,t,r)=>{"use strict";e.exports=a;var n=r(706);((a.prototype=Object.create(n.prototype)).constructor=a).className="Service";var i=r(5597),o=r(8052),s=r(7523);function a(e,t){n.call(this,e,t),this.methods={},this._methodsArray=null}function c(e){return e._methodsArray=null,e}a.fromJSON=function(e,t){var r=new a(e,t.options);if(t.methods)for(var n=Object.keys(t.methods),o=0;o<n.length;++o)r.add(i.fromJSON(n[o],t.methods[n[o]]));return t.nested&&r.addJSON(t.nested),r.comment=t.comment,r},a.prototype.toJSON=function(e){var t=n.prototype.toJSON.call(this,e),r=!!e&&Boolean(e.keepComments);return o.toObject(["options",t&&t.options||void 0,"methods",n.arrayToJSON(this.methodsArray,e)||{},"nested",t&&t.nested||void 0,"comment",r?this.comment:void 0])},Object.defineProperty(a.prototype,"methodsArray",{get:function(){return this._methodsArray||(this._methodsArray=o.toArray(this.methods))}}),a.prototype.get=function(e){return this.methods[e]||n.prototype.get.call(this,e)},a.prototype.resolveAll=function(){for(var e=this.methodsArray,t=0;t<e.length;++t)e[t].resolve();return n.prototype.resolve.call(this)},a.prototype.add=function(e){if(this.get(e.name))throw Error("duplicate name '"+e.name+"' in "+this);return e instanceof i?(this.methods[e.name]=e,e.parent=this,c(this)):n.prototype.add.call(this,e)},a.prototype.remove=function(e){if(e instanceof i){if(this.methods[e.name]!==e)throw Error(e+" is not a member of "+this);return delete this.methods[e.name],e.parent=null,c(this)}return n.prototype.remove.call(this,e)},a.prototype.create=function(e,t,r){for(var n,i=new s.Service(e,t,r),a=0;a<this.methodsArray.length;++a){var c=o.lcFirst((n=this._methodsArray[a]).resolve().name).replace(/[^$\w_]/g,"");i[c]=o.codegen(["r","c"],o.isReserved(c)?c+"_":c)("return this.rpcCall(m,q,s,r,c)")({m:n,q:n.resolvedRequestType.ctor,s:n.resolvedResponseType.ctor})}return i}},9625:e=>{"use strict";e.exports=h;var t=/[\s{}=;:[\],'"()<>]/g,r=/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,n=/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,i=/^ *[*/]+ */,o=/^\s*\*?\/*/,s=/\n/g,a=/\s/,c=/\\(.?)/g,l={0:"\0",r:"\r",n:"\n",t:"\t"};function u(e){return e.replace(c,(function(e,t){switch(t){case"\\":case"":return t;default:return l[t]||""}}))}function h(e,c){e=e.toString();var l=0,h=e.length,d=1,p=0,f={},g=[],y=null;function m(e){return Error("illegal "+e+" (line "+d+")")}function v(t){return e.charAt(t)}function b(t,r,n){var a,l={type:e.charAt(t++),lineEmpty:!1,leading:n},u=t-(c?2:3);do{if(--u<0||"\n"===(a=e.charAt(u))){l.lineEmpty=!0;break}}while(" "===a||"\t"===a);for(var h=e.substring(t,r).split(s),g=0;g<h.length;++g)h[g]=h[g].replace(c?o:i,"").trim();l.text=h.join("\n").trim(),f[d]=l,p=d}function w(t){var r=E(t),n=e.substring(t,r);return/^\s*\/{1,2}/.test(n)}function E(e){for(var t=e;t<h&&"\n"!==v(t);)t++;return t}function _(){if(g.length>0)return g.shift();if(y)return function(){var t="'"===y?n:r;t.lastIndex=l-1;var i=t.exec(e);if(!i)throw m("string");return l=t.lastIndex,S(y),y=null,u(i[1])}();var i,o,s,p,f,_=0===l;do{if(l===h)return null;for(i=!1;a.test(s=v(l));)if("\n"===s&&(_=!0,++d),++l===h)return null;if("/"===v(l)){if(++l===h)throw m("comment");if("/"===v(l))if(c){if(p=l,f=!1,w(l)){f=!0;do{if((l=E(l))===h)break;if(l++,!_)break}while(w(l))}else l=Math.min(h,E(l)+1);f&&(b(p,l,_),_=!0),d++,i=!0}else{for(f="/"===v(p=l+1);"\n"!==v(++l);)if(l===h)return null;++l,f&&(b(p,l-1,_),_=!0),++d,i=!0}else{if("*"!==(s=v(l)))return"/";p=l+1,f=c||"*"===v(p);do{if("\n"===s&&++d,++l===h)throw m("comment");o=s,s=v(l)}while("*"!==o||"/"!==s);++l,f&&(b(p,l-2,_),_=!0),i=!0}}}while(i);var A=l;if(t.lastIndex=0,!t.test(v(A++)))for(;A<h&&!t.test(v(A));)++A;var C=e.substring(l,l=A);return'"'!==C&&"'"!==C||(y=C),C}function S(e){g.push(e)}function A(){if(!g.length){var e=_();if(null===e)return null;S(e)}return g[0]}return Object.defineProperty({next:_,peek:A,push:S,skip:function(e,t){var r=A();if(r===e)return _(),!0;if(!t)throw m("token '"+r+"', '"+e+"' expected");return!1},cmnt:function(e){var t,r=null;return void 0===e?(t=f[d-1],delete f[d-1],t&&(c||"*"===t.type||t.lineEmpty)&&(r=t.leading?t.text:null)):(p<e&&A(),t=f[e],delete f[e],!t||t.lineEmpty||!c&&"/"!==t.type||(r=t.leading?null:t.text)),r}},"line",{get:function(){return d}})}h.unescape=u},9549:(e,t,r)=>{"use strict";e.exports=v;var n=r(706);((v.prototype=Object.create(n.prototype)).constructor=v).className="Type";var i=r(6531),o=r(9825),s=r(6151),a=r(1686),c=r(2342),l=r(9140),u=r(2422),h=r(8050),d=r(8052),p=r(6652),f=r(1625),g=r(2962),y=r(4597),m=r(2481);function v(e,t){n.call(this,e,t),this.fields={},this.oneofs=void 0,this.extensions=void 0,this.reserved=void 0,this.group=void 0,this._fieldsById=null,this._fieldsArray=null,this._oneofsArray=null,this._ctor=null}function b(e){return e._fieldsById=e._fieldsArray=e._oneofsArray=null,delete e.encode,delete e.decode,delete e.verify,e}Object.defineProperties(v.prototype,{fieldsById:{get:function(){if(this._fieldsById)return this._fieldsById;this._fieldsById={};for(var e=Object.keys(this.fields),t=0;t<e.length;++t){var r=this.fields[e[t]],n=r.id;if(this._fieldsById[n])throw Error("duplicate id "+n+" in "+this);this._fieldsById[n]=r}return this._fieldsById}},fieldsArray:{get:function(){return this._fieldsArray||(this._fieldsArray=d.toArray(this.fields))}},oneofsArray:{get:function(){return this._oneofsArray||(this._oneofsArray=d.toArray(this.oneofs))}},ctor:{get:function(){return this._ctor||(this.ctor=v.generateConstructor(this)())},set:function(e){var t=e.prototype;t instanceof l||((e.prototype=new l).constructor=e,d.merge(e.prototype,t)),e.$type=e.prototype.$type=this,d.merge(e,l,!0),this._ctor=e;for(var r=0;r<this.fieldsArray.length;++r)this._fieldsArray[r].resolve();var n={};for(r=0;r<this.oneofsArray.length;++r)n[this._oneofsArray[r].resolve().name]={get:d.oneOfGetter(this._oneofsArray[r].oneof),set:d.oneOfSetter(this._oneofsArray[r].oneof)};r&&Object.defineProperties(e.prototype,n)}}}),v.generateConstructor=function(e){for(var t,r=d.codegen(["p"],e.name),n=0;n<e.fieldsArray.length;++n)(t=e._fieldsArray[n]).map?r("this%s={}",d.safeProp(t.name)):t.repeated&&r("this%s=[]",d.safeProp(t.name));return r("if(p)for(var ks=Object.keys(p),i=0;i<ks.length;++i)if(p[ks[i]]!=null)")("this[ks[i]]=p[ks[i]]")},v.fromJSON=function(e,t){var r=new v(e,t.options);r.extensions=t.extensions,r.reserved=t.reserved;for(var l=Object.keys(t.fields),u=0;u<l.length;++u)r.add(("undefined"!==typeof t.fields[l[u]].keyType?a.fromJSON:s.fromJSON)(l[u],t.fields[l[u]]));if(t.oneofs)for(l=Object.keys(t.oneofs),u=0;u<l.length;++u)r.add(o.fromJSON(l[u],t.oneofs[l[u]]));if(t.nested)for(l=Object.keys(t.nested),u=0;u<l.length;++u){var h=t.nested[l[u]];r.add((void 0!==h.id?s.fromJSON:void 0!==h.fields?v.fromJSON:void 0!==h.values?i.fromJSON:void 0!==h.methods?c.fromJSON:n.fromJSON)(l[u],h))}return t.extensions&&t.extensions.length&&(r.extensions=t.extensions),t.reserved&&t.reserved.length&&(r.reserved=t.reserved),t.group&&(r.group=!0),t.comment&&(r.comment=t.comment),r},v.prototype.toJSON=function(e){var t=n.prototype.toJSON.call(this,e),r=!!e&&Boolean(e.keepComments);return d.toObject(["options",t&&t.options||void 0,"oneofs",n.arrayToJSON(this.oneofsArray,e),"fields",n.arrayToJSON(this.fieldsArray.filter((function(e){return!e.declaringField})),e)||{},"extensions",this.extensions&&this.extensions.length?this.extensions:void 0,"reserved",this.reserved&&this.reserved.length?this.reserved:void 0,"group",this.group||void 0,"nested",t&&t.nested||void 0,"comment",r?this.comment:void 0])},v.prototype.resolveAll=function(){for(var e=this.fieldsArray,t=0;t<e.length;)e[t++].resolve();var r=this.oneofsArray;for(t=0;t<r.length;)r[t++].resolve();return n.prototype.resolveAll.call(this)},v.prototype.get=function(e){return this.fields[e]||this.oneofs&&this.oneofs[e]||this.nested&&this.nested[e]||null},v.prototype.add=function(e){if(this.get(e.name))throw Error("duplicate name '"+e.name+"' in "+this);if(e instanceof s&&void 0===e.extend){if(this._fieldsById?this._fieldsById[e.id]:this.fieldsById[e.id])throw Error("duplicate id "+e.id+" in "+this);if(this.isReservedId(e.id))throw Error("id "+e.id+" is reserved in "+this);if(this.isReservedName(e.name))throw Error("name '"+e.name+"' is reserved in "+this);return e.parent&&e.parent.remove(e),this.fields[e.name]=e,e.message=this,e.onAdd(this),b(this)}return e instanceof o?(this.oneofs||(this.oneofs={}),this.oneofs[e.name]=e,e.onAdd(this),b(this)):n.prototype.add.call(this,e)},v.prototype.remove=function(e){if(e instanceof s&&void 0===e.extend){if(!this.fields||this.fields[e.name]!==e)throw Error(e+" is not a member of "+this);return delete this.fields[e.name],e.parent=null,e.onRemove(this),b(this)}if(e instanceof o){if(!this.oneofs||this.oneofs[e.name]!==e)throw Error(e+" is not a member of "+this);return delete this.oneofs[e.name],e.parent=null,e.onRemove(this),b(this)}return n.prototype.remove.call(this,e)},v.prototype.isReservedId=function(e){return n.isReservedId(this.reserved,e)},v.prototype.isReservedName=function(e){return n.isReservedName(this.reserved,e)},v.prototype.create=function(e){return new this.ctor(e)},v.prototype.setup=function(){for(var e=this.fullName,t=[],r=0;r<this.fieldsArray.length;++r)t.push(this._fieldsArray[r].resolve().resolvedType);this.encode=p(this)({Writer:h,types:t,util:d}),this.decode=f(this)({Reader:u,types:t,util:d}),this.verify=g(this)({types:t,util:d}),this.fromObject=y.fromObject(this)({types:t,util:d}),this.toObject=y.toObject(this)({types:t,util:d});var n=m[e];if(n){var i=Object.create(this);i.fromObject=this.fromObject,this.fromObject=n.fromObject.bind(i),i.toObject=this.toObject,this.toObject=n.toObject.bind(i)}return this},v.prototype.encode=function(e,t){return this.setup().encode(e,t)},v.prototype.encodeDelimited=function(e,t){return this.encode(e,t&&t.len?t.fork():t).ldelim()},v.prototype.decode=function(e,t){return this.setup().decode(e,t)},v.prototype.decodeDelimited=function(e){return e instanceof u||(e=u.create(e)),this.decode(e,e.uint32())},v.prototype.verify=function(e){return this.setup().verify(e)},v.prototype.fromObject=function(e){return this.setup().fromObject(e)},v.prototype.toObject=function(e,t){return this.setup().toObject(e,t)},v.d=function(e){return function(t){d.decorateType(t,e)}}},5028:(e,t,r)=>{"use strict";var n=t,i=r(8052),o=["double","float","int32","uint32","sint32","fixed32","sfixed32","int64","uint64","sint64","fixed64","sfixed64","bool","string","bytes"];function s(e,t){var r=0,n={};for(t|=0;r<e.length;)n[o[r+t]]=e[r++];return n}n.basic=s([1,5,0,0,0,5,5,0,0,0,1,1,0,2,2]),n.defaults=s([0,0,0,0,0,0,0,0,0,0,0,0,!1,"",i.emptyArray,null]),n.long=s([0,0,0,1,1],7),n.mapKey=s([0,0,0,5,5,0,0,0,1,1,0,2],2),n.packed=s([1,5,0,0,0,5,5,0,0,0,1,1,0])},8052:(e,t,r)=>{"use strict";var n,i,o=e.exports=r(9716),s=r(3107);o.codegen=r(7857),o.fetch=r(8774),o.path=r(8464),o.fs=o.inquire("fs"),o.toArray=function(e){if(e){for(var t=Object.keys(e),r=new Array(t.length),n=0;n<t.length;)r[n]=e[t[n++]];return r}return[]},o.toObject=function(e){for(var t={},r=0;r<e.length;){var n=e[r++],i=e[r++];void 0!==i&&(t[n]=i)}return t};var a=/\\/g,c=/"/g;o.isReserved=function(e){return/^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/.test(e)},o.safeProp=function(e){return!/^[$\w_]+$/.test(e)||o.isReserved(e)?'["'+e.replace(a,"\\\\").replace(c,'\\"')+'"]':"."+e},o.ucFirst=function(e){return e.charAt(0).toUpperCase()+e.substring(1)};var l=/_([a-z])/g;o.camelCase=function(e){return e.substring(0,1)+e.substring(1).replace(l,(function(e,t){return t.toUpperCase()}))},o.compareFieldsById=function(e,t){return e.id-t.id},o.decorateType=function(e,t){if(e.$type)return t&&e.$type.name!==t&&(o.decorateRoot.remove(e.$type),e.$type.name=t,o.decorateRoot.add(e.$type)),e.$type;n||(n=r(9549));var i=new n(t||e.name);return o.decorateRoot.add(i),i.ctor=e,Object.defineProperty(e,"$type",{value:i,enumerable:!1}),Object.defineProperty(e.prototype,"$type",{value:i,enumerable:!1}),i};var u=0;o.decorateEnum=function(e){if(e.$type)return e.$type;i||(i=r(6531));var t=new i("Enum"+u++,e);return o.decorateRoot.add(t),Object.defineProperty(e,"$type",{value:t,enumerable:!1}),t},o.setProperty=function(e,t,r){if("object"!==typeof e)throw TypeError("dst must be an object");if(!t)throw TypeError("path must be specified");return function e(t,r,n){var i=r.shift();if("__proto__"===i)return t;if(r.length>0)t[i]=e(t[i]||{},r,n);else{var o=t[i];o&&(n=[].concat(o).concat(n)),t[i]=n}return t}(e,t=t.split("."),r)},Object.defineProperty(o,"decorateRoot",{get:function(){return s.decorated||(s.decorated=new(r(2808)))}})},6112:(e,t,r)=>{"use strict";e.exports=i;var n=r(9716);function i(e,t){this.lo=e>>>0,this.hi=t>>>0}var o=i.zero=new i(0,0);o.toNumber=function(){return 0},o.zzEncode=o.zzDecode=function(){return this},o.length=function(){return 1};var s=i.zeroHash="\0\0\0\0\0\0\0\0";i.fromNumber=function(e){if(0===e)return o;var t=e<0;t&&(e=-e);var r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new i(r,n)},i.from=function(e){if("number"===typeof e)return i.fromNumber(e);if(n.isString(e)){if(!n.Long)return i.fromNumber(parseInt(e,10));e=n.Long.fromString(e)}return e.low||e.high?new i(e.low>>>0,e.high>>>0):o},i.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var t=1+~this.lo>>>0,r=~this.hi>>>0;return t||(r=r+1>>>0),-(t+4294967296*r)}return this.lo+4294967296*this.hi},i.prototype.toLong=function(e){return n.Long?new n.Long(0|this.lo,0|this.hi,Boolean(e)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(e)}};var a=String.prototype.charCodeAt;i.fromHash=function(e){return e===s?o:new i((a.call(e,0)|a.call(e,1)<<8|a.call(e,2)<<16|a.call(e,3)<<24)>>>0,(a.call(e,4)|a.call(e,5)<<8|a.call(e,6)<<16|a.call(e,7)<<24)>>>0)},i.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},i.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this},i.prototype.zzDecode=function(){var e=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this},i.prototype.length=function(){var e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,r=this.hi>>>24;return 0===r?0===t?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:r<128?9:10}},9716:function(e,t,r){"use strict";var n=t;function i(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)void 0!==e[n[i]]&&r||(e[n[i]]=t[n[i]]);return e}function o(e){function t(e,r){if(!(this instanceof t))return new t(e,r);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:(new Error).stack||""}),r&&i(this,r)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:()=>e,set:void 0,enumerable:!1,configurable:!0},toString:{value(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}n.asPromise=r(7223),n.base64=r(1938),n.EventEmitter=r(6597),n.float=r(2678),n.inquire=r(7640),n.utf8=r(2842),n.pool=r(110),n.LongBits=r(6112),n.isNode=Boolean("undefined"!==typeof r.g&&r.g&&r.g.process&&r.g.process.versions&&r.g.process.versions.node),n.global=n.isNode&&r.g||"undefined"!==typeof window&&window||"undefined"!==typeof self&&self||this,n.emptyArray=Object.freeze?Object.freeze([]):[],n.emptyObject=Object.freeze?Object.freeze({}):{},n.isInteger=Number.isInteger||function(e){return"number"===typeof e&&isFinite(e)&&Math.floor(e)===e},n.isString=function(e){return"string"===typeof e||e instanceof String},n.isObject=function(e){return e&&"object"===typeof e},n.isset=n.isSet=function(e,t){var r=e[t];return!(null==r||!e.hasOwnProperty(t))&&("object"!==typeof r||(Array.isArray(r)?r.length:Object.keys(r).length)>0)},n.Buffer=function(){try{var e=n.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch(t){return null}}(),n._Buffer_from=null,n._Buffer_allocUnsafe=null,n.newBuffer=function(e){return"number"===typeof e?n.Buffer?n._Buffer_allocUnsafe(e):new n.Array(e):n.Buffer?n._Buffer_from(e):"undefined"===typeof Uint8Array?e:new Uint8Array(e)},n.Array="undefined"!==typeof Uint8Array?Uint8Array:Array,n.Long=n.global.dcodeIO&&n.global.dcodeIO.Long||n.global.Long||n.inquire("long"),n.key2Re=/^true|false|0|1$/,n.key32Re=/^-?(?:0|[1-9][0-9]*)$/,n.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,n.longToHash=function(e){return e?n.LongBits.from(e).toHash():n.LongBits.zeroHash},n.longFromHash=function(e,t){var r=n.LongBits.fromHash(e);return n.Long?n.Long.fromBits(r.lo,r.hi,t):r.toNumber(Boolean(t))},n.merge=i,n.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)},n.newError=o,n.ProtocolError=o("ProtocolError"),n.oneOfGetter=function(e){for(var t={},r=0;r<e.length;++r)t[e[r]]=1;return function(){for(var e=Object.keys(this),r=e.length-1;r>-1;--r)if(1===t[e[r]]&&void 0!==this[e[r]]&&null!==this[e[r]])return e[r]}},n.oneOfSetter=function(e){return function(t){for(var r=0;r<e.length;++r)e[r]!==t&&delete this[e[r]]}},n.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},n._configure=function(){var e=n.Buffer;e?(n._Buffer_from=e.from!==Uint8Array.from&&e.from||function(t,r){return new e(t,r)},n._Buffer_allocUnsafe=e.allocUnsafe||function(t){return new e(t)}):n._Buffer_from=n._Buffer_allocUnsafe=null}},2962:(e,t,r)=>{"use strict";e.exports=function(e){var t=i.codegen(["m"],e.name+"$verify")('if(typeof m!=="object"||m===null)')("return%j","object expected"),r=e.oneofsArray,n={};r.length&&t("var p={}");for(var c=0;c<e.fieldsArray.length;++c){var l=e._fieldsArray[c].resolve(),u="m"+i.safeProp(l.name);if(l.optional&&t("if(%s!=null&&m.hasOwnProperty(%j)){",u,l.name),l.map)t("if(!util.isObject(%s))",u)("return%j",o(l,"object"))("var k=Object.keys(%s)",u)("for(var i=0;i<k.length;++i){"),a(t,l,"k[i]"),s(t,l,c,u+"[k[i]]")("}");else if(l.repeated)t("if(!Array.isArray(%s))",u)("return%j",o(l,"array"))("for(var i=0;i<%s.length;++i){",u),s(t,l,c,u+"[i]")("}");else{if(l.partOf){var h=i.safeProp(l.partOf.name);1===n[l.partOf.name]&&t("if(p%s===1)",h)("return%j",l.partOf.name+": multiple values"),n[l.partOf.name]=1,t("p%s=1",h)}s(t,l,c,u)}l.optional&&t("}")}return t("return null")};var n=r(6531),i=r(8052);function o(e,t){return e.name+": "+t+(e.repeated&&"array"!==t?"[]":e.map&&"object"!==t?"{k:"+e.keyType+"}":"")+" expected"}function s(e,t,r,i){if(t.resolvedType)if(t.resolvedType instanceof n){e("switch(%s){",i)("default:")("return%j",o(t,"enum value"));for(var s=Object.keys(t.resolvedType.values),a=0;a<s.length;++a)e("case %i:",t.resolvedType.values[s[a]]);e("break")("}")}else e("{")("var e=types[%i].verify(%s);",r,i)("if(e)")("return%j+e",t.name+".")("}");else switch(t.type){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":e("if(!util.isInteger(%s))",i)("return%j",o(t,"integer"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":e("if(!util.isInteger(%s)&&!(%s&&util.isInteger(%s.low)&&util.isInteger(%s.high)))",i,i,i,i)("return%j",o(t,"integer|Long"));break;case"float":case"double":e('if(typeof %s!=="number")',i)("return%j",o(t,"number"));break;case"bool":e('if(typeof %s!=="boolean")',i)("return%j",o(t,"boolean"));break;case"string":e("if(!util.isString(%s))",i)("return%j",o(t,"string"));break;case"bytes":e('if(!(%s&&typeof %s.length==="number"||util.isString(%s)))',i,i,i)("return%j",o(t,"buffer"))}return e}function a(e,t,r){switch(t.keyType){case"int32":case"uint32":case"sint32":case"fixed32":case"sfixed32":e("if(!util.key32Re.test(%s))",r)("return%j",o(t,"integer key"));break;case"int64":case"uint64":case"sint64":case"fixed64":case"sfixed64":e("if(!util.key64Re.test(%s))",r)("return%j",o(t,"integer|Long key"));break;case"bool":e("if(!util.key2Re.test(%s))",r)("return%j",o(t,"boolean key"))}return e}},2481:(e,t,r)=>{"use strict";var n=t,i=r(9140);n[".google.protobuf.Any"]={fromObject:function(e){if(e&&e["@type"]){var t=e["@type"].substring(e["@type"].lastIndexOf("/")+1),r=this.lookup(t);if(r){var n="."===e["@type"].charAt(0)?e["@type"].slice(1):e["@type"];return-1===n.indexOf("/")&&(n="/"+n),this.create({type_url:n,value:r.encode(r.fromObject(e)).finish()})}}return this.fromObject(e)},toObject:function(e,t){var r="",n="";if(t&&t.json&&e.type_url&&e.value){n=e.type_url.substring(e.type_url.lastIndexOf("/")+1),r=e.type_url.substring(0,e.type_url.lastIndexOf("/")+1);var o=this.lookup(n);o&&(e=o.decode(e.value))}if(!(e instanceof this.ctor)&&e instanceof i){var s=e.$type.toObject(e,t);return""===r&&(r="type.googleapis.com/"),n=r+("."===e.$type.fullName[0]?e.$type.fullName.slice(1):e.$type.fullName),s["@type"]=n,s}return this.toObject(e,t)}}},8050:(e,t,r)=>{"use strict";e.exports=h;var n,i=r(9716),o=i.LongBits,s=i.base64,a=i.utf8;function c(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function l(){}function u(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function h(){this.len=0,this.head=new c(l,0,0),this.tail=this.head,this.states=null}var d=function(){return i.Buffer?function(){return(h.create=function(){return new n})()}:function(){return new h}};function p(e,t,r){t[r]=255&e}function f(e,t){this.len=e,this.next=void 0,this.val=t}function g(e,t,r){for(;e.hi;)t[r++]=127&e.lo|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=127&e.lo|128,e.lo=e.lo>>>7;t[r++]=e.lo}function y(e,t,r){t[r]=255&e,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}h.create=d(),h.alloc=function(e){return new i.Array(e)},i.Array!==Array&&(h.alloc=i.pool(h.alloc,i.Array.prototype.subarray)),h.prototype._push=function(e,t,r){return this.tail=this.tail.next=new c(e,t,r),this.len+=t,this},f.prototype=Object.create(c.prototype),f.prototype.fn=function(e,t,r){for(;e>127;)t[r++]=127&e|128,e>>>=7;t[r]=e},h.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new f((e>>>=0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this},h.prototype.int32=function(e){return e<0?this._push(g,10,o.fromNumber(e)):this.uint32(e)},h.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)},h.prototype.uint64=function(e){var t=o.from(e);return this._push(g,t.length(),t)},h.prototype.int64=h.prototype.uint64,h.prototype.sint64=function(e){var t=o.from(e).zzEncode();return this._push(g,t.length(),t)},h.prototype.bool=function(e){return this._push(p,1,e?1:0)},h.prototype.fixed32=function(e){return this._push(y,4,e>>>0)},h.prototype.sfixed32=h.prototype.fixed32,h.prototype.fixed64=function(e){var t=o.from(e);return this._push(y,4,t.lo)._push(y,4,t.hi)},h.prototype.sfixed64=h.prototype.fixed64,h.prototype.float=function(e){return this._push(i.float.writeFloatLE,4,e)},h.prototype.double=function(e){return this._push(i.float.writeDoubleLE,8,e)};var m=i.Array.prototype.set?function(e,t,r){t.set(e,r)}:function(e,t,r){for(var n=0;n<e.length;++n)t[r+n]=e[n]};h.prototype.bytes=function(e){var t=e.length>>>0;if(!t)return this._push(p,1,0);if(i.isString(e)){var r=h.alloc(t=s.length(e));s.decode(e,r,0),e=r}return this.uint32(t)._push(m,t,e)},h.prototype.string=function(e){var t=a.length(e);return t?this.uint32(t)._push(a.write,t,e):this._push(p,1,0)},h.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new c(l,0,0),this.len=0,this},h.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(l,0,0),this.len=0),this},h.prototype.ldelim=function(){var e=this.head,t=this.tail,r=this.len;return this.reset().uint32(r),r&&(this.tail.next=e.next,this.tail=t,this.len+=r),this},h.prototype.finish=function(){for(var e=this.head.next,t=this.constructor.alloc(this.len),r=0;e;)e.fn(e.val,t,r),r+=e.len,e=e.next;return t},h._configure=function(e){n=e,h.create=d(),n._configure()}},2149:(e,t,r)=>{"use strict";e.exports=o;var n=r(8050);(o.prototype=Object.create(n.prototype)).constructor=o;var i=r(9716);function o(){n.call(this)}function s(e,t,r){e.length<40?i.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}o._configure=function(){o.alloc=i._Buffer_allocUnsafe,o.writeBytesBuffer=i.Buffer&&i.Buffer.prototype instanceof Uint8Array&&"set"===i.Buffer.prototype.set.name?function(e,t,r){t.set(e,r)}:function(e,t,r){if(e.copy)e.copy(t,r,0,e.length);else for(var n=0;n<e.length;)t[r++]=e[n++]}},o.prototype.bytes=function(e){i.isString(e)&&(e=i._Buffer_from(e,"base64"));var t=e.length>>>0;return this.uint32(t),t&&this._push(o.writeBytesBuffer,t,e),this},o.prototype.string=function(e){var t=i.Buffer.byteLength(e);return this.uint32(t),t&&this._push(s,t,e),this},o._configure()},4607:(e,t,r)=>{const n=r(8059),i=r(7660),o=r(4418),s=r(1898),{RateLimiterClusterMaster:a,RateLimiterClusterMasterPM2:c,RateLimiterCluster:l}=r(1963),u=r(6027),h=r(8025),d=r(1664),p=r(9794),f=r(7497),g=r(6437),y=r(2319);e.exports={RateLimiterRedis:n,RateLimiterMongo:i,RateLimiterMySQL:o,RateLimiterPostgres:s,RateLimiterMemory:u,RateLimiterMemcache:h,RateLimiterClusterMaster:a,RateLimiterClusterMasterPM2:c,RateLimiterCluster:l,RLWrapperBlackAndWhite:d,RateLimiterUnion:p,RateLimiterQueue:f,BurstyRateLimiter:g,RateLimiterRes:y}},6437:(e,t,r)=>{const n=r(2319);e.exports=class{constructor(e,t){this._rateLimiter=e,this._burstLimiter=t}_combineRes(e,t){return new n(e.remainingPoints,Math.min(e.msBeforeNext,t.msBeforeNext),e.consumedPoints,e.isFirstInDuration)}consume(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._rateLimiter.consume(e,t,r).catch((i=>i instanceof n?this._burstLimiter.consume(e,t,r).then((e=>Promise.resolve(this._combineRes(i,e)))).catch((e=>e instanceof n?Promise.reject(this._combineRes(i,e)):Promise.reject(e))):Promise.reject(i)))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then((e=>{let[t,r]=e;return this._combineRes(t,r)}))}get points(){return this._rateLimiter.points}}},1664:(e,t,r)=>{const n=r(2319);e.exports=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if("undefined"===typeof e)throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway="undefined"!==typeof e&&e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if("undefined"===typeof e&&(e=()=>!1),"function"!==typeof e)throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if("undefined"===typeof e&&(e=()=>!1),"function"!==typeof e)throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new n(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new n(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return this.isWhiteListedSomewhere(e)?t=this.resolveWhite():this.isBlackListedSomewhere(e)&&(t=this.rejectBlack()),"undefined"===typeof t?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch((()=>{})),t)}block(e,t){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),"undefined"===typeof r?this.limiter.block(e,t):(this.runActionAnyway&&this.limiter.block(e,t).catch((()=>{})),r)}penalty(e,t){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),"undefined"===typeof r?this.limiter.penalty(e,t):(this.runActionAnyway&&this.limiter.penalty(e,t).catch((()=>{})),r)}reward(e,t){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),"undefined"===typeof r?this.limiter.reward(e,t):(this.runActionAnyway&&this.limiter.reward(e,t).catch((()=>{})),r)}get(e){let t;return this.isWhiteListedSomewhere(e)?t=this.resolveWhite():this.isBlackListedSomewhere(e)&&(t=this.resolveBlack()),"undefined"===typeof t||this.runActionAnyway?this.limiter.get(e):t}delete(e){return this.limiter.delete(e)}}},4698:e=>{e.exports=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration="undefined"===typeof e?1:e}get msDuration(){return 1e3*this.duration}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration="undefined"===typeof e?0:e}get msBlockDuration(){return 1e3*this.blockDuration}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly="undefined"!==typeof e&&Boolean(e)}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs="undefined"===typeof e?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if("undefined"===typeof e&&(e="rlflx"),"string"!==typeof e)throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?"".concat(this.keyPrefix,":").concat(e):e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}},1963:(e,t,r)=>{const n=r(1265),i=r(5539),o=r(4698),s=r(6027),a=r(2319),c="rate_limiter_flexible";let l=null;const u=function(e,t,r,n){let i;i=null===n||!0===n||!1===n?n:{remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},e.send({channel:c,keyPrefix:t.keyPrefix,promiseId:t.promiseId,type:r,data:i})},h=function(e){setTimeout((()=>{this._initiated?process.send(e):"undefined"!==typeof this._promises[e.promiseId]&&h.call(this,e)}),30)},d=function(e,t,r,n,i){const o={channel:c,keyPrefix:this.keyPrefix,func:e,promiseId:t,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):h.call(this,o)},p=function(e,t){if(!t||t.channel!==c||"undefined"===typeof this._rateLimiters[t.keyPrefix])return!1;let r;switch(t.func){case"consume":r=this._rateLimiters[t.keyPrefix].consume(t.data.key,t.data.arg,t.data.opts);break;case"penalty":r=this._rateLimiters[t.keyPrefix].penalty(t.data.key,t.data.arg,t.data.opts);break;case"reward":r=this._rateLimiters[t.keyPrefix].reward(t.data.key,t.data.arg,t.data.opts);break;case"block":r=this._rateLimiters[t.keyPrefix].block(t.data.key,t.data.arg,t.data.opts);break;case"get":r=this._rateLimiters[t.keyPrefix].get(t.data.key,t.data.opts);break;case"delete":r=this._rateLimiters[t.keyPrefix].delete(t.data.key,t.data.opts);break;default:return!1}r&&r.then((r=>{u(e,t,"resolve",r)})).catch((r=>{u(e,t,"reject",r)}))},f=function(e){if(!e||e.channel!==c||e.keyPrefix!==this.keyPrefix)return!1;if(this._promises[e.promiseId]){let t;switch(clearTimeout(this._promises[e.promiseId].timeoutId),t=null===e.data||!0===e.data||!1===e.data?e.data:new a(e.data.remainingPoints,e.data.msBeforeNext,e.data.consumedPoints,e.data.isFirstInDuration),e.type){case"resolve":this._promises[e.promiseId].resolve(t);break;case"reject":this._promises[e.promiseId].reject(t);break;default:throw new Error("RateLimiterCluster: no such message type '".concat(e.type,"'"))}delete this._promises[e.promiseId]}},g=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},y=function(e,t){const r=process.hrtime();let n=r[0].toString()+r[1].toString();return"undefined"!==typeof this._promises[n]&&(n+=i.randomBytes(12).toString("base64")),this._promises[n]={resolve:e,reject:t,timeoutId:setTimeout((()=>{delete this._promises[n],t(new Error("RateLimiterCluster timeout: no answer from master in time"))}),this.timeoutMs)},n};e.exports={RateLimiterClusterMaster:class{constructor(){if(l)return l;this._rateLimiters={},n.setMaxListeners(0),n.on("message",((e,t)=>{t&&t.channel===c&&"init"===t.type?("undefined"===typeof this._rateLimiters[t.opts.keyPrefix]&&(this._rateLimiters[t.opts.keyPrefix]=new s(t.opts)),e.send({channel:c,type:"init",keyPrefix:t.opts.keyPrefix})):p.call(this,e,t)})),l=this}},RateLimiterClusterMasterPM2:class{constructor(e){if(l)return l;this._rateLimiters={},e.launchBus(((t,r)=>{r.on("process:msg",(t=>{const r=t.raw;if(r&&r.channel===c&&"init"===r.type)"undefined"===typeof this._rateLimiters[r.opts.keyPrefix]&&(this._rateLimiters[r.opts.keyPrefix]=new s(r.opts)),e.sendDataToProcessId(t.process.pm_id,{data:{},topic:c,channel:c,type:"init",keyPrefix:r.opts.keyPrefix},((e,t)=>{e&&console.log(e,t)}));else{p.call(this,{send:r=>{const n=r;n.topic=c,"undefined"===typeof n.data&&(n.data={}),e.sendDataToProcessId(t.process.pm_id,n,((e,t)=>{e&&console.log(e,t)}))}},r)}}))})),l=this}},RateLimiterCluster:class extends o{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs="undefined"===typeof e?5e3:Math.abs(parseInt(e))}constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",(e=>{e&&e.channel===c&&"init"===e.type&&e.keyPrefix===this.keyPrefix?this._initiated=!0:f.call(this,e)})),process.send({channel:c,type:"init",opts:g.call(this)}),this._promises={}}consume(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((n,i)=>{const o=y.call(this,n,i);d.call(this,"consume",o,e,t,r)}))}penalty(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((n,i)=>{const o=y.call(this,n,i);d.call(this,"penalty",o,e,t,r)}))}reward(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((n,i)=>{const o=y.call(this,n,i);d.call(this,"reward",o,e,t,r)}))}block(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((n,i)=>{const o=y.call(this,n,i);d.call(this,"block",o,e,t,r)}))}get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((r,n)=>{const i=y.call(this,r,n);d.call(this,"get",i,e,t)}))}delete(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((r,n)=>{const i=y.call(this,r,n);d.call(this,"delete",i,e,t)}))}}}},8025:(e,t,r)=>{const n=r(6053),i=r(2319);e.exports=class extends n{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,t,r){const n=new i;return n.consumedPoints=parseInt(r.consumedPoints),n.isFirstInDuration=r.consumedPoints===t,n.remainingPoints=Math.max(this.points-n.consumedPoints,0),n.msBeforeNext=r.msBeforeNext,n}_upsert(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return new Promise(((o,s)=>{const a=Date.now(),c=Math.floor(r/1e3);n?this.client.set(e,t,c,(r=>{r?s(r):this.client.set("".concat(e,"_expire"),c>0?a+1e3*c:-1,c,(()=>{o({consumedPoints:t,msBeforeNext:c>0?1e3*c:-1})}))})):this.client.incr(e,t,((l,u)=>{l||!1===u?this.client.add(e,t,c,((l,u)=>{if(l||!u)if("undefined"===typeof i.attemptNumber||i.attemptNumber<3){const a=Object.assign({},i);a.attemptNumber=a.attemptNumber?a.attemptNumber+1:1,this._upsert(e,t,r,n,a).then((e=>o(e))).catch((e=>s(e)))}else s(new Error("Can not add key"));else this.client.add("".concat(e,"_expire"),c>0?a+1e3*c:-1,c,(()=>{o({consumedPoints:t,msBeforeNext:c>0?1e3*c:-1})}))})):this.client.get("".concat(e,"_expire"),((e,t)=>{if(e)s(e);else{const e=!1===t?0:t,r={consumedPoints:u,msBeforeNext:e>=0?Math.max(e-a,0):-1};o(r)}}))}))}))}_get(e){return new Promise(((t,r)=>{const n=Date.now();this.client.get(e,((i,o)=>{o?this.client.get("".concat(e,"_expire"),((e,i)=>{if(e)r(e);else{const e=!1===i?0:i,r={consumedPoints:o,msBeforeNext:e>=0?Math.max(e-n,0):-1};t(r)}})):t(null)}))}))}_delete(e){return new Promise(((t,r)=>{this.client.del(e,((n,i)=>{n?r(n):!1===i?t(i):this.client.del("".concat(e,"_expire"),(e=>{e?r(e):t(i)}))}))}))}}},6027:(e,t,r)=>{const n=r(4698),i=r(6375),o=r(2319);e.exports=class extends n{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),this._memoryStorage=new i}consume(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((n,i)=>{const o=this.getKey(e),s=this._getKeySecDuration(r);let a=this._memoryStorage.incrby(o,t,s);if(a.remainingPoints=Math.max(this.points-a.consumedPoints,0),a.consumedPoints>this.points)this.blockDuration>0&&a.consumedPoints<=this.points+t&&(a=this._memoryStorage.set(o,a.consumedPoints,this.blockDuration)),i(a);else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let e=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));e<this.execEvenlyMinDelayMs&&(e=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(n,e,a)}else n(a)}))}penalty(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.getKey(e);return new Promise((e=>{const i=this._getKeySecDuration(r),o=this._memoryStorage.incrby(n,t,i);o.remainingPoints=Math.max(this.points-o.consumedPoints,0),e(o)}))}reward(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.getKey(e);return new Promise((e=>{const i=this._getKeySecDuration(r),o=this._memoryStorage.incrby(n,-t,i);o.remainingPoints=Math.max(this.points-o.consumedPoints,0),e(o)}))}block(e,t){const r=1e3*t,n=this.points+1;return this._memoryStorage.set(this.getKey(e),n,t),Promise.resolve(new o(0,0===r?-1:r,n))}set(e,t,r){const n=1e3*(r>=0?r:this.duration);return this._memoryStorage.set(this.getKey(e),t,r),Promise.resolve(new o(0,0===n?-1:n,t))}get(e){const t=this._memoryStorage.get(this.getKey(e));return null!==t&&(t.remainingPoints=Math.max(this.points-t.consumedPoints,0)),Promise.resolve(t)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}}},7660:(e,t,r)=>{const n=r(6053),i=r(2319);function o(e){try{const t=e.client?e.client:e,{version:r}=t.topology.s.options.metadata.driver,n=r.split(".").map((e=>parseInt(e)));return{major:n[0],feature:n[1],patch:n[2]}}catch(t){return{major:0,feature:0,patch:0}}}class s extends n{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,"function"===typeof this.client.then?this.client.then((e=>{this.client=e,this._initCollection(),this._driverVersion=o(this.client)})):(this._initCollection(),this._driverVersion=o(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName="undefined"===typeof e?s.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName="undefined"===typeof e?this.keyPrefix:e}get client(){return this._client}set client(e){if("undefined"===typeof e)throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){const e=("function"===typeof this.client.db?this.client.db(this.dbName):this.client).collection(this.tableName);e.createIndex({expire:-1},{expireAfterSeconds:0}),e.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=e}_getRateLimiterRes(e,t,r){const n=new i;let o;return o="undefined"===typeof r.value?r:r.value,n.isFirstInDuration=o.points===t,n.consumedPoints=o.points,n.remainingPoints=Math.max(this.points-n.consumedPoints,0),n.msBeforeNext=null!==o.expire?Math.max(new Date(o.expire).getTime()-Date.now(),0):-1,n}_upsert(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));const o=i.attrs||{};let s,a;n?(s={key:e},s=Object.assign(s,o),a={$set:{key:e,points:t,expire:r>0?new Date(Date.now()+r):null}},a.$set=Object.assign(a.$set,o)):(s={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},s=Object.assign(s,o),a={$setOnInsert:{key:e,expire:r>0?new Date(Date.now()+r):null},$inc:{points:t}},a.$setOnInsert=Object.assign(a.$setOnInsert,o));const c={upsert:!0};return this._driverVersion.major>=4||3===this._driverVersion.major&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?c.returnDocument="after":c.returnOriginal=!1,new Promise(((i,l)=>{this._collection.findOneAndUpdate(s,a,c).then((e=>{i(e)})).catch((s=>{if(s&&11e3===s.code){const s=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),a={$set:Object.assign({key:e,points:t,expire:r>0?new Date(Date.now()+r):null},o)};this._collection.findOneAndUpdate(s,a,c).then((e=>{i(e)})).catch((o=>{o&&11e3===o.code?this._upsert(e,t,r,n).then((e=>i(e))).catch((e=>l(e))):l(o)}))}else l(s)}))}))}_get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));const r=t.attrs||{},n=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},r);return this._collection.findOne(n)}_delete(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));const r=t.attrs||{},n=Object.assign({key:e},r);return this._collection.deleteOne(n).then((e=>e.deletedCount>0))}}e.exports=s},4418:(e,t,r)=>{const n=r(6053),i=r(2319);e.exports=class extends n{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),"function"===typeof t&&t()):this._createDbAndTable().then((()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),"function"===typeof t&&t()})).catch((e=>{if("function"!==typeof t)throw e;t(e)}))}clearExpired(e){return new Promise((t=>{this._getConnection().then((r=>{r.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],(()=>{this._releaseConnection(r),t()}))})).catch((()=>{t()}))}))}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout((()=>{this.clearExpired(Date.now()-36e5).then((()=>{this._clearExpiredHourAgo()}))}),3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise(((e,t)=>{this.client.getConnection(((r,n)=>{if(r)return t(r);e(n)}))}));case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise(((e,t)=>{this._getConnection().then((r=>{r.query("CREATE DATABASE IF NOT EXISTS `".concat(this.dbName,"`;"),(n=>{if(n)return this._releaseConnection(r),t(n);r.query(this._getCreateTableStmt(),(n=>{if(n)return this._releaseConnection(r),t(n);this._releaseConnection(r),e()}))}))})).catch((e=>{t(e)}))}))}_getCreateTableStmt(){return"CREATE TABLE IF NOT EXISTS `".concat(this.dbName,"`.`").concat(this.tableName,"` (")+"`key` VARCHAR(255) CHARACTER SET utf8 NOT NULL,`points` INT(9) NOT NULL default 0,`expire` BIGINT UNSIGNED,PRIMARY KEY (`key`)) ENGINE = INNODB;"}get clientType(){return this._clientType}set clientType(e){if("undefined"===typeof e)if("Connection"===this.client.constructor.name)e="connection";else if("Pool"===this.client.constructor.name)e="pool";else{if("Sequelize"!==this.client.constructor.name)throw new Error("storeType is not defined");e="sequelize"}this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName="undefined"===typeof e?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName="undefined"===typeof e?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated="undefined"!==typeof e&&!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout="undefined"===typeof e||Boolean(e)}_getRateLimiterRes(e,t,r){const n=new i,[o]=r;return n.isFirstInDuration=t===o.points,n.consumedPoints=n.isFirstInDuration?t:o.points,n.remainingPoints=Math.max(this.points-n.consumedPoints,0),n.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,n}_upsertTransaction(e,t,r,n,i){return new Promise(((o,s)=>{e.query("BEGIN",(a=>{if(a)return e.rollback(),s(a);const c=Date.now(),l=n>0?c+n:null;let u,h;i?(u="INSERT INTO ??.?? VALUES (?, ?, ?)\n ON DUPLICATE KEY UPDATE \n points = ?, \n expire = ?;",h=[this.dbName,this.tableName,t,r,l,r,l]):(u="INSERT INTO ??.?? VALUES (?, ?, ?)\n ON DUPLICATE KEY UPDATE \n points = IF(expire <= ?, ?, points + (?)), \n expire = IF(expire <= ?, ?, expire);",h=[this.dbName,this.tableName,t,r,l,c,r,r,c,l]),e.query(u,h,(r=>{if(r)return e.rollback(),s(r);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,t],((t,r)=>{if(t)return e.rollback(),s(t);e.query("COMMIT",(t=>{if(t)return e.rollback(),s(t);o(r)}))}))}))}))}))}_upsert(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return this.tableCreated?new Promise(((i,o)=>{this._getConnection().then((s=>{this._upsertTransaction(s,e,t,r,n).then((e=>{i(e),this._releaseConnection(s)})).catch((e=>{o(e),this._releaseConnection(s)}))})).catch((e=>{o(e)}))})):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise(((t,r)=>{this._getConnection().then((n=>{n.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],((e,i)=>{e?r(e):0===i.length?t(null):t(i),this._releaseConnection(n)}))})).catch((e=>{r(e)}))})):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise(((t,r)=>{this._getConnection().then((n=>{n.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],((e,i)=>{e?r(e):t(i.affectedRows>0),this._releaseConnection(n)}))})).catch((e=>{r(e)}))})):Promise.reject(Error("Table is not created yet"))}}},1898:(e,t,r)=>{const n=r(6053),i=r(2319);e.exports=class extends n{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?"function"===typeof t&&t():this._createTable().then((()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),"function"===typeof t&&t()})).catch((e=>{if("function"!==typeof t)throw e;t(e)}))}clearExpired(e){return new Promise((t=>{const r={name:"rlflx-clear-expired",text:"DELETE FROM ".concat(this.tableName," WHERE expire < $1"),values:[e]};this._query(r).then((()=>{t()})).catch((()=>{t()}))}))}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout((()=>{this.clearExpired(Date.now()-36e5).then((()=>{this._clearExpiredHourAgo()}))}),3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":default:return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master)}}_releaseConnection(e){switch(this.clientType){case"pool":case"typeorm":default:return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e)}}_createTable(){return new Promise(((e,t)=>{this._query({text:this._getCreateTableStmt()}).then((()=>{e()})).catch((r=>{"23505"===r.code?e():t(r)}))}))}_getCreateTableStmt(){return"CREATE TABLE IF NOT EXISTS ".concat(this.tableName," ( \n key varchar(255) PRIMARY KEY,\n points integer NOT NULL DEFAULT 0,\n expire bigint\n );")}get clientType(){return this._clientType}set clientType(e){const t=this.client.constructor.name;if("undefined"===typeof e)if("Client"===t)e="client";else if("Pool"===t||"BoundPool"===t)e="pool";else{if("Sequelize"!==t)throw new Error("storeType is not defined");e="sequelize"}this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName="undefined"===typeof e?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated="undefined"!==typeof e&&!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout="undefined"===typeof e||Boolean(e)}_getRateLimiterRes(e,t,r){const n=new i,o=r.rows[0];return n.isFirstInDuration=t===o.points,n.consumedPoints=n.isFirstInDuration?t:o.points,n.remainingPoints=Math.max(this.points-n.consumedPoints,0),n.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,n}_query(e){const t=this.tableName.toLowerCase(),r={name:"".concat(t,":").concat(e.name),text:e.text,values:e.values};return new Promise(((e,t)=>{this._getConnection().then((n=>{n.query(r).then((t=>{e(t),this._releaseConnection(n)})).catch((e=>{t(e),this._releaseConnection(n)}))})).catch((e=>{t(e)}))}))}_upsert(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));const i=r>0?Date.now()+r:null,o=n?" $3 ":" CASE\n WHEN ".concat(this.tableName,".expire <= $4 THEN $3\n ELSE ").concat(this.tableName,".expire\n END ");return this._query({name:n?"rlflx-upsert-force":"rlflx-upsert",text:"\n INSERT INTO ".concat(this.tableName," VALUES ($1, $2, $3)\n ON CONFLICT(key) DO UPDATE SET\n points = CASE\n WHEN (").concat(this.tableName,".expire <= $4 OR 1=").concat(n?1:0,") THEN $2\n ELSE ").concat(this.tableName,".points + ($2)\n END,\n expire = ").concat(o,"\n RETURNING points, expire;"),values:[e,t,i,Date.now()]})}_get(e){return this.tableCreated?new Promise(((t,r)=>{this._query({name:"rlflx-get",text:"\n SELECT points, expire FROM ".concat(this.tableName," WHERE key = $1 AND (expire > $2 OR expire IS NULL);"),values:[e,Date.now()]}).then((e=>{0===e.rowCount&&(e=null),t(e)})).catch((e=>{r(e)}))})):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:"DELETE FROM ".concat(this.tableName," WHERE key = $1"),values:[e]}).then((e=>e.rowCount>0)):Promise.reject(Error("Table is not created yet"))}}},7497:(e,t,r)=>{const n=r(3964),i=4294967295,o="limiter";e.exports=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{maxQueueSize:i};this._queueLimiters={KEY_DEFAULT:new s(e,t)},this._limiterFlexible=e,this._maxQueueSize=t.maxQueueSize}getTokensRemaining(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o;return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o;return this._queueLimiters[t]||(this._queueLimiters[t]=new s(this._limiterFlexible,{key:t,maxQueueSize:this._maxQueueSize})),this._queueLimiters[t].removeTokens(e)}};class s{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{maxQueueSize:i,key:o};this._key=t.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=t.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then((e=>null!==e?e.remainingPoints:this._limiterFlexible.points))}removeTokens(e){const t=this;return new Promise(((r,i)=>{e>t._limiterFlexible.points?i(new n("Requested tokens ".concat(e," exceeds maximum ").concat(t._limiterFlexible.points," tokens per interval"))):t._queue.length>0?t._queueRequest.call(t,r,i,e):t._limiterFlexible.consume(t._key,e).then((e=>{r(e.remainingPoints)})).catch((n=>{n instanceof Error?i(n):(t._queueRequest.call(t,r,i,e),null===t._waitTimeout&&(t._waitTimeout=setTimeout(t._processFIFO.bind(t),n.msBeforeNext)))}))}))}_queueRequest(e,t,r){const i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:t,tokens:r}):t(new n("Number of requests reached it's maximum ".concat(i._maxQueueSize)))}_processFIFO(){const e=this;if(null!==e._waitTimeout&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),0===e._queue.length)return;const t=e._queue.shift();e._limiterFlexible.consume(e._key,t.tokens).then((r=>{t.resolve(r.remainingPoints),e._processFIFO.call(e)})).catch((r=>{r instanceof Error?(t.reject(r),e._processFIFO.call(e)):(e._queue.unshift(t),null===e._waitTimeout&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),r.msBeforeNext)))}))}}},8059:(e,t,r)=>{const n=r(6053),i=r(2319),o="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ";e.exports=class extends n{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,"function"===typeof this.client.defineCommand&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:o})}_isRedisReady(){return!this._rejectIfRedisNotReady||(!this.client.status||"ready"===this.client.status)&&!("function"===typeof this.client.isReady&&!this.client.isReady())}_getRateLimiterRes(e,t,r){let[n,o]=r;Array.isArray(n)&&([,n]=n,[,o]=o);const s=new i;return s.consumedPoints=parseInt(n),s.isFirstInDuration=s.consumedPoints===t,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}_upsert(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return new Promise(((i,s)=>{if(!this._isRedisReady())return s(new Error("Redis connection is not ready"));const a=Math.floor(r/1e3),c=this.client.multi();if(n)a>0?c.set(e,t,"EX",a):c.set(e,t),c.pttl(e).exec(((e,t)=>e?s(e):i(t)));else if(a>0){const r=function(e,t){return e?s(e):i(t)};"function"===typeof this.client.rlflxIncr?this.client.rlflxIncr(e,t,a,r):this.client.eval(o,1,e,t,a,r)}else c.incrby(e,t).pttl(e).exec(((e,t)=>e?s(e):i(t)))}))}_get(e){return new Promise(((t,r)=>{if(!this._isRedisReady())return r(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec(((e,n)=>{if(e)r(e);else{const[e]=n;if(null===e)return t(null);t(n)}}))}))}_delete(e){return new Promise(((t,r)=>{this.client.del(e,((e,n)=>{e?r(e):t(n>0)}))}))}}},2319:e=>{e.exports=class{constructor(e,t,r,n){this.remainingPoints="undefined"===typeof e?0:e,this.msBeforeNext="undefined"===typeof t?0:t,this.consumedPoints="undefined"===typeof r?0:r,this.isFirstInDuration="undefined"!==typeof n&&n}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=Boolean(e)}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}},6053:(e,t,r)=>{const n=r(4698),i=r(6194),o=r(2319);e.exports=class extends n{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new i}get client(){return this._client}set client(e){if("undefined"===typeof e)throw new Error("storeClient is not set");this._client=e}_afterConsume(e,t,r,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};const s=this._getRateLimiterRes(r,n,i);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&s.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(r,s.msBeforeNext),s.consumedPoints>this.points?t(s):e(s);if(s.consumedPoints>this.points){let e=Promise.resolve();this.blockDuration>0&&s.consumedPoints<=this.points+n&&(s.msBeforeNext=this.msBlockDuration,e=this._block(r,s.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&s.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(r,this.inMemoryBlockDuration),s.msBeforeNext=this.msInMemoryBlockDuration),e.then((()=>{t(s)})).catch((e=>{t(e)}))}else if(this.execEvenly&&s.msBeforeNext>0&&!s.isFirstInDuration){let t=Math.ceil(s.msBeforeNext/(s.remainingPoints+2));t<this.execEvenlyMinDelayMs&&(t=s.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,t,s)}else e(s)}_handleError(e,t,r,i,o){let s=arguments.length>5&&void 0!==arguments[5]&&arguments[5],a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{};this.insuranceLimiter instanceof n?this.insuranceLimiter[t](o,s,a).then((e=>{r(e)})).catch((e=>{i(e)})):i(e)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return 1e3*this.inMemoryBlockDuration}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&0===this.inMemoryBlockOnConsumed)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return 1e3*this._inMemoryBlockDuration}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if("undefined"!==typeof e&&!(e instanceof n))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=1e3*t;return this._block(this.getKey(e),this.points+1,n,r)}set(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=1e3*(r>=0?r:this.duration);return this._block(this.getKey(e),t,i,n)}consume(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((n,i)=>{const s=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(s);if(a>0)return i(new o(0,a));this._upsert(s,t,1e3*this._getKeySecDuration(r),!1,r).then((e=>{this._afterConsume(n,i,s,t,e)})).catch((o=>{this._handleError(o,"consume",n,i,e,t,r)}))}))}penalty(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.getKey(e);return new Promise(((i,o)=>{this._upsert(n,t,1e3*this._getKeySecDuration(r),!1,r).then((e=>{i(this._getRateLimiterRes(n,t,e))})).catch((n=>{this._handleError(n,"penalty",i,o,e,t,r)}))}))}reward(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.getKey(e);return new Promise(((i,o)=>{this._upsert(n,-t,1e3*this._getKeySecDuration(r),!1,r).then((e=>{i(this._getRateLimiterRes(n,-t,e))})).catch((n=>{this._handleError(n,"reward",i,o,e,t,r)}))}))}get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=this.getKey(e);return new Promise(((n,i)=>{this._get(r,t).then((e=>{n(null===e||"undefined"===typeof e?null:this._getRateLimiterRes(r,0,e))})).catch((r=>{this._handleError(r,"get",n,i,e,t)}))}))}delete(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=this.getKey(e);return new Promise(((n,i)=>{this._delete(r,t).then((e=>{this._inMemoryBlockedKeys.delete(r),n(e)})).catch((r=>{this._handleError(r,"delete",n,i,e,t)}))}))}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,t,r){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return new Promise(((i,s)=>{this._upsert(e,t,r,!0,n).then((()=>{i(new o(0,r>0?r:-1,t))})).catch((t=>{this._handleError(t,"block",i,s,this.parseKey(e),r/1e3,n)}))}))}_get(e){throw new Error("You have to implement the method '_get'!")}_delete(e){throw new Error("You have to implement the method '_delete'!")}_upsert(e,t,r){throw new Error("You have to implement the method '_upsert'!")}}},9794:(e,t,r)=>{const n=r(4698);e.exports=class{constructor(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];if(t.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");t.forEach((e=>{if(!(e instanceof n))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")})),this._limiters=t}consume(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return new Promise(((r,n)=>{const i=[];this._limiters.forEach((r=>{i.push(r.consume(e,t).catch((e=>({rejected:!0,rej:e}))))})),Promise.all(i).then((e=>{const t={};let i=!1;e.forEach((e=>{!0===e.rejected&&(i=!0)}));for(let r=0;r<e.length;r++)i&&!0===e[r].rejected?t[this._limiters[r].keyPrefix]=e[r].rej:i||(t[this._limiters[r].keyPrefix]=e[r]);i?n(t):r(t)}))}))}}},7570:e=>{e.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){const e=Date.now();Object.keys(this._keys).forEach((t=>{this._keys[t]<=e&&delete this._keys[t]})),this._addedKeysAmount=Object.keys(this._keys).length}add(e,t){this.addMs(e,1e3*t)}addMs(e,t){this._keys[e]=Date.now()+t,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){const t=this._keys[e];if(t&&t>=Date.now()){this.collectExpired();const e=Date.now();return t>=e?t-e:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach((e=>{delete this._keys[e]}))}}},6194:(e,t,r)=>{const n=r(7570);e.exports=n},6375:(e,t,r)=>{const n=r(8381),i=r(2319);e.exports=class{constructor(){this._storage={}}incrby(e,t,r){if(this._storage[e]){const n=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-(new Date).getTime():-1;return 0!==n?(this._storage[e].value=this._storage[e].value+t,new i(0,n,this._storage[e].value,!1)):this.set(e,t,r)}return this.set(e,t,r)}set(e,t,r){const o=1e3*r;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new n(t,o>0?new Date(Date.now()+o):null),o>0&&(this._storage[e].timeoutId=setTimeout((()=>{delete this._storage[e]}),o),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new i(0,0===o?-1:o,this._storage[e].value,!0)}get(e){if(this._storage[e]){const t=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-(new Date).getTime():-1;return new i(0,t,this._storage[e].value,!1)}return null}delete(e){return!!this._storage[e]&&(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0)}}},8381:e=>{e.exports=class{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;this.value=e,this.expiresAt=t,this.timeoutId=r}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){e instanceof Date||!Number.isInteger(e)||(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}},3964:e=>{e.exports=class extends Error{constructor(e,t){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,t&&(this.extra=t)}}},534:(e,t,r)=>{"use strict";var n=r(7313),i=r(2224);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var s=new Set,a={};function c(e,t){l(e,t),l(e+"Capture",t)}function l(e,t){for(a[e]=t,e=0;e<t.length;e++)s.add(t[e])}var u=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),h=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},f={};function g(e,t,r,n,i,o,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=n,this.attributeNamespace=i,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var y={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){y[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];y[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){y[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){y[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){y[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){y[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){y[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){y[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){y[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var m=/[\-:]([a-z])/g;function v(e){return e[1].toUpperCase()}function b(e,t,r,n){var i=y.hasOwnProperty(t)?y[t]:null;(null!==i?0!==i.type:n||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,r,n){if(null===t||"undefined"===typeof t||function(e,t,r,n){if(null!==r&&0===r.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!n&&(null!==r?!r.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,r,n))return!0;if(n)return!1;if(null!==r)switch(r.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,r,i,n)&&(r=null),n||null===i?function(e){return!!h.call(f,e)||!h.call(p,e)&&(d.test(e)?f[e]=!0:(p[e]=!0,!1))}(t)&&(null===r?e.removeAttribute(t):e.setAttribute(t,""+r)):i.mustUseProperty?e[i.propertyName]=null===r?3!==i.type&&"":r:(t=i.attributeName,n=i.attributeNamespace,null===r?e.removeAttribute(t):(r=3===(i=i.type)||4===i&&!0===r?"":""+r,n?e.setAttributeNS(n,t,r):e.setAttribute(t,r))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(m,v);y[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(m,v);y[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(m,v);y[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){y[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),y.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){y[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,E=Symbol.for("react.element"),_=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),A=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),I=Symbol.for("react.provider"),T=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),R=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),D=Symbol.for("react.memo"),N=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var L=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var x=Symbol.iterator;function O(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=x&&e[x]||e["@@iterator"])?e:null}var B,M=Object.assign;function U(e){if(void 0===B)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);B=t&&t[1]||""}return"\n"+B+e}var F=!1;function V(e,t){if(!e||F)return"";F=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(l){var n=l}Reflect.construct(e,[],t)}else{try{t.call()}catch(l){n=l}e.call(t.prototype)}else{try{throw Error()}catch(l){n=l}e()}}catch(l){if(l&&n&&"string"===typeof l.stack){for(var i=l.stack.split("\n"),o=n.stack.split("\n"),s=i.length-1,a=o.length-1;1<=s&&0<=a&&i[s]!==o[a];)a--;for(;1<=s&&0<=a;s--,a--)if(i[s]!==o[a]){if(1!==s||1!==a)do{if(s--,0>--a||i[s]!==o[a]){var c="\n"+i[s].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}}while(1<=s&&0<=a);break}}}finally{F=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?U(e):""}function j(e){switch(e.tag){case 5:return U(e.type);case 16:return U("Lazy");case 13:return U("Suspense");case 19:return U("SuspenseList");case 0:case 2:case 15:return e=V(e.type,!1);case 11:return e=V(e.type.render,!1);case 1:return e=V(e.type,!0);default:return""}}function z(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case S:return"Fragment";case _:return"Portal";case C:return"Profiler";case A:return"StrictMode";case R:return"Suspense";case P:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case T:return(e.displayName||"Context")+".Consumer";case I:return(e._context.displayName||"Context")+".Provider";case k:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case D:return null!==(t=e.displayName||null)?t:z(e.type)||"Memo";case N:t=e._payload,e=e._init;try{return z(e(t))}catch(r){}}return null}function K(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return z(t);case 8:return t===A?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"===typeof t)return t.displayName||t.name||null;if("string"===typeof t)return t}return null}function q(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function H(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function G(e){e._valueTracker||(e._valueTracker=function(e){var t=H(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof r&&"function"===typeof r.get&&"function"===typeof r.set){var i=r.get,o=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function W(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=H(e)?e.checked?"true":"false":e.value),(e=n)!==r&&(t.setValue(e),!0)}function Q(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Y(e,t){var r=t.checked;return M({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=r?r:e._wrapperState.initialChecked})}function X(e,t){var r=null==t.defaultValue?"":t.defaultValue,n=null!=t.checked?t.checked:t.defaultChecked;r=q(null!=t.value?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function J(e,t){null!=(t=t.checked)&&b(e,"checked",t,!1)}function $(e,t){J(e,t);var r=q(t.value),n=t.type;if(null!=r)"number"===n?(0===r&&""===e.value||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if("submit"===n||"reset"===n)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,r):t.hasOwnProperty("defaultValue")&&ee(e,t.type,q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Z(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!("submit"!==n&&"reset"!==n||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}""!==(r=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==r&&(e.name=r)}function ee(e,t,r){"number"===t&&Q(e.ownerDocument)===e||(null==r?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var te=Array.isArray;function re(e,t,r,n){if(e=e.options,t){t={};for(var i=0;i<r.length;i++)t["$"+r[i]]=!0;for(r=0;r<e.length;r++)i=t.hasOwnProperty("$"+e[r].value),e[r].selected!==i&&(e[r].selected=i),i&&n&&(e[r].defaultSelected=!0)}else{for(r=""+q(r),t=null,i=0;i<e.length;i++){if(e[i].value===r)return e[i].selected=!0,void(n&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function ne(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return M({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ie(e,t){var r=t.value;if(null==r){if(r=t.children,t=t.defaultValue,null!=r){if(null!=t)throw Error(o(92));if(te(r)){if(1<r.length)throw Error(o(93));r=r[0]}t=r}null==t&&(t=""),r=t}e._wrapperState={initialValue:q(r)}}function oe(e,t){var r=q(t.value),n=q(t.defaultValue);null!=r&&((r=""+r)!==e.value&&(e.value=r),null==t.defaultValue&&e.defaultValue!==r&&(e.defaultValue=r)),null!=n&&(e.defaultValue=""+n)}function se(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function ae(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ce(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?ae(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var le,ue,he=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((le=le||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=le.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,r,n){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function de(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&3===r.nodeType)return void(r.nodeValue=t)}e.textContent=t}var pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},fe=["Webkit","ms","Moz","O"];function ge(e,t,r){return null==t||"boolean"===typeof t||""===t?"":r||"number"!==typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function ye(e,t){for(var r in e=e.style,t)if(t.hasOwnProperty(r)){var n=0===r.indexOf("--"),i=ge(r,t[r],n);"float"===r&&(r="cssFloat"),n?e.setProperty(r,i):e[r]=i}}Object.keys(pe).forEach((function(e){fe.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]}))}));var me=M({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ve(e,t){if(t){if(me[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(o(62))}}function be(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function Ee(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var _e=null,Se=null,Ae=null;function Ce(e){if(e=bi(e)){if("function"!==typeof _e)throw Error(o(280));var t=e.stateNode;t&&(t=Ei(t),_e(e.stateNode,e.type,t))}}function Ie(e){Se?Ae?Ae.push(e):Ae=[e]:Se=e}function Te(){if(Se){var e=Se,t=Ae;if(Ae=Se=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function ke(e,t){return e(t)}function Re(){}var Pe=!1;function De(e,t,r){if(Pe)return e(t,r);Pe=!0;try{return ke(e,t,r)}finally{Pe=!1,(null!==Se||null!==Ae)&&(Re(),Te())}}function Ne(e,t){var r=e.stateNode;if(null===r)return null;var n=Ei(r);if(null===n)return null;r=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(n=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!n;break e;default:e=!1}if(e)return null;if(r&&"function"!==typeof r)throw Error(o(231,t,typeof r));return r}var Le=!1;if(u)try{var xe={};Object.defineProperty(xe,"passive",{get:function(){Le=!0}}),window.addEventListener("test",xe,xe),window.removeEventListener("test",xe,xe)}catch(ue){Le=!1}function Oe(e,t,r,n,i,o,s,a,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(r,l)}catch(u){this.onError(u)}}var Be=!1,Me=null,Ue=!1,Fe=null,Ve={onError:function(e){Be=!0,Me=e}};function je(e,t,r,n,i,o,s,a,c){Be=!1,Me=null,Oe.apply(Ve,arguments)}function ze(e){var t=e,r=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(4098&(t=e).flags)&&(r=t.return),e=t.return}while(e)}return 3===t.tag?r:null}function Ke(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function qe(e){if(ze(e)!==e)throw Error(o(188))}function He(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=ze(e)))throw Error(o(188));return t!==e?null:e}for(var r=e,n=t;;){var i=r.return;if(null===i)break;var s=i.alternate;if(null===s){if(null!==(n=i.return)){r=n;continue}break}if(i.child===s.child){for(s=i.child;s;){if(s===r)return qe(i),e;if(s===n)return qe(i),t;s=s.sibling}throw Error(o(188))}if(r.return!==n.return)r=i,n=s;else{for(var a=!1,c=i.child;c;){if(c===r){a=!0,r=i,n=s;break}if(c===n){a=!0,n=i,r=s;break}c=c.sibling}if(!a){for(c=s.child;c;){if(c===r){a=!0,r=s,n=i;break}if(c===n){a=!0,n=s,r=i;break}c=c.sibling}if(!a)throw Error(o(189))}}if(r.alternate!==n)throw Error(o(190))}if(3!==r.tag)throw Error(o(188));return r.stateNode.current===r?e:t}(e))?Ge(e):null}function Ge(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ge(e);if(null!==t)return t;e=e.sibling}return null}var We=i.unstable_scheduleCallback,Qe=i.unstable_cancelCallback,Ye=i.unstable_shouldYield,Xe=i.unstable_requestPaint,Je=i.unstable_now,$e=i.unstable_getCurrentPriorityLevel,Ze=i.unstable_ImmediatePriority,et=i.unstable_UserBlockingPriority,tt=i.unstable_NormalPriority,rt=i.unstable_LowPriority,nt=i.unstable_IdlePriority,it=null,ot=null;var st=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(at(e)/ct|0)|0},at=Math.log,ct=Math.LN2;var lt=64,ut=4194304;function ht(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function dt(e,t){var r=e.pendingLanes;if(0===r)return 0;var n=0,i=e.suspendedLanes,o=e.pingedLanes,s=268435455&r;if(0!==s){var a=s&~i;0!==a?n=ht(a):0!==(o&=s)&&(n=ht(o))}else 0!==(s=r&~i)?n=ht(s):0!==o&&(n=ht(o));if(0===n)return 0;if(0!==t&&t!==n&&0===(t&i)&&((i=n&-n)>=(o=t&-t)||16===i&&0!==(4194240&o)))return t;if(0!==(4&n)&&(n|=16&r),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=n;0<t;)i=1<<(r=31-st(t)),n|=e[r],t&=~i;return n}function pt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function ft(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function gt(){var e=lt;return 0===(4194240&(lt<<=1))&&(lt=64),e}function yt(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function mt(e,t,r){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-st(t)]=r}function vt(e,t){var r=e.entangledLanes|=t;for(e=e.entanglements;r;){var n=31-st(r),i=1<<n;i&t|e[n]&t&&(e[n]|=t),r&=~i}}var bt=0;function wt(e){return 1<(e&=-e)?4<e?0!==(268435455&e)?16:536870912:4:1}var Et,_t,St,At,Ct,It=!1,Tt=[],kt=null,Rt=null,Pt=null,Dt=new Map,Nt=new Map,Lt=[],xt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Ot(e,t){switch(e){case"focusin":case"focusout":kt=null;break;case"dragenter":case"dragleave":Rt=null;break;case"mouseover":case"mouseout":Pt=null;break;case"pointerover":case"pointerout":Dt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Nt.delete(t.pointerId)}}function Bt(e,t,r,n,i,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:r,eventSystemFlags:n,nativeEvent:o,targetContainers:[i]},null!==t&&(null!==(t=bi(t))&&_t(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,null!==i&&-1===t.indexOf(i)&&t.push(i),e)}function Mt(e){var t=vi(e.target);if(null!==t){var r=ze(t);if(null!==r)if(13===(t=r.tag)){if(null!==(t=Ke(r)))return e.blockedOn=t,void Ct(e.priority,(function(){St(r)}))}else if(3===t&&r.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===r.tag?r.stateNode.containerInfo:null)}e.blockedOn=null}function Ut(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var r=Yt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==r)return null!==(t=bi(r))&&_t(t),e.blockedOn=r,!1;var n=new(r=e.nativeEvent).constructor(r.type,r);we=n,r.target.dispatchEvent(n),we=null,t.shift()}return!0}function Ft(e,t,r){Ut(e)&&r.delete(t)}function Vt(){It=!1,null!==kt&&Ut(kt)&&(kt=null),null!==Rt&&Ut(Rt)&&(Rt=null),null!==Pt&&Ut(Pt)&&(Pt=null),Dt.forEach(Ft),Nt.forEach(Ft)}function jt(e,t){e.blockedOn===t&&(e.blockedOn=null,It||(It=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,Vt)))}function zt(e){function t(t){return jt(t,e)}if(0<Tt.length){jt(Tt[0],e);for(var r=1;r<Tt.length;r++){var n=Tt[r];n.blockedOn===e&&(n.blockedOn=null)}}for(null!==kt&&jt(kt,e),null!==Rt&&jt(Rt,e),null!==Pt&&jt(Pt,e),Dt.forEach(t),Nt.forEach(t),r=0;r<Lt.length;r++)(n=Lt[r]).blockedOn===e&&(n.blockedOn=null);for(;0<Lt.length&&null===(r=Lt[0]).blockedOn;)Mt(r),null===r.blockedOn&&Lt.shift()}var Kt=w.ReactCurrentBatchConfig,qt=!0;function Ht(e,t,r,n){var i=bt,o=Kt.transition;Kt.transition=null;try{bt=1,Wt(e,t,r,n)}finally{bt=i,Kt.transition=o}}function Gt(e,t,r,n){var i=bt,o=Kt.transition;Kt.transition=null;try{bt=4,Wt(e,t,r,n)}finally{bt=i,Kt.transition=o}}function Wt(e,t,r,n){if(qt){var i=Yt(e,t,r,n);if(null===i)qn(e,t,n,Qt,r),Ot(e,n);else if(function(e,t,r,n,i){switch(t){case"focusin":return kt=Bt(kt,e,t,r,n,i),!0;case"dragenter":return Rt=Bt(Rt,e,t,r,n,i),!0;case"mouseover":return Pt=Bt(Pt,e,t,r,n,i),!0;case"pointerover":var o=i.pointerId;return Dt.set(o,Bt(Dt.get(o)||null,e,t,r,n,i)),!0;case"gotpointercapture":return o=i.pointerId,Nt.set(o,Bt(Nt.get(o)||null,e,t,r,n,i)),!0}return!1}(i,e,t,r,n))n.stopPropagation();else if(Ot(e,n),4&t&&-1<xt.indexOf(e)){for(;null!==i;){var o=bi(i);if(null!==o&&Et(o),null===(o=Yt(e,t,r,n))&&qn(e,t,n,Qt,r),o===i)break;i=o}null!==i&&n.stopPropagation()}else qn(e,t,n,null,r)}}var Qt=null;function Yt(e,t,r,n){if(Qt=null,null!==(e=vi(e=Ee(n))))if(null===(t=ze(e)))e=null;else if(13===(r=t.tag)){if(null!==(e=Ke(t)))return e;e=null}else if(3===r){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Qt=e,null}function Xt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch($e()){case Ze:return 1;case et:return 4;case tt:case rt:return 16;case nt:return 536870912;default:return 16}default:return 16}}var Jt=null,$t=null,Zt=null;function er(){if(Zt)return Zt;var e,t,r=$t,n=r.length,i="value"in Jt?Jt.value:Jt.textContent,o=i.length;for(e=0;e<n&&r[e]===i[e];e++);var s=n-e;for(t=1;t<=s&&r[n-t]===i[o-t];t++);return Zt=i.slice(e,1<t?1-t:void 0)}function tr(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function rr(){return!0}function nr(){return!1}function ir(e){function t(t,r,n,i,o){for(var s in this._reactName=t,this._targetInst=n,this.type=r,this.nativeEvent=i,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(i):i[s]);return this.isDefaultPrevented=(null!=i.defaultPrevented?i.defaultPrevented:!1===i.returnValue)?rr:nr,this.isPropagationStopped=nr,this}return M(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=rr)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=rr)},persist:function(){},isPersistent:rr}),t}var or,sr,ar,cr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},lr=ir(cr),ur=M({},cr,{view:0,detail:0}),hr=ir(ur),dr=M({},ur,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ar,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ar&&(ar&&"mousemove"===e.type?(or=e.screenX-ar.screenX,sr=e.screenY-ar.screenY):sr=or=0,ar=e),or)},movementY:function(e){return"movementY"in e?e.movementY:sr}}),pr=ir(dr),fr=ir(M({},dr,{dataTransfer:0})),gr=ir(M({},ur,{relatedTarget:0})),yr=ir(M({},cr,{animationName:0,elapsedTime:0,pseudoElement:0})),mr=M({},cr,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vr=ir(mr),br=ir(M({},cr,{data:0})),wr={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Er={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_r={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Sr(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_r[e])&&!!t[e]}function Ar(){return Sr}var Cr=M({},ur,{key:function(e){if(e.key){var t=wr[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tr(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Er[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ar,charCode:function(e){return"keypress"===e.type?tr(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tr(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Ir=ir(Cr),Tr=ir(M({},dr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),kr=ir(M({},ur,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ar})),Rr=ir(M({},cr,{propertyName:0,elapsedTime:0,pseudoElement:0})),Pr=M({},dr,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Dr=ir(Pr),Nr=[9,13,27,32],Lr=u&&"CompositionEvent"in window,xr=null;u&&"documentMode"in document&&(xr=document.documentMode);var Or=u&&"TextEvent"in window&&!xr,Br=u&&(!Lr||xr&&8<xr&&11>=xr),Mr=String.fromCharCode(32),Ur=!1;function Fr(e,t){switch(e){case"keyup":return-1!==Nr.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Vr(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var jr=!1;var zr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Kr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!zr[e.type]:"textarea"===t}function qr(e,t,r,n){Ie(n),0<(t=Gn(t,"onChange")).length&&(r=new lr("onChange","change",null,r,n),e.push({event:r,listeners:t}))}var Hr=null,Gr=null;function Wr(e){Un(e,0)}function Qr(e){if(W(wi(e)))return e}function Yr(e,t){if("change"===e)return t}var Xr=!1;if(u){var Jr;if(u){var $r="oninput"in document;if(!$r){var Zr=document.createElement("div");Zr.setAttribute("oninput","return;"),$r="function"===typeof Zr.oninput}Jr=$r}else Jr=!1;Xr=Jr&&(!document.documentMode||9<document.documentMode)}function en(){Hr&&(Hr.detachEvent("onpropertychange",tn),Gr=Hr=null)}function tn(e){if("value"===e.propertyName&&Qr(Gr)){var t=[];qr(t,Gr,e,Ee(e)),De(Wr,t)}}function rn(e,t,r){"focusin"===e?(en(),Gr=r,(Hr=t).attachEvent("onpropertychange",tn)):"focusout"===e&&en()}function nn(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qr(Gr)}function on(e,t){if("click"===e)return Qr(t)}function sn(e,t){if("input"===e||"change"===e)return Qr(t)}var an="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t};function cn(e,t){if(an(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(n=0;n<r.length;n++){var i=r[n];if(!h.call(t,i)||!an(e[i],t[i]))return!1}return!0}function ln(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function un(e,t){var r,n=ln(e);for(e=0;n;){if(3===n.nodeType){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ln(n)}}function hn(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?hn(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function dn(){for(var e=window,t=Q();t instanceof e.HTMLIFrameElement;){try{var r="string"===typeof t.contentWindow.location.href}catch(n){r=!1}if(!r)break;t=Q((e=t.contentWindow).document)}return t}function pn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function fn(e){var t=dn(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&hn(r.ownerDocument.documentElement,r)){if(null!==n&&pn(r))if(t=n.start,void 0===(e=n.end)&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if((e=(t=r.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var i=r.textContent.length,o=Math.min(n.start,i);n=void 0===n.end?o:Math.min(n.end,i),!e.extend&&o>n&&(i=n,n=o,o=i),i=un(r,o);var s=un(r,n);i&&s&&(1!==e.rangeCount||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&((t=t.createRange()).setStart(i.node,i.offset),e.removeAllRanges(),o>n?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}for(t=[],e=r;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"===typeof r.focus&&r.focus(),r=0;r<t.length;r++)(e=t[r]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gn=u&&"documentMode"in document&&11>=document.documentMode,yn=null,mn=null,vn=null,bn=!1;function wn(e,t,r){var n=r.window===r?r.document:9===r.nodeType?r:r.ownerDocument;bn||null==yn||yn!==Q(n)||("selectionStart"in(n=yn)&&pn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},vn&&cn(vn,n)||(vn=n,0<(n=Gn(mn,"onSelect")).length&&(t=new lr("onSelect","select",null,t,r),e.push({event:t,listeners:n}),t.target=yn)))}function En(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r}var _n={animationend:En("Animation","AnimationEnd"),animationiteration:En("Animation","AnimationIteration"),animationstart:En("Animation","AnimationStart"),transitionend:En("Transition","TransitionEnd")},Sn={},An={};function Cn(e){if(Sn[e])return Sn[e];if(!_n[e])return e;var t,r=_n[e];for(t in r)if(r.hasOwnProperty(t)&&t in An)return Sn[e]=r[t];return e}u&&(An=document.createElement("div").style,"AnimationEvent"in window||(delete _n.animationend.animation,delete _n.animationiteration.animation,delete _n.animationstart.animation),"TransitionEvent"in window||delete _n.transitionend.transition);var In=Cn("animationend"),Tn=Cn("animationiteration"),kn=Cn("animationstart"),Rn=Cn("transitionend"),Pn=new Map,Dn="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Nn(e,t){Pn.set(e,t),c(t,[e])}for(var Ln=0;Ln<Dn.length;Ln++){var xn=Dn[Ln];Nn(xn.toLowerCase(),"on"+(xn[0].toUpperCase()+xn.slice(1)))}Nn(In,"onAnimationEnd"),Nn(Tn,"onAnimationIteration"),Nn(kn,"onAnimationStart"),Nn("dblclick","onDoubleClick"),Nn("focusin","onFocus"),Nn("focusout","onBlur"),Nn(Rn,"onTransitionEnd"),l("onMouseEnter",["mouseout","mouseover"]),l("onMouseLeave",["mouseout","mouseover"]),l("onPointerEnter",["pointerout","pointerover"]),l("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var On="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Bn=new Set("cancel close invalid load scroll toggle".split(" ").concat(On));function Mn(e,t,r){var n=e.type||"unknown-event";e.currentTarget=r,function(e,t,r,n,i,s,a,c,l){if(je.apply(this,arguments),Be){if(!Be)throw Error(o(198));var u=Me;Be=!1,Me=null,Ue||(Ue=!0,Fe=u)}}(n,t,void 0,e),e.currentTarget=null}function Un(e,t){t=0!==(4&t);for(var r=0;r<e.length;r++){var n=e[r],i=n.event;n=n.listeners;e:{var o=void 0;if(t)for(var s=n.length-1;0<=s;s--){var a=n[s],c=a.instance,l=a.currentTarget;if(a=a.listener,c!==o&&i.isPropagationStopped())break e;Mn(i,a,l),o=c}else for(s=0;s<n.length;s++){if(c=(a=n[s]).instance,l=a.currentTarget,a=a.listener,c!==o&&i.isPropagationStopped())break e;Mn(i,a,l),o=c}}}if(Ue)throw e=Fe,Ue=!1,Fe=null,e}function Fn(e,t){var r=t[gi];void 0===r&&(r=t[gi]=new Set);var n=e+"__bubble";r.has(n)||(Kn(t,e,2,!1),r.add(n))}function Vn(e,t,r){var n=0;t&&(n|=4),Kn(r,e,n,t)}var jn="_reactListening"+Math.random().toString(36).slice(2);function zn(e){if(!e[jn]){e[jn]=!0,s.forEach((function(t){"selectionchange"!==t&&(Bn.has(t)||Vn(t,!1,e),Vn(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[jn]||(t[jn]=!0,Vn("selectionchange",!1,t))}}function Kn(e,t,r,n){switch(Xt(t)){case 1:var i=Ht;break;case 4:i=Gt;break;default:i=Wt}r=i.bind(null,t,r,e),i=void 0,!Le||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(i=!0),n?void 0!==i?e.addEventListener(t,r,{capture:!0,passive:i}):e.addEventListener(t,r,!0):void 0!==i?e.addEventListener(t,r,{passive:i}):e.addEventListener(t,r,!1)}function qn(e,t,r,n,i){var o=n;if(0===(1&t)&&0===(2&t)&&null!==n)e:for(;;){if(null===n)return;var s=n.tag;if(3===s||4===s){var a=n.stateNode.containerInfo;if(a===i||8===a.nodeType&&a.parentNode===i)break;if(4===s)for(s=n.return;null!==s;){var c=s.tag;if((3===c||4===c)&&((c=s.stateNode.containerInfo)===i||8===c.nodeType&&c.parentNode===i))return;s=s.return}for(;null!==a;){if(null===(s=vi(a)))return;if(5===(c=s.tag)||6===c){n=o=s;continue e}a=a.parentNode}}n=n.return}De((function(){var n=o,i=Ee(r),s=[];e:{var a=Pn.get(e);if(void 0!==a){var c=lr,l=e;switch(e){case"keypress":if(0===tr(r))break e;case"keydown":case"keyup":c=Ir;break;case"focusin":l="focus",c=gr;break;case"focusout":l="blur",c=gr;break;case"beforeblur":case"afterblur":c=gr;break;case"click":if(2===r.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":c=pr;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":c=fr;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":c=kr;break;case In:case Tn:case kn:c=yr;break;case Rn:c=Rr;break;case"scroll":c=hr;break;case"wheel":c=Dr;break;case"copy":case"cut":case"paste":c=vr;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":c=Tr}var u=0!==(4&t),h=!u&&"scroll"===e,d=u?null!==a?a+"Capture":null:a;u=[];for(var p,f=n;null!==f;){var g=(p=f).stateNode;if(5===p.tag&&null!==g&&(p=g,null!==d&&(null!=(g=Ne(f,d))&&u.push(Hn(f,g,p)))),h)break;f=f.return}0<u.length&&(a=new c(a,l,null,r,i),s.push({event:a,listeners:u}))}}if(0===(7&t)){if(c="mouseout"===e||"pointerout"===e,(!(a="mouseover"===e||"pointerover"===e)||r===we||!(l=r.relatedTarget||r.fromElement)||!vi(l)&&!l[fi])&&(c||a)&&(a=i.window===i?i:(a=i.ownerDocument)?a.defaultView||a.parentWindow:window,c?(c=n,null!==(l=(l=r.relatedTarget||r.toElement)?vi(l):null)&&(l!==(h=ze(l))||5!==l.tag&&6!==l.tag)&&(l=null)):(c=null,l=n),c!==l)){if(u=pr,g="onMouseLeave",d="onMouseEnter",f="mouse","pointerout"!==e&&"pointerover"!==e||(u=Tr,g="onPointerLeave",d="onPointerEnter",f="pointer"),h=null==c?a:wi(c),p=null==l?a:wi(l),(a=new u(g,f+"leave",c,r,i)).target=h,a.relatedTarget=p,g=null,vi(i)===n&&((u=new u(d,f+"enter",l,r,i)).target=p,u.relatedTarget=h,g=u),h=g,c&&l)e:{for(d=l,f=0,p=u=c;p;p=Wn(p))f++;for(p=0,g=d;g;g=Wn(g))p++;for(;0<f-p;)u=Wn(u),f--;for(;0<p-f;)d=Wn(d),p--;for(;f--;){if(u===d||null!==d&&u===d.alternate)break e;u=Wn(u),d=Wn(d)}u=null}else u=null;null!==c&&Qn(s,a,c,u,!1),null!==l&&null!==h&&Qn(s,h,l,u,!0)}if("select"===(c=(a=n?wi(n):window).nodeName&&a.nodeName.toLowerCase())||"input"===c&&"file"===a.type)var y=Yr;else if(Kr(a))if(Xr)y=sn;else{y=nn;var m=rn}else(c=a.nodeName)&&"input"===c.toLowerCase()&&("checkbox"===a.type||"radio"===a.type)&&(y=on);switch(y&&(y=y(e,n))?qr(s,y,r,i):(m&&m(e,a,n),"focusout"===e&&(m=a._wrapperState)&&m.controlled&&"number"===a.type&&ee(a,"number",a.value)),m=n?wi(n):window,e){case"focusin":(Kr(m)||"true"===m.contentEditable)&&(yn=m,mn=n,vn=null);break;case"focusout":vn=mn=yn=null;break;case"mousedown":bn=!0;break;case"contextmenu":case"mouseup":case"dragend":bn=!1,wn(s,r,i);break;case"selectionchange":if(gn)break;case"keydown":case"keyup":wn(s,r,i)}var v;if(Lr)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else jr?Fr(e,r)&&(b="onCompositionEnd"):"keydown"===e&&229===r.keyCode&&(b="onCompositionStart");b&&(Br&&"ko"!==r.locale&&(jr||"onCompositionStart"!==b?"onCompositionEnd"===b&&jr&&(v=er()):($t="value"in(Jt=i)?Jt.value:Jt.textContent,jr=!0)),0<(m=Gn(n,b)).length&&(b=new br(b,e,null,r,i),s.push({event:b,listeners:m}),v?b.data=v:null!==(v=Vr(r))&&(b.data=v))),(v=Or?function(e,t){switch(e){case"compositionend":return Vr(t);case"keypress":return 32!==t.which?null:(Ur=!0,Mr);case"textInput":return(e=t.data)===Mr&&Ur?null:e;default:return null}}(e,r):function(e,t){if(jr)return"compositionend"===e||!Lr&&Fr(e,t)?(e=er(),Zt=$t=Jt=null,jr=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Br&&"ko"!==t.locale?null:t.data}}(e,r))&&(0<(n=Gn(n,"onBeforeInput")).length&&(i=new br("onBeforeInput","beforeinput",null,r,i),s.push({event:i,listeners:n}),i.data=v))}Un(s,t)}))}function Hn(e,t,r){return{instance:e,listener:t,currentTarget:r}}function Gn(e,t){for(var r=t+"Capture",n=[];null!==e;){var i=e,o=i.stateNode;5===i.tag&&null!==o&&(i=o,null!=(o=Ne(e,r))&&n.unshift(Hn(e,o,i)),null!=(o=Ne(e,t))&&n.push(Hn(e,o,i))),e=e.return}return n}function Wn(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Qn(e,t,r,n,i){for(var o=t._reactName,s=[];null!==r&&r!==n;){var a=r,c=a.alternate,l=a.stateNode;if(null!==c&&c===n)break;5===a.tag&&null!==l&&(a=l,i?null!=(c=Ne(r,o))&&s.unshift(Hn(r,c,a)):i||null!=(c=Ne(r,o))&&s.push(Hn(r,c,a))),r=r.return}0!==s.length&&e.push({event:t,listeners:s})}var Yn=/\r\n?/g,Xn=/\u0000|\uFFFD/g;function Jn(e){return("string"===typeof e?e:""+e).replace(Yn,"\n").replace(Xn,"")}function $n(e,t,r){if(t=Jn(t),Jn(e)!==t&&r)throw Error(o(425))}function Zn(){}var ei=null,ti=null;function ri(e,t){return"textarea"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ni="function"===typeof setTimeout?setTimeout:void 0,ii="function"===typeof clearTimeout?clearTimeout:void 0,oi="function"===typeof Promise?Promise:void 0,si="function"===typeof queueMicrotask?queueMicrotask:"undefined"!==typeof oi?function(e){return oi.resolve(null).then(e).catch(ai)}:ni;function ai(e){setTimeout((function(){throw e}))}function ci(e,t){var r=t,n=0;do{var i=r.nextSibling;if(e.removeChild(r),i&&8===i.nodeType)if("/$"===(r=i.data)){if(0===n)return e.removeChild(i),void zt(t);n--}else"$"!==r&&"$?"!==r&&"$!"!==r||n++;r=i}while(r);zt(t)}function li(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ui(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var r=e.data;if("$"===r||"$!"===r||"$?"===r){if(0===t)return e;t--}else"/$"===r&&t++}e=e.previousSibling}return null}var hi=Math.random().toString(36).slice(2),di="__reactFiber$"+hi,pi="__reactProps$"+hi,fi="__reactContainer$"+hi,gi="__reactEvents$"+hi,yi="__reactListeners$"+hi,mi="__reactHandles$"+hi;function vi(e){var t=e[di];if(t)return t;for(var r=e.parentNode;r;){if(t=r[fi]||r[di]){if(r=t.alternate,null!==t.child||null!==r&&null!==r.child)for(e=ui(e);null!==e;){if(r=e[di])return r;e=ui(e)}return t}r=(e=r).parentNode}return null}function bi(e){return!(e=e[di]||e[fi])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wi(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function Ei(e){return e[pi]||null}var _i=[],Si=-1;function Ai(e){return{current:e}}function Ci(e){0>Si||(e.current=_i[Si],_i[Si]=null,Si--)}function Ii(e,t){Si++,_i[Si]=e.current,e.current=t}var Ti={},ki=Ai(Ti),Ri=Ai(!1),Pi=Ti;function Di(e,t){var r=e.type.contextTypes;if(!r)return Ti;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var i,o={};for(i in r)o[i]=t[i];return n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ni(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Li(){Ci(Ri),Ci(ki)}function xi(e,t,r){if(ki.current!==Ti)throw Error(o(168));Ii(ki,t),Ii(Ri,r)}function Oi(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,"function"!==typeof n.getChildContext)return r;for(var i in n=n.getChildContext())if(!(i in t))throw Error(o(108,K(e)||"Unknown",i));return M({},r,n)}function Bi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ti,Pi=ki.current,Ii(ki,e),Ii(Ri,Ri.current),!0}function Mi(e,t,r){var n=e.stateNode;if(!n)throw Error(o(169));r?(e=Oi(e,t,Pi),n.__reactInternalMemoizedMergedChildContext=e,Ci(Ri),Ci(ki),Ii(ki,e)):Ci(Ri),Ii(Ri,r)}var Ui=null,Fi=!1,Vi=!1;function ji(e){null===Ui?Ui=[e]:Ui.push(e)}function zi(){if(!Vi&&null!==Ui){Vi=!0;var e=0,t=bt;try{var r=Ui;for(bt=1;e<r.length;e++){var n=r[e];do{n=n(!0)}while(null!==n)}Ui=null,Fi=!1}catch(i){throw null!==Ui&&(Ui=Ui.slice(e+1)),We(Ze,zi),i}finally{bt=t,Vi=!1}}return null}var Ki=[],qi=0,Hi=null,Gi=0,Wi=[],Qi=0,Yi=null,Xi=1,Ji="";function $i(e,t){Ki[qi++]=Gi,Ki[qi++]=Hi,Hi=e,Gi=t}function Zi(e,t,r){Wi[Qi++]=Xi,Wi[Qi++]=Ji,Wi[Qi++]=Yi,Yi=e;var n=Xi;e=Ji;var i=32-st(n)-1;n&=~(1<<i),r+=1;var o=32-st(t)+i;if(30<o){var s=i-i%5;o=(n&(1<<s)-1).toString(32),n>>=s,i-=s,Xi=1<<32-st(t)+i|r<<i|n,Ji=o+e}else Xi=1<<o|r<<i|n,Ji=e}function eo(e){null!==e.return&&($i(e,1),Zi(e,1,0))}function to(e){for(;e===Hi;)Hi=Ki[--qi],Ki[qi]=null,Gi=Ki[--qi],Ki[qi]=null;for(;e===Yi;)Yi=Wi[--Qi],Wi[Qi]=null,Ji=Wi[--Qi],Wi[Qi]=null,Xi=Wi[--Qi],Wi[Qi]=null}var ro=null,no=null,io=!1,oo=null;function so(e,t){var r=Dl(5,null,null,0);r.elementType="DELETED",r.stateNode=t,r.return=e,null===(t=e.deletions)?(e.deletions=[r],e.flags|=16):t.push(r)}function ao(e,t){switch(e.tag){case 5:var r=e.type;return null!==(t=1!==t.nodeType||r.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ro=e,no=li(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ro=e,no=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(r=null!==Yi?{id:Xi,overflow:Ji}:null,e.memoizedState={dehydrated:t,treeContext:r,retryLane:1073741824},(r=Dl(18,null,null,0)).stateNode=t,r.return=e,e.child=r,ro=e,no=null,!0);default:return!1}}function co(e){return 0!==(1&e.mode)&&0===(128&e.flags)}function lo(e){if(io){var t=no;if(t){var r=t;if(!ao(e,t)){if(co(e))throw Error(o(418));t=li(r.nextSibling);var n=ro;t&&ao(e,t)?so(n,r):(e.flags=-4097&e.flags|2,io=!1,ro=e)}}else{if(co(e))throw Error(o(418));e.flags=-4097&e.flags|2,io=!1,ro=e}}}function uo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ro=e}function ho(e){if(e!==ro)return!1;if(!io)return uo(e),io=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!ri(e.type,e.memoizedProps)),t&&(t=no)){if(co(e))throw po(),Error(o(418));for(;t;)so(e,t),t=li(t.nextSibling)}if(uo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var r=e.data;if("/$"===r){if(0===t){no=li(e.nextSibling);break e}t--}else"$"!==r&&"$!"!==r&&"$?"!==r||t++}e=e.nextSibling}no=null}}else no=ro?li(e.stateNode.nextSibling):null;return!0}function po(){for(var e=no;e;)e=li(e.nextSibling)}function fo(){no=ro=null,io=!1}function go(e){null===oo?oo=[e]:oo.push(e)}var yo=w.ReactCurrentBatchConfig;function mo(e,t){if(e&&e.defaultProps){for(var r in t=M({},t),e=e.defaultProps)void 0===t[r]&&(t[r]=e[r]);return t}return t}var vo=Ai(null),bo=null,wo=null,Eo=null;function _o(){Eo=wo=bo=null}function So(e){var t=vo.current;Ci(vo),e._currentValue=t}function Ao(e,t,r){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==n&&(n.childLanes|=t)):null!==n&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function Co(e,t){bo=e,Eo=wo=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(wa=!0),e.firstContext=null)}function Io(e){var t=e._currentValue;if(Eo!==e)if(e={context:e,memoizedValue:t,next:null},null===wo){if(null===bo)throw Error(o(308));wo=e,bo.dependencies={lanes:0,firstContext:e}}else wo=wo.next=e;return t}var To=null;function ko(e){null===To?To=[e]:To.push(e)}function Ro(e,t,r,n){var i=t.interleaved;return null===i?(r.next=r,ko(t)):(r.next=i.next,i.next=r),t.interleaved=r,Po(e,n)}function Po(e,t){e.lanes|=t;var r=e.alternate;for(null!==r&&(r.lanes|=t),r=e,e=e.return;null!==e;)e.childLanes|=t,null!==(r=e.alternate)&&(r.childLanes|=t),r=e,e=e.return;return 3===r.tag?r.stateNode:null}var Do=!1;function No(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Lo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function xo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Oo(e,t,r){var n=e.updateQueue;if(null===n)return null;if(n=n.shared,0!==(2&kc)){var i=n.pending;return null===i?t.next=t:(t.next=i.next,i.next=t),n.pending=t,Po(e,r)}return null===(i=n.interleaved)?(t.next=t,ko(n)):(t.next=i.next,i.next=t),n.interleaved=t,Po(e,r)}function Bo(e,t,r){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194240&r))){var n=t.lanes;r|=n&=e.pendingLanes,t.lanes=r,vt(e,r)}}function Mo(e,t){var r=e.updateQueue,n=e.alternate;if(null!==n&&r===(n=n.updateQueue)){var i=null,o=null;if(null!==(r=r.firstBaseUpdate)){do{var s={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};null===o?i=o=s:o=o.next=s,r=r.next}while(null!==r);null===o?i=o=t:o=o.next=t}else i=o=t;return r={baseState:n.baseState,firstBaseUpdate:i,lastBaseUpdate:o,shared:n.shared,effects:n.effects},void(e.updateQueue=r)}null===(e=r.lastBaseUpdate)?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function Uo(e,t,r,n){var i=e.updateQueue;Do=!1;var o=i.firstBaseUpdate,s=i.lastBaseUpdate,a=i.shared.pending;if(null!==a){i.shared.pending=null;var c=a,l=c.next;c.next=null,null===s?o=l:s.next=l,s=c;var u=e.alternate;null!==u&&((a=(u=u.updateQueue).lastBaseUpdate)!==s&&(null===a?u.firstBaseUpdate=l:a.next=l,u.lastBaseUpdate=c))}if(null!==o){var h=i.baseState;for(s=0,u=l=c=null,a=o;;){var d=a.lane,p=a.eventTime;if((n&d)===d){null!==u&&(u=u.next={eventTime:p,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var f=e,g=a;switch(d=t,p=r,g.tag){case 1:if("function"===typeof(f=g.payload)){h=f.call(p,h,d);break e}h=f;break e;case 3:f.flags=-65537&f.flags|128;case 0:if(null===(d="function"===typeof(f=g.payload)?f.call(p,h,d):f)||void 0===d)break e;h=M({},h,d);break e;case 2:Do=!0}}null!==a.callback&&0!==a.lane&&(e.flags|=64,null===(d=i.effects)?i.effects=[a]:d.push(a))}else p={eventTime:p,lane:d,tag:a.tag,payload:a.payload,callback:a.callback,next:null},null===u?(l=u=p,c=h):u=u.next=p,s|=d;if(null===(a=a.next)){if(null===(a=i.shared.pending))break;a=(d=a).next,d.next=null,i.lastBaseUpdate=d,i.shared.pending=null}}if(null===u&&(c=h),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,null!==(t=i.shared.interleaved)){i=t;do{s|=i.lane,i=i.next}while(i!==t)}else null===o&&(i.shared.lanes=0);Bc|=s,e.lanes=s,e.memoizedState=h}}function Fo(e,t,r){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var n=e[t],i=n.callback;if(null!==i){if(n.callback=null,n=r,"function"!==typeof i)throw Error(o(191,i));i.call(n)}}}var Vo=(new n.Component).refs;function jo(e,t,r,n){r=null===(r=r(n,t=e.memoizedState))||void 0===r?t:M({},t,r),e.memoizedState=r,0===e.lanes&&(e.updateQueue.baseState=r)}var zo={isMounted:function(e){return!!(e=e._reactInternals)&&ze(e)===e},enqueueSetState:function(e,t,r){e=e._reactInternals;var n=el(),i=tl(e),o=xo(n,i);o.payload=t,void 0!==r&&null!==r&&(o.callback=r),null!==(t=Oo(e,o,i))&&(rl(t,e,i,n),Bo(t,e,i))},enqueueReplaceState:function(e,t,r){e=e._reactInternals;var n=el(),i=tl(e),o=xo(n,i);o.tag=1,o.payload=t,void 0!==r&&null!==r&&(o.callback=r),null!==(t=Oo(e,o,i))&&(rl(t,e,i,n),Bo(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var r=el(),n=tl(e),i=xo(r,n);i.tag=2,void 0!==t&&null!==t&&(i.callback=t),null!==(t=Oo(e,i,n))&&(rl(t,e,n,r),Bo(t,e,n))}};function Ko(e,t,r,n,i,o,s){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(n,o,s):!t.prototype||!t.prototype.isPureReactComponent||(!cn(r,n)||!cn(i,o))}function qo(e,t,r){var n=!1,i=Ti,o=t.contextType;return"object"===typeof o&&null!==o?o=Io(o):(i=Ni(t)?Pi:ki.current,o=(n=null!==(n=t.contextTypes)&&void 0!==n)?Di(e,i):Ti),t=new t(r,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=zo,e.stateNode=t,t._reactInternals=e,n&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=o),t}function Ho(e,t,r,n){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(r,n),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(r,n),t.state!==e&&zo.enqueueReplaceState(t,t.state,null)}function Go(e,t,r,n){var i=e.stateNode;i.props=r,i.state=e.memoizedState,i.refs=Vo,No(e);var o=t.contextType;"object"===typeof o&&null!==o?i.context=Io(o):(o=Ni(t)?Pi:ki.current,i.context=Di(e,o)),i.state=e.memoizedState,"function"===typeof(o=t.getDerivedStateFromProps)&&(jo(e,t,o,r),i.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof i.getSnapshotBeforeUpdate||"function"!==typeof i.UNSAFE_componentWillMount&&"function"!==typeof i.componentWillMount||(t=i.state,"function"===typeof i.componentWillMount&&i.componentWillMount(),"function"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&zo.enqueueReplaceState(i,i.state,null),Uo(e,r,i,n),i.state=e.memoizedState),"function"===typeof i.componentDidMount&&(e.flags|=4194308)}function Wo(e,t,r){if(null!==(e=r.ref)&&"function"!==typeof e&&"object"!==typeof e){if(r._owner){if(r=r._owner){if(1!==r.tag)throw Error(o(309));var n=r.stateNode}if(!n)throw Error(o(147,e));var i=n,s=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===s?t.ref:(t=function(e){var t=i.refs;t===Vo&&(t=i.refs={}),null===e?delete t[s]:t[s]=e},t._stringRef=s,t)}if("string"!==typeof e)throw Error(o(284));if(!r._owner)throw Error(o(290,e))}return e}function Qo(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Yo(e){return(0,e._init)(e._payload)}function Xo(e){function t(t,r){if(e){var n=t.deletions;null===n?(t.deletions=[r],t.flags|=16):n.push(r)}}function r(r,n){if(!e)return null;for(;null!==n;)t(r,n),n=n.sibling;return null}function n(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=Ll(e,t)).index=0,e.sibling=null,e}function s(t,r,n){return t.index=n,e?null!==(n=t.alternate)?(n=n.index)<r?(t.flags|=2,r):n:(t.flags|=2,r):(t.flags|=1048576,r)}function a(t){return e&&null===t.alternate&&(t.flags|=2),t}function c(e,t,r,n){return null===t||6!==t.tag?((t=Ml(r,e.mode,n)).return=e,t):((t=i(t,r)).return=e,t)}function l(e,t,r,n){var o=r.type;return o===S?h(e,t,r.props.children,n,r.key):null!==t&&(t.elementType===o||"object"===typeof o&&null!==o&&o.$$typeof===N&&Yo(o)===t.type)?((n=i(t,r.props)).ref=Wo(e,t,r),n.return=e,n):((n=xl(r.type,r.key,r.props,null,e.mode,n)).ref=Wo(e,t,r),n.return=e,n)}function u(e,t,r,n){return null===t||4!==t.tag||t.stateNode.containerInfo!==r.containerInfo||t.stateNode.implementation!==r.implementation?((t=Ul(r,e.mode,n)).return=e,t):((t=i(t,r.children||[])).return=e,t)}function h(e,t,r,n,o){return null===t||7!==t.tag?((t=Ol(r,e.mode,n,o)).return=e,t):((t=i(t,r)).return=e,t)}function d(e,t,r){if("string"===typeof t&&""!==t||"number"===typeof t)return(t=Ml(""+t,e.mode,r)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case E:return(r=xl(t.type,t.key,t.props,null,e.mode,r)).ref=Wo(e,null,t),r.return=e,r;case _:return(t=Ul(t,e.mode,r)).return=e,t;case N:return d(e,(0,t._init)(t._payload),r)}if(te(t)||O(t))return(t=Ol(t,e.mode,r,null)).return=e,t;Qo(e,t)}return null}function p(e,t,r,n){var i=null!==t?t.key:null;if("string"===typeof r&&""!==r||"number"===typeof r)return null!==i?null:c(e,t,""+r,n);if("object"===typeof r&&null!==r){switch(r.$$typeof){case E:return r.key===i?l(e,t,r,n):null;case _:return r.key===i?u(e,t,r,n):null;case N:return p(e,t,(i=r._init)(r._payload),n)}if(te(r)||O(r))return null!==i?null:h(e,t,r,n,null);Qo(e,r)}return null}function f(e,t,r,n,i){if("string"===typeof n&&""!==n||"number"===typeof n)return c(t,e=e.get(r)||null,""+n,i);if("object"===typeof n&&null!==n){switch(n.$$typeof){case E:return l(t,e=e.get(null===n.key?r:n.key)||null,n,i);case _:return u(t,e=e.get(null===n.key?r:n.key)||null,n,i);case N:return f(e,t,r,(0,n._init)(n._payload),i)}if(te(n)||O(n))return h(t,e=e.get(r)||null,n,i,null);Qo(t,n)}return null}function g(i,o,a,c){for(var l=null,u=null,h=o,g=o=0,y=null;null!==h&&g<a.length;g++){h.index>g?(y=h,h=null):y=h.sibling;var m=p(i,h,a[g],c);if(null===m){null===h&&(h=y);break}e&&h&&null===m.alternate&&t(i,h),o=s(m,o,g),null===u?l=m:u.sibling=m,u=m,h=y}if(g===a.length)return r(i,h),io&&$i(i,g),l;if(null===h){for(;g<a.length;g++)null!==(h=d(i,a[g],c))&&(o=s(h,o,g),null===u?l=h:u.sibling=h,u=h);return io&&$i(i,g),l}for(h=n(i,h);g<a.length;g++)null!==(y=f(h,i,g,a[g],c))&&(e&&null!==y.alternate&&h.delete(null===y.key?g:y.key),o=s(y,o,g),null===u?l=y:u.sibling=y,u=y);return e&&h.forEach((function(e){return t(i,e)})),io&&$i(i,g),l}function y(i,a,c,l){var u=O(c);if("function"!==typeof u)throw Error(o(150));if(null==(c=u.call(c)))throw Error(o(151));for(var h=u=null,g=a,y=a=0,m=null,v=c.next();null!==g&&!v.done;y++,v=c.next()){g.index>y?(m=g,g=null):m=g.sibling;var b=p(i,g,v.value,l);if(null===b){null===g&&(g=m);break}e&&g&&null===b.alternate&&t(i,g),a=s(b,a,y),null===h?u=b:h.sibling=b,h=b,g=m}if(v.done)return r(i,g),io&&$i(i,y),u;if(null===g){for(;!v.done;y++,v=c.next())null!==(v=d(i,v.value,l))&&(a=s(v,a,y),null===h?u=v:h.sibling=v,h=v);return io&&$i(i,y),u}for(g=n(i,g);!v.done;y++,v=c.next())null!==(v=f(g,i,y,v.value,l))&&(e&&null!==v.alternate&&g.delete(null===v.key?y:v.key),a=s(v,a,y),null===h?u=v:h.sibling=v,h=v);return e&&g.forEach((function(e){return t(i,e)})),io&&$i(i,y),u}return function e(n,o,s,c){if("object"===typeof s&&null!==s&&s.type===S&&null===s.key&&(s=s.props.children),"object"===typeof s&&null!==s){switch(s.$$typeof){case E:e:{for(var l=s.key,u=o;null!==u;){if(u.key===l){if((l=s.type)===S){if(7===u.tag){r(n,u.sibling),(o=i(u,s.props.children)).return=n,n=o;break e}}else if(u.elementType===l||"object"===typeof l&&null!==l&&l.$$typeof===N&&Yo(l)===u.type){r(n,u.sibling),(o=i(u,s.props)).ref=Wo(n,u,s),o.return=n,n=o;break e}r(n,u);break}t(n,u),u=u.sibling}s.type===S?((o=Ol(s.props.children,n.mode,c,s.key)).return=n,n=o):((c=xl(s.type,s.key,s.props,null,n.mode,c)).ref=Wo(n,o,s),c.return=n,n=c)}return a(n);case _:e:{for(u=s.key;null!==o;){if(o.key===u){if(4===o.tag&&o.stateNode.containerInfo===s.containerInfo&&o.stateNode.implementation===s.implementation){r(n,o.sibling),(o=i(o,s.children||[])).return=n,n=o;break e}r(n,o);break}t(n,o),o=o.sibling}(o=Ul(s,n.mode,c)).return=n,n=o}return a(n);case N:return e(n,o,(u=s._init)(s._payload),c)}if(te(s))return g(n,o,s,c);if(O(s))return y(n,o,s,c);Qo(n,s)}return"string"===typeof s&&""!==s||"number"===typeof s?(s=""+s,null!==o&&6===o.tag?(r(n,o.sibling),(o=i(o,s)).return=n,n=o):(r(n,o),(o=Ml(s,n.mode,c)).return=n,n=o),a(n)):r(n,o)}}var Jo=Xo(!0),$o=Xo(!1),Zo={},es=Ai(Zo),ts=Ai(Zo),rs=Ai(Zo);function ns(e){if(e===Zo)throw Error(o(174));return e}function is(e,t){switch(Ii(rs,t),Ii(ts,e),Ii(es,Zo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ce(null,"");break;default:t=ce(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Ci(es),Ii(es,t)}function os(){Ci(es),Ci(ts),Ci(rs)}function ss(e){ns(rs.current);var t=ns(es.current),r=ce(t,e.type);t!==r&&(Ii(ts,e),Ii(es,r))}function as(e){ts.current===e&&(Ci(es),Ci(ts))}var cs=Ai(0);function ls(e){for(var t=e;null!==t;){if(13===t.tag){var r=t.memoizedState;if(null!==r&&(null===(r=r.dehydrated)||"$?"===r.data||"$!"===r.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var us=[];function hs(){for(var e=0;e<us.length;e++)us[e]._workInProgressVersionPrimary=null;us.length=0}var ds=w.ReactCurrentDispatcher,ps=w.ReactCurrentBatchConfig,fs=0,gs=null,ys=null,ms=null,vs=!1,bs=!1,ws=0,Es=0;function _s(){throw Error(o(321))}function Ss(e,t){if(null===t)return!1;for(var r=0;r<t.length&&r<e.length;r++)if(!an(e[r],t[r]))return!1;return!0}function As(e,t,r,n,i,s){if(fs=s,gs=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ds.current=null===e||null===e.memoizedState?aa:ca,e=r(n,i),bs){s=0;do{if(bs=!1,ws=0,25<=s)throw Error(o(301));s+=1,ms=ys=null,t.updateQueue=null,ds.current=la,e=r(n,i)}while(bs)}if(ds.current=sa,t=null!==ys&&null!==ys.next,fs=0,ms=ys=gs=null,vs=!1,t)throw Error(o(300));return e}function Cs(){var e=0!==ws;return ws=0,e}function Is(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ms?gs.memoizedState=ms=e:ms=ms.next=e,ms}function Ts(){if(null===ys){var e=gs.alternate;e=null!==e?e.memoizedState:null}else e=ys.next;var t=null===ms?gs.memoizedState:ms.next;if(null!==t)ms=t,ys=e;else{if(null===e)throw Error(o(310));e={memoizedState:(ys=e).memoizedState,baseState:ys.baseState,baseQueue:ys.baseQueue,queue:ys.queue,next:null},null===ms?gs.memoizedState=ms=e:ms=ms.next=e}return ms}function ks(e,t){return"function"===typeof t?t(e):t}function Rs(e){var t=Ts(),r=t.queue;if(null===r)throw Error(o(311));r.lastRenderedReducer=e;var n=ys,i=n.baseQueue,s=r.pending;if(null!==s){if(null!==i){var a=i.next;i.next=s.next,s.next=a}n.baseQueue=i=s,r.pending=null}if(null!==i){s=i.next,n=n.baseState;var c=a=null,l=null,u=s;do{var h=u.lane;if((fs&h)===h)null!==l&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),n=u.hasEagerState?u.eagerState:e(n,u.action);else{var d={lane:h,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===l?(c=l=d,a=n):l=l.next=d,gs.lanes|=h,Bc|=h}u=u.next}while(null!==u&&u!==s);null===l?a=n:l.next=c,an(n,t.memoizedState)||(wa=!0),t.memoizedState=n,t.baseState=a,t.baseQueue=l,r.lastRenderedState=n}if(null!==(e=r.interleaved)){i=e;do{s=i.lane,gs.lanes|=s,Bc|=s,i=i.next}while(i!==e)}else null===i&&(r.lanes=0);return[t.memoizedState,r.dispatch]}function Ps(e){var t=Ts(),r=t.queue;if(null===r)throw Error(o(311));r.lastRenderedReducer=e;var n=r.dispatch,i=r.pending,s=t.memoizedState;if(null!==i){r.pending=null;var a=i=i.next;do{s=e(s,a.action),a=a.next}while(a!==i);an(s,t.memoizedState)||(wa=!0),t.memoizedState=s,null===t.baseQueue&&(t.baseState=s),r.lastRenderedState=s}return[s,n]}function Ds(){}function Ns(e,t){var r=gs,n=Ts(),i=t(),s=!an(n.memoizedState,i);if(s&&(n.memoizedState=i,wa=!0),n=n.queue,qs(Os.bind(null,r,n,e),[e]),n.getSnapshot!==t||s||null!==ms&&1&ms.memoizedState.tag){if(r.flags|=2048,Fs(9,xs.bind(null,r,n,i,t),void 0,null),null===Rc)throw Error(o(349));0!==(30&fs)||Ls(r,t,i)}return i}function Ls(e,t,r){e.flags|=16384,e={getSnapshot:t,value:r},null===(t=gs.updateQueue)?(t={lastEffect:null,stores:null},gs.updateQueue=t,t.stores=[e]):null===(r=t.stores)?t.stores=[e]:r.push(e)}function xs(e,t,r,n){t.value=r,t.getSnapshot=n,Bs(t)&&Ms(e)}function Os(e,t,r){return r((function(){Bs(t)&&Ms(e)}))}function Bs(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!an(e,r)}catch(n){return!0}}function Ms(e){var t=Po(e,1);null!==t&&rl(t,e,1,-1)}function Us(e){var t=Is();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ks,lastRenderedState:e},t.queue=e,e=e.dispatch=ra.bind(null,gs,e),[t.memoizedState,e]}function Fs(e,t,r,n){return e={tag:e,create:t,destroy:r,deps:n,next:null},null===(t=gs.updateQueue)?(t={lastEffect:null,stores:null},gs.updateQueue=t,t.lastEffect=e.next=e):null===(r=t.lastEffect)?t.lastEffect=e.next=e:(n=r.next,r.next=e,e.next=n,t.lastEffect=e),e}function Vs(){return Ts().memoizedState}function js(e,t,r,n){var i=Is();gs.flags|=e,i.memoizedState=Fs(1|t,r,void 0,void 0===n?null:n)}function zs(e,t,r,n){var i=Ts();n=void 0===n?null:n;var o=void 0;if(null!==ys){var s=ys.memoizedState;if(o=s.destroy,null!==n&&Ss(n,s.deps))return void(i.memoizedState=Fs(t,r,o,n))}gs.flags|=e,i.memoizedState=Fs(1|t,r,o,n)}function Ks(e,t){return js(8390656,8,e,t)}function qs(e,t){return zs(2048,8,e,t)}function Hs(e,t){return zs(4,2,e,t)}function Gs(e,t){return zs(4,4,e,t)}function Ws(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Qs(e,t,r){return r=null!==r&&void 0!==r?r.concat([e]):null,zs(4,4,Ws.bind(null,t,e),r)}function Ys(){}function Xs(e,t){var r=Ts();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&Ss(t,n[1])?n[0]:(r.memoizedState=[e,t],e)}function Js(e,t){var r=Ts();t=void 0===t?null:t;var n=r.memoizedState;return null!==n&&null!==t&&Ss(t,n[1])?n[0]:(e=e(),r.memoizedState=[e,t],e)}function $s(e,t,r){return 0===(21&fs)?(e.baseState&&(e.baseState=!1,wa=!0),e.memoizedState=r):(an(r,t)||(r=gt(),gs.lanes|=r,Bc|=r,e.baseState=!0),t)}function Zs(e,t){var r=bt;bt=0!==r&&4>r?r:4,e(!0);var n=ps.transition;ps.transition={};try{e(!1),t()}finally{bt=r,ps.transition=n}}function ea(){return Ts().memoizedState}function ta(e,t,r){var n=tl(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},na(e))ia(t,r);else if(null!==(r=Ro(e,t,r,n))){rl(r,e,n,el()),oa(r,t,n)}}function ra(e,t,r){var n=tl(e),i={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(na(e))ia(t,i);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var s=t.lastRenderedState,a=o(s,r);if(i.hasEagerState=!0,i.eagerState=a,an(a,s)){var c=t.interleaved;return null===c?(i.next=i,ko(t)):(i.next=c.next,c.next=i),void(t.interleaved=i)}}catch(l){}null!==(r=Ro(e,t,i,n))&&(rl(r,e,n,i=el()),oa(r,t,n))}}function na(e){var t=e.alternate;return e===gs||null!==t&&t===gs}function ia(e,t){bs=vs=!0;var r=e.pending;null===r?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function oa(e,t,r){if(0!==(4194240&r)){var n=t.lanes;r|=n&=e.pendingLanes,t.lanes=r,vt(e,r)}}var sa={readContext:Io,useCallback:_s,useContext:_s,useEffect:_s,useImperativeHandle:_s,useInsertionEffect:_s,useLayoutEffect:_s,useMemo:_s,useReducer:_s,useRef:_s,useState:_s,useDebugValue:_s,useDeferredValue:_s,useTransition:_s,useMutableSource:_s,useSyncExternalStore:_s,useId:_s,unstable_isNewReconciler:!1},aa={readContext:Io,useCallback:function(e,t){return Is().memoizedState=[e,void 0===t?null:t],e},useContext:Io,useEffect:Ks,useImperativeHandle:function(e,t,r){return r=null!==r&&void 0!==r?r.concat([e]):null,js(4194308,4,Ws.bind(null,t,e),r)},useLayoutEffect:function(e,t){return js(4194308,4,e,t)},useInsertionEffect:function(e,t){return js(4,2,e,t)},useMemo:function(e,t){var r=Is();return t=void 0===t?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=Is();return t=void 0!==r?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=ta.bind(null,gs,e),[n.memoizedState,e]},useRef:function(e){return e={current:e},Is().memoizedState=e},useState:Us,useDebugValue:Ys,useDeferredValue:function(e){return Is().memoizedState=e},useTransition:function(){var e=Us(!1),t=e[0];return e=Zs.bind(null,e[1]),Is().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=gs,i=Is();if(io){if(void 0===r)throw Error(o(407));r=r()}else{if(r=t(),null===Rc)throw Error(o(349));0!==(30&fs)||Ls(n,t,r)}i.memoizedState=r;var s={value:r,getSnapshot:t};return i.queue=s,Ks(Os.bind(null,n,s,e),[e]),n.flags|=2048,Fs(9,xs.bind(null,n,s,r,t),void 0,null),r},useId:function(){var e=Is(),t=Rc.identifierPrefix;if(io){var r=Ji;t=":"+t+"R"+(r=(Xi&~(1<<32-st(Xi)-1)).toString(32)+r),0<(r=ws++)&&(t+="H"+r.toString(32)),t+=":"}else t=":"+t+"r"+(r=Es++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},ca={readContext:Io,useCallback:Xs,useContext:Io,useEffect:qs,useImperativeHandle:Qs,useInsertionEffect:Hs,useLayoutEffect:Gs,useMemo:Js,useReducer:Rs,useRef:Vs,useState:function(){return Rs(ks)},useDebugValue:Ys,useDeferredValue:function(e){return $s(Ts(),ys.memoizedState,e)},useTransition:function(){return[Rs(ks)[0],Ts().memoizedState]},useMutableSource:Ds,useSyncExternalStore:Ns,useId:ea,unstable_isNewReconciler:!1},la={readContext:Io,useCallback:Xs,useContext:Io,useEffect:qs,useImperativeHandle:Qs,useInsertionEffect:Hs,useLayoutEffect:Gs,useMemo:Js,useReducer:Ps,useRef:Vs,useState:function(){return Ps(ks)},useDebugValue:Ys,useDeferredValue:function(e){var t=Ts();return null===ys?t.memoizedState=e:$s(t,ys.memoizedState,e)},useTransition:function(){return[Ps(ks)[0],Ts().memoizedState]},useMutableSource:Ds,useSyncExternalStore:Ns,useId:ea,unstable_isNewReconciler:!1};function ua(e,t){try{var r="",n=t;do{r+=j(n),n=n.return}while(n);var i=r}catch(o){i="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:i,digest:null}}function ha(e,t,r){return{value:e,source:null,stack:null!=r?r:null,digest:null!=t?t:null}}function da(e,t){try{console.error(t.value)}catch(r){setTimeout((function(){throw r}))}}var pa="function"===typeof WeakMap?WeakMap:Map;function fa(e,t,r){(r=xo(-1,r)).tag=3,r.payload={element:null};var n=t.value;return r.callback=function(){qc||(qc=!0,Hc=n),da(0,t)},r}function ga(e,t,r){(r=xo(-1,r)).tag=3;var n=e.type.getDerivedStateFromError;if("function"===typeof n){var i=t.value;r.payload=function(){return n(i)},r.callback=function(){da(0,t)}}var o=e.stateNode;return null!==o&&"function"===typeof o.componentDidCatch&&(r.callback=function(){da(0,t),"function"!==typeof n&&(null===Gc?Gc=new Set([this]):Gc.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),r}function ya(e,t,r){var n=e.pingCache;if(null===n){n=e.pingCache=new pa;var i=new Set;n.set(t,i)}else void 0===(i=n.get(t))&&(i=new Set,n.set(t,i));i.has(r)||(i.add(r),e=Cl.bind(null,e,t,r),t.then(e,e))}function ma(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function va(e,t,r,n,i){return 0===(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,1===r.tag&&(null===r.alternate?r.tag=17:((t=xo(-1,1)).tag=2,Oo(r,t,1))),r.lanes|=1),e):(e.flags|=65536,e.lanes=i,e)}var ba=w.ReactCurrentOwner,wa=!1;function Ea(e,t,r,n){t.child=null===e?$o(t,null,r,n):Jo(t,e.child,r,n)}function _a(e,t,r,n,i){r=r.render;var o=t.ref;return Co(t,i),n=As(e,t,r,n,o,i),r=Cs(),null===e||wa?(io&&r&&eo(t),t.flags|=1,Ea(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,qa(e,t,i))}function Sa(e,t,r,n,i){if(null===e){var o=r.type;return"function"!==typeof o||Nl(o)||void 0!==o.defaultProps||null!==r.compare||void 0!==r.defaultProps?((e=xl(r.type,null,n,t,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,Aa(e,t,o,n,i))}if(o=e.child,0===(e.lanes&i)){var s=o.memoizedProps;if((r=null!==(r=r.compare)?r:cn)(s,n)&&e.ref===t.ref)return qa(e,t,i)}return t.flags|=1,(e=Ll(o,n)).ref=t.ref,e.return=t,t.child=e}function Aa(e,t,r,n,i){if(null!==e){var o=e.memoizedProps;if(cn(o,n)&&e.ref===t.ref){if(wa=!1,t.pendingProps=n=o,0===(e.lanes&i))return t.lanes=e.lanes,qa(e,t,i);0!==(131072&e.flags)&&(wa=!0)}}return Ta(e,t,r,n,i)}function Ca(e,t,r){var n=t.pendingProps,i=n.children,o=null!==e?e.memoizedState:null;if("hidden"===n.mode)if(0===(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ii(Lc,Nc),Nc|=r;else{if(0===(1073741824&r))return e=null!==o?o.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ii(Lc,Nc),Nc|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},n=null!==o?o.baseLanes:r,Ii(Lc,Nc),Nc|=n}else null!==o?(n=o.baseLanes|r,t.memoizedState=null):n=r,Ii(Lc,Nc),Nc|=n;return Ea(e,t,i,r),t.child}function Ia(e,t){var r=t.ref;(null===e&&null!==r||null!==e&&e.ref!==r)&&(t.flags|=512,t.flags|=2097152)}function Ta(e,t,r,n,i){var o=Ni(r)?Pi:ki.current;return o=Di(t,o),Co(t,i),r=As(e,t,r,n,o,i),n=Cs(),null===e||wa?(io&&n&&eo(t),t.flags|=1,Ea(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,qa(e,t,i))}function ka(e,t,r,n,i){if(Ni(r)){var o=!0;Bi(t)}else o=!1;if(Co(t,i),null===t.stateNode)Ka(e,t),qo(t,r,n),Go(t,r,n,i),n=!0;else if(null===e){var s=t.stateNode,a=t.memoizedProps;s.props=a;var c=s.context,l=r.contextType;"object"===typeof l&&null!==l?l=Io(l):l=Di(t,l=Ni(r)?Pi:ki.current);var u=r.getDerivedStateFromProps,h="function"===typeof u||"function"===typeof s.getSnapshotBeforeUpdate;h||"function"!==typeof s.UNSAFE_componentWillReceiveProps&&"function"!==typeof s.componentWillReceiveProps||(a!==n||c!==l)&&Ho(t,s,n,l),Do=!1;var d=t.memoizedState;s.state=d,Uo(t,n,s,i),c=t.memoizedState,a!==n||d!==c||Ri.current||Do?("function"===typeof u&&(jo(t,r,u,n),c=t.memoizedState),(a=Do||Ko(t,r,a,n,d,c,l))?(h||"function"!==typeof s.UNSAFE_componentWillMount&&"function"!==typeof s.componentWillMount||("function"===typeof s.componentWillMount&&s.componentWillMount(),"function"===typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"===typeof s.componentDidMount&&(t.flags|=4194308)):("function"===typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=c),s.props=n,s.state=c,s.context=l,n=a):("function"===typeof s.componentDidMount&&(t.flags|=4194308),n=!1)}else{s=t.stateNode,Lo(e,t),a=t.memoizedProps,l=t.type===t.elementType?a:mo(t.type,a),s.props=l,h=t.pendingProps,d=s.context,"object"===typeof(c=r.contextType)&&null!==c?c=Io(c):c=Di(t,c=Ni(r)?Pi:ki.current);var p=r.getDerivedStateFromProps;(u="function"===typeof p||"function"===typeof s.getSnapshotBeforeUpdate)||"function"!==typeof s.UNSAFE_componentWillReceiveProps&&"function"!==typeof s.componentWillReceiveProps||(a!==h||d!==c)&&Ho(t,s,n,c),Do=!1,d=t.memoizedState,s.state=d,Uo(t,n,s,i);var f=t.memoizedState;a!==h||d!==f||Ri.current||Do?("function"===typeof p&&(jo(t,r,p,n),f=t.memoizedState),(l=Do||Ko(t,r,l,n,d,f,c)||!1)?(u||"function"!==typeof s.UNSAFE_componentWillUpdate&&"function"!==typeof s.componentWillUpdate||("function"===typeof s.componentWillUpdate&&s.componentWillUpdate(n,f,c),"function"===typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(n,f,c)),"function"===typeof s.componentDidUpdate&&(t.flags|=4),"function"===typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof s.componentDidUpdate||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!==typeof s.getSnapshotBeforeUpdate||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=f),s.props=n,s.state=f,s.context=c,n=l):("function"!==typeof s.componentDidUpdate||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=4),"function"!==typeof s.getSnapshotBeforeUpdate||a===e.memoizedProps&&d===e.memoizedState||(t.flags|=1024),n=!1)}return Ra(e,t,r,n,o,i)}function Ra(e,t,r,n,i,o){Ia(e,t);var s=0!==(128&t.flags);if(!n&&!s)return i&&Mi(t,r,!1),qa(e,t,o);n=t.stateNode,ba.current=t;var a=s&&"function"!==typeof r.getDerivedStateFromError?null:n.render();return t.flags|=1,null!==e&&s?(t.child=Jo(t,e.child,null,o),t.child=Jo(t,null,a,o)):Ea(e,t,a,o),t.memoizedState=n.state,i&&Mi(t,r,!0),t.child}function Pa(e){var t=e.stateNode;t.pendingContext?xi(0,t.pendingContext,t.pendingContext!==t.context):t.context&&xi(0,t.context,!1),is(e,t.containerInfo)}function Da(e,t,r,n,i){return fo(),go(i),t.flags|=256,Ea(e,t,r,n),t.child}var Na,La,xa,Oa={dehydrated:null,treeContext:null,retryLane:0};function Ba(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ma(e,t,r){var n,i=t.pendingProps,s=cs.current,a=!1,c=0!==(128&t.flags);if((n=c)||(n=(null===e||null!==e.memoizedState)&&0!==(2&s)),n?(a=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(s|=1),Ii(cs,1&s),null===e)return lo(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0===(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(c=i.children,e=i.fallback,a?(i=t.mode,a=t.child,c={mode:"hidden",children:c},0===(1&i)&&null!==a?(a.childLanes=0,a.pendingProps=c):a=Bl(c,i,0,null),e=Ol(e,i,r,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Ba(r),t.memoizedState=Oa,e):Ua(t,c));if(null!==(s=e.memoizedState)&&null!==(n=s.dehydrated))return function(e,t,r,n,i,s,a){if(r)return 256&t.flags?(t.flags&=-257,Fa(e,t,a,n=ha(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(s=n.fallback,i=t.mode,n=Bl({mode:"visible",children:n.children},i,0,null),(s=Ol(s,i,a,null)).flags|=2,n.return=t,s.return=t,n.sibling=s,t.child=n,0!==(1&t.mode)&&Jo(t,e.child,null,a),t.child.memoizedState=Ba(a),t.memoizedState=Oa,s);if(0===(1&t.mode))return Fa(e,t,a,null);if("$!"===i.data){if(n=i.nextSibling&&i.nextSibling.dataset)var c=n.dgst;return n=c,Fa(e,t,a,n=ha(s=Error(o(419)),n,void 0))}if(c=0!==(a&e.childLanes),wa||c){if(null!==(n=Rc)){switch(a&-a){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}0!==(i=0!==(i&(n.suspendedLanes|a))?0:i)&&i!==s.retryLane&&(s.retryLane=i,Po(e,i),rl(n,e,i,-1))}return gl(),Fa(e,t,a,n=ha(Error(o(421))))}return"$?"===i.data?(t.flags|=128,t.child=e.child,t=Tl.bind(null,e),i._reactRetry=t,null):(e=s.treeContext,no=li(i.nextSibling),ro=t,io=!0,oo=null,null!==e&&(Wi[Qi++]=Xi,Wi[Qi++]=Ji,Wi[Qi++]=Yi,Xi=e.id,Ji=e.overflow,Yi=t),t=Ua(t,n.children),t.flags|=4096,t)}(e,t,c,i,n,s,r);if(a){a=i.fallback,c=t.mode,n=(s=e.child).sibling;var l={mode:"hidden",children:i.children};return 0===(1&c)&&t.child!==s?((i=t.child).childLanes=0,i.pendingProps=l,t.deletions=null):(i=Ll(s,l)).subtreeFlags=14680064&s.subtreeFlags,null!==n?a=Ll(n,a):(a=Ol(a,c,r,null)).flags|=2,a.return=t,i.return=t,i.sibling=a,t.child=i,i=a,a=t.child,c=null===(c=e.child.memoizedState)?Ba(r):{baseLanes:c.baseLanes|r,cachePool:null,transitions:c.transitions},a.memoizedState=c,a.childLanes=e.childLanes&~r,t.memoizedState=Oa,i}return e=(a=e.child).sibling,i=Ll(a,{mode:"visible",children:i.children}),0===(1&t.mode)&&(i.lanes=r),i.return=t,i.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=i,t.memoizedState=null,i}function Ua(e,t){return(t=Bl({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Fa(e,t,r,n){return null!==n&&go(n),Jo(t,e.child,null,r),(e=Ua(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Va(e,t,r){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),Ao(e.return,t,r)}function ja(e,t,r,n,i){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:i}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=n,o.tail=r,o.tailMode=i)}function za(e,t,r){var n=t.pendingProps,i=n.revealOrder,o=n.tail;if(Ea(e,t,n.children,r),0!==(2&(n=cs.current)))n=1&n|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Va(e,r,t);else if(19===e.tag)Va(e,r,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(Ii(cs,n),0===(1&t.mode))t.memoizedState=null;else switch(i){case"forwards":for(r=t.child,i=null;null!==r;)null!==(e=r.alternate)&&null===ls(e)&&(i=r),r=r.sibling;null===(r=i)?(i=t.child,t.child=null):(i=r.sibling,r.sibling=null),ja(t,!1,i,r,o);break;case"backwards":for(r=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===ls(e)){t.child=i;break}e=i.sibling,i.sibling=r,r=i,i=e}ja(t,!0,r,null,o);break;case"together":ja(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Ka(e,t){0===(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function qa(e,t,r){if(null!==e&&(t.dependencies=e.dependencies),Bc|=t.lanes,0===(r&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(r=Ll(e=t.child,e.pendingProps),t.child=r,r.return=t;null!==e.sibling;)e=e.sibling,(r=r.sibling=Ll(e,e.pendingProps)).return=t;r.sibling=null}return t.child}function Ha(e,t){if(!io)switch(e.tailMode){case"hidden":t=e.tail;for(var r=null;null!==t;)null!==t.alternate&&(r=t),t=t.sibling;null===r?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var n=null;null!==r;)null!==r.alternate&&(n=r),r=r.sibling;null===n?t||null===e.tail?e.tail=null:e.tail.sibling=null:n.sibling=null}}function Ga(e){var t=null!==e.alternate&&e.alternate.child===e.child,r=0,n=0;if(t)for(var i=e.child;null!==i;)r|=i.lanes|i.childLanes,n|=14680064&i.subtreeFlags,n|=14680064&i.flags,i.return=e,i=i.sibling;else for(i=e.child;null!==i;)r|=i.lanes|i.childLanes,n|=i.subtreeFlags,n|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=n,e.childLanes=r,t}function Wa(e,t,r){var n=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ga(t),null;case 1:case 17:return Ni(t.type)&&Li(),Ga(t),null;case 3:return n=t.stateNode,os(),Ci(Ri),Ci(ki),hs(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||(ho(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,null!==oo&&(sl(oo),oo=null))),Ga(t),null;case 5:as(t);var i=ns(rs.current);if(r=t.type,null!==e&&null!=t.stateNode)La(e,t,r,n),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!n){if(null===t.stateNode)throw Error(o(166));return Ga(t),null}if(e=ns(es.current),ho(t)){n=t.stateNode,r=t.type;var s=t.memoizedProps;switch(n[di]=t,n[pi]=s,e=0!==(1&t.mode),r){case"dialog":Fn("cancel",n),Fn("close",n);break;case"iframe":case"object":case"embed":Fn("load",n);break;case"video":case"audio":for(i=0;i<On.length;i++)Fn(On[i],n);break;case"source":Fn("error",n);break;case"img":case"image":case"link":Fn("error",n),Fn("load",n);break;case"details":Fn("toggle",n);break;case"input":X(n,s),Fn("invalid",n);break;case"select":n._wrapperState={wasMultiple:!!s.multiple},Fn("invalid",n);break;case"textarea":ie(n,s),Fn("invalid",n)}for(var c in ve(r,s),i=null,s)if(s.hasOwnProperty(c)){var l=s[c];"children"===c?"string"===typeof l?n.textContent!==l&&(!0!==s.suppressHydrationWarning&&$n(n.textContent,l,e),i=["children",l]):"number"===typeof l&&n.textContent!==""+l&&(!0!==s.suppressHydrationWarning&&$n(n.textContent,l,e),i=["children",""+l]):a.hasOwnProperty(c)&&null!=l&&"onScroll"===c&&Fn("scroll",n)}switch(r){case"input":G(n),Z(n,s,!0);break;case"textarea":G(n),se(n);break;case"select":case"option":break;default:"function"===typeof s.onClick&&(n.onclick=Zn)}n=i,t.updateQueue=n,null!==n&&(t.flags|=4)}else{c=9===i.nodeType?i:i.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=ae(r)),"http://www.w3.org/1999/xhtml"===e?"script"===r?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof n.is?e=c.createElement(r,{is:n.is}):(e=c.createElement(r),"select"===r&&(c=e,n.multiple?c.multiple=!0:n.size&&(c.size=n.size))):e=c.createElementNS(e,r),e[di]=t,e[pi]=n,Na(e,t),t.stateNode=e;e:{switch(c=be(r,n),r){case"dialog":Fn("cancel",e),Fn("close",e),i=n;break;case"iframe":case"object":case"embed":Fn("load",e),i=n;break;case"video":case"audio":for(i=0;i<On.length;i++)Fn(On[i],e);i=n;break;case"source":Fn("error",e),i=n;break;case"img":case"image":case"link":Fn("error",e),Fn("load",e),i=n;break;case"details":Fn("toggle",e),i=n;break;case"input":X(e,n),i=Y(e,n),Fn("invalid",e);break;case"option":default:i=n;break;case"select":e._wrapperState={wasMultiple:!!n.multiple},i=M({},n,{value:void 0}),Fn("invalid",e);break;case"textarea":ie(e,n),i=ne(e,n),Fn("invalid",e)}for(s in ve(r,i),l=i)if(l.hasOwnProperty(s)){var u=l[s];"style"===s?ye(e,u):"dangerouslySetInnerHTML"===s?null!=(u=u?u.__html:void 0)&&he(e,u):"children"===s?"string"===typeof u?("textarea"!==r||""!==u)&&de(e,u):"number"===typeof u&&de(e,""+u):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(a.hasOwnProperty(s)?null!=u&&"onScroll"===s&&Fn("scroll",e):null!=u&&b(e,s,u,c))}switch(r){case"input":G(e),Z(e,n,!1);break;case"textarea":G(e),se(e);break;case"option":null!=n.value&&e.setAttribute("value",""+q(n.value));break;case"select":e.multiple=!!n.multiple,null!=(s=n.value)?re(e,!!n.multiple,s,!1):null!=n.defaultValue&&re(e,!!n.multiple,n.defaultValue,!0);break;default:"function"===typeof i.onClick&&(e.onclick=Zn)}switch(r){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}}n&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Ga(t),null;case 6:if(e&&null!=t.stateNode)xa(0,t,e.memoizedProps,n);else{if("string"!==typeof n&&null===t.stateNode)throw Error(o(166));if(r=ns(rs.current),ns(es.current),ho(t)){if(n=t.stateNode,r=t.memoizedProps,n[di]=t,(s=n.nodeValue!==r)&&null!==(e=ro))switch(e.tag){case 3:$n(n.nodeValue,r,0!==(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&$n(n.nodeValue,r,0!==(1&e.mode))}s&&(t.flags|=4)}else(n=(9===r.nodeType?r:r.ownerDocument).createTextNode(n))[di]=t,t.stateNode=n}return Ga(t),null;case 13:if(Ci(cs),n=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(io&&null!==no&&0!==(1&t.mode)&&0===(128&t.flags))po(),fo(),t.flags|=98560,s=!1;else if(s=ho(t),null!==n&&null!==n.dehydrated){if(null===e){if(!s)throw Error(o(318));if(!(s=null!==(s=t.memoizedState)?s.dehydrated:null))throw Error(o(317));s[di]=t}else fo(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Ga(t),s=!1}else null!==oo&&(sl(oo),oo=null),s=!0;if(!s)return 65536&t.flags?t:null}return 0!==(128&t.flags)?(t.lanes=r,t):((n=null!==n)!==(null!==e&&null!==e.memoizedState)&&n&&(t.child.flags|=8192,0!==(1&t.mode)&&(null===e||0!==(1&cs.current)?0===xc&&(xc=3):gl())),null!==t.updateQueue&&(t.flags|=4),Ga(t),null);case 4:return os(),null===e&&zn(t.stateNode.containerInfo),Ga(t),null;case 10:return So(t.type._context),Ga(t),null;case 19:if(Ci(cs),null===(s=t.memoizedState))return Ga(t),null;if(n=0!==(128&t.flags),null===(c=s.rendering))if(n)Ha(s,!1);else{if(0!==xc||null!==e&&0!==(128&e.flags))for(e=t.child;null!==e;){if(null!==(c=ls(e))){for(t.flags|=128,Ha(s,!1),null!==(n=c.updateQueue)&&(t.updateQueue=n,t.flags|=4),t.subtreeFlags=0,n=r,r=t.child;null!==r;)e=n,(s=r).flags&=14680066,null===(c=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=c.childLanes,s.lanes=c.lanes,s.child=c.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=c.memoizedProps,s.memoizedState=c.memoizedState,s.updateQueue=c.updateQueue,s.type=c.type,e=c.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return Ii(cs,1&cs.current|2),t.child}e=e.sibling}null!==s.tail&&Je()>zc&&(t.flags|=128,n=!0,Ha(s,!1),t.lanes=4194304)}else{if(!n)if(null!==(e=ls(c))){if(t.flags|=128,n=!0,null!==(r=e.updateQueue)&&(t.updateQueue=r,t.flags|=4),Ha(s,!0),null===s.tail&&"hidden"===s.tailMode&&!c.alternate&&!io)return Ga(t),null}else 2*Je()-s.renderingStartTime>zc&&1073741824!==r&&(t.flags|=128,n=!0,Ha(s,!1),t.lanes=4194304);s.isBackwards?(c.sibling=t.child,t.child=c):(null!==(r=s.last)?r.sibling=c:t.child=c,s.last=c)}return null!==s.tail?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=Je(),t.sibling=null,r=cs.current,Ii(cs,n?1&r|2:1&r),t):(Ga(t),null);case 22:case 23:return hl(),n=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==n&&(t.flags|=8192),n&&0!==(1&t.mode)?0!==(1073741824&Nc)&&(Ga(t),6&t.subtreeFlags&&(t.flags|=8192)):Ga(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Qa(e,t){switch(to(t),t.tag){case 1:return Ni(t.type)&&Li(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return os(),Ci(Ri),Ci(ki),hs(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 5:return as(t),null;case 13:if(Ci(cs),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));fo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Ci(cs),null;case 4:return os(),null;case 10:return So(t.type._context),null;case 22:case 23:return hl(),null;default:return null}}Na=function(e,t){for(var r=t.child;null!==r;){if(5===r.tag||6===r.tag)e.appendChild(r.stateNode);else if(4!==r.tag&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},La=function(e,t,r,n){var i=e.memoizedProps;if(i!==n){e=t.stateNode,ns(es.current);var o,s=null;switch(r){case"input":i=Y(e,i),n=Y(e,n),s=[];break;case"select":i=M({},i,{value:void 0}),n=M({},n,{value:void 0}),s=[];break;case"textarea":i=ne(e,i),n=ne(e,n),s=[];break;default:"function"!==typeof i.onClick&&"function"===typeof n.onClick&&(e.onclick=Zn)}for(u in ve(r,n),r=null,i)if(!n.hasOwnProperty(u)&&i.hasOwnProperty(u)&&null!=i[u])if("style"===u){var c=i[u];for(o in c)c.hasOwnProperty(o)&&(r||(r={}),r[o]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(a.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in n){var l=n[u];if(c=null!=i?i[u]:void 0,n.hasOwnProperty(u)&&l!==c&&(null!=l||null!=c))if("style"===u)if(c){for(o in c)!c.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(r||(r={}),r[o]="");for(o in l)l.hasOwnProperty(o)&&c[o]!==l[o]&&(r||(r={}),r[o]=l[o])}else r||(s||(s=[]),s.push(u,r)),r=l;else"dangerouslySetInnerHTML"===u?(l=l?l.__html:void 0,c=c?c.__html:void 0,null!=l&&c!==l&&(s=s||[]).push(u,l)):"children"===u?"string"!==typeof l&&"number"!==typeof l||(s=s||[]).push(u,""+l):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(a.hasOwnProperty(u)?(null!=l&&"onScroll"===u&&Fn("scroll",e),s||c===l||(s=[])):(s=s||[]).push(u,l))}r&&(s=s||[]).push("style",r);var u=s;(t.updateQueue=u)&&(t.flags|=4)}},xa=function(e,t,r,n){r!==n&&(t.flags|=4)};var Ya=!1,Xa=!1,Ja="function"===typeof WeakSet?WeakSet:Set,$a=null;function Za(e,t){var r=e.ref;if(null!==r)if("function"===typeof r)try{r(null)}catch(n){Al(e,t,n)}else r.current=null}function ec(e,t,r){try{r()}catch(n){Al(e,t,n)}}var tc=!1;function rc(e,t,r){var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var i=n=n.next;do{if((i.tag&e)===e){var o=i.destroy;i.destroy=void 0,void 0!==o&&ec(t,r,o)}i=i.next}while(i!==n)}}function nc(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function ic(e){var t=e.ref;if(null!==t){var r=e.stateNode;e.tag,e=r,"function"===typeof t?t(e):t.current=e}}function oc(e){var t=e.alternate;null!==t&&(e.alternate=null,oc(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[di],delete t[pi],delete t[gi],delete t[yi],delete t[mi])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function sc(e){return 5===e.tag||3===e.tag||4===e.tag}function ac(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||sc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cc(e,t,r){var n=e.tag;if(5===n||6===n)e=e.stateNode,t?8===r.nodeType?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(8===r.nodeType?(t=r.parentNode).insertBefore(e,r):(t=r).appendChild(e),null!==(r=r._reactRootContainer)&&void 0!==r||null!==t.onclick||(t.onclick=Zn));else if(4!==n&&null!==(e=e.child))for(cc(e,t,r),e=e.sibling;null!==e;)cc(e,t,r),e=e.sibling}function lc(e,t,r){var n=e.tag;if(5===n||6===n)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(4!==n&&null!==(e=e.child))for(lc(e,t,r),e=e.sibling;null!==e;)lc(e,t,r),e=e.sibling}var uc=null,hc=!1;function dc(e,t,r){for(r=r.child;null!==r;)pc(e,t,r),r=r.sibling}function pc(e,t,r){if(ot&&"function"===typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(it,r)}catch(a){}switch(r.tag){case 5:Xa||Za(r,t);case 6:var n=uc,i=hc;uc=null,dc(e,t,r),hc=i,null!==(uc=n)&&(hc?(e=uc,r=r.stateNode,8===e.nodeType?e.parentNode.removeChild(r):e.removeChild(r)):uc.removeChild(r.stateNode));break;case 18:null!==uc&&(hc?(e=uc,r=r.stateNode,8===e.nodeType?ci(e.parentNode,r):1===e.nodeType&&ci(e,r),zt(e)):ci(uc,r.stateNode));break;case 4:n=uc,i=hc,uc=r.stateNode.containerInfo,hc=!0,dc(e,t,r),uc=n,hc=i;break;case 0:case 11:case 14:case 15:if(!Xa&&(null!==(n=r.updateQueue)&&null!==(n=n.lastEffect))){i=n=n.next;do{var o=i,s=o.destroy;o=o.tag,void 0!==s&&(0!==(2&o)||0!==(4&o))&&ec(r,t,s),i=i.next}while(i!==n)}dc(e,t,r);break;case 1:if(!Xa&&(Za(r,t),"function"===typeof(n=r.stateNode).componentWillUnmount))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(a){Al(r,t,a)}dc(e,t,r);break;case 21:dc(e,t,r);break;case 22:1&r.mode?(Xa=(n=Xa)||null!==r.memoizedState,dc(e,t,r),Xa=n):dc(e,t,r);break;default:dc(e,t,r)}}function fc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var r=e.stateNode;null===r&&(r=e.stateNode=new Ja),t.forEach((function(t){var n=kl.bind(null,e,t);r.has(t)||(r.add(t),t.then(n,n))}))}}function gc(e,t){var r=t.deletions;if(null!==r)for(var n=0;n<r.length;n++){var i=r[n];try{var s=e,a=t,c=a;e:for(;null!==c;){switch(c.tag){case 5:uc=c.stateNode,hc=!1;break e;case 3:case 4:uc=c.stateNode.containerInfo,hc=!0;break e}c=c.return}if(null===uc)throw Error(o(160));pc(s,a,i),uc=null,hc=!1;var l=i.alternate;null!==l&&(l.return=null),i.return=null}catch(u){Al(i,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)yc(t,e),t=t.sibling}function yc(e,t){var r=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(gc(t,e),mc(e),4&n){try{rc(3,e,e.return),nc(3,e)}catch(y){Al(e,e.return,y)}try{rc(5,e,e.return)}catch(y){Al(e,e.return,y)}}break;case 1:gc(t,e),mc(e),512&n&&null!==r&&Za(r,r.return);break;case 5:if(gc(t,e),mc(e),512&n&&null!==r&&Za(r,r.return),32&e.flags){var i=e.stateNode;try{de(i,"")}catch(y){Al(e,e.return,y)}}if(4&n&&null!=(i=e.stateNode)){var s=e.memoizedProps,a=null!==r?r.memoizedProps:s,c=e.type,l=e.updateQueue;if(e.updateQueue=null,null!==l)try{"input"===c&&"radio"===s.type&&null!=s.name&&J(i,s),be(c,a);var u=be(c,s);for(a=0;a<l.length;a+=2){var h=l[a],d=l[a+1];"style"===h?ye(i,d):"dangerouslySetInnerHTML"===h?he(i,d):"children"===h?de(i,d):b(i,h,d,u)}switch(c){case"input":$(i,s);break;case"textarea":oe(i,s);break;case"select":var p=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!s.multiple;var f=s.value;null!=f?re(i,!!s.multiple,f,!1):p!==!!s.multiple&&(null!=s.defaultValue?re(i,!!s.multiple,s.defaultValue,!0):re(i,!!s.multiple,s.multiple?[]:"",!1))}i[pi]=s}catch(y){Al(e,e.return,y)}}break;case 6:if(gc(t,e),mc(e),4&n){if(null===e.stateNode)throw Error(o(162));i=e.stateNode,s=e.memoizedProps;try{i.nodeValue=s}catch(y){Al(e,e.return,y)}}break;case 3:if(gc(t,e),mc(e),4&n&&null!==r&&r.memoizedState.isDehydrated)try{zt(t.containerInfo)}catch(y){Al(e,e.return,y)}break;case 4:default:gc(t,e),mc(e);break;case 13:gc(t,e),mc(e),8192&(i=e.child).flags&&(s=null!==i.memoizedState,i.stateNode.isHidden=s,!s||null!==i.alternate&&null!==i.alternate.memoizedState||(jc=Je())),4&n&&fc(e);break;case 22:if(h=null!==r&&null!==r.memoizedState,1&e.mode?(Xa=(u=Xa)||h,gc(t,e),Xa=u):gc(t,e),mc(e),8192&n){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!h&&0!==(1&e.mode))for($a=e,h=e.child;null!==h;){for(d=$a=h;null!==$a;){switch(f=(p=$a).child,p.tag){case 0:case 11:case 14:case 15:rc(4,p,p.return);break;case 1:Za(p,p.return);var g=p.stateNode;if("function"===typeof g.componentWillUnmount){n=p,r=p.return;try{t=n,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(y){Al(n,r,y)}}break;case 5:Za(p,p.return);break;case 22:if(null!==p.memoizedState){Ec(d);continue}}null!==f?(f.return=p,$a=f):Ec(d)}h=h.sibling}e:for(h=null,d=e;;){if(5===d.tag){if(null===h){h=d;try{i=d.stateNode,u?"function"===typeof(s=i.style).setProperty?s.setProperty("display","none","important"):s.display="none":(c=d.stateNode,a=void 0!==(l=d.memoizedProps.style)&&null!==l&&l.hasOwnProperty("display")?l.display:null,c.style.display=ge("display",a))}catch(y){Al(e,e.return,y)}}}else if(6===d.tag){if(null===h)try{d.stateNode.nodeValue=u?"":d.memoizedProps}catch(y){Al(e,e.return,y)}}else if((22!==d.tag&&23!==d.tag||null===d.memoizedState||d===e)&&null!==d.child){d.child.return=d,d=d.child;continue}if(d===e)break e;for(;null===d.sibling;){if(null===d.return||d.return===e)break e;h===d&&(h=null),d=d.return}h===d&&(h=null),d.sibling.return=d.return,d=d.sibling}}break;case 19:gc(t,e),mc(e),4&n&&fc(e);case 21:}}function mc(e){var t=e.flags;if(2&t){try{e:{for(var r=e.return;null!==r;){if(sc(r)){var n=r;break e}r=r.return}throw Error(o(160))}switch(n.tag){case 5:var i=n.stateNode;32&n.flags&&(de(i,""),n.flags&=-33),lc(e,ac(e),i);break;case 3:case 4:var s=n.stateNode.containerInfo;cc(e,ac(e),s);break;default:throw Error(o(161))}}catch(a){Al(e,e.return,a)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vc(e,t,r){$a=e,bc(e,t,r)}function bc(e,t,r){for(var n=0!==(1&e.mode);null!==$a;){var i=$a,o=i.child;if(22===i.tag&&n){var s=null!==i.memoizedState||Ya;if(!s){var a=i.alternate,c=null!==a&&null!==a.memoizedState||Xa;a=Ya;var l=Xa;if(Ya=s,(Xa=c)&&!l)for($a=i;null!==$a;)c=(s=$a).child,22===s.tag&&null!==s.memoizedState?_c(i):null!==c?(c.return=s,$a=c):_c(i);for(;null!==o;)$a=o,bc(o,t,r),o=o.sibling;$a=i,Ya=a,Xa=l}wc(e)}else 0!==(8772&i.subtreeFlags)&&null!==o?(o.return=i,$a=o):wc(e)}}function wc(e){for(;null!==$a;){var t=$a;if(0!==(8772&t.flags)){var r=t.alternate;try{if(0!==(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Xa||nc(5,t);break;case 1:var n=t.stateNode;if(4&t.flags&&!Xa)if(null===r)n.componentDidMount();else{var i=t.elementType===t.type?r.memoizedProps:mo(t.type,r.memoizedProps);n.componentDidUpdate(i,r.memoizedState,n.__reactInternalSnapshotBeforeUpdate)}var s=t.updateQueue;null!==s&&Fo(t,s,n);break;case 3:var a=t.updateQueue;if(null!==a){if(r=null,null!==t.child)switch(t.child.tag){case 5:case 1:r=t.child.stateNode}Fo(t,a,r)}break;case 5:var c=t.stateNode;if(null===r&&4&t.flags){r=c;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&r.focus();break;case"img":l.src&&(r.src=l.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var h=u.memoizedState;if(null!==h){var d=h.dehydrated;null!==d&&zt(d)}}}break;default:throw Error(o(163))}Xa||512&t.flags&&ic(t)}catch(p){Al(t,t.return,p)}}if(t===e){$a=null;break}if(null!==(r=t.sibling)){r.return=t.return,$a=r;break}$a=t.return}}function Ec(e){for(;null!==$a;){var t=$a;if(t===e){$a=null;break}var r=t.sibling;if(null!==r){r.return=t.return,$a=r;break}$a=t.return}}function _c(e){for(;null!==$a;){var t=$a;try{switch(t.tag){case 0:case 11:case 15:var r=t.return;try{nc(4,t)}catch(c){Al(t,r,c)}break;case 1:var n=t.stateNode;if("function"===typeof n.componentDidMount){var i=t.return;try{n.componentDidMount()}catch(c){Al(t,i,c)}}var o=t.return;try{ic(t)}catch(c){Al(t,o,c)}break;case 5:var s=t.return;try{ic(t)}catch(c){Al(t,s,c)}}}catch(c){Al(t,t.return,c)}if(t===e){$a=null;break}var a=t.sibling;if(null!==a){a.return=t.return,$a=a;break}$a=t.return}}var Sc,Ac=Math.ceil,Cc=w.ReactCurrentDispatcher,Ic=w.ReactCurrentOwner,Tc=w.ReactCurrentBatchConfig,kc=0,Rc=null,Pc=null,Dc=0,Nc=0,Lc=Ai(0),xc=0,Oc=null,Bc=0,Mc=0,Uc=0,Fc=null,Vc=null,jc=0,zc=1/0,Kc=null,qc=!1,Hc=null,Gc=null,Wc=!1,Qc=null,Yc=0,Xc=0,Jc=null,$c=-1,Zc=0;function el(){return 0!==(6&kc)?Je():-1!==$c?$c:$c=Je()}function tl(e){return 0===(1&e.mode)?1:0!==(2&kc)&&0!==Dc?Dc&-Dc:null!==yo.transition?(0===Zc&&(Zc=gt()),Zc):0!==(e=bt)?e:e=void 0===(e=window.event)?16:Xt(e.type)}function rl(e,t,r,n){if(50<Xc)throw Xc=0,Jc=null,Error(o(185));mt(e,r,n),0!==(2&kc)&&e===Rc||(e===Rc&&(0===(2&kc)&&(Mc|=r),4===xc&&al(e,Dc)),nl(e,n),1===r&&0===kc&&0===(1&t.mode)&&(zc=Je()+500,Fi&&zi()))}function nl(e,t){var r=e.callbackNode;!function(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,i=e.expirationTimes,o=e.pendingLanes;0<o;){var s=31-st(o),a=1<<s,c=i[s];-1===c?0!==(a&r)&&0===(a&n)||(i[s]=pt(a,t)):c<=t&&(e.expiredLanes|=a),o&=~a}}(e,t);var n=dt(e,e===Rc?Dc:0);if(0===n)null!==r&&Qe(r),e.callbackNode=null,e.callbackPriority=0;else if(t=n&-n,e.callbackPriority!==t){if(null!=r&&Qe(r),1===t)0===e.tag?function(e){Fi=!0,ji(e)}(cl.bind(null,e)):ji(cl.bind(null,e)),si((function(){0===(6&kc)&&zi()})),r=null;else{switch(wt(n)){case 1:r=Ze;break;case 4:r=et;break;case 16:default:r=tt;break;case 536870912:r=nt}r=Rl(r,il.bind(null,e))}e.callbackPriority=t,e.callbackNode=r}}function il(e,t){if($c=-1,Zc=0,0!==(6&kc))throw Error(o(327));var r=e.callbackNode;if(_l()&&e.callbackNode!==r)return null;var n=dt(e,e===Rc?Dc:0);if(0===n)return null;if(0!==(30&n)||0!==(n&e.expiredLanes)||t)t=yl(e,n);else{t=n;var i=kc;kc|=2;var s=fl();for(Rc===e&&Dc===t||(Kc=null,zc=Je()+500,dl(e,t));;)try{vl();break}catch(c){pl(e,c)}_o(),Cc.current=s,kc=i,null!==Pc?t=0:(Rc=null,Dc=0,t=xc)}if(0!==t){if(2===t&&(0!==(i=ft(e))&&(n=i,t=ol(e,i))),1===t)throw r=Oc,dl(e,0),al(e,n),nl(e,Je()),r;if(6===t)al(e,n);else{if(i=e.current.alternate,0===(30&n)&&!function(e){for(var t=e;;){if(16384&t.flags){var r=t.updateQueue;if(null!==r&&null!==(r=r.stores))for(var n=0;n<r.length;n++){var i=r[n],o=i.getSnapshot;i=i.value;try{if(!an(o(),i))return!1}catch(a){return!1}}}if(r=t.child,16384&t.subtreeFlags&&null!==r)r.return=t,t=r;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(i)&&(2===(t=yl(e,n))&&(0!==(s=ft(e))&&(n=s,t=ol(e,s))),1===t))throw r=Oc,dl(e,0),al(e,n),nl(e,Je()),r;switch(e.finishedWork=i,e.finishedLanes=n,t){case 0:case 1:throw Error(o(345));case 2:case 5:El(e,Vc,Kc);break;case 3:if(al(e,n),(130023424&n)===n&&10<(t=jc+500-Je())){if(0!==dt(e,0))break;if(((i=e.suspendedLanes)&n)!==n){el(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=ni(El.bind(null,e,Vc,Kc),t);break}El(e,Vc,Kc);break;case 4:if(al(e,n),(4194240&n)===n)break;for(t=e.eventTimes,i=-1;0<n;){var a=31-st(n);s=1<<a,(a=t[a])>i&&(i=a),n&=~s}if(n=i,10<(n=(120>(n=Je()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Ac(n/1960))-n)){e.timeoutHandle=ni(El.bind(null,e,Vc,Kc),n);break}El(e,Vc,Kc);break;default:throw Error(o(329))}}}return nl(e,Je()),e.callbackNode===r?il.bind(null,e):null}function ol(e,t){var r=Fc;return e.current.memoizedState.isDehydrated&&(dl(e,t).flags|=256),2!==(e=yl(e,t))&&(t=Vc,Vc=r,null!==t&&sl(t)),e}function sl(e){null===Vc?Vc=e:Vc.push.apply(Vc,e)}function al(e,t){for(t&=~Uc,t&=~Mc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var r=31-st(t),n=1<<r;e[r]=-1,t&=~n}}function cl(e){if(0!==(6&kc))throw Error(o(327));_l();var t=dt(e,0);if(0===(1&t))return nl(e,Je()),null;var r=yl(e,t);if(0!==e.tag&&2===r){var n=ft(e);0!==n&&(t=n,r=ol(e,n))}if(1===r)throw r=Oc,dl(e,0),al(e,t),nl(e,Je()),r;if(6===r)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,El(e,Vc,Kc),nl(e,Je()),null}function ll(e,t){var r=kc;kc|=1;try{return e(t)}finally{0===(kc=r)&&(zc=Je()+500,Fi&&zi())}}function ul(e){null!==Qc&&0===Qc.tag&&0===(6&kc)&&_l();var t=kc;kc|=1;var r=Tc.transition,n=bt;try{if(Tc.transition=null,bt=1,e)return e()}finally{bt=n,Tc.transition=r,0===(6&(kc=t))&&zi()}}function hl(){Nc=Lc.current,Ci(Lc)}function dl(e,t){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(-1!==r&&(e.timeoutHandle=-1,ii(r)),null!==Pc)for(r=Pc.return;null!==r;){var n=r;switch(to(n),n.tag){case 1:null!==(n=n.type.childContextTypes)&&void 0!==n&&Li();break;case 3:os(),Ci(Ri),Ci(ki),hs();break;case 5:as(n);break;case 4:os();break;case 13:case 19:Ci(cs);break;case 10:So(n.type._context);break;case 22:case 23:hl()}r=r.return}if(Rc=e,Pc=e=Ll(e.current,null),Dc=Nc=t,xc=0,Oc=null,Uc=Mc=Bc=0,Vc=Fc=null,null!==To){for(t=0;t<To.length;t++)if(null!==(n=(r=To[t]).interleaved)){r.interleaved=null;var i=n.next,o=r.pending;if(null!==o){var s=o.next;o.next=i,n.next=s}r.pending=n}To=null}return e}function pl(e,t){for(;;){var r=Pc;try{if(_o(),ds.current=sa,vs){for(var n=gs.memoizedState;null!==n;){var i=n.queue;null!==i&&(i.pending=null),n=n.next}vs=!1}if(fs=0,ms=ys=gs=null,bs=!1,ws=0,Ic.current=null,null===r||null===r.return){xc=1,Oc=t,Pc=null;break}e:{var s=e,a=r.return,c=r,l=t;if(t=Dc,c.flags|=32768,null!==l&&"object"===typeof l&&"function"===typeof l.then){var u=l,h=c,d=h.tag;if(0===(1&h.mode)&&(0===d||11===d||15===d)){var p=h.alternate;p?(h.updateQueue=p.updateQueue,h.memoizedState=p.memoizedState,h.lanes=p.lanes):(h.updateQueue=null,h.memoizedState=null)}var f=ma(a);if(null!==f){f.flags&=-257,va(f,a,c,0,t),1&f.mode&&ya(s,u,t),l=u;var g=(t=f).updateQueue;if(null===g){var y=new Set;y.add(l),t.updateQueue=y}else g.add(l);break e}if(0===(1&t)){ya(s,u,t),gl();break e}l=Error(o(426))}else if(io&&1&c.mode){var m=ma(a);if(null!==m){0===(65536&m.flags)&&(m.flags|=256),va(m,a,c,0,t),go(ua(l,c));break e}}s=l=ua(l,c),4!==xc&&(xc=2),null===Fc?Fc=[s]:Fc.push(s),s=a;do{switch(s.tag){case 3:s.flags|=65536,t&=-t,s.lanes|=t,Mo(s,fa(0,l,t));break e;case 1:c=l;var v=s.type,b=s.stateNode;if(0===(128&s.flags)&&("function"===typeof v.getDerivedStateFromError||null!==b&&"function"===typeof b.componentDidCatch&&(null===Gc||!Gc.has(b)))){s.flags|=65536,t&=-t,s.lanes|=t,Mo(s,ga(s,c,t));break e}}s=s.return}while(null!==s)}wl(r)}catch(w){t=w,Pc===r&&null!==r&&(Pc=r=r.return);continue}break}}function fl(){var e=Cc.current;return Cc.current=sa,null===e?sa:e}function gl(){0!==xc&&3!==xc&&2!==xc||(xc=4),null===Rc||0===(268435455&Bc)&&0===(268435455&Mc)||al(Rc,Dc)}function yl(e,t){var r=kc;kc|=2;var n=fl();for(Rc===e&&Dc===t||(Kc=null,dl(e,t));;)try{ml();break}catch(i){pl(e,i)}if(_o(),kc=r,Cc.current=n,null!==Pc)throw Error(o(261));return Rc=null,Dc=0,xc}function ml(){for(;null!==Pc;)bl(Pc)}function vl(){for(;null!==Pc&&!Ye();)bl(Pc)}function bl(e){var t=Sc(e.alternate,e,Nc);e.memoizedProps=e.pendingProps,null===t?wl(e):Pc=t,Ic.current=null}function wl(e){var t=e;do{var r=t.alternate;if(e=t.return,0===(32768&t.flags)){if(null!==(r=Wa(r,t,Nc)))return void(Pc=r)}else{if(null!==(r=Qa(r,t)))return r.flags&=32767,void(Pc=r);if(null===e)return xc=6,void(Pc=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Pc=t);Pc=t=e}while(null!==t);0===xc&&(xc=5)}function El(e,t,r){var n=bt,i=Tc.transition;try{Tc.transition=null,bt=1,function(e,t,r,n){do{_l()}while(null!==Qc);if(0!==(6&kc))throw Error(o(327));r=e.finishedWork;var i=e.finishedLanes;if(null===r)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var s=r.lanes|r.childLanes;if(function(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0<r;){var i=31-st(r),o=1<<i;t[i]=0,n[i]=-1,e[i]=-1,r&=~o}}(e,s),e===Rc&&(Pc=Rc=null,Dc=0),0===(2064&r.subtreeFlags)&&0===(2064&r.flags)||Wc||(Wc=!0,Rl(tt,(function(){return _l(),null}))),s=0!==(15990&r.flags),0!==(15990&r.subtreeFlags)||s){s=Tc.transition,Tc.transition=null;var a=bt;bt=1;var c=kc;kc|=4,Ic.current=null,function(e,t){if(ei=qt,pn(e=dn())){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{var n=(r=(r=e.ownerDocument)&&r.defaultView||window).getSelection&&r.getSelection();if(n&&0!==n.rangeCount){r=n.anchorNode;var i=n.anchorOffset,s=n.focusNode;n=n.focusOffset;try{r.nodeType,s.nodeType}catch(E){r=null;break e}var a=0,c=-1,l=-1,u=0,h=0,d=e,p=null;t:for(;;){for(var f;d!==r||0!==i&&3!==d.nodeType||(c=a+i),d!==s||0!==n&&3!==d.nodeType||(l=a+n),3===d.nodeType&&(a+=d.nodeValue.length),null!==(f=d.firstChild);)p=d,d=f;for(;;){if(d===e)break t;if(p===r&&++u===i&&(c=a),p===s&&++h===n&&(l=a),null!==(f=d.nextSibling))break;p=(d=p).parentNode}d=f}r=-1===c||-1===l?null:{start:c,end:l}}else r=null}r=r||{start:0,end:0}}else r=null;for(ti={focusedElem:e,selectionRange:r},qt=!1,$a=t;null!==$a;)if(e=(t=$a).child,0!==(1028&t.subtreeFlags)&&null!==e)e.return=t,$a=e;else for(;null!==$a;){t=$a;try{var g=t.alternate;if(0!==(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var y=g.memoizedProps,m=g.memoizedState,v=t.stateNode,b=v.getSnapshotBeforeUpdate(t.elementType===t.type?y:mo(t.type,y),m);v.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(o(163))}}catch(E){Al(t,t.return,E)}if(null!==(e=t.sibling)){e.return=t.return,$a=e;break}$a=t.return}g=tc,tc=!1}(e,r),yc(r,e),fn(ti),qt=!!ei,ti=ei=null,e.current=r,vc(r,e,i),Xe(),kc=c,bt=a,Tc.transition=s}else e.current=r;if(Wc&&(Wc=!1,Qc=e,Yc=i),s=e.pendingLanes,0===s&&(Gc=null),function(e){if(ot&&"function"===typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(it,e,void 0,128===(128&e.current.flags))}catch(t){}}(r.stateNode),nl(e,Je()),null!==t)for(n=e.onRecoverableError,r=0;r<t.length;r++)i=t[r],n(i.value,{componentStack:i.stack,digest:i.digest});if(qc)throw qc=!1,e=Hc,Hc=null,e;0!==(1&Yc)&&0!==e.tag&&_l(),s=e.pendingLanes,0!==(1&s)?e===Jc?Xc++:(Xc=0,Jc=e):Xc=0,zi()}(e,t,r,n)}finally{Tc.transition=i,bt=n}return null}function _l(){if(null!==Qc){var e=wt(Yc),t=Tc.transition,r=bt;try{if(Tc.transition=null,bt=16>e?16:e,null===Qc)var n=!1;else{if(e=Qc,Qc=null,Yc=0,0!==(6&kc))throw Error(o(331));var i=kc;for(kc|=4,$a=e.current;null!==$a;){var s=$a,a=s.child;if(0!==(16&$a.flags)){var c=s.deletions;if(null!==c){for(var l=0;l<c.length;l++){var u=c[l];for($a=u;null!==$a;){var h=$a;switch(h.tag){case 0:case 11:case 15:rc(8,h,s)}var d=h.child;if(null!==d)d.return=h,$a=d;else for(;null!==$a;){var p=(h=$a).sibling,f=h.return;if(oc(h),h===u){$a=null;break}if(null!==p){p.return=f,$a=p;break}$a=f}}}var g=s.alternate;if(null!==g){var y=g.child;if(null!==y){g.child=null;do{var m=y.sibling;y.sibling=null,y=m}while(null!==y)}}$a=s}}if(0!==(2064&s.subtreeFlags)&&null!==a)a.return=s,$a=a;else e:for(;null!==$a;){if(0!==(2048&(s=$a).flags))switch(s.tag){case 0:case 11:case 15:rc(9,s,s.return)}var v=s.sibling;if(null!==v){v.return=s.return,$a=v;break e}$a=s.return}}var b=e.current;for($a=b;null!==$a;){var w=(a=$a).child;if(0!==(2064&a.subtreeFlags)&&null!==w)w.return=a,$a=w;else e:for(a=b;null!==$a;){if(0!==(2048&(c=$a).flags))try{switch(c.tag){case 0:case 11:case 15:nc(9,c)}}catch(_){Al(c,c.return,_)}if(c===a){$a=null;break e}var E=c.sibling;if(null!==E){E.return=c.return,$a=E;break e}$a=c.return}}if(kc=i,zi(),ot&&"function"===typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(it,e)}catch(_){}n=!0}return n}finally{bt=r,Tc.transition=t}}return!1}function Sl(e,t,r){e=Oo(e,t=fa(0,t=ua(r,t),1),1),t=el(),null!==e&&(mt(e,1,t),nl(e,t))}function Al(e,t,r){if(3===e.tag)Sl(e,e,r);else for(;null!==t;){if(3===t.tag){Sl(t,e,r);break}if(1===t.tag){var n=t.stateNode;if("function"===typeof t.type.getDerivedStateFromError||"function"===typeof n.componentDidCatch&&(null===Gc||!Gc.has(n))){t=Oo(t,e=ga(t,e=ua(r,e),1),1),e=el(),null!==t&&(mt(t,1,e),nl(t,e));break}}t=t.return}}function Cl(e,t,r){var n=e.pingCache;null!==n&&n.delete(t),t=el(),e.pingedLanes|=e.suspendedLanes&r,Rc===e&&(Dc&r)===r&&(4===xc||3===xc&&(130023424&Dc)===Dc&&500>Je()-jc?dl(e,0):Uc|=r),nl(e,t)}function Il(e,t){0===t&&(0===(1&e.mode)?t=1:(t=ut,0===(130023424&(ut<<=1))&&(ut=4194304)));var r=el();null!==(e=Po(e,t))&&(mt(e,t,r),nl(e,r))}function Tl(e){var t=e.memoizedState,r=0;null!==t&&(r=t.retryLane),Il(e,r)}function kl(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,i=e.memoizedState;null!==i&&(r=i.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(o(314))}null!==n&&n.delete(t),Il(e,r)}function Rl(e,t){return We(e,t)}function Pl(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dl(e,t,r,n){return new Pl(e,t,r,n)}function Nl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ll(e,t){var r=e.alternate;return null===r?((r=Dl(e.tag,t,e.key,e.mode)).elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=14680064&e.flags,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function xl(e,t,r,n,i,s){var a=2;if(n=e,"function"===typeof e)Nl(e)&&(a=1);else if("string"===typeof e)a=5;else e:switch(e){case S:return Ol(r.children,i,s,t);case A:a=8,i|=8;break;case C:return(e=Dl(12,r,t,2|i)).elementType=C,e.lanes=s,e;case R:return(e=Dl(13,r,t,i)).elementType=R,e.lanes=s,e;case P:return(e=Dl(19,r,t,i)).elementType=P,e.lanes=s,e;case L:return Bl(r,i,s,t);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case I:a=10;break e;case T:a=9;break e;case k:a=11;break e;case D:a=14;break e;case N:a=16,n=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Dl(a,r,t,i)).elementType=e,t.type=n,t.lanes=s,t}function Ol(e,t,r,n){return(e=Dl(7,e,n,t)).lanes=r,e}function Bl(e,t,r,n){return(e=Dl(22,e,n,t)).elementType=L,e.lanes=r,e.stateNode={isHidden:!1},e}function Ml(e,t,r){return(e=Dl(6,e,null,t)).lanes=r,e}function Ul(e,t,r){return(t=Dl(4,null!==e.children?e.children:[],e.key,t)).lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Fl(e,t,r,n,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=yt(0),this.expirationTimes=yt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=yt(0),this.identifierPrefix=n,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Vl(e,t,r,n,i,o,s,a,c){return e=new Fl(e,t,r,a,c),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Dl(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},No(o),e}function jl(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:_,key:null==n?null:""+n,children:e,containerInfo:t,implementation:r}}function zl(e){if(!e)return Ti;e:{if(ze(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ni(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var r=e.type;if(Ni(r))return Oi(e,r,t)}return t}function Kl(e,t,r,n,i,o,s,a,c){return(e=Vl(r,n,!0,e,0,o,0,a,c)).context=zl(null),r=e.current,(o=xo(n=el(),i=tl(r))).callback=void 0!==t&&null!==t?t:null,Oo(r,o,i),e.current.lanes=i,mt(e,i,n),nl(e,n),e}function ql(e,t,r,n){var i=t.current,o=el(),s=tl(i);return r=zl(r),null===t.context?t.context=r:t.pendingContext=r,(t=xo(o,s)).payload={element:e},null!==(n=void 0===n?null:n)&&(t.callback=n),null!==(e=Oo(i,t,s))&&(rl(e,i,s,o),Bo(e,i,s)),s}function Hl(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Gl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var r=e.retryLane;e.retryLane=0!==r&&r<t?r:t}}function Wl(e,t){Gl(e,t),(e=e.alternate)&&Gl(e,t)}Sc=function(e,t,r){if(null!==e)if(e.memoizedProps!==t.pendingProps||Ri.current)wa=!0;else{if(0===(e.lanes&r)&&0===(128&t.flags))return wa=!1,function(e,t,r){switch(t.tag){case 3:Pa(t),fo();break;case 5:ss(t);break;case 1:Ni(t.type)&&Bi(t);break;case 4:is(t,t.stateNode.containerInfo);break;case 10:var n=t.type._context,i=t.memoizedProps.value;Ii(vo,n._currentValue),n._currentValue=i;break;case 13:if(null!==(n=t.memoizedState))return null!==n.dehydrated?(Ii(cs,1&cs.current),t.flags|=128,null):0!==(r&t.child.childLanes)?Ma(e,t,r):(Ii(cs,1&cs.current),null!==(e=qa(e,t,r))?e.sibling:null);Ii(cs,1&cs.current);break;case 19:if(n=0!==(r&t.childLanes),0!==(128&e.flags)){if(n)return za(e,t,r);t.flags|=128}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null,i.lastEffect=null),Ii(cs,cs.current),n)break;return null;case 22:case 23:return t.lanes=0,Ca(e,t,r)}return qa(e,t,r)}(e,t,r);wa=0!==(131072&e.flags)}else wa=!1,io&&0!==(1048576&t.flags)&&Zi(t,Gi,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;Ka(e,t),e=t.pendingProps;var i=Di(t,ki.current);Co(t,r),i=As(null,t,n,e,i,r);var s=Cs();return t.flags|=1,"object"===typeof i&&null!==i&&"function"===typeof i.render&&void 0===i.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ni(n)?(s=!0,Bi(t)):s=!1,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,No(t),i.updater=zo,t.stateNode=i,i._reactInternals=t,Go(t,n,e,r),t=Ra(null,t,n,!0,s,r)):(t.tag=0,io&&s&&eo(t),Ea(null,t,i,r),t=t.child),t;case 16:n=t.elementType;e:{switch(Ka(e,t),e=t.pendingProps,n=(i=n._init)(n._payload),t.type=n,i=t.tag=function(e){if("function"===typeof e)return Nl(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===k)return 11;if(e===D)return 14}return 2}(n),e=mo(n,e),i){case 0:t=Ta(null,t,n,e,r);break e;case 1:t=ka(null,t,n,e,r);break e;case 11:t=_a(null,t,n,e,r);break e;case 14:t=Sa(null,t,n,mo(n.type,e),r);break e}throw Error(o(306,n,""))}return t;case 0:return n=t.type,i=t.pendingProps,Ta(e,t,n,i=t.elementType===n?i:mo(n,i),r);case 1:return n=t.type,i=t.pendingProps,ka(e,t,n,i=t.elementType===n?i:mo(n,i),r);case 3:e:{if(Pa(t),null===e)throw Error(o(387));n=t.pendingProps,i=(s=t.memoizedState).element,Lo(e,t),Uo(t,n,null,r);var a=t.memoizedState;if(n=a.element,s.isDehydrated){if(s={element:n,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=s,t.memoizedState=s,256&t.flags){t=Da(e,t,n,r,i=ua(Error(o(423)),t));break e}if(n!==i){t=Da(e,t,n,r,i=ua(Error(o(424)),t));break e}for(no=li(t.stateNode.containerInfo.firstChild),ro=t,io=!0,oo=null,r=$o(t,null,n,r),t.child=r;r;)r.flags=-3&r.flags|4096,r=r.sibling}else{if(fo(),n===i){t=qa(e,t,r);break e}Ea(e,t,n,r)}t=t.child}return t;case 5:return ss(t),null===e&&lo(t),n=t.type,i=t.pendingProps,s=null!==e?e.memoizedProps:null,a=i.children,ri(n,i)?a=null:null!==s&&ri(n,s)&&(t.flags|=32),Ia(e,t),Ea(e,t,a,r),t.child;case 6:return null===e&&lo(t),null;case 13:return Ma(e,t,r);case 4:return is(t,t.stateNode.containerInfo),n=t.pendingProps,null===e?t.child=Jo(t,null,n,r):Ea(e,t,n,r),t.child;case 11:return n=t.type,i=t.pendingProps,_a(e,t,n,i=t.elementType===n?i:mo(n,i),r);case 7:return Ea(e,t,t.pendingProps,r),t.child;case 8:case 12:return Ea(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,i=t.pendingProps,s=t.memoizedProps,a=i.value,Ii(vo,n._currentValue),n._currentValue=a,null!==s)if(an(s.value,a)){if(s.children===i.children&&!Ri.current){t=qa(e,t,r);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var c=s.dependencies;if(null!==c){a=s.child;for(var l=c.firstContext;null!==l;){if(l.context===n){if(1===s.tag){(l=xo(-1,r&-r)).tag=2;var u=s.updateQueue;if(null!==u){var h=(u=u.shared).pending;null===h?l.next=l:(l.next=h.next,h.next=l),u.pending=l}}s.lanes|=r,null!==(l=s.alternate)&&(l.lanes|=r),Ao(s.return,r,t),c.lanes|=r;break}l=l.next}}else if(10===s.tag)a=s.type===t.type?null:s.child;else if(18===s.tag){if(null===(a=s.return))throw Error(o(341));a.lanes|=r,null!==(c=a.alternate)&&(c.lanes|=r),Ao(a,r,t),a=s.sibling}else a=s.child;if(null!==a)a.return=s;else for(a=s;null!==a;){if(a===t){a=null;break}if(null!==(s=a.sibling)){s.return=a.return,a=s;break}a=a.return}s=a}Ea(e,t,i.children,r),t=t.child}return t;case 9:return i=t.type,n=t.pendingProps.children,Co(t,r),n=n(i=Io(i)),t.flags|=1,Ea(e,t,n,r),t.child;case 14:return i=mo(n=t.type,t.pendingProps),Sa(e,t,n,i=mo(n.type,i),r);case 15:return Aa(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,i=t.pendingProps,i=t.elementType===n?i:mo(n,i),Ka(e,t),t.tag=1,Ni(n)?(e=!0,Bi(t)):e=!1,Co(t,r),qo(t,n,i),Go(t,n,i,r),Ra(null,t,n,!0,e,r);case 19:return za(e,t,r);case 22:return Ca(e,t,r)}throw Error(o(156,t.tag))};var Ql="function"===typeof reportError?reportError:function(e){console.error(e)};function Yl(e){this._internalRoot=e}function Xl(e){this._internalRoot=e}function Jl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function $l(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Zl(){}function eu(e,t,r,n,i){var o=r._reactRootContainer;if(o){var s=o;if("function"===typeof i){var a=i;i=function(){var e=Hl(s);a.call(e)}}ql(t,s,e,i)}else s=function(e,t,r,n,i){if(i){if("function"===typeof n){var o=n;n=function(){var e=Hl(s);o.call(e)}}var s=Kl(t,n,e,0,null,!1,0,"",Zl);return e._reactRootContainer=s,e[fi]=s.current,zn(8===e.nodeType?e.parentNode:e),ul(),s}for(;i=e.lastChild;)e.removeChild(i);if("function"===typeof n){var a=n;n=function(){var e=Hl(c);a.call(e)}}var c=Vl(e,0,!1,null,0,!1,0,"",Zl);return e._reactRootContainer=c,e[fi]=c.current,zn(8===e.nodeType?e.parentNode:e),ul((function(){ql(t,c,r,n)})),c}(r,t,e,i,n);return Hl(s)}Xl.prototype.render=Yl.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));ql(e,t,null,null)},Xl.prototype.unmount=Yl.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;ul((function(){ql(null,e,null,null)})),t[fi]=null}},Xl.prototype.unstable_scheduleHydration=function(e){if(e){var t=At();e={blockedOn:null,target:e,priority:t};for(var r=0;r<Lt.length&&0!==t&&t<Lt[r].priority;r++);Lt.splice(r,0,e),0===r&&Mt(e)}},Et=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var r=ht(t.pendingLanes);0!==r&&(vt(t,1|r),nl(t,Je()),0===(6&kc)&&(zc=Je()+500,zi()))}break;case 13:ul((function(){var t=Po(e,1);if(null!==t){var r=el();rl(t,e,1,r)}})),Wl(e,1)}},_t=function(e){if(13===e.tag){var t=Po(e,134217728);if(null!==t)rl(t,e,134217728,el());Wl(e,134217728)}},St=function(e){if(13===e.tag){var t=tl(e),r=Po(e,t);if(null!==r)rl(r,e,t,el());Wl(e,t)}},At=function(){return bt},Ct=function(e,t){var r=bt;try{return bt=e,t()}finally{bt=r}},_e=function(e,t,r){switch(t){case"input":if($(e,r),t=r.name,"radio"===r.type&&null!=t){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<r.length;t++){var n=r[t];if(n!==e&&n.form===e.form){var i=Ei(n);if(!i)throw Error(o(90));W(n),$(n,i)}}}break;case"textarea":oe(e,r);break;case"select":null!=(t=r.value)&&re(e,!!r.multiple,t,!1)}},ke=ll,Re=ul;var tu={usingClientEntryPoint:!1,Events:[bi,wi,Ei,Ie,Te,ll]},ru={findFiberByHostInstance:vi,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},nu={bundleType:ru.bundleType,version:ru.version,rendererPackageName:ru.rendererPackageName,rendererConfig:ru.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=He(e))?null:e.stateNode},findFiberByHostInstance:ru.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var iu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!iu.isDisabled&&iu.supportsFiber)try{it=iu.inject(nu),ot=iu}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tu,t.createPortal=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Jl(t))throw Error(o(200));return jl(e,t,null,r)},t.createRoot=function(e,t){if(!Jl(e))throw Error(o(299));var r=!1,n="",i=Ql;return null!==t&&void 0!==t&&(!0===t.unstable_strictMode&&(r=!0),void 0!==t.identifierPrefix&&(n=t.identifierPrefix),void 0!==t.onRecoverableError&&(i=t.onRecoverableError)),t=Vl(e,1,!1,null,0,r,0,n,i),e[fi]=t.current,zn(8===e.nodeType?e.parentNode:e),new Yl(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(","),Error(o(268,e))}return e=null===(e=He(t))?null:e.stateNode},t.flushSync=function(e){return ul(e)},t.hydrate=function(e,t,r){if(!$l(t))throw Error(o(200));return eu(null,e,t,!0,r)},t.hydrateRoot=function(e,t,r){if(!Jl(e))throw Error(o(405));var n=null!=r&&r.hydratedSources||null,i=!1,s="",a=Ql;if(null!==r&&void 0!==r&&(!0===r.unstable_strictMode&&(i=!0),void 0!==r.identifierPrefix&&(s=r.identifierPrefix),void 0!==r.onRecoverableError&&(a=r.onRecoverableError)),t=Kl(t,null,e,1,null!=r?r:null,i,0,s,a),e[fi]=t.current,zn(e),n)for(e=0;e<n.length;e++)i=(i=(r=n[e])._getVersion)(r._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[r,i]:t.mutableSourceEagerHydrationData.push(r,i);return new Xl(t)},t.render=function(e,t,r){if(!$l(t))throw Error(o(200));return eu(null,e,t,!1,r)},t.unmountComponentAtNode=function(e){if(!$l(e))throw Error(o(40));return!!e._reactRootContainer&&(ul((function(){eu(null,null,e,!1,(function(){e._reactRootContainer=null,e[fi]=null}))})),!0)},t.unstable_batchedUpdates=ll,t.unstable_renderSubtreeIntoContainer=function(e,t,r,n){if(!$l(r))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return eu(e,t,r,!1,n)},t.version="18.2.0-next-9e3b772b8-20220608"},1739:(e,t,r)=>{"use strict";var n=r(1168);t.createRoot=n.createRoot,t.hydrateRoot=n.hydrateRoot},1168:(e,t,r)=>{"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=r(534)},5918:(e,t,r)=>{"use strict";var n=r(7313),i=Symbol.for("react.element"),o=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,a=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(e,t,r){var n,o={},l=null,u=null;for(n in void 0!==r&&(l=""+r),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(u=t.ref),t)s.call(t,n)&&!c.hasOwnProperty(n)&&(o[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===o[n]&&(o[n]=t[n]);return{$$typeof:i,type:e,key:l,ref:u,props:o,_owner:a.current}}t.jsx=l,t.jsxs=l},306:(e,t)=>{"use strict";var r=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),p=Symbol.iterator;var f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,y={};function m(e,t,r){this.props=e,this.context=t,this.refs=y,this.updater=r||f}function v(){}function b(e,t,r){this.props=e,this.context=t,this.refs=y,this.updater=r||f}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=m.prototype;var w=b.prototype=new v;w.constructor=b,g(w,m.prototype),w.isPureReactComponent=!0;var E=Array.isArray,_=Object.prototype.hasOwnProperty,S={current:null},A={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,n){var i,o={},s=null,a=null;if(null!=t)for(i in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(s=""+t.key),t)_.call(t,i)&&!A.hasOwnProperty(i)&&(o[i]=t[i]);var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];o.children=l}if(e&&e.defaultProps)for(i in c=e.defaultProps)void 0===o[i]&&(o[i]=c[i]);return{$$typeof:r,type:e,key:s,ref:a,props:o,_owner:S.current}}function I(e){return"object"===typeof e&&null!==e&&e.$$typeof===r}var T=/\/+/g;function k(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function R(e,t,i,o,s){var a=typeof e;"undefined"!==a&&"boolean"!==a||(e=null);var c=!1;if(null===e)c=!0;else switch(a){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case r:case n:c=!0}}if(c)return s=s(c=e),e=""===o?"."+k(c,0):o,E(s)?(i="",null!=e&&(i=e.replace(T,"$&/")+"/"),R(s,t,i,"",(function(e){return e}))):null!=s&&(I(s)&&(s=function(e,t){return{$$typeof:r,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(s,i+(!s.key||c&&c.key===s.key?"":(""+s.key).replace(T,"$&/")+"/")+e)),t.push(s)),1;if(c=0,o=""===o?".":o+":",E(e))for(var l=0;l<e.length;l++){var u=o+k(a=e[l],l);c+=R(a,t,i,u,s)}else if(u=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"===typeof u)for(e=u.call(e),l=0;!(a=e.next()).done;)c+=R(a=a.value,t,i,u=o+k(a,l++),s);else if("object"===a)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function P(e,t,r){if(null==e)return e;var n=[],i=0;return R(e,n,"","",(function(e){return t.call(r,e,i++)})),n}function D(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var N={current:null},L={transition:null},x={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:L,ReactCurrentOwner:S};t.Children={map:P,forEach:function(e,t,r){P(e,(function(){t.apply(this,arguments)}),r)},count:function(e){var t=0;return P(e,(function(){t++})),t},toArray:function(e){return P(e,(function(e){return e}))||[]},only:function(e){if(!I(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=m,t.Fragment=i,t.Profiler=s,t.PureComponent=b,t.StrictMode=o,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=x,t.cloneElement=function(e,t,n){if(null===e||void 0===e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var i=g({},e.props),o=e.key,s=e.ref,a=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,a=S.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in t)_.call(t,l)&&!A.hasOwnProperty(l)&&(i[l]=void 0===t[l]&&void 0!==c?c[l]:t[l])}var l=arguments.length-2;if(1===l)i.children=n;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];i.children=c}return{$$typeof:r,type:e.type,key:o,ref:s,props:i,_owner:a}},t.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=I,t.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:D}},t.memo=function(e,t){return{$$typeof:h,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=L.transition;L.transition={};try{e()}finally{L.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return N.current.useCallback(e,t)},t.useContext=function(e){return N.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return N.current.useDeferredValue(e)},t.useEffect=function(e,t){return N.current.useEffect(e,t)},t.useId=function(){return N.current.useId()},t.useImperativeHandle=function(e,t,r){return N.current.useImperativeHandle(e,t,r)},t.useInsertionEffect=function(e,t){return N.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return N.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return N.current.useMemo(e,t)},t.useReducer=function(e,t,r){return N.current.useReducer(e,t,r)},t.useRef=function(e){return N.current.useRef(e)},t.useState=function(e){return N.current.useState(e)},t.useSyncExternalStore=function(e,t,r){return N.current.useSyncExternalStore(e,t,r)},t.useTransition=function(){return N.current.useTransition()},t.version="18.2.0"},7313:(e,t,r)=>{"use strict";e.exports=r(306)},6417:(e,t,r)=>{"use strict";e.exports=r(5918)},7326:(e,t,r)=>{"use strict";e.exports=s;var n=r(5187),i=s.prototype,o=new Date%1e9;function s(e){e=e||{},this.id=e.id||(1e9*Math.random()>>>0)+o++,this.max=e.max||1/0,this.items=e.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(e.lastModified||new Date);for(var t,r,n=this.items.length;n--;)t=this.items[n],r=new Date(t.expires)-new Date,this._lookup[t.key]=t,r>0?this.expire(t.key,r):r<=0&&this.delete(t.key)}i.has=function(e){return e in this._lookup},i.get=function(e){if(!this.has(e))return null;var t=this._lookup[e];return t.refresh&&this.expire(e,t.refresh),this.items.splice(this.items.indexOf(t),1),this.items.push(t),t.value},i.meta=function(e){if(!this.has(e))return null;var t=this._lookup[e];return"meta"in t?t.meta:null},i.set=function(e,t,r){var n=this._lookup[e],i=this._lookup[e]={key:e,value:t};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(e,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this},i.delete=function(e){var t=this._lookup[e];return!!t&&(this.lastModified=new Date,this.items.splice(this.items.indexOf(t),1),clearTimeout(t.timeout),delete this._lookup[e],this.size--,this)},i.expire=function(e,t){var r=t||0,i=this._lookup[e];if(!i)return this;if("string"===typeof r&&(r=n(t)),"number"!==typeof r)throw new TypeError("Expiration time must be a string or number.");return clearTimeout(i.timeout),i.timeout=setTimeout(this.delete.bind(this,i.key),r),i.expires=Number(new Date)+r,this},i.clear=function(){for(var e=this.items.length;e--;)this.delete(this.items[e].key);return this},i.toJSON=function(){for(var e,t=new Array(this.items.length),r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}},9965:(e,t,r)=>{"use strict";const n=r(3835);class i{constructor(e,t,r){const i=this;this._started=n(),this._rescheduled=0,this._scheduled=t,this._args=r,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(n()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,e.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,t)}reschedule(e){e||(e=this._scheduled);const t=n();t+e-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(e)):this._triggered?this._schedule(e):(this._started=t,this._rescheduled=e)}_schedule(e){this._triggered=!1,this._started=n(),this._rescheduled=0,this._scheduled=e,this._timer=setTimeout(this._timerWrapper,e)}clear(){clearTimeout(this._timer)}}e.exports=function(){if("function"!==typeof arguments[0])throw new Error("callback needed");if("number"!==typeof arguments[1])throw new Error("timeout needed");let e;if(arguments.length>0){e=new Array(arguments.length-2);for(var t=0;t<e.length;t++)e[t]=arguments[t+2]}return new i(arguments[0],arguments[1],e)}},3835:e=>{"use strict";e.exports=function(){return Date.now()}},9593:(e,t,r)=>{"use strict";var n=r(7540),i=/[\/\?<>\\:\*\|"]/g,o=/[\x00-\x1f\x80-\x9f]/g,s=/^\.+$/,a=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,c=/[\. ]+$/;function l(e,t){if("string"!==typeof e)throw new Error("Input must be string");var r=e.replace(i,t).replace(o,t).replace(s,t).replace(a,t).replace(c,t);return n(r,255)}e.exports=function(e,t){var r=t&&t.replacement||"",n=l(e,r);return""===r?n:l(n,"")}},3095:(e,t)=>{"use strict";function r(e,t){var r=e.length;e.push(t);e:for(;0<r;){var n=r-1>>>1,i=e[n];if(!(0<o(i,t)))break e;e[n]=t,e[r]=i,r=n}}function n(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],r=e.pop();if(r!==t){e[0]=r;e:for(var n=0,i=e.length,s=i>>>1;n<s;){var a=2*(n+1)-1,c=e[a],l=a+1,u=e[l];if(0>o(c,r))l<i&&0>o(u,c)?(e[n]=u,e[l]=r,n=l):(e[n]=c,e[a]=r,n=a);else{if(!(l<i&&0>o(u,r)))break e;e[n]=u,e[l]=r,n=l}}}return t}function o(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var a=Date,c=a.now();t.unstable_now=function(){return a.now()-c}}var l=[],u=[],h=1,d=null,p=3,f=!1,g=!1,y=!1,m="function"===typeof setTimeout?setTimeout:null,v="function"===typeof clearTimeout?clearTimeout:null,b="undefined"!==typeof setImmediate?setImmediate:null;function w(e){for(var t=n(u);null!==t;){if(null===t.callback)i(u);else{if(!(t.startTime<=e))break;i(u),t.sortIndex=t.expirationTime,r(l,t)}t=n(u)}}function E(e){if(y=!1,w(e),!g)if(null!==n(l))g=!0,L(_);else{var t=n(u);null!==t&&x(E,t.startTime-e)}}function _(e,r){g=!1,y&&(y=!1,v(I),I=-1),f=!0;var o=p;try{for(w(r),d=n(l);null!==d&&(!(d.expirationTime>r)||e&&!R());){var s=d.callback;if("function"===typeof s){d.callback=null,p=d.priorityLevel;var a=s(d.expirationTime<=r);r=t.unstable_now(),"function"===typeof a?d.callback=a:d===n(l)&&i(l),w(r)}else i(l);d=n(l)}if(null!==d)var c=!0;else{var h=n(u);null!==h&&x(E,h.startTime-r),c=!1}return c}finally{d=null,p=o,f=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,A=!1,C=null,I=-1,T=5,k=-1;function R(){return!(t.unstable_now()-k<T)}function P(){if(null!==C){var e=t.unstable_now();k=e;var r=!0;try{r=C(!0,e)}finally{r?S():(A=!1,C=null)}}else A=!1}if("function"===typeof b)S=function(){b(P)};else if("undefined"!==typeof MessageChannel){var D=new MessageChannel,N=D.port2;D.port1.onmessage=P,S=function(){N.postMessage(null)}}else S=function(){m(P,0)};function L(e){C=e,A||(A=!0,S())}function x(e,r){I=m((function(){e(t.unstable_now())}),r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||f||(g=!0,L(_))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return n(l)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var r=p;p=t;try{return e()}finally{p=r}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var r=p;p=e;try{return t()}finally{p=r}},t.unstable_scheduleCallback=function(e,i,o){var s=t.unstable_now();switch("object"===typeof o&&null!==o?o="number"===typeof(o=o.delay)&&0<o?s+o:s:o=s,e){case 1:var a=-1;break;case 2:a=250;break;case 5:a=1073741823;break;case 4:a=1e4;break;default:a=5e3}return e={id:h++,callback:i,priorityLevel:e,startTime:o,expirationTime:a=o+a,sortIndex:-1},o>s?(e.sortIndex=o,r(u,e),null===n(l)&&e===n(u)&&(y?(v(I),I=-1):y=!0,x(E,o-s))):(e.sortIndex=a,r(l,e),g||f||(g=!0,L(_))),e},t.unstable_shouldYield=R,t.unstable_wrapCallback=function(e){var t=p;return function(){var r=p;p=t;try{return e.apply(this,arguments)}finally{p=r}}}},2224:(e,t,r)=>{"use strict";e.exports=r(3095)},3461:e=>{"use strict";const t=new Map;e.exports={setDelayedInterval:function(e,r,n){n=n||r;const i="".concat(Date.now(),":").concat(Math.floor(1e6*Math.random())),o=setTimeout((()=>{!async function(e,r,n){for(;t.get(n);){try{await e()}catch(i){setTimeout((()=>{throw i}),1);break}if(!t.get(n))break;await new Promise((e=>{const i=setTimeout(e,r);t.set(n,i)}))}}(e,r,i)}),n);return t.set(i,o),i},clearDelayedInterval:function(e){const r=t.get(e);r&&(clearTimeout(r),t.delete(e))}}},4275:(e,t,r)=>{"use strict";const{AbortController:n}=globalThis,i=r(9965);class o extends n{constructor(e){super(),this._ms=e,this._timer=i((()=>this.abort()),e),Object.setPrototypeOf(this,o.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=i((()=>this.abort()),this._ms)}}e.exports={TimeoutController:o}},7540:(e,t,r)=>{"use strict";var n=r(819),i=r(5392);e.exports=n.bind(null,i)},819:e=>{"use strict";function t(e){return e>=55296&&e<=56319}function r(e){return e>=56320&&e<=57343}e.exports=function(e,n,i){if("string"!==typeof n)throw new Error("Input must be string");for(var o,s,a=n.length,c=0,l=0;l<a;l+=1){if(o=n.charCodeAt(l),s=n[l],t(o)&&r(n.charCodeAt(l+1))&&(s+=n[l+=1]),(c+=e(s))===i)return n.slice(0,l+1);if(c>i)return n.slice(0,l-s.length+1)}return n}},5392:e=>{"use strict";function t(e){return e>=55296&&e<=56319}function r(e){return e>=56320&&e<=57343}e.exports=function(e){if("string"!==typeof e)throw new Error("Input must be string");for(var n=e.length,i=0,o=null,s=null,a=0;a<n;a++)r(o=e.charCodeAt(a))?null!=s&&t(s)?i+=1:i+=3:o<=127?i+=1:o>=128&&o<=2047?i+=2:o>=2048&&o<=65535&&(i+=3),s=o;return i}},1418:e=>{e.exports=function e(t,r){var n,i=0,o=0,s=r=r||0,a=t.length;do{if(s>=a||o>49)throw e.bytes=0,new RangeError("Could not decode varint");n=t[s++],i+=o<28?(127&n)<<o:(127&n)*Math.pow(2,o),o+=7}while(n>=128);return e.bytes=s-r,i}},3383:e=>{e.exports=function e(r,n,i){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw e.bytes=0,new RangeError("Could not encode varint");n=n||[];var o=i=i||0;for(;r>=t;)n[i++]=255&r|128,r/=128;for(;-128&r;)n[i++]=255&r|128,r>>>=7;return n[i]=0|r,e.bytes=i-o+1,n};var t=Math.pow(2,31)},6796:(e,t,r)=>{e.exports={encode:r(3383),decode:r(1418),encodingLength:r(6201)}},6201:e=>{var t=Math.pow(2,7),r=Math.pow(2,14),n=Math.pow(2,21),i=Math.pow(2,28),o=Math.pow(2,35),s=Math.pow(2,42),a=Math.pow(2,49),c=Math.pow(2,56),l=Math.pow(2,63);e.exports=function(e){return e<t?1:e<r?2:e<n?3:e<i?4:e<o?5:e<s?6:e<a?7:e<c?8:e<l?9:10}},7420:()=>{},5856:()=>{},5883:()=>{},5819:()=>{},1265:()=>{},5539:()=>{},8386:function(e,t,r){var n,i,o;i=[r(1359)],void 0===(o="function"===typeof(n=function(e){"use strict";var t=e.Reader,r=e.Writer,n=e.util,i=e.roots.default||(e.roots.default={});return i.RPC=function(){function o(e){if(this.subscriptions=[],this.messages=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var s;return o.prototype.subscriptions=n.emptyArray,o.prototype.messages=n.emptyArray,o.prototype.control=null,Object.defineProperty(o.prototype,"_control",{get:n.oneOfGetter(s=["control"]),set:n.oneOfSetter(s)}),o.encode=function(e,t){if(t||(t=r.create()),null!=e.subscriptions&&e.subscriptions.length)for(var n=0;n<e.subscriptions.length;++n)i.RPC.SubOpts.encode(e.subscriptions[n],t.uint32(10).fork()).ldelim();if(null!=e.messages&&e.messages.length)for(n=0;n<e.messages.length;++n)i.RPC.Message.encode(e.messages[n],t.uint32(18).fork()).ldelim();return null!=e.control&&Object.hasOwnProperty.call(e,"control")&&i.RPC.ControlMessage.encode(e.control,t.uint32(26).fork()).ldelim(),t},o.decode=function(e,r){e instanceof t||(e=t.create(e));for(var n=void 0===r?e.len:e.pos+r,o=new i.RPC;e.pos<n;){var s=e.uint32();switch(s>>>3){case 1:o.subscriptions&&o.subscriptions.length||(o.subscriptions=[]),o.subscriptions.push(i.RPC.SubOpts.decode(e,e.uint32()));break;case 2:o.messages&&o.messages.length||(o.messages=[]),o.messages.push(i.RPC.Message.decode(e,e.uint32()));break;case 3:o.control=i.RPC.ControlMessage.decode(e,e.uint32());break;default:e.skipType(7&s)}}return o},o.fromObject=function(e){if(e instanceof i.RPC)return e;var t=new i.RPC;if(e.subscriptions){if(!Array.isArray(e.subscriptions))throw TypeError(".RPC.subscriptions: array expected");t.subscriptions=[];for(var r=0;r<e.subscriptions.length;++r){if("object"!==typeof e.subscriptions[r])throw TypeError(".RPC.subscriptions: object expected");t.subscriptions[r]=i.RPC.SubOpts.fromObject(e.subscriptions[r])}}if(e.messages){if(!Array.isArray(e.messages))throw TypeError(".RPC.messages: array expected");for(t.messages=[],r=0;r<e.messages.length;++r){if("object"!==typeof e.messages[r])throw TypeError(".RPC.messages: object expected");t.messages[r]=i.RPC.Message.fromObject(e.messages[r])}}if(null!=e.control){if("object"!==typeof e.control)throw TypeError(".RPC.control: object expected");t.control=i.RPC.ControlMessage.fromObject(e.control)}return t},o.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.subscriptions=[],r.messages=[]),e.subscriptions&&e.subscriptions.length){r.subscriptions=[];for(var n=0;n<e.subscriptions.length;++n)r.subscriptions[n]=i.RPC.SubOpts.toObject(e.subscriptions[n],t)}if(e.messages&&e.messages.length)for(r.messages=[],n=0;n<e.messages.length;++n)r.messages[n]=i.RPC.Message.toObject(e.messages[n],t);return null!=e.control&&e.hasOwnProperty("control")&&(r.control=i.RPC.ControlMessage.toObject(e.control,t),t.oneofs&&(r._control="control")),r},o.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},o.SubOpts=function(){function o(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var s;return o.prototype.subscribe=null,o.prototype.topic=null,Object.defineProperty(o.prototype,"_subscribe",{get:n.oneOfGetter(s=["subscribe"]),set:n.oneOfSetter(s)}),Object.defineProperty(o.prototype,"_topic",{get:n.oneOfGetter(s=["topic"]),set:n.oneOfSetter(s)}),o.encode=function(e,t){return t||(t=r.create()),null!=e.subscribe&&Object.hasOwnProperty.call(e,"subscribe")&&t.uint32(8).bool(e.subscribe),null!=e.topic&&Object.hasOwnProperty.call(e,"topic")&&t.uint32(18).string(e.topic),t},o.decode=function(e,r){e instanceof t||(e=t.create(e));for(var n=void 0===r?e.len:e.pos+r,o=new i.RPC.SubOpts;e.pos<n;){var s=e.uint32();switch(s>>>3){case 1:o.subscribe=e.bool();break;case 2:o.topic=e.string();break;default:e.skipType(7&s)}}return o},o.fromObject=function(e){if(e instanceof i.RPC.SubOpts)return e;var t=new i.RPC.SubOpts;return null!=e.subscribe&&(t.subscribe=Boolean(e.subscribe)),null!=e.topic&&(t.topic=String(e.topic)),t},o.toObject=function(e,t){t||(t={});var r={};return null!=e.subscribe&&e.hasOwnProperty("subscribe")&&(r.subscribe=e.subscribe,t.oneofs&&(r._subscribe="subscribe")),null!=e.topic&&e.hasOwnProperty("topic")&&(r.topic=e.topic,t.oneofs&&(r._topic="topic")),r},o.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},o}(),o.Message=function(){function o(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var s;return o.prototype.from=null,o.prototype.data=null,o.prototype.seqno=null,o.prototype.topic="",o.prototype.signature=null,o.prototype.key=null,Object.defineProperty(o.prototype,"_from",{get:n.oneOfGetter(s=["from"]),set:n.oneOfSetter(s)}),Object.defineProperty(o.prototype,"_data",{get:n.oneOfGetter(s=["data"]),set:n.oneOfSetter(s)}),Object.defineProperty(o.prototype,"_seqno",{get:n.oneOfGetter(s=["seqno"]),set:n.oneOfSetter(s)}),Object.defineProperty(o.prototype,"_signature",{get:n.oneOfGetter(s=["signature"]),set:n.oneOfSetter(s)}),Object.defineProperty(o.prototype,"_key",{get:n.oneOfGetter(s=["key"]),set:n.oneOfSetter(s)}),o.encode=function(e,t){return t||(t=r.create()),null!=e.from&&Object.hasOwnProperty.call(e,"from")&&t.uint32(10).bytes(e.from),null!=e.data&&Object.hasOwnProperty.call(e,"data")&&t.uint32(18).bytes(e.data),null!=e.seqno&&Object.hasOwnProperty.call(e,"seqno")&&t.uint32(26).bytes(e.seqno),t.uint32(34).string(e.topic),null!=e.signature&&Object.hasOwnProperty.call(e,"signature")&&t.uint32(42).bytes(e.signature),null!=e.key&&Object.hasOwnProperty.call(e,"key")&&t.uint32(50).bytes(e.key),t},o.decode=function(e,r){e instanceof t||(e=t.create(e));for(var o=void 0===r?e.len:e.pos+r,s=new i.RPC.Message;e.pos<o;){var a=e.uint32();switch(a>>>3){case 1:s.from=e.bytes();break;case 2:s.data=e.bytes();break;case 3:s.seqno=e.bytes();break;case 4:s.topic=e.string();break;case 5:s.signature=e.bytes();break;case 6:s.key=e.bytes();break;default:e.skipType(7&a)}}if(!s.hasOwnProperty("topic"))throw n.ProtocolError("missing required 'topic'",{instance:s});return s},o.fromObject=function(e){if(e instanceof i.RPC.Message)return e;var t=new i.RPC.Message;return null!=e.from&&("string"===typeof e.from?n.base64.decode(e.from,t.from=n.newBuffer(n.base64.length(e.from)),0):e.from.length&&(t.from=e.from)),null!=e.data&&("string"===typeof e.data?n.base64.decode(e.data,t.data=n.newBuffer(n.base64.length(e.data)),0):e.data.length&&(t.data=e.data)),null!=e.seqno&&("string"===typeof e.seqno?n.base64.decode(e.seqno,t.seqno=n.newBuffer(n.base64.length(e.seqno)),0):e.seqno.length&&(t.seqno=e.seqno)),null!=e.topic&&(t.topic=String(e.topic)),null!=e.signature&&("string"===typeof e.signature?n.base64.decode(e.signature,t.signature=n.newBuffer(n.base64.length(e.signature)),0):e.signature.length&&(t.signature=e.signature)),null!=e.key&&("string"===typeof e.key?n.base64.decode(e.key,t.key=n.newBuffer(n.base64.length(e.key)),0):e.key.length&&(t.key=e.key)),t},o.toObject=function(e,t){t||(t={});var r={};return t.defaults&&(r.topic=""),null!=e.from&&e.hasOwnProperty("from")&&(r.from=t.bytes===String?n.base64.encode(e.from,0,e.from.length):t.bytes===Array?Array.prototype.slice.call(e.from):e.from,t.oneofs&&(r._from="from")),null!=e.data&&e.hasOwnProperty("data")&&(r.data=t.bytes===String?n.base64.encode(e.data,0,e.data.length):t.bytes===Array?Array.prototype.slice.call(e.data):e.data,t.oneofs&&(r._data="data")),null!=e.seqno&&e.hasOwnProperty("seqno")&&(r.seqno=t.bytes===String?n.base64.encode(e.seqno,0,e.seqno.length):t.bytes===Array?Array.prototype.slice.call(e.seqno):e.seqno,t.oneofs&&(r._seqno="seqno")),null!=e.topic&&e.hasOwnProperty("topic")&&(r.topic=e.topic),null!=e.signature&&e.hasOwnProperty("signature")&&(r.signature=t.bytes===String?n.base64.encode(e.signature,0,e.signature.length):t.bytes===Array?Array.prototype.slice.call(e.signature):e.signature,t.oneofs&&(r._signature="signature")),null!=e.key&&e.hasOwnProperty("key")&&(r.key=t.bytes===String?n.base64.encode(e.key,0,e.key.length):t.bytes===Array?Array.prototype.slice.call(e.key):e.key,t.oneofs&&(r._key="key")),r},o.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},o}(),o.ControlMessage=function(){function o(e){if(this.ihave=[],this.iwant=[],this.graft=[],this.prune=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return o.prototype.ihave=n.emptyArray,o.prototype.iwant=n.emptyArray,o.prototype.graft=n.emptyArray,o.prototype.prune=n.emptyArray,o.encode=function(e,t){if(t||(t=r.create()),null!=e.ihave&&e.ihave.length)for(var n=0;n<e.ihave.length;++n)i.RPC.ControlIHave.encode(e.ihave[n],t.uint32(10).fork()).ldelim();if(null!=e.iwant&&e.iwant.length)for(n=0;n<e.iwant.length;++n)i.RPC.ControlIWant.encode(e.iwant[n],t.uint32(18).fork()).ldelim();if(null!=e.graft&&e.graft.length)for(n=0;n<e.graft.length;++n)i.RPC.ControlGraft.encode(e.graft[n],t.uint32(26).fork()).ldelim();if(null!=e.prune&&e.prune.length)for(n=0;n<e.prune.length;++n)i.RPC.ControlPrune.encode(e.prune[n],t.uint32(34).fork()).ldelim();return t},o.decode=function(e,r){e instanceof t||(e=t.create(e));for(var n=void 0===r?e.len:e.pos+r,o=new i.RPC.ControlMessage;e.pos<n;){var s=e.uint32();switch(s>>>3){case 1:o.ihave&&o.ihave.length||(o.ihave=[]),o.ihave.push(i.RPC.ControlIHave.decode(e,e.uint32()));break;case 2:o.iwant&&o.iwant.length||(o.iwant=[]),o.iwant.push(i.RPC.ControlIWant.decode(e,e.uint32()));break;case 3:o.graft&&o.graft.length||(o.graft=[]),o.graft.push(i.RPC.ControlGraft.decode(e,e.uint32()));break;case 4:o.prune&&o.prune.length||(o.prune=[]),o.prune.push(i.RPC.ControlPrune.decode(e,e.uint32()));break;default:e.skipType(7&s)}}return o},o.fromObject=function(e){if(e instanceof i.RPC.ControlMessage)return e;var t=new i.RPC.ControlMessage;if(e.ihave){if(!Array.isArray(e.ihave))throw TypeError(".RPC.ControlMessage.ihave: array expected");t.ihave=[];for(var r=0;r<e.ihave.length;++r){if("object"!==typeof e.ihave[r])throw TypeError(".RPC.ControlMessage.ihave: object expected");t.ihave[r]=i.RPC.ControlIHave.fromObject(e.ihave[r])}}if(e.iwant){if(!Array.isArray(e.iwant))throw TypeError(".RPC.ControlMessage.iwant: array expected");for(t.iwant=[],r=0;r<e.iwant.length;++r){if("object"!==typeof e.iwant[r])throw TypeError(".RPC.ControlMessage.iwant: object expected");t.iwant[r]=i.RPC.ControlIWant.fromObject(e.iwant[r])}}if(e.graft){if(!Array.isArray(e.graft))throw TypeError(".RPC.ControlMessage.graft: array expected");for(t.graft=[],r=0;r<e.graft.length;++r){if("object"!==typeof e.graft[r])throw TypeError(".RPC.ControlMessage.graft: object expected");t.graft[r]=i.RPC.ControlGraft.fromObject(e.graft[r])}}if(e.prune){if(!Array.isArray(e.prune))throw TypeError(".RPC.ControlMessage.prune: array expected");for(t.prune=[],r=0;r<e.prune.length;++r){if("object"!==typeof e.prune[r])throw TypeError(".RPC.ControlMessage.prune: object expected");t.prune[r]=i.RPC.ControlPrune.fromObject(e.prune[r])}}return t},o.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.ihave=[],r.iwant=[],r.graft=[],r.prune=[]),e.ihave&&e.ihave.length){r.ihave=[];for(var n=0;n<e.ihave.length;++n)r.ihave[n]=i.RPC.ControlIHave.toObject(e.ihave[n],t)}if(e.iwant&&e.iwant.length)for(r.iwant=[],n=0;n<e.iwant.length;++n)r.iwant[n]=i.RPC.ControlIWant.toObject(e.iwant[n],t);if(e.graft&&e.graft.length)for(r.graft=[],n=0;n<e.graft.length;++n)r.graft[n]=i.RPC.ControlGraft.toObject(e.graft[n],t);if(e.prune&&e.prune.length)for(r.prune=[],n=0;n<e.prune.length;++n)r.prune[n]=i.RPC.ControlPrune.toObject(e.prune[n],t);return r},o.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},o}(),o.ControlIHave=function(){function o(e){if(this.messageIDs=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var s;return o.prototype.topicID=null,o.prototype.messageIDs=n.emptyArray,Object.defineProperty(o.prototype,"_topicID",{get:n.oneOfGetter(s=["topicID"]),set:n.oneOfSetter(s)}),o.encode=function(e,t){if(t||(t=r.create()),null!=e.topicID&&Object.hasOwnProperty.call(e,"topicID")&&t.uint32(10).string(e.topicID),null!=e.messageIDs&&e.messageIDs.length)for(var n=0;n<e.messageIDs.length;++n)t.uint32(18).bytes(e.messageIDs[n]);return t},o.decode=function(e,r){e instanceof t||(e=t.create(e));for(var n=void 0===r?e.len:e.pos+r,o=new i.RPC.ControlIHave;e.pos<n;){var s=e.uint32();switch(s>>>3){case 1:o.topicID=e.string();break;case 2:o.messageIDs&&o.messageIDs.length||(o.messageIDs=[]),o.messageIDs.push(e.bytes());break;default:e.skipType(7&s)}}return o},o.fromObject=function(e){if(e instanceof i.RPC.ControlIHave)return e;var t=new i.RPC.ControlIHave;if(null!=e.topicID&&(t.topicID=String(e.topicID)),e.messageIDs){if(!Array.isArray(e.messageIDs))throw TypeError(".RPC.ControlIHave.messageIDs: array expected");t.messageIDs=[];for(var r=0;r<e.messageIDs.length;++r)"string"===typeof e.messageIDs[r]?n.base64.decode(e.messageIDs[r],t.messageIDs[r]=n.newBuffer(n.base64.length(e.messageIDs[r])),0):e.messageIDs[r].length&&(t.messageIDs[r]=e.messageIDs[r])}return t},o.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.messageIDs=[]),null!=e.topicID&&e.hasOwnProperty("topicID")&&(r.topicID=e.topicID,t.oneofs&&(r._topicID="topicID")),e.messageIDs&&e.messageIDs.length){r.messageIDs=[];for(var i=0;i<e.messageIDs.length;++i)r.messageIDs[i]=t.bytes===String?n.base64.encode(e.messageIDs[i],0,e.messageIDs[i].length):t.bytes===Array?Array.prototype.slice.call(e.messageIDs[i]):e.messageIDs[i]}return r},o.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},o}(),o.ControlIWant=function(){function o(e){if(this.messageIDs=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}return o.prototype.messageIDs=n.emptyArray,o.encode=function(e,t){if(t||(t=r.create()),null!=e.messageIDs&&e.messageIDs.length)for(var n=0;n<e.messageIDs.length;++n)t.uint32(10).bytes(e.messageIDs[n]);return t},o.decode=function(e,r){e instanceof t||(e=t.create(e));for(var n=void 0===r?e.len:e.pos+r,o=new i.RPC.ControlIWant;e.pos<n;){var s=e.uint32();s>>>3===1?(o.messageIDs&&o.messageIDs.length||(o.messageIDs=[]),o.messageIDs.push(e.bytes())):e.skipType(7&s)}return o},o.fromObject=function(e){if(e instanceof i.RPC.ControlIWant)return e;var t=new i.RPC.ControlIWant;if(e.messageIDs){if(!Array.isArray(e.messageIDs))throw TypeError(".RPC.ControlIWant.messageIDs: array expected");t.messageIDs=[];for(var r=0;r<e.messageIDs.length;++r)"string"===typeof e.messageIDs[r]?n.base64.decode(e.messageIDs[r],t.messageIDs[r]=n.newBuffer(n.base64.length(e.messageIDs[r])),0):e.messageIDs[r].length&&(t.messageIDs[r]=e.messageIDs[r])}return t},o.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.messageIDs=[]),e.messageIDs&&e.messageIDs.length){r.messageIDs=[];for(var i=0;i<e.messageIDs.length;++i)r.messageIDs[i]=t.bytes===String?n.base64.encode(e.messageIDs[i],0,e.messageIDs[i].length):t.bytes===Array?Array.prototype.slice.call(e.messageIDs[i]):e.messageIDs[i]}return r},o.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},o}(),o.ControlGraft=function(){function o(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var s;return o.prototype.topicID=null,Object.defineProperty(o.prototype,"_topicID",{get:n.oneOfGetter(s=["topicID"]),set:n.oneOfSetter(s)}),o.encode=function(e,t){return t||(t=r.create()),null!=e.topicID&&Object.hasOwnProperty.call(e,"topicID")&&t.uint32(10).string(e.topicID),t},o.decode=function(e,r){e instanceof t||(e=t.create(e));for(var n=void 0===r?e.len:e.pos+r,o=new i.RPC.ControlGraft;e.pos<n;){var s=e.uint32();s>>>3===1?o.topicID=e.string():e.skipType(7&s)}return o},o.fromObject=function(e){if(e instanceof i.RPC.ControlGraft)return e;var t=new i.RPC.ControlGraft;return null!=e.topicID&&(t.topicID=String(e.topicID)),t},o.toObject=function(e,t){t||(t={});var r={};return null!=e.topicID&&e.hasOwnProperty("topicID")&&(r.topicID=e.topicID,t.oneofs&&(r._topicID="topicID")),r},o.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},o}(),o.ControlPrune=function(){function o(e){if(this.peers=[],e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var s;return o.prototype.topicID=null,o.prototype.peers=n.emptyArray,o.prototype.backoff=null,Object.defineProperty(o.prototype,"_topicID",{get:n.oneOfGetter(s=["topicID"]),set:n.oneOfSetter(s)}),Object.defineProperty(o.prototype,"_backoff",{get:n.oneOfGetter(s=["backoff"]),set:n.oneOfSetter(s)}),o.encode=function(e,t){if(t||(t=r.create()),null!=e.topicID&&Object.hasOwnProperty.call(e,"topicID")&&t.uint32(10).string(e.topicID),null!=e.peers&&e.peers.length)for(var n=0;n<e.peers.length;++n)i.RPC.PeerInfo.encode(e.peers[n],t.uint32(18).fork()).ldelim();return null!=e.backoff&&Object.hasOwnProperty.call(e,"backoff")&&t.uint32(24).uint64(e.backoff),t},o.decode=function(e,r){e instanceof t||(e=t.create(e));for(var n=void 0===r?e.len:e.pos+r,o=new i.RPC.ControlPrune;e.pos<n;){var s=e.uint32();switch(s>>>3){case 1:o.topicID=e.string();break;case 2:o.peers&&o.peers.length||(o.peers=[]),o.peers.push(i.RPC.PeerInfo.decode(e,e.uint32()));break;case 3:o.backoff=e.uint64();break;default:e.skipType(7&s)}}return o},o.fromObject=function(e){if(e instanceof i.RPC.ControlPrune)return e;var t=new i.RPC.ControlPrune;if(null!=e.topicID&&(t.topicID=String(e.topicID)),e.peers){if(!Array.isArray(e.peers))throw TypeError(".RPC.ControlPrune.peers: array expected");t.peers=[];for(var r=0;r<e.peers.length;++r){if("object"!==typeof e.peers[r])throw TypeError(".RPC.ControlPrune.peers: object expected");t.peers[r]=i.RPC.PeerInfo.fromObject(e.peers[r])}}return null!=e.backoff&&(n.Long?(t.backoff=n.Long.fromValue(e.backoff)).unsigned=!0:"string"===typeof e.backoff?t.backoff=parseInt(e.backoff,10):"number"===typeof e.backoff?t.backoff=e.backoff:"object"===typeof e.backoff&&(t.backoff=new n.LongBits(e.backoff.low>>>0,e.backoff.high>>>0).toNumber(!0))),t},o.toObject=function(e,t){t||(t={});var r={};if((t.arrays||t.defaults)&&(r.peers=[]),null!=e.topicID&&e.hasOwnProperty("topicID")&&(r.topicID=e.topicID,t.oneofs&&(r._topicID="topicID")),e.peers&&e.peers.length){r.peers=[];for(var o=0;o<e.peers.length;++o)r.peers[o]=i.RPC.PeerInfo.toObject(e.peers[o],t)}return null!=e.backoff&&e.hasOwnProperty("backoff")&&("number"===typeof e.backoff?r.backoff=t.longs===String?String(e.backoff):e.backoff:r.backoff=t.longs===String?n.Long.prototype.toString.call(e.backoff):t.longs===Number?new n.LongBits(e.backoff.low>>>0,e.backoff.high>>>0).toNumber(!0):e.backoff,t.oneofs&&(r._backoff="backoff")),r},o.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},o}(),o.PeerInfo=function(){function o(e){if(e)for(var t=Object.keys(e),r=0;r<t.length;++r)null!=e[t[r]]&&(this[t[r]]=e[t[r]])}var s;return o.prototype.peerID=null,o.prototype.signedPeerRecord=null,Object.defineProperty(o.prototype,"_peerID",{get:n.oneOfGetter(s=["peerID"]),set:n.oneOfSetter(s)}),Object.defineProperty(o.prototype,"_signedPeerRecord",{get:n.oneOfGetter(s=["signedPeerRecord"]),set:n.oneOfSetter(s)}),o.encode=function(e,t){return t||(t=r.create()),null!=e.peerID&&Object.hasOwnProperty.call(e,"peerID")&&t.uint32(10).bytes(e.peerID),null!=e.signedPeerRecord&&Object.hasOwnProperty.call(e,"signedPeerRecord")&&t.uint32(18).bytes(e.signedPeerRecord),t},o.decode=function(e,r){e instanceof t||(e=t.create(e));for(var n=void 0===r?e.len:e.pos+r,o=new i.RPC.PeerInfo;e.pos<n;){var s=e.uint32();switch(s>>>3){case 1:o.peerID=e.bytes();break;case 2:o.signedPeerRecord=e.bytes();break;default:e.skipType(7&s)}}return o},o.fromObject=function(e){if(e instanceof i.RPC.PeerInfo)return e;var t=new i.RPC.PeerInfo;return null!=e.peerID&&("string"===typeof e.peerID?n.base64.decode(e.peerID,t.peerID=n.newBuffer(n.base64.length(e.peerID)),0):e.peerID.length&&(t.peerID=e.peerID)),null!=e.signedPeerRecord&&("string"===typeof e.signedPeerRecord?n.base64.decode(e.signedPeerRecord,t.signedPeerRecord=n.newBuffer(n.base64.length(e.signedPeerRecord)),0):e.signedPeerRecord.length&&(t.signedPeerRecord=e.signedPeerRecord)),t},o.toObject=function(e,t){t||(t={});var r={};return null!=e.peerID&&e.hasOwnProperty("peerID")&&(r.peerID=t.bytes===String?n.base64.encode(e.peerID,0,e.peerID.length):t.bytes===Array?Array.prototype.slice.call(e.peerID):e.peerID,t.oneofs&&(r._peerID="peerID")),null!=e.signedPeerRecord&&e.hasOwnProperty("signedPeerRecord")&&(r.signedPeerRecord=t.bytes===String?n.base64.encode(e.signedPeerRecord,0,e.signedPeerRecord.length):t.bytes===Array?Array.prototype.slice.call(e.signedPeerRecord):e.signedPeerRecord,t.oneofs&&(r._signedPeerRecord="signedPeerRecord")),r},o.prototype.toJSON=function(){return this.constructor.toObject(this,e.util.toJSONOptions)},o}(),o}(),i})?n.apply(t,i):n)||(e.exports=o)}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.amdO={},__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(r,n){if(1&n&&(r=this(r)),8&n)return r;if("object"===typeof r&&r){if(4&n&&r.__esModule)return r;if(16&n&&"function"===typeof r.then)return r}var i=Object.create(null);__webpack_require__.r(i);var o={};e=e||[null,t({}),t([]),t(t)];for(var s=2&n&&r;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>o[e]=()=>r[e]));return o.default=()=>r,__webpack_require__.d(i,o),i}})(),__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};(()=>{"use strict";var e={};__webpack_require__.r(e),__webpack_require__.d(e,{base58btc:()=>He,base58flickr:()=>Ge});var t={};__webpack_require__.r(t),__webpack_require__.d(t,{base32:()=>dt,base32hex:()=>yt,base32hexpad:()=>vt,base32hexpadupper:()=>bt,base32hexupper:()=>mt,base32pad:()=>ft,base32padupper:()=>gt,base32upper:()=>pt,base32z:()=>wt});var r={};__webpack_require__.r(r),__webpack_require__.d(r,{identity:()=>qt});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{base2:()=>Ht});var i={};__webpack_require__.r(i),__webpack_require__.d(i,{base8:()=>Gt});var o={};__webpack_require__.r(o),__webpack_require__.d(o,{base10:()=>Wt});var s={};__webpack_require__.r(s),__webpack_require__.d(s,{base16:()=>Qt,base16upper:()=>Yt});var a={};__webpack_require__.r(a),__webpack_require__.d(a,{base32:()=>Xt,base32hex:()=>er,base32hexpad:()=>rr,base32hexpadupper:()=>nr,base32hexupper:()=>tr,base32pad:()=>$t,base32padupper:()=>Zt,base32upper:()=>Jt,base32z:()=>ir});var c={};__webpack_require__.r(c),__webpack_require__.d(c,{base36:()=>or,base36upper:()=>sr});var l={};__webpack_require__.r(l),__webpack_require__.d(l,{base58btc:()=>ar,base58flickr:()=>cr});var u={};__webpack_require__.r(u),__webpack_require__.d(u,{base64:()=>lr,base64pad:()=>ur,base64url:()=>hr,base64urlpad:()=>dr});var h={};__webpack_require__.r(h),__webpack_require__.d(h,{base256emoji:()=>yr});var d={};__webpack_require__.r(d),__webpack_require__.d(d,{sha256:()=>Mr,sha512:()=>Ur});var p={};__webpack_require__.r(p),__webpack_require__.d(p,{identity:()=>Vr});var f={};__webpack_require__.r(f),__webpack_require__.d(f,{code:()=>zr,decode:()=>qr,encode:()=>Kr,name:()=>jr});var g={};__webpack_require__.r(g),__webpack_require__.d(g,{code:()=>Qr,decode:()=>Xr,encode:()=>Yr,name:()=>Wr});var y={};__webpack_require__.r(y),__webpack_require__.d(y,{identity:()=>hn});var m={};__webpack_require__.r(m),__webpack_require__.d(m,{base2:()=>dn});var v={};__webpack_require__.r(v),__webpack_require__.d(v,{base8:()=>pn});var b={};__webpack_require__.r(b),__webpack_require__.d(b,{base10:()=>fn});var w={};__webpack_require__.r(w),__webpack_require__.d(w,{base16:()=>gn,base16upper:()=>yn});var E={};__webpack_require__.r(E),__webpack_require__.d(E,{base36:()=>mn,base36upper:()=>vn});var _={};__webpack_require__.r(_),__webpack_require__.d(_,{base64:()=>bn,base64pad:()=>wn,base64url:()=>En,base64urlpad:()=>_n});var S={};__webpack_require__.r(S),__webpack_require__.d(S,{base256emoji:()=>In});var A={};__webpack_require__.r(A),__webpack_require__.d(A,{sha256:()=>Pn,sha512:()=>Dn});var C={};__webpack_require__.r(C),__webpack_require__.d(C,{identity:()=>Ln});var I={};__webpack_require__.r(I),__webpack_require__.d(I,{code:()=>On,decode:()=>Mn,encode:()=>Bn,name:()=>xn});var T={};__webpack_require__.r(T),__webpack_require__.d(T,{code:()=>jn,decode:()=>Kn,encode:()=>zn,name:()=>Vn});var k={};__webpack_require__.r(k),__webpack_require__.d(k,{Ed25519PrivateKey:()=>Rl,Ed25519PublicKey:()=>kl,generateKeyPair:()=>Nl,generateKeyPairFromSeed:()=>Ll,unmarshalEd25519PrivateKey:()=>Pl,unmarshalEd25519PublicKey:()=>Dl});var R={};__webpack_require__.r(R),__webpack_require__.d(R,{RsaPrivateKey:()=>Zu,RsaPublicKey:()=>$u,fromJwk:()=>rh,generateKeyPair:()=>nh,unmarshalRsaPrivateKey:()=>eh,unmarshalRsaPublicKey:()=>th});var P={};__webpack_require__.r(P),__webpack_require__.d(P,{Secp256k1PrivateKey:()=>sh,Secp256k1PublicKey:()=>oh,generateKeyPair:()=>lh,unmarshalSecp256k1PrivateKey:()=>ah,unmarshalSecp256k1PublicKey:()=>ch});var D={};__webpack_require__.r(D),__webpack_require__.d(D,{base58btc:()=>Lp,base58flickr:()=>xp});var N={};__webpack_require__.r(N),__webpack_require__.d(N,{base32:()=>Op,base32hex:()=>Fp,base32hexpad:()=>jp,base32hexpadupper:()=>zp,base32hexupper:()=>Vp,base32pad:()=>Mp,base32padupper:()=>Up,base32upper:()=>Bp,base32z:()=>Kp});var L={};__webpack_require__.r(L),__webpack_require__.d(L,{identity:()=>tf});var x={};__webpack_require__.r(x),__webpack_require__.d(x,{base2:()=>rf});var O={};__webpack_require__.r(O),__webpack_require__.d(O,{base8:()=>nf});var B={};__webpack_require__.r(B),__webpack_require__.d(B,{base10:()=>of});var M={};__webpack_require__.r(M),__webpack_require__.d(M,{base16:()=>sf,base16upper:()=>af});var U={};__webpack_require__.r(U),__webpack_require__.d(U,{base36:()=>cf,base36upper:()=>lf});var F={};__webpack_require__.r(F),__webpack_require__.d(F,{base64:()=>uf,base64pad:()=>hf,base64url:()=>df,base64urlpad:()=>pf});var V={};__webpack_require__.r(V),__webpack_require__.d(V,{base256emoji:()=>mf});var j={};__webpack_require__.r(j),__webpack_require__.d(j,{sha256:()=>Ef,sha512:()=>_f});var z={};__webpack_require__.r(z),__webpack_require__.d(z,{identity:()=>Af});var K={};__webpack_require__.r(K),__webpack_require__.d(K,{code:()=>If,decode:()=>kf,encode:()=>Tf,name:()=>Cf});var q={};__webpack_require__.r(q),__webpack_require__.d(q,{code:()=>Nf,decode:()=>xf,encode:()=>Lf,name:()=>Df});var H={};__webpack_require__.r(H),__webpack_require__.d(H,{base58btc:()=>Dy,base58flickr:()=>Ny});var G={};__webpack_require__.r(G),__webpack_require__.d(G,{base32:()=>$y,base32hex:()=>rm,base32hexpad:()=>im,base32hexpadupper:()=>om,base32hexupper:()=>nm,base32pad:()=>em,base32padupper:()=>tm,base32upper:()=>Zy,base32z:()=>sm});var W={};__webpack_require__.r(W),__webpack_require__.d(W,{identity:()=>vm});var Q={};__webpack_require__.r(Q),__webpack_require__.d(Q,{base2:()=>bm});var Y={};__webpack_require__.r(Y),__webpack_require__.d(Y,{base8:()=>wm});var X={};__webpack_require__.r(X),__webpack_require__.d(X,{base10:()=>Em});var J={};__webpack_require__.r(J),__webpack_require__.d(J,{base16:()=>_m,base16upper:()=>Sm});var $={};__webpack_require__.r($),__webpack_require__.d($,{base36:()=>Am,base36upper:()=>Cm});var Z={};__webpack_require__.r(Z),__webpack_require__.d(Z,{base64:()=>Im,base64pad:()=>Tm,base64url:()=>km,base64urlpad:()=>Rm});var ee={};__webpack_require__.r(ee),__webpack_require__.d(ee,{base256emoji:()=>Lm});var te={};__webpack_require__.r(te),__webpack_require__.d(te,{sha256:()=>Mm,sha512:()=>Um});var re={};__webpack_require__.r(re),__webpack_require__.d(re,{identity:()=>Vm});var ne={};__webpack_require__.r(ne),__webpack_require__.d(ne,{code:()=>zm,decode:()=>qm,encode:()=>Km,name:()=>jm});var ie={};__webpack_require__.r(ie),__webpack_require__.d(ie,{code:()=>Qm,decode:()=>Xm,encode:()=>Ym,name:()=>Wm});var oe={};__webpack_require__.r(oe),__webpack_require__.d(oe,{base58btc:()=>o_,base58flickr:()=>s_});var se={};__webpack_require__.r(se),__webpack_require__.d(se,{identity:()=>a_});var ae={};__webpack_require__.r(ae),__webpack_require__.d(ae,{base2:()=>c_});var ce={};__webpack_require__.r(ce),__webpack_require__.d(ce,{base8:()=>l_});var le={};__webpack_require__.r(le),__webpack_require__.d(le,{base10:()=>u_});var ue={};__webpack_require__.r(ue),__webpack_require__.d(ue,{base16:()=>h_,base16upper:()=>d_});var he={};__webpack_require__.r(he),__webpack_require__.d(he,{base32:()=>p_,base32hex:()=>m_,base32hexpad:()=>b_,base32hexpadupper:()=>w_,base32hexupper:()=>v_,base32pad:()=>g_,base32padupper:()=>y_,base32upper:()=>f_,base32z:()=>E_});var de={};__webpack_require__.r(de),__webpack_require__.d(de,{base36:()=>__,base36upper:()=>S_});var pe={};__webpack_require__.r(pe),__webpack_require__.d(pe,{base64:()=>A_,base64pad:()=>C_,base64url:()=>I_,base64urlpad:()=>T_});var fe={};__webpack_require__.r(fe),__webpack_require__.d(fe,{base256emoji:()=>D_});var ge={};__webpack_require__.r(ge),__webpack_require__.d(ge,{sha256:()=>eS,sha512:()=>tS});var ye={};__webpack_require__.r(ye),__webpack_require__.d(ye,{identity:()=>nS});var me={};__webpack_require__.r(me),__webpack_require__.d(me,{code:()=>oS,decode:()=>aS,encode:()=>sS,name:()=>iS});var ve={};__webpack_require__.r(ve),__webpack_require__.d(ve,{code:()=>hS,decode:()=>pS,encode:()=>dS,name:()=>uS});var be=__webpack_require__(7313),we=__webpack_require__(1739),Ee=__webpack_require__(2173),_e=__webpack_require__.n(Ee);function Se(e){return Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Se(e)}function Ae(e){var t=function(e,t){if("object"!==Se(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Se(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Se(t)?t:String(t)}function Ce(e,t,r){return(t=Ae(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const Ie=Symbol.for("@libp2p/peer-id");function Te(e){return null!=e&&Boolean(e[Ie])}function ke(e,t,r){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,r)}function Re(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function Pe(e,t,r){return function(e,t,r){if(t.set)t.set.call(e,r);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=r}}(e,Re(e,t,"set"),r),r}function De(e,t){return function(e,t){return t.get?t.get.call(e):t.value}(e,Re(e,t,"get"))}class Ne extends Error{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"The operation was aborted"),this.code=Ne.code,this.type=Ne.type}static get code(){return"ABORT_ERR"}static get type(){return"aborted"}}class Le extends Error{constructor(e,t,r){var n;super(e),this.code=t,this.name=null!==(n=null===r||void 0===r?void 0:r.name)&&void 0!==n?n:"CodeError",this.props=null!==r&&void 0!==r?r:{}}}var xe=function(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(255!==r[s])throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function h(e){if("string"!==typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[t]){for(var n=0,i=0;e[t]===c;)n++,t++;for(var o=(e.length-t)*l+1>>>0,s=new Uint8Array(o);e[t];){var u=r[e.charCodeAt(t)];if(255===u)return;for(var h=0,d=o-1;(0!==u||h<i)&&-1!==d;d--,h++)u+=a*s[d]>>>0,s[d]=u%256>>>0,u=u/256>>>0;if(0!==u)throw new Error("Non-zero carry");i=h,t++}if(" "!==e[t]){for(var p=o-i;p!==o&&0===s[p];)p++;for(var f=new Uint8Array(n+(o-p)),g=n;p!==o;)f[g++]=s[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,n=0,i=0,o=t.length;i!==o&&0===t[i];)i++,r++;for(var s=(o-i)*u+1>>>0,l=new Uint8Array(s);i!==o;){for(var h=t[i],d=0,p=s-1;(0!==h||d<n)&&-1!==p;p--,d++)h+=256*l[p]>>>0,l[p]=h%a>>>0,h=h/a>>>0;if(0!==h)throw new Error("Non-zero carry");n=d,i++}for(var f=s-n;f!==s&&0===l[f];)f++;for(var g=c.repeat(r);f<s;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:h,decode:function(e){var r=h(e);if(r)return r;throw new Error("Non-".concat(t," character"))}}};const Oe=xe,Be=(new Uint8Array(0),e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)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")});class Me{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return"".concat(this.prefix).concat(this.baseEncode(e));throw Error("Unknown type, must be binary type")}}class Ue{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"===typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error("Unable to decode multibase string ".concat(JSON.stringify(e),", ").concat(this.name," decoder only supports inputs prefixed with ").concat(this.prefix));return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return Ve(this,e)}}class Fe{constructor(e){this.decoders=e}or(e){return Ve(this,e)}decode(e){const t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError("Unable to decode multibase string ".concat(JSON.stringify(e),", only inputs prefixed with ").concat(Object.keys(this.decoders)," are supported"))}}const Ve=(e,t)=>new Fe({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class je{constructor(e,t,r,n){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=n,this.encoder=new Me(e,t,r),this.decoder=new Ue(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const ze=e=>{let{name:t,prefix:r,encode:n,decode:i}=e;return new je(t,r,n,i)},Ke=e=>{let{prefix:t,name:r,alphabet:n}=e;const{encode:i,decode:o}=Oe(n,r);return ze({prefix:t,name:r,encode:i,decode:e=>Be(o(e))})},qe=e=>{let{name:t,prefix:r,bitsPerChar:n,alphabet:i}=e;return ze({prefix:r,name:t,encode:e=>((e,t,r)=>{const n="="===t[t.length-1],i=(1<<r)-1;let 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})(e,i,n),decode:e=>((e,t,r,n)=>{const i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=e.length;for(;"="===e[o-1];)--o;const s=new Uint8Array(o*r/8|0);let a=0,c=0,l=0;for(let u=0;u<o;++u){const t=i[e[u]];if(void 0===t)throw new SyntaxError("Non-".concat(n," character"));c=c<<r|t,a+=r,a>=8&&(a-=8,s[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s})(e,i,n,t)})},He=Ke({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ge=Ke({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var We=function e(t,r,n){r=r||[];var i=n=n||0;for(;t>=Qe;)r[n++]=255&t|128,t/=128;for(;-128&t;)r[n++]=255&t|128,t>>>=7;return r[n]=0|t,e.bytes=n-i+1,r},Qe=Math.pow(2,31);var Ye=function e(t,r){var n,i=0,o=0,s=r=r||0,a=t.length;do{if(s>=a)throw e.bytes=0,new RangeError("Could not decode varint");n=t[s++],i+=o<28?(127&n)<<o:(127&n)*Math.pow(2,o),o+=7}while(n>=128);return e.bytes=s-r,i};var Xe=Math.pow(2,7),Je=Math.pow(2,14),$e=Math.pow(2,21),Ze=Math.pow(2,28),et=Math.pow(2,35),tt=Math.pow(2,42),rt=Math.pow(2,49),nt=Math.pow(2,56),it=Math.pow(2,63);const ot={encode:We,decode:Ye,encodingLength:function(e){return e<Xe?1:e<Je?2:e<$e?3:e<Ze?4:e<et?5:e<tt?6:e<rt?7:e<nt?8:e<it?9:10}},st=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=ot.decode(e,t);return[r,ot.decode.bytes]},at=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return ot.encode(e,t,r),t},ct=e=>ot.encodingLength(e),lt=(e,t)=>{const r=t.byteLength,n=ct(e),i=n+ct(r),o=new Uint8Array(i+r);return at(e,o,0),at(r,o,n),o.set(t,i),new ht(e,r,t,o)},ut=e=>{const t=Be(e),[r,n]=st(t),[i,o]=st(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new ht(r,i,s,t)};class ht{constructor(e,t,r,n){this.code=e,this.size=t,this.digest=r,this.bytes=n}}const dt=qe({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),pt=qe({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ft=qe({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),gt=qe({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),yt=qe({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),mt=qe({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),vt=qe({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),bt=qe({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),wt=qe({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),Et=(e,t)=>{const{bytes:r,version:n}=e;return 0===n?It(r,St(e),t||He.encoder):Tt(r,St(e),t||dt.encoder)},_t=new WeakMap,St=e=>{const t=_t.get(e);if(null==t){const t=new Map;return _t.set(e,t),t}return t};class At{constructor(e,t,r,n){this.code=t,this.version=e,this.multihash=r,this.bytes=n,this["/"]=n}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:{const{code:e,multihash:t}=this;if(e!==kt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Rt)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return At.createV0(t)}default:throw Error("Can not convert CID version ".concat(this.version," to version 0. This is a bug please report"))}}toV1(){switch(this.version){case 0:{const{code:e,digest:t}=this.multihash,r=lt(e,t);return At.createV1(this.code,r)}case 1:return this;default:throw Error("Can not convert CID version ".concat(this.version," to version 1. This is a bug please report"))}}equals(e){return At.equals(this,e)}static equals(e,t){const r=t;return r&&e.code===r.code&&e.version===r.version&&((e,t)=>{if(e===t)return!0;{const r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&((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.bytes,r.bytes)}})(e.multihash,r.multihash)}toString(e){return Et(this,e)}toJSON(){return{"/":Et(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID(".concat(this.toString(),")")}static asCID(e){if(null==e)return null;const t=e;if(t instanceof At)return t;if(null!=t["/"]&&t["/"]===t.bytes||t.asCID===t){const{version:e,code:r,multihash:n,bytes:i}=t;return new At(e,r,n,i||Pt(e,r,n.bytes))}if(!0===t[Dt]){const{version:e,multihash:r,code:n}=t,i=ut(r);return At.create(e,n,i)}return null}static create(e,t,r){if("number"!==typeof t)throw new Error("String codecs are no longer supported");if(!(r.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:if(t!==kt)throw new Error("Version 0 CID must use dag-pb (code: ".concat(kt,") block encoding"));return new At(e,t,r,r.bytes);case 1:{const n=Pt(e,t,r.bytes);return new At(e,t,r,n)}default:throw new Error("Invalid version")}}static createV0(e){return At.create(0,kt,e)}static createV1(e,t){return At.create(1,e,t)}static decode(e){const[t,r]=At.decodeFirst(e);if(r.length)throw new Error("Incorrect length");return t}static decodeFirst(e){const t=At.inspectBytes(e),r=t.size-t.multihashSize,n=Be(e.subarray(r,r+t.multihashSize));if(n.byteLength!==t.multihashSize)throw new Error("Incorrect length");const i=n.subarray(t.multihashSize-t.digestSize),o=new ht(t.multihashCode,t.digestSize,i,n);return[0===t.version?At.createV0(o):At.createV1(t.codec,o),e.subarray(t.size)]}static inspectBytes(e){let t=0;const r=()=>{const[r,n]=st(e.subarray(t));return t+=n,r};let n=r(),i=kt;if(18===n?(n=0,t=0):i=r(),0!==n&&1!==n)throw new RangeError("Invalid CID version ".concat(n));const o=t,s=r(),a=r(),c=t+a;return{version:n,codec:i,multihashCode:s,digestSize:a,multihashSize:c-o,size:c}}static parse(e,t){const[r,n]=Ct(e,t),i=At.decode(n);if(0===i.version&&"Q"!==e[0])throw Error("Version 0 CID string must not include multibase prefix");return St(i).set(r,e),i}}const Ct=(e,t)=>{switch(e[0]){case"Q":{const r=t||He;return[He.prefix,r.decode("".concat(He.prefix).concat(e))]}case He.prefix:{const r=t||He;return[He.prefix,r.decode(e)]}case dt.prefix:{const r=t||dt;return[dt.prefix,r.decode(e)]}default:if(null==t)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}},It=(e,t,r)=>{const{prefix:n}=r;if(n!==He.prefix)throw Error("Cannot string encode V0 in ".concat(r.name," encoding"));const i=t.get(n);if(null==i){const i=r.encode(e).slice(1);return t.set(n,i),i}return i},Tt=(e,t,r)=>{const{prefix:n}=r,i=t.get(n);if(null==i){const i=r.encode(e);return t.set(n,i),i}return i},kt=112,Rt=18,Pt=(e,t,r)=>{const n=ct(e),i=n+ct(t),o=new Uint8Array(i+r.byteLength);return at(e,o,0),at(t,o,n),o.set(r,i),o},Dt=Symbol.for("@ipld/js-cid/CID");function Nt(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 Lt=function(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(255!==r[s])throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function h(e){if("string"!==typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[t]){for(var n=0,i=0;e[t]===c;)n++,t++;for(var o=(e.length-t)*l+1>>>0,s=new Uint8Array(o);e[t];){var u=r[e.charCodeAt(t)];if(255===u)return;for(var h=0,d=o-1;(0!==u||h<i)&&-1!==d;d--,h++)u+=a*s[d]>>>0,s[d]=u%256>>>0,u=u/256>>>0;if(0!==u)throw new Error("Non-zero carry");i=h,t++}if(" "!==e[t]){for(var p=o-i;p!==o&&0===s[p];)p++;for(var f=new Uint8Array(n+(o-p)),g=n;p!==o;)f[g++]=s[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,n=0,i=0,o=t.length;i!==o&&0===t[i];)i++,r++;for(var s=(o-i)*u+1>>>0,l=new Uint8Array(s);i!==o;){for(var h=t[i],d=0,p=s-1;(0!==h||d<n)&&-1!==p;p--,d++)h+=256*l[p]>>>0,l[p]=h%a>>>0,h=h/a>>>0;if(0!==h)throw new Error("Non-zero carry");n=d,i++}for(var f=s-n;f!==s&&0===l[f];)f++;for(var g=c.repeat(r);f<s;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:h,decode:function(e){var r=h(e);if(r)return r;throw new Error("Non-".concat(t," character"))}}};const xt=Lt,Ot=(new Uint8Array(0),e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)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")});class Bt{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return"".concat(this.prefix).concat(this.baseEncode(e));throw Error("Unknown type, must be binary type")}}class Mt{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"===typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error("Unable to decode multibase string ".concat(JSON.stringify(e),", ").concat(this.name," decoder only supports inputs prefixed with ").concat(this.prefix));return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return Ft(this,e)}}class Ut{constructor(e){this.decoders=e}or(e){return Ft(this,e)}decode(e){const t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError("Unable to decode multibase string ".concat(JSON.stringify(e),", only inputs prefixed with ").concat(Object.keys(this.decoders)," are supported"))}}const Ft=(e,t)=>new Ut({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class Vt{constructor(e,t,r,n){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=n,this.encoder=new Bt(e,t,r),this.decoder=new Mt(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const jt=e=>{let{name:t,prefix:r,encode:n,decode:i}=e;return new Vt(t,r,n,i)},zt=e=>{let{prefix:t,name:r,alphabet:n}=e;const{encode:i,decode:o}=xt(n,r);return jt({prefix:t,name:r,encode:i,decode:e=>Ot(o(e))})},Kt=e=>{let{name:t,prefix:r,bitsPerChar:n,alphabet:i}=e;return jt({prefix:r,name:t,encode:e=>((e,t,r)=>{const n="="===t[t.length-1],i=(1<<r)-1;let 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})(e,i,n),decode:e=>((e,t,r,n)=>{const i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=e.length;for(;"="===e[o-1];)--o;const s=new Uint8Array(o*r/8|0);let a=0,c=0,l=0;for(let u=0;u<o;++u){const t=i[e[u]];if(void 0===t)throw new SyntaxError("Non-".concat(n," character"));c=c<<r|t,a+=r,a>=8&&(a-=8,s[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s})(e,i,n,t)})},qt=jt({prefix:"\0",name:"identity",encode:e=>{return t=e,(new TextDecoder).decode(t);var t},decode:e=>(e=>(new TextEncoder).encode(e))(e)}),Ht=Kt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),Gt=Kt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),Wt=zt({prefix:"9",name:"base10",alphabet:"0123456789"}),Qt=Kt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Yt=Kt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),Xt=Kt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Jt=Kt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),$t=Kt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Zt=Kt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),er=Kt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),tr=Kt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rr=Kt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),nr=Kt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ir=Kt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),or=zt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),sr=zt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),ar=zt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),cr=zt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),lr=Kt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ur=Kt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),hr=Kt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),dr=Kt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),pr=Array.from("\ud83d\ude80\ud83e\ude90\u2604\ud83d\udef0\ud83c\udf0c\ud83c\udf11\ud83c\udf12\ud83c\udf13\ud83c\udf14\ud83c\udf15\ud83c\udf16\ud83c\udf17\ud83c\udf18\ud83c\udf0d\ud83c\udf0f\ud83c\udf0e\ud83d\udc09\u2600\ud83d\udcbb\ud83d\udda5\ud83d\udcbe\ud83d\udcbf\ud83d\ude02\u2764\ud83d\ude0d\ud83e\udd23\ud83d\ude0a\ud83d\ude4f\ud83d\udc95\ud83d\ude2d\ud83d\ude18\ud83d\udc4d\ud83d\ude05\ud83d\udc4f\ud83d\ude01\ud83d\udd25\ud83e\udd70\ud83d\udc94\ud83d\udc96\ud83d\udc99\ud83d\ude22\ud83e\udd14\ud83d\ude06\ud83d\ude44\ud83d\udcaa\ud83d\ude09\u263a\ud83d\udc4c\ud83e\udd17\ud83d\udc9c\ud83d\ude14\ud83d\ude0e\ud83d\ude07\ud83c\udf39\ud83e\udd26\ud83c\udf89\ud83d\udc9e\u270c\u2728\ud83e\udd37\ud83d\ude31\ud83d\ude0c\ud83c\udf38\ud83d\ude4c\ud83d\ude0b\ud83d\udc97\ud83d\udc9a\ud83d\ude0f\ud83d\udc9b\ud83d\ude42\ud83d\udc93\ud83e\udd29\ud83d\ude04\ud83d\ude00\ud83d\udda4\ud83d\ude03\ud83d\udcaf\ud83d\ude48\ud83d\udc47\ud83c\udfb6\ud83d\ude12\ud83e\udd2d\u2763\ud83d\ude1c\ud83d\udc8b\ud83d\udc40\ud83d\ude2a\ud83d\ude11\ud83d\udca5\ud83d\ude4b\ud83d\ude1e\ud83d\ude29\ud83d\ude21\ud83e\udd2a\ud83d\udc4a\ud83e\udd73\ud83d\ude25\ud83e\udd24\ud83d\udc49\ud83d\udc83\ud83d\ude33\u270b\ud83d\ude1a\ud83d\ude1d\ud83d\ude34\ud83c\udf1f\ud83d\ude2c\ud83d\ude43\ud83c\udf40\ud83c\udf37\ud83d\ude3b\ud83d\ude13\u2b50\u2705\ud83e\udd7a\ud83c\udf08\ud83d\ude08\ud83e\udd18\ud83d\udca6\u2714\ud83d\ude23\ud83c\udfc3\ud83d\udc90\u2639\ud83c\udf8a\ud83d\udc98\ud83d\ude20\u261d\ud83d\ude15\ud83c\udf3a\ud83c\udf82\ud83c\udf3b\ud83d\ude10\ud83d\udd95\ud83d\udc9d\ud83d\ude4a\ud83d\ude39\ud83d\udde3\ud83d\udcab\ud83d\udc80\ud83d\udc51\ud83c\udfb5\ud83e\udd1e\ud83d\ude1b\ud83d\udd34\ud83d\ude24\ud83c\udf3c\ud83d\ude2b\u26bd\ud83e\udd19\u2615\ud83c\udfc6\ud83e\udd2b\ud83d\udc48\ud83d\ude2e\ud83d\ude46\ud83c\udf7b\ud83c\udf43\ud83d\udc36\ud83d\udc81\ud83d\ude32\ud83c\udf3f\ud83e\udde1\ud83c\udf81\u26a1\ud83c\udf1e\ud83c\udf88\u274c\u270a\ud83d\udc4b\ud83d\ude30\ud83e\udd28\ud83d\ude36\ud83e\udd1d\ud83d\udeb6\ud83d\udcb0\ud83c\udf53\ud83d\udca2\ud83e\udd1f\ud83d\ude41\ud83d\udea8\ud83d\udca8\ud83e\udd2c\u2708\ud83c\udf80\ud83c\udf7a\ud83e\udd13\ud83d\ude19\ud83d\udc9f\ud83c\udf31\ud83d\ude16\ud83d\udc76\ud83e\udd74\u25b6\u27a1\u2753\ud83d\udc8e\ud83d\udcb8\u2b07\ud83d\ude28\ud83c\udf1a\ud83e\udd8b\ud83d\ude37\ud83d\udd7a\u26a0\ud83d\ude45\ud83d\ude1f\ud83d\ude35\ud83d\udc4e\ud83e\udd32\ud83e\udd20\ud83e\udd27\ud83d\udccc\ud83d\udd35\ud83d\udc85\ud83e\uddd0\ud83d\udc3e\ud83c\udf52\ud83d\ude17\ud83e\udd11\ud83c\udf0a\ud83e\udd2f\ud83d\udc37\u260e\ud83d\udca7\ud83d\ude2f\ud83d\udc86\ud83d\udc46\ud83c\udfa4\ud83d\ude47\ud83c\udf51\u2744\ud83c\udf34\ud83d\udca3\ud83d\udc38\ud83d\udc8c\ud83d\udccd\ud83e\udd40\ud83e\udd22\ud83d\udc45\ud83d\udca1\ud83d\udca9\ud83d\udc50\ud83d\udcf8\ud83d\udc7b\ud83e\udd10\ud83e\udd2e\ud83c\udfbc\ud83e\udd75\ud83d\udea9\ud83c\udf4e\ud83c\udf4a\ud83d\udc7c\ud83d\udc8d\ud83d\udce3\ud83e\udd42"),fr=pr.reduce(((e,t,r)=>(e[r]=t,e)),[]),gr=pr.reduce(((e,t,r)=>(e[t.codePointAt(0)]=r,e)),[]);const yr=jt({prefix:"\ud83d\ude80",name:"base256emoji",encode:function(e){return e.reduce(((e,t)=>e+=fr[t]),"")},decode:function(e){const t=[];for(const r of e){const e=gr[r.codePointAt(0)];if(void 0===e)throw new Error("Non-base256emoji character: ".concat(r));t.push(e)}return new Uint8Array(t)}});var mr=function e(t,r,n){r=r||[];var i=n=n||0;for(;t>=vr;)r[n++]=255&t|128,t/=128;for(;-128&t;)r[n++]=255&t|128,t>>>=7;return r[n]=0|t,e.bytes=n-i+1,r},vr=Math.pow(2,31);var br=function e(t,r){var n,i=0,o=0,s=r=r||0,a=t.length;do{if(s>=a)throw e.bytes=0,new RangeError("Could not decode varint");n=t[s++],i+=o<28?(127&n)<<o:(127&n)*Math.pow(2,o),o+=7}while(n>=128);return e.bytes=s-r,i};var wr=Math.pow(2,7),Er=Math.pow(2,14),_r=Math.pow(2,21),Sr=Math.pow(2,28),Ar=Math.pow(2,35),Cr=Math.pow(2,42),Ir=Math.pow(2,49),Tr=Math.pow(2,56),kr=Math.pow(2,63);const Rr={encode:mr,decode:br,encodingLength:function(e){return e<wr?1:e<Er?2:e<_r?3:e<Sr?4:e<Ar?5:e<Cr?6:e<Ir?7:e<Tr?8:e<kr?9:10}},Pr=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Rr.encode(e,t,r),t},Dr=e=>Rr.encodingLength(e),Nr=(e,t)=>{const r=t.byteLength,n=Dr(e),i=n+Dr(r),o=new Uint8Array(i+r);return Pr(e,o,0),Pr(r,o,n),o.set(t,i),new Lr(e,r,t,o)};class Lr{constructor(e,t,r,n){this.code=e,this.size=t,this.digest=r,this.bytes=n}}const xr=e=>{let{name:t,code:r,encode:n}=e;return new Or(t,r,n)};class Or{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Nr(this.code,t):t.then((e=>Nr(this.code,e)))}throw Error("Unknown type, must be binary type")}}const Br=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Mr=xr({name:"sha2-256",code:18,encode:Br("SHA-256")}),Ur=xr({name:"sha2-512",code:19,encode:Br("SHA-512")}),Fr=Ot,Vr={code:0,name:"identity",encode:Fr,digest:e=>Nr(0,Fr(e))},jr="raw",zr=85,Kr=e=>Ot(e),qr=e=>Ot(e),Hr=new TextEncoder,Gr=new TextDecoder,Wr="json",Qr=512,Yr=e=>Hr.encode(JSON.stringify(e)),Xr=e=>JSON.parse(Gr.decode(e));new WeakMap;class Jr{constructor(e,t,r,n){this.code=t,this.version=e,this.multihash=r,this.bytes=n,this["/"]=n}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:{const{code:e,multihash:t}=this;if(e!==cid_DAG_PB_CODE)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==cid_SHA_256_CODE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return Jr.createV0(t)}default:throw Error("Can not convert CID version ".concat(this.version," to version 0. This is a bug please report"))}}toV1(){switch(this.version){case 0:{const{code:e,digest:t}=this.multihash,r=Digest.create(e,t);return Jr.createV1(this.code,r)}case 1:return this;default:throw Error("Can not convert CID version ".concat(this.version," to version 1. This is a bug please report"))}}equals(e){return Jr.equals(this,e)}static equals(e,t){const r=t;return r&&e.code===r.code&&e.version===r.version&&Digest.equals(e.multihash,r.multihash)}toString(e){return cid_format(this,e)}toJSON(){return{"/":cid_format(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID(".concat(this.toString(),")")}static asCID(e){if(null==e)return null;const t=e;if(t instanceof Jr)return t;if(null!=t["/"]&&t["/"]===t.bytes||t.asCID===t){const{version:e,code:r,multihash:n,bytes:i}=t;return new Jr(e,r,n,i||cid_encodeCID(e,r,n.bytes))}if(!0===t[cid_cidSymbol]){const{version:e,multihash:r,code:n}=t,i=Digest.decode(r);return Jr.create(e,n,i)}return null}static create(e,t,r){if("number"!==typeof t)throw new Error("String codecs are no longer supported");if(!(r.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:if(t!==cid_DAG_PB_CODE)throw new Error("Version 0 CID must use dag-pb (code: ".concat(cid_DAG_PB_CODE,") block encoding"));return new Jr(e,t,r,r.bytes);case 1:{const n=cid_encodeCID(e,t,r.bytes);return new Jr(e,t,r,n)}default:throw new Error("Invalid version")}}static createV0(e){return Jr.create(0,cid_DAG_PB_CODE,e)}static createV1(e,t){return Jr.create(1,e,t)}static decode(e){const[t,r]=Jr.decodeFirst(e);if(r.length)throw new Error("Incorrect length");return t}static decodeFirst(e){const t=Jr.inspectBytes(e),r=t.size-t.multihashSize,n=coerce(e.subarray(r,r+t.multihashSize));if(n.byteLength!==t.multihashSize)throw new Error("Incorrect length");const i=n.subarray(t.multihashSize-t.digestSize),o=new Digest.Digest(t.multihashCode,t.digestSize,i,n);return[0===t.version?Jr.createV0(o):Jr.createV1(t.codec,o),e.subarray(t.size)]}static inspectBytes(e){let t=0;const r=()=>{const[r,n]=varint.decode(e.subarray(t));return n,r};let n=r(),i=cid_DAG_PB_CODE;if(18===n?(0,0):r(),0!==n&&1!==n)throw new RangeError("Invalid CID version ".concat(n));const o=t,s=r(),a=r(),c=t+a;return{version:n,codec:i,multihashCode:s,digestSize:a,multihashSize:c-o,size:c}}static parse(e,t){const[r,n]=cid_parseCIDtoBytes(e,t),i=Jr.decode(n);if(0===i.version&&"Q"!==e[0])throw Error("Version 0 CID string must not include multibase prefix");return cid_baseCache(i).set(r,e),i}}Symbol.for("@ipld/js-cid/CID");const $r={...r,...n,...i,...o,...s,...a,...c,...l,...u,...h};function Zr(e){return null!=globalThis.Buffer?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function en(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return null!=(null===(e=globalThis.Buffer)||void 0===e?void 0:e.alloc)?Zr(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function tn(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return null!=(null===(e=globalThis.Buffer)||void 0===e?void 0:e.allocUnsafe)?Zr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function rn(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}const nn=rn("utf8","u",(e=>"u"+new TextDecoder("utf8").decode(e)),(e=>(new TextEncoder).encode(e.substring(1)))),on=rn("ascii","a",(e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t}),(e=>{const t=tn((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t})),sn={utf8:nn,"utf-8":nn,hex:$r.base16,latin1:on,ascii:on,binary:on,...$r};function an(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"utf8";const r=sn[t];if(null==r)throw new Error('Unsupported encoding "'.concat(t,'"'));return"utf8"!==t&&"utf-8"!==t||null==globalThis.Buffer||null==globalThis.Buffer.from?r.encoder.encode(e).substring(1):globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8")}var cn=__webpack_require__(6796);function ln(e,t){null==t&&(t=e.reduce(((e,t)=>e+t.length),0));const r=tn(t);let n=0;for(const i of e)r.set(i,n),n+=i.length;return Zr(r)}const un=new class{constructor(){Ce(this,"index",0),Ce(this,"input","")}new(e){return this.index=0,this.input=e,this}readAtomically(e){const t=this.index,r=e();return void 0===r&&(this.index=t),r}parseWith(e){const t=e();if(this.index===this.input.length)return t}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically((()=>{const t=this.readChar();if(t===e)return t}))}readSeparator(e,t,r){return this.readAtomically((()=>{if(!(t>0&&void 0===this.readGivenChar(e)))return r()}))}readNumber(e,t,r,n){return this.readAtomically((()=>{let i=0,o=0;const s=this.peekChar();if(void 0===s)return;const a="0"===s,c=2**(8*n)-1;for(;;){const r=this.readAtomically((()=>{const t=this.readChar();if(void 0===t)return;const r=Number.parseInt(t,e);return Number.isNaN(r)?void 0:r}));if(void 0===r)break;if(i*=e,i+=r,i>c)return;if(o+=1,void 0!==t&&o>t)return}return 0===o||!r&&a&&o>1?void 0:i}))}readIPv4Addr(){return this.readAtomically((()=>{const e=new Uint8Array(4);for(let t=0;t<e.length;t++){const r=this.readSeparator(".",t,(()=>this.readNumber(10,3,!1,1)));if(void 0===r)return;e[t]=r}return e}))}readIPv6Addr(){const e=e=>{for(let t=0;t<e.length/2;t++){const r=2*t;if(t<e.length-3){const n=this.readSeparator(":",t,(()=>this.readIPv4Addr()));if(void 0!==n)return e[r]=n[0],e[r+1]=n[1],e[r+2]=n[2],e[r+3]=n[3],[r+4,!0]}const n=this.readSeparator(":",t,(()=>this.readNumber(16,4,!0,2)));if(void 0===n)return[r,!1];e[r]=n>>8,e[r+1]=255&n}return[e.length,!1]};return this.readAtomically((()=>{const t=new Uint8Array(16),[r,n]=e(t);if(16===r)return t;if(n)return;if(void 0===this.readGivenChar(":"))return;if(void 0===this.readGivenChar(":"))return;const i=new Uint8Array(14),o=16-(r+2),[s]=e(i.subarray(0,o));return t.set(i.subarray(0,s),16-s),t}))}readIPAddr(){var e;return null!==(e=this.readIPv4Addr())&&void 0!==e?e:this.readIPv6Addr()}};parseInt("0xFFFF",16),new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);const hn=ze({prefix:"\0",name:"identity",encode:e=>{return t=e,(new TextDecoder).decode(t);var t},decode:e=>(e=>(new TextEncoder).encode(e))(e)}),dn=qe({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),pn=qe({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),fn=Ke({prefix:"9",name:"base10",alphabet:"0123456789"}),gn=qe({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),yn=qe({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),mn=Ke({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),vn=Ke({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),bn=qe({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),wn=qe({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),En=qe({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),_n=qe({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),Sn=Array.from("\ud83d\ude80\ud83e\ude90\u2604\ud83d\udef0\ud83c\udf0c\ud83c\udf11\ud83c\udf12\ud83c\udf13\ud83c\udf14\ud83c\udf15\ud83c\udf16\ud83c\udf17\ud83c\udf18\ud83c\udf0d\ud83c\udf0f\ud83c\udf0e\ud83d\udc09\u2600\ud83d\udcbb\ud83d\udda5\ud83d\udcbe\ud83d\udcbf\ud83d\ude02\u2764\ud83d\ude0d\ud83e\udd23\ud83d\ude0a\ud83d\ude4f\ud83d\udc95\ud83d\ude2d\ud83d\ude18\ud83d\udc4d\ud83d\ude05\ud83d\udc4f\ud83d\ude01\ud83d\udd25\ud83e\udd70\ud83d\udc94\ud83d\udc96\ud83d\udc99\ud83d\ude22\ud83e\udd14\ud83d\ude06\ud83d\ude44\ud83d\udcaa\ud83d\ude09\u263a\ud83d\udc4c\ud83e\udd17\ud83d\udc9c\ud83d\ude14\ud83d\ude0e\ud83d\ude07\ud83c\udf39\ud83e\udd26\ud83c\udf89\ud83d\udc9e\u270c\u2728\ud83e\udd37\ud83d\ude31\ud83d\ude0c\ud83c\udf38\ud83d\ude4c\ud83d\ude0b\ud83d\udc97\ud83d\udc9a\ud83d\ude0f\ud83d\udc9b\ud83d\ude42\ud83d\udc93\ud83e\udd29\ud83d\ude04\ud83d\ude00\ud83d\udda4\ud83d\ude03\ud83d\udcaf\ud83d\ude48\ud83d\udc47\ud83c\udfb6\ud83d\ude12\ud83e\udd2d\u2763\ud83d\ude1c\ud83d\udc8b\ud83d\udc40\ud83d\ude2a\ud83d\ude11\ud83d\udca5\ud83d\ude4b\ud83d\ude1e\ud83d\ude29\ud83d\ude21\ud83e\udd2a\ud83d\udc4a\ud83e\udd73\ud83d\ude25\ud83e\udd24\ud83d\udc49\ud83d\udc83\ud83d\ude33\u270b\ud83d\ude1a\ud83d\ude1d\ud83d\ude34\ud83c\udf1f\ud83d\ude2c\ud83d\ude43\ud83c\udf40\ud83c\udf37\ud83d\ude3b\ud83d\ude13\u2b50\u2705\ud83e\udd7a\ud83c\udf08\ud83d\ude08\ud83e\udd18\ud83d\udca6\u2714\ud83d\ude23\ud83c\udfc3\ud83d\udc90\u2639\ud83c\udf8a\ud83d\udc98\ud83d\ude20\u261d\ud83d\ude15\ud83c\udf3a\ud83c\udf82\ud83c\udf3b\ud83d\ude10\ud83d\udd95\ud83d\udc9d\ud83d\ude4a\ud83d\ude39\ud83d\udde3\ud83d\udcab\ud83d\udc80\ud83d\udc51\ud83c\udfb5\ud83e\udd1e\ud83d\ude1b\ud83d\udd34\ud83d\ude24\ud83c\udf3c\ud83d\ude2b\u26bd\ud83e\udd19\u2615\ud83c\udfc6\ud83e\udd2b\ud83d\udc48\ud83d\ude2e\ud83d\ude46\ud83c\udf7b\ud83c\udf43\ud83d\udc36\ud83d\udc81\ud83d\ude32\ud83c\udf3f\ud83e\udde1\ud83c\udf81\u26a1\ud83c\udf1e\ud83c\udf88\u274c\u270a\ud83d\udc4b\ud83d\ude30\ud83e\udd28\ud83d\ude36\ud83e\udd1d\ud83d\udeb6\ud83d\udcb0\ud83c\udf53\ud83d\udca2\ud83e\udd1f\ud83d\ude41\ud83d\udea8\ud83d\udca8\ud83e\udd2c\u2708\ud83c\udf80\ud83c\udf7a\ud83e\udd13\ud83d\ude19\ud83d\udc9f\ud83c\udf31\ud83d\ude16\ud83d\udc76\ud83e\udd74\u25b6\u27a1\u2753\ud83d\udc8e\ud83d\udcb8\u2b07\ud83d\ude28\ud83c\udf1a\ud83e\udd8b\ud83d\ude37\ud83d\udd7a\u26a0\ud83d\ude45\ud83d\ude1f\ud83d\ude35\ud83d\udc4e\ud83e\udd32\ud83e\udd20\ud83e\udd27\ud83d\udccc\ud83d\udd35\ud83d\udc85\ud83e\uddd0\ud83d\udc3e\ud83c\udf52\ud83d\ude17\ud83e\udd11\ud83c\udf0a\ud83e\udd2f\ud83d\udc37\u260e\ud83d\udca7\ud83d\ude2f\ud83d\udc86\ud83d\udc46\ud83c\udfa4\ud83d\ude47\ud83c\udf51\u2744\ud83c\udf34\ud83d\udca3\ud83d\udc38\ud83d\udc8c\ud83d\udccd\ud83e\udd40\ud83e\udd22\ud83d\udc45\ud83d\udca1\ud83d\udca9\ud83d\udc50\ud83d\udcf8\ud83d\udc7b\ud83e\udd10\ud83e\udd2e\ud83c\udfbc\ud83e\udd75\ud83d\udea9\ud83c\udf4e\ud83c\udf4a\ud83d\udc7c\ud83d\udc8d\ud83d\udce3\ud83e\udd42"),An=Sn.reduce(((e,t,r)=>(e[r]=t,e)),[]),Cn=Sn.reduce(((e,t,r)=>(e[t.codePointAt(0)]=r,e)),[]);const In=ze({prefix:"\ud83d\ude80",name:"base256emoji",encode:function(e){return e.reduce(((e,t)=>e+=An[t]),"")},decode:function(e){const t=[];for(const r of e){const e=Cn[r.codePointAt(0)];if(void 0===e)throw new Error("Non-base256emoji character: ".concat(r));t.push(e)}return new Uint8Array(t)}}),Tn=e=>{let{name:t,code:r,encode:n}=e;return new kn(t,r,n)};class kn{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?lt(this.code,t):t.then((e=>lt(this.code,e)))}throw Error("Unknown type, must be binary type")}}const Rn=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Pn=Tn({name:"sha2-256",code:18,encode:Rn("SHA-256")}),Dn=Tn({name:"sha2-512",code:19,encode:Rn("SHA-512")}),Nn=Be,Ln={code:0,name:"identity",encode:Nn,digest:e=>lt(0,Nn(e))},xn="raw",On=85,Bn=e=>Be(e),Mn=e=>Be(e),Un=new TextEncoder,Fn=new TextDecoder,Vn="json",jn=512,zn=e=>Un.encode(JSON.stringify(e)),Kn=e=>JSON.parse(Fn.decode(e)),qn={...y,...m,...v,...b,...w,...t,...E,...e,..._,...S};function Hn(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"utf8";const r=sn[t];if(null==r)throw new Error('Unsupported encoding "'.concat(t,'"'));return"utf8"!==t&&"utf-8"!==t||null==globalThis.Buffer||null==globalThis.Buffer.from?r.decoder.decode("".concat(r.prefix).concat(e)):Zr(globalThis.Buffer.from(e,"utf-8"))}function Gn(e){return Boolean(function(e){if(!(e.length>15))return un.new(e).parseWith((()=>un.readIPv4Addr()))}(e))}function Wn(e){return Boolean(function(e){if(!(e.length>45))return un.new(e).parseWith((()=>un.readIPv6Addr()))}(e))}function Qn(e){return Boolean(function(e){if(!(e.length>45))return un.new(e).parseWith((()=>un.readIPAddr()))}(e))}const Yn=Gn,Xn=Wn,Jn=function(e){let t=0;if(e=e.toString().trim(),Yn(e)){const r=new Uint8Array(t+4);return e.split(/\./g).forEach((e=>{r[t++]=255&parseInt(e,10)})),r}if(Xn(e)){const r=e.split(":",8);let n;for(n=0;n<r.length;n++){let e;Yn(r[n])&&(e=Jn(r[n]),r[n]=an(e.slice(0,2),"base16")),null!=e&&++n<8&&r.splice(n,0,an(e.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++);const e=[n,1];for(n=9-r.length;n>0;n--)e.push("0");r.splice.apply(r,e)}const i=new Uint8Array(t+16);for(n=0;n<r.length;n++){const e=parseInt(r[n],16);i[t++]=e>>8&255,i[t++]=255&e}return i}throw new Error("invalid ip address")},$n=-1,Zn={},ei={};function ti(e){if("number"===typeof e){if(null!=ei[e])return ei[e];throw new Error("no protocol with code: ".concat(e))}if("string"===typeof e){if(null!=Zn[e])return Zn[e];throw new Error("no protocol with name: ".concat(e))}throw new Error("invalid protocol id type: ".concat(typeof e))}[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,$n,"ip6zone"],[43,8,"ipcidr"],[53,$n,"dns",!0],[54,$n,"dns4",!0],[55,$n,"dns6",!0],[56,$n,"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,$n,"unix",!1,!0],[421,$n,"ipfs"],[421,$n,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,$n,"garlic64"],[448,0,"tls"],[449,$n,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,$n,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,$n,"memory"]].forEach((e=>{const t=function(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:Boolean(n),path:Boolean(i)}}(...e);ei[t.code]=t,Zn[t.name]=t}));ti("ip4"),ti("ip6"),ti("ipcidr");function ri(e,t){switch(ti(e).code){case 4:case 41:return function(e){const t=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;r=~~r,n=null!==(t=n)&&void 0!==t?t:e.length-r;const i=new DataView(e.buffer);if(4===n){const t=[];for(let i=0;i<n;i++)t.push(e[r+i]);return t.join(".")}if(16===n){const e=[];for(let t=0;t<n;t+=2)e.push(i.getUint16(r+t).toString(16));return e.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""}(e,0,e.length);if(null==t)throw new Error("ipBuff is required");if(!Qn(t))throw new Error("invalid ip address");return t}(t);case 42:case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ui(t);case 6:case 273:case 33:case 132:return ci(t).toString();case 421:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return an(r,"base58btc")}(t);case 444:case 445:return hi(t);case 466:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+an(r,"base64url")}(t);default:return an(t,"base16")}}function ni(e,t){switch(ti(e).code){case 4:case 41:return si(t);case 42:case 53:case 54:case 55:case 56:case 400:case 449:case 777:return li(t);case 6:case 273:case 33:case 132:return ai(parseInt(t,10));case 421:return function(e){let t;t="Q"===e[0]||"1"===e[0]?ut(He.decode("z".concat(e))).bytes:At.parse(e).multihash.bytes;const r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);case 444:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(16!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion address."));const r=dt.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)");const i=ai(n);return ln([r,i],r.length+i.length)}(t);case 445:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(56!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion3 address."));const r=dt.decode("b".concat(t[0])),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");const i=ai(n);return ln([r,i],r.length+i.length)}(t);case 466:return function(e){const t=oi.decode(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);default:return Hn(t,"base16")}}const ii=Object.values(qn).map((e=>e.decoder)),oi=function(){let e=ii[0].or(ii[1]);return ii.slice(2).forEach((t=>e=e.or(t))),e}();function si(e){if(!Qn(e))throw new Error("invalid ip address");return Jn(e)}function ai(e){const t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function ci(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function li(e){const t=Hn(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}function ui(e){const t=cn.decode(e);if((e=e.slice(cn.decode.bytes)).length!==t)throw new Error("inconsistent lengths");return an(e)}function hi(e){const t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=an(t,"base32"),i=ci(r);return"".concat(n,":").concat(i)}function di(e){return e.map((e=>{const t=_i(e);return null!=e[1]?[t.code,ri(t.code,e[1])]:[t.code]}))}function pi(e){return vi(ln(e.map((e=>{const t=_i(e);let r=Uint8Array.from(cn.encode(t.code));return e.length>1&&null!=e[1]&&(r=ln([r,e[1]])),r}))))}function fi(e,t){if(e.size>0)return e.size/8;if(0===e.size)return 0;var r;return cn.decode(t)+(null!==(r=cn.decode.bytes)&&void 0!==r?r:0)}function gi(e){const t=[];let r=0;for(;r<e.length;){var n;const i=cn.decode(e,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0,s=fi(ti(i),e.slice(r+o));if(0===s){t.push([i]),r+=o;continue}const a=e.slice(r+o,r+o+s);if(r+=s+o,r>e.length)throw Ei("Invalid address Uint8Array: "+an(e,"base16"));t.push([i,a])}return t}function yi(e){return function(e){const t=[];return e.map((e=>{const r=_i(e);return t.push(r.name),e.length>1&&null!=e[1]&&t.push(e[1]),null})),wi(t.join("/"))}(di(gi(e)))}function mi(e){const t=function(e){const t=[],r=e.split("/").slice(1);if(1===r.length&&""===r[0])return[];for(let n=0;n<r.length;n++){const i=r[n],o=ti(i);if(0!==o.size){if(n++,n>=r.length)throw Ei("invalid address: "+e);if(!0===o.path){t.push([i,wi(r.slice(n).join("/"))]);break}t.push([i,r[n]])}else t.push([i])}return t}(e=wi(e));return pi(t.map((e=>{Array.isArray(e)||(e=[e]);const t=_i(e);return e.length>1?[t.code,ni(t.code,e[1])]:[t.code]})))}function vi(e){const t=bi(e);if(null!=t)throw t;return Uint8Array.from(e)}function bi(e){try{gi(e)}catch(t){return t}}function wi(e){return"/"+e.trim().split("/").filter((e=>e)).join("/")}function Ei(e){return new Error("Error parsing address: "+e)}function _i(e){return ti(e[0])}const Si=Symbol.for("nodejs.util.inspect.custom"),Ai=[ti("dns").code,ti("dns4").code,ti("dns6").code,ti("dnsaddr").code],Ci=new Map,Ii=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Ti(e){return Boolean(null===e||void 0===e?void 0:e[Ii])}var ki,Ri,Pi,Di,Ni=new WeakMap,Li=new WeakMap,xi=new WeakMap,Oi=new WeakMap;class Bi{constructor(e){if(Ce(this,"bytes",void 0),ke(this,Ni,{writable:!0,value:void 0}),ke(this,Li,{writable:!0,value:void 0}),ke(this,xi,{writable:!0,value:void 0}),ke(this,Oi,{writable:!0,value:void 0}),Ce(this,Ii,!0),null==e&&(e=""),e instanceof Uint8Array)this.bytes=vi(e);else if("string"===typeof e){if(e.length>0&&"/"!==e.charAt(0))throw new Error('multiaddr "'.concat(e,'" must start with a "/"'));this.bytes=mi(e)}else{if(!Ti(e))throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=vi(e.bytes)}}toString(){return null==De(this,Ni)&&Pe(this,Ni,yi(this.bytes)),De(this,Ni)}toJSON(){return this.toString()}toOptions(){let e,t,r,n,i="";const o=ti("tcp"),s=ti("udp"),a=ti("ip4"),c=ti("ip6"),l=ti("dns6"),u=ti("ip6zone");for(const[h,d]of this.stringTuples())h===u.code&&(i="%".concat(null!==d&&void 0!==d?d:"")),Ai.includes(h)&&(t=o.name,n=443,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===l.code?6:4),h!==o.code&&h!==s.code||(t=ti(h).name,n=parseInt(null!==d&&void 0!==d?d:"")),h!==a.code&&h!==c.code||(t=ti(h).name,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===c.code?6:4);if(null==e||null==t||null==r||null==n)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:r,transport:t,port:n}}protos(){return this.protoCodes().map((e=>Object.assign({},ti(e))))}protoCodes(){const e=[],t=this.bytes;let r=0;for(;r<t.length;){var n;const i=cn.decode(t,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0;r+=fi(ti(i),t.slice(r+o))+o,e.push(i)}return e}protoNames(){return this.protos().map((e=>e.name))}tuples(){return null==De(this,Li)&&Pe(this,Li,gi(this.bytes)),De(this,Li)}stringTuples(){return null==De(this,xi)&&Pe(this,xi,di(this.tuples())),De(this,xi)}encapsulate(e){return e=new Bi(e),new Bi(this.toString()+e.toString())}decapsulate(e){const t=e.toString(),r=this.toString(),n=r.lastIndexOf(t);if(n<0)throw new Error("Address ".concat(this.toString()," does not contain subaddress: ").concat(e.toString()));return new Bi(r.slice(0,n))}decapsulateCode(e){const t=this.tuples();for(let r=t.length-1;r>=0;r--)if(t[r][0]===e)return new Bi(pi(t.slice(0,r)));return this}getPeerId(){try{const e=this.stringTuples().filter((e=>e[0]===Zn.ipfs.code)),t=e.pop();if(null!=(null===t||void 0===t?void 0:t[1])){const e=t[1];return"Q"===e[0]||"1"===e[0]?an(He.decode("z".concat(e)),"base58btc"):an(At.parse(e).multihash.bytes,"base58btc")}return null}catch(e){return null}}getPath(){if(void 0===De(this,Oi))try{Pe(this,Oi,this.stringTuples().filter((e=>!0===ti(e[0]).path))[0][1]),null==De(this,Oi)&&Pe(this,Oi,null)}catch{Pe(this,Oi,null)}return De(this,Oi)}equals(e){return Nt(this.bytes,e.bytes)}async resolve(e){const t=this.protos().find((e=>e.resolvable));if(null==t)return[this];const r=Ci.get(t.name);if(null==r)throw new Le("no available resolver for ".concat(t.name),"ERR_NO_AVAILABLE_RESOLVER");return(await r(this,e)).map((e=>new Bi(e)))}nodeAddress(){const e=this.toOptions();if("tcp"!==e.transport&&"udp"!==e.transport)throw new Error('multiaddr must have a valid format - no protocol with name: "'.concat(e.transport,'". Must have a valid transport protocol: "{tcp, udp}"'));return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){const t=(null!==e&&void 0!==e?e:this).protos();return 2===t.length&&((4===t[0].code||41===t[0].code)&&(6===t[1].code||273===t[1].code))}[Si](){return"Multiaddr(".concat(yi(this.bytes),")")}}function Mi(e){return new Bi(e)}!function(e){e.Relay="relay",e.Store="store",e.LightPush="lightpush",e.Filter="filter"}(ki||(ki={})),function(e){e.GENERIC_FAIL="Generic error",e.ENCODE_FAILED="Failed to encode",e.DECODE_FAILED="Failed to decode",e.SIZE_TOO_BIG="Size is too big",e.NO_RPC_RESPONSE="No RPC response"}(Ri||(Ri={})),function(e){e.BACKWARD="backward",e.FORWARD="forward"}(Pi||(Pi={})),function(e){e.BOOTSTRAP="bootstrap",e.PEER_EXCHANGE="peer-exchange"}(Di||(Di={}));var Ui=__webpack_require__(4054);const Fi=Ui("waku:keep-alive");class Vi{constructor(e,t){Ce(this,"pingKeepAliveTimers",void 0),Ce(this,"relayKeepAliveTimers",void 0),Ce(this,"options",void 0),Ce(this,"relay",void 0),this.pingKeepAliveTimers=new Map,this.relayKeepAliveTimers=new Map,this.options=e,this.relay=t}start(e,t){this.stop(e);const{pingKeepAlive:r,relayKeepAlive:n}=this.options,i=e.toString();if(0!==r){const n=setInterval((()=>{t(e).catch((e=>{Fi("Ping failed (".concat(i,")"),e)}))}),1e3*r);this.pingKeepAliveTimers.set(i,n)}const o=this.relay;if(o&&0!==n){const t=Vo({contentTopic:"/relay-ping/1/ping/null",ephemeral:!0}),r=setInterval((()=>{Fi("Sending Waku Relay ping message"),o.send(t,{payload:new Uint8Array([1])}).catch((e=>Fi("Failed to send relay ping",e)))}),1e3*n);this.relayKeepAliveTimers.set(e,r)}}stop(e){const t=e.toString();this.pingKeepAliveTimers.has(t)&&(clearInterval(this.pingKeepAliveTimers.get(t)),this.pingKeepAliveTimers.delete(t)),this.relayKeepAliveTimers.has(e)&&(clearInterval(this.relayKeepAliveTimers.get(e)),this.relayKeepAliveTimers.delete(e))}stopAll(){for(const e of[...Object.values(this.pingKeepAliveTimers),...Object.values(this.relayKeepAliveTimers)])clearInterval(e);this.pingKeepAliveTimers.clear(),this.relayKeepAliveTimers.clear()}}const ji=Ui("waku:connection-manager");class zi{static create(e,t,r,n,i){let o=zi.instances.get(e);return o||(o=new zi(t,r,n,i),zi.instances.set(e,o)),o}constructor(e,t,r,n){Ce(this,"keepAliveManager",void 0),Ce(this,"options",void 0),Ce(this,"libp2pComponents",void 0),Ce(this,"dialAttemptsForPeer",new Map),Ce(this,"dialErrorsForPeer",new Map),Ce(this,"currentActiveDialCount",0),Ce(this,"pendingPeerDialQueue",[]),Ce(this,"onEventHandlers",{"peer:discovery":async e=>{const{id:t}=e.detail;this.attemptDial(t).catch((e=>ji("Error dialing peer ".concat(t.toString()," : ").concat(e))))},"peer:connect":async e=>{const{remotePeer:t}=e.detail;this.keepAliveManager.start(t,this.libp2pComponents.ping.bind(this));if((await this.getTagNamesForPeer(t)).includes(Di.BOOTSTRAP)){this.libp2pComponents.getConnections().filter((e=>e.tags.includes(Di.BOOTSTRAP))).length>this.options.maxBootstrapPeersAllowed&&await this.dropConnection(t)}},"peer:disconnect":()=>e=>{this.keepAliveManager.stop(e.detail.remotePeer)}}),this.libp2pComponents=e,this.options={maxDialAttemptsForPeer:3,maxBootstrapPeersAllowed:1,maxParallelDials:3,...n},this.keepAliveManager=new Vi(t,r),this.run().then((()=>ji("Connection Manager is now running"))).catch((e=>ji("Unexpected error while running service",e))),this.dialPeerStorePeers()}async dialPeerStorePeers(){const e=await this.libp2pComponents.peerStore.all(),t=[];for(const n of e)this.libp2pComponents.getConnections().find((e=>e.remotePeer===n.id))||t.push(this.attemptDial(n.id));try{await Promise.all(t)}catch(r){ji("Unexpected error while dialing peer store peers",r)}}async run(){this.startPeerDiscoveryListener(),this.startPeerConnectionListener(),this.startPeerDisconnectionListener()}stop(){this.keepAliveManager.stopAll(),this.libp2pComponents.removeEventListener("peer:connect",this.onEventHandlers["peer:connect"]),this.libp2pComponents.removeEventListener("peer:disconnect",this.onEventHandlers["peer:disconnect"]),this.libp2pComponents.removeEventListener("peer:discovery",this.onEventHandlers["peer:discovery"])}async dialPeer(e){this.currentActiveDialCount+=1;let t=0;for(;t<=this.options.maxDialAttemptsForPeer;)try{ji("Dialing peer ".concat(e.toString())),await this.libp2pComponents.dial(e);const t=await this.getTagNamesForPeer(e);return this.libp2pComponents.getConnections(e).forEach((e=>e.tags=Array.from(new Set([...e.tags,...t])))),void this.dialAttemptsForPeer.delete(e.toString())}catch(n){var r;const i=n;this.dialErrorsForPeer.set(e.toString(),i),ji("Error dialing peer ".concat(e.toString()," - ").concat(i.errors)),t=null!==(r=this.dialAttemptsForPeer.get(e.toString()))&&void 0!==r?r:1,this.dialAttemptsForPeer.set(e.toString(),t+1),t<=this.options.maxDialAttemptsForPeer&&ji("Reattempting dial (".concat(t,")"))}try{return ji("Deleting undialable peer ".concat(e.toString()," from peer store. Error: ").concat(JSON.stringify(this.dialErrorsForPeer.get(e.toString()).errors[0]),"\n }")),this.dialErrorsForPeer.delete(e.toString()),await this.libp2pComponents.peerStore.delete(e)}catch(i){throw"Error deleting undialable peer ".concat(e.toString()," from peer store - ").concat(i)}finally{this.currentActiveDialCount-=1,this.processDialQueue()}}async dropConnection(e){try{await this.libp2pComponents.hangUp(e),ji("Dropped connection with peer ".concat(e.toString()))}catch(t){ji("Error dropping connection with peer ".concat(e.toString()," - ").concat(t))}}async processDialQueue(){if(this.pendingPeerDialQueue.length>0&&this.currentActiveDialCount<this.options.maxParallelDials){const e=this.pendingPeerDialQueue.shift();if(!e)return;this.attemptDial(e).catch((e=>{ji(e)}))}}startPeerDiscoveryListener(){this.libp2pComponents.peerStore.addEventListener("peer",this.onEventHandlers["peer:discovery"])}startPeerConnectionListener(){this.libp2pComponents.addEventListener("peer:connect",this.onEventHandlers["peer:connect"])}startPeerDisconnectionListener(){this.libp2pComponents.addEventListener("peer:disconnect",this.onEventHandlers["peer:disconnect"])}async attemptDial(e){this.currentActiveDialCount>=this.options.maxParallelDials?this.pendingPeerDialQueue.push(e):await this.shouldDialPeer(e)&&this.dialPeer(e).catch((t=>{throw"Error dialing peer ".concat(e.toString()," : ").concat(t)}))}async shouldDialPeer(e){if(this.libp2pComponents.getConnections(e).length>0)return!1;if(!(await this.getTagNamesForPeer(e)).some((e=>e===Di.BOOTSTRAP)))return!0;if(this.libp2pComponents.getConnections().filter((e=>{e.tags.find((e=>e===Di.BOOTSTRAP))})).length<this.options.maxBootstrapPeersAllowed)return!0;return!1}async getTagNamesForPeer(e){return(await this.libp2pComponents.peerStore.getTags(e)).map((e=>e.name))}}Ce(zi,"instances",new Map);const Ki=Ui("waku:waku");class qi{constructor(e,t,r,n,i,o){Ce(this,"libp2p",void 0),Ce(this,"relay",void 0),Ce(this,"store",void 0),Ce(this,"filter",void 0),Ce(this,"lightPush",void 0),Ce(this,"connectionManager",void 0),this.libp2p=t,r&&(this.store=r(t)),i&&(this.filter=i(t)),n&&(this.lightPush=n(t)),o&&(this.relay=o(t));const s=e.pingKeepAlive||0,a=this.relay?e.relayKeepAlive||300:0,c=this.libp2p.peerId.toString();this.connectionManager=zi.create(c,t,{pingKeepAlive:s,relayKeepAlive:a},this.relay),Ki("Waku node created",c,"relay: ".concat(!!this.relay,", store: ").concat(!!this.store,", light push: ").concat(!!this.lightPush,", filter: ").concat(!!this.filter))}async dial(e,t){const r=null!==t&&void 0!==t?t:[],n=function(e){return Te(e)?e:Mi(e)}(e);"undefined"===typeof t&&(this.relay&&r.push(ki.Relay),this.store&&r.push(ki.Store),this.filter&&r.push(ki.Filter),this.lightPush&&r.push(ki.LightPush));const i=[];return r.includes(ki.Relay)&&(this.relay?this.relay.gossipSub.multicodecs.forEach((e=>i.push(e))):Ki("Relay codec not included in dial codec: protocol not mounted locally")),r.includes(ki.Store)&&(this.store?i.push(this.store.multicodec):Ki("Store codec not included in dial codec: protocol not mounted locally")),r.includes(ki.LightPush)&&(this.lightPush?i.push(this.lightPush.multicodec):Ki("Light Push codec not included in dial codec: protocol not mounted locally")),r.includes(ki.Filter)&&(this.filter?i.push(this.filter.multicodec):Ki("Filter codec not included in dial codec: protocol not mounted locally")),Ki("Dialing to ".concat(n.toString()," with protocols ").concat(r)),this.libp2p.dialProtocol(n,i)}async start(){await this.libp2p.start()}async stop(){this.connectionManager.stop(),await this.libp2p.stop()}isStarted(){return this.libp2p.isStarted()}getLocalMultiaddrWithID(){const e=this.libp2p.getMultiaddrs().find((e=>e.toString().match(/127\.0\.0\.1/)));if(!e||""===e.toString())throw"Not listening on localhost";return e+"/p2p/"+this.libp2p.peerId.toString()}}var Hi=__webpack_require__(2422),Gi=__webpack_require__(4148),Wi=__webpack_require__(9716),Qi=__webpack_require__(8050),Yi=__webpack_require__(2149);Wi._configure(),Hi._configure(Gi),Qi._configure(Yi);const Xi=["uint64","int64","sint64","fixed64","sfixed64"];function Ji(e){return function(e){for(const t of Xi){if(null==e[t])continue;const r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}(new Hi(e))}function $i(){return function(e){for(const t of Xi){if(null==e[t])continue;const r=e[t];e[t]=function(e){return r.call(this,e.toString())}}return e}(Qi.create())}function Zi(e,t){const r=Ji(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function eo(e,t){const r=$i();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var to,ro,no,io,oo,so,ao,co,lo,uo,ho,po,fo,go,yo,mo,vo,bo,wo,Eo,_o,So,Ao,Co,Io,To,ko,Ro,Po,Do,No;function Lo(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function xo(e){function t(t){if(null==e[t.toString()])throw new Error("Invalid enum value");return e[t]}return Lo("enum",to.VARINT,(function(e,r){const n=t(e);r.int32(n)}),(function(e){return t(e.int32())}))}function Oo(e,t){return Lo("message",to.LENGTH_DELIMITED,e,t)}!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"}(to||(to={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.proof&&e.proof.byteLength>0&&(t.uint32(10),t.bytes(e.proof)),null!=e.merkleRoot&&e.merkleRoot.byteLength>0&&(t.uint32(18),t.bytes(e.merkleRoot)),null!=e.epoch&&e.epoch.byteLength>0&&(t.uint32(26),t.bytes(e.epoch)),null!=e.shareX&&e.shareX.byteLength>0&&(t.uint32(34),t.bytes(e.shareX)),null!=e.shareY&&e.shareY.byteLength>0&&(t.uint32(42),t.bytes(e.shareY)),null!=e.nullifier&&e.nullifier.byteLength>0&&(t.uint32(50),t.bytes(e.nullifier)),null!=e.rlnIdentifier&&e.rlnIdentifier.byteLength>0&&(t.uint32(58),t.bytes(e.rlnIdentifier)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={proof:new Uint8Array(0),merkleRoot:new Uint8Array(0),epoch:new Uint8Array(0),shareX:new Uint8Array(0),shareY:new Uint8Array(0),nullifier:new Uint8Array(0),rlnIdentifier:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.proof=e.bytes();break;case 2:r.merkleRoot=e.bytes();break;case 3:r.epoch=e.bytes();break;case 4:r.shareX=e.bytes();break;case 5:r.shareY=e.bytes();break;case 6:r.nullifier=e.bytes();break;case 7:r.rlnIdentifier=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(ro||(ro={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.payload&&e.payload.byteLength>0&&(t.uint32(10),t.bytes(e.payload)),null!=e.contentTopic&&""!==e.contentTopic&&(t.uint32(18),t.string(e.contentTopic)),null!=e.version&&(t.uint32(24),t.uint32(e.version)),null!=e.timestamp&&(t.uint32(80),t.sint64(e.timestamp)),null!=e.meta&&(t.uint32(90),t.bytes(e.meta)),null!=e.rateLimitProof&&(t.uint32(170),ro.codec().encode(e.rateLimitProof,t)),null!=e.ephemeral&&(t.uint32(248),t.bool(e.ephemeral)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={payload:new Uint8Array(0),contentTopic:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.payload=e.bytes();break;case 2:r.contentTopic=e.string();break;case 3:r.version=e.uint32();break;case 10:r.timestamp=e.sint64();break;case 11:r.meta=e.bytes();break;case 21:r.rateLimitProof=ro.codec().decode(e,e.uint32());break;case 31:r.ephemeral=e.bool();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(no||(no={})),function(e){let t,r;!function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.contentTopic&&""!==e.contentTopic&&(t.uint32(10),t.string(e.contentTopic)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={contentTopic:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)r.contentTopic=e.string();else e.skipType(7&t)}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(t=e.ContentFilter||(e.ContentFilter={})),e.codec=()=>(null==r&&(r=Oo((function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==n.lengthDelimited&&r.fork(),null!=t.subscribe&&!1!==t.subscribe&&(r.uint32(8),r.bool(t.subscribe)),null!=t.topic&&""!==t.topic&&(r.uint32(18),r.string(t.topic)),null!=t.contentFilters)for(const i of t.contentFilters)r.uint32(26),e.ContentFilter.codec().encode(i,r);!1!==n.lengthDelimited&&r.ldelim()}),((t,r)=>{const n={subscribe:!1,topic:"",contentFilters:[]},i=null==r?t.len:t.pos+r;for(;t.pos<i;){const r=t.uint32();switch(r>>>3){case 1:n.subscribe=t.bool();break;case 2:n.topic=t.string();break;case 3:n.contentFilters.push(e.ContentFilter.codec().decode(t,t.uint32()));break;default:t.skipType(7&r)}}return n}))),r),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(io||(io={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==r.lengthDelimited&&t.fork(),null!=e.messages)for(const n of e.messages)t.uint32(10),co.codec().encode(n,t);!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={messages:[]},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)r.messages.push(co.codec().decode(e,e.uint32()));else e.skipType(7&t)}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(oo||(oo={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.requestId&&""!==e.requestId&&(t.uint32(10),t.string(e.requestId)),null!=e.request&&(t.uint32(18),io.codec().encode(e.request,t)),null!=e.push&&(t.uint32(26),oo.codec().encode(e.push,t)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={requestId:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.requestId=e.string();break;case 2:r.request=io.codec().decode(e,e.uint32());break;case 3:r.push=oo.codec().decode(e,e.uint32());break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(so||(so={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.proof&&e.proof.byteLength>0&&(t.uint32(10),t.bytes(e.proof)),null!=e.merkleRoot&&e.merkleRoot.byteLength>0&&(t.uint32(18),t.bytes(e.merkleRoot)),null!=e.epoch&&e.epoch.byteLength>0&&(t.uint32(26),t.bytes(e.epoch)),null!=e.shareX&&e.shareX.byteLength>0&&(t.uint32(34),t.bytes(e.shareX)),null!=e.shareY&&e.shareY.byteLength>0&&(t.uint32(42),t.bytes(e.shareY)),null!=e.nullifier&&e.nullifier.byteLength>0&&(t.uint32(50),t.bytes(e.nullifier)),null!=e.rlnIdentifier&&e.rlnIdentifier.byteLength>0&&(t.uint32(58),t.bytes(e.rlnIdentifier)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={proof:new Uint8Array(0),merkleRoot:new Uint8Array(0),epoch:new Uint8Array(0),shareX:new Uint8Array(0),shareY:new Uint8Array(0),nullifier:new Uint8Array(0),rlnIdentifier:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.proof=e.bytes();break;case 2:r.merkleRoot=e.bytes();break;case 3:r.epoch=e.bytes();break;case 4:r.shareX=e.bytes();break;case 5:r.shareY=e.bytes();break;case 6:r.nullifier=e.bytes();break;case 7:r.rlnIdentifier=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(ao||(ao={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.payload&&e.payload.byteLength>0&&(t.uint32(10),t.bytes(e.payload)),null!=e.contentTopic&&""!==e.contentTopic&&(t.uint32(18),t.string(e.contentTopic)),null!=e.version&&(t.uint32(24),t.uint32(e.version)),null!=e.timestamp&&(t.uint32(80),t.sint64(e.timestamp)),null!=e.meta&&(t.uint32(90),t.bytes(e.meta)),null!=e.rateLimitProof&&(t.uint32(170),ao.codec().encode(e.rateLimitProof,t)),null!=e.ephemeral&&(t.uint32(248),t.bool(e.ephemeral)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={payload:new Uint8Array(0),contentTopic:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.payload=e.bytes();break;case 2:r.contentTopic=e.string();break;case 3:r.version=e.uint32();break;case 10:r.timestamp=e.sint64();break;case 11:r.meta=e.bytes();break;case 21:r.rateLimitProof=ao.codec().decode(e,e.uint32());break;case 31:r.ephemeral=e.bool();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(co||(co={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.contentTopic&&""!==e.contentTopic&&(t.uint32(18),t.string(e.contentTopic)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={contentTopic:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===2)r.contentTopic=e.string();else e.skipType(7&t)}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(lo||(lo={})),function(e){let t,r,n;!function(e){e.SUBSCRIBER_PING="SUBSCRIBER_PING",e.SUBSCRIBE="SUBSCRIBE",e.UNSUBSCRIBE="UNSUBSCRIBE",e.UNSUBSCRIBE_ALL="UNSUBSCRIBE_ALL"}(t=e.FilterSubscribeType||(e.FilterSubscribeType={})),function(e){e[e.SUBSCRIBER_PING=0]="SUBSCRIBER_PING",e[e.SUBSCRIBE=1]="SUBSCRIBE",e[e.UNSUBSCRIBE=2]="UNSUBSCRIBE",e[e.UNSUBSCRIBE_ALL=3]="UNSUBSCRIBE_ALL"}(r||(r={})),function(e){e.codec=()=>xo(r)}(t=e.FilterSubscribeType||(e.FilterSubscribeType={})),e.codec=()=>(null==n&&(n=Oo((function(t,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==i.lengthDelimited&&n.fork(),null!=t.requestId&&""!==t.requestId&&(n.uint32(10),n.string(t.requestId)),null!=t.filterSubscribeType&&0!==r[t.filterSubscribeType]&&(n.uint32(16),e.FilterSubscribeType.codec().encode(t.filterSubscribeType,n)),null!=t.pubsubTopic&&(n.uint32(82),n.string(t.pubsubTopic)),null!=t.contentTopics)for(const e of t.contentTopics)n.uint32(90),n.string(e);!1!==i.lengthDelimited&&n.ldelim()}),((r,n)=>{const i={requestId:"",filterSubscribeType:t.SUBSCRIBER_PING,contentTopics:[]},o=null==n?r.len:r.pos+n;for(;r.pos<o;){const t=r.uint32();switch(t>>>3){case 1:i.requestId=r.string();break;case 2:i.filterSubscribeType=e.FilterSubscribeType.codec().decode(r);break;case 10:i.pubsubTopic=r.string();break;case 11:i.contentTopics.push(r.string());break;default:r.skipType(7&t)}}return i}))),n),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(uo||(uo={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.requestId&&""!==e.requestId&&(t.uint32(10),t.string(e.requestId)),null!=e.statusCode&&0!==e.statusCode&&(t.uint32(80),t.uint32(e.statusCode)),null!=e.statusDesc&&(t.uint32(90),t.string(e.statusDesc)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={requestId:"",statusCode:0},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.requestId=e.string();break;case 10:r.statusCode=e.uint32();break;case 11:r.statusDesc=e.string();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(ho||(ho={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.wakuMessage&&(t.uint32(10),go.codec().encode(e.wakuMessage,t)),null!=e.pubsubTopic&&(t.uint32(18),t.string(e.pubsubTopic)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.wakuMessage=go.codec().decode(e,e.uint32());break;case 2:r.pubsubTopic=e.string();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(po||(po={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.proof&&e.proof.byteLength>0&&(t.uint32(10),t.bytes(e.proof)),null!=e.merkleRoot&&e.merkleRoot.byteLength>0&&(t.uint32(18),t.bytes(e.merkleRoot)),null!=e.epoch&&e.epoch.byteLength>0&&(t.uint32(26),t.bytes(e.epoch)),null!=e.shareX&&e.shareX.byteLength>0&&(t.uint32(34),t.bytes(e.shareX)),null!=e.shareY&&e.shareY.byteLength>0&&(t.uint32(42),t.bytes(e.shareY)),null!=e.nullifier&&e.nullifier.byteLength>0&&(t.uint32(50),t.bytes(e.nullifier)),null!=e.rlnIdentifier&&e.rlnIdentifier.byteLength>0&&(t.uint32(58),t.bytes(e.rlnIdentifier)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={proof:new Uint8Array(0),merkleRoot:new Uint8Array(0),epoch:new Uint8Array(0),shareX:new Uint8Array(0),shareY:new Uint8Array(0),nullifier:new Uint8Array(0),rlnIdentifier:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.proof=e.bytes();break;case 2:r.merkleRoot=e.bytes();break;case 3:r.epoch=e.bytes();break;case 4:r.shareX=e.bytes();break;case 5:r.shareY=e.bytes();break;case 6:r.nullifier=e.bytes();break;case 7:r.rlnIdentifier=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(fo||(fo={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.payload&&e.payload.byteLength>0&&(t.uint32(10),t.bytes(e.payload)),null!=e.contentTopic&&""!==e.contentTopic&&(t.uint32(18),t.string(e.contentTopic)),null!=e.version&&(t.uint32(24),t.uint32(e.version)),null!=e.timestamp&&(t.uint32(80),t.sint64(e.timestamp)),null!=e.meta&&(t.uint32(90),t.bytes(e.meta)),null!=e.rateLimitProof&&(t.uint32(170),fo.codec().encode(e.rateLimitProof,t)),null!=e.ephemeral&&(t.uint32(248),t.bool(e.ephemeral)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={payload:new Uint8Array(0),contentTopic:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.payload=e.bytes();break;case 2:r.contentTopic=e.string();break;case 3:r.version=e.uint32();break;case 10:r.timestamp=e.sint64();break;case 11:r.meta=e.bytes();break;case 21:r.rateLimitProof=fo.codec().decode(e,e.uint32());break;case 31:r.ephemeral=e.bool();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(go||(go={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.pubsubTopic&&""!==e.pubsubTopic&&(t.uint32(10),t.string(e.pubsubTopic)),null!=e.message&&(t.uint32(18),wo.codec().encode(e.message,t)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={pubsubTopic:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.pubsubTopic=e.string();break;case 2:r.message=wo.codec().decode(e,e.uint32());break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(yo||(yo={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.isSuccess&&!1!==e.isSuccess&&(t.uint32(8),t.bool(e.isSuccess)),null!=e.info&&(t.uint32(18),t.string(e.info)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={isSuccess:!1},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.isSuccess=e.bool();break;case 2:r.info=e.string();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(mo||(mo={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.requestId&&""!==e.requestId&&(t.uint32(10),t.string(e.requestId)),null!=e.request&&(t.uint32(18),yo.codec().encode(e.request,t)),null!=e.response&&(t.uint32(26),mo.codec().encode(e.response,t)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={requestId:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.requestId=e.string();break;case 2:r.request=yo.codec().decode(e,e.uint32());break;case 3:r.response=mo.codec().decode(e,e.uint32());break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(vo||(vo={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.proof&&e.proof.byteLength>0&&(t.uint32(10),t.bytes(e.proof)),null!=e.merkleRoot&&e.merkleRoot.byteLength>0&&(t.uint32(18),t.bytes(e.merkleRoot)),null!=e.epoch&&e.epoch.byteLength>0&&(t.uint32(26),t.bytes(e.epoch)),null!=e.shareX&&e.shareX.byteLength>0&&(t.uint32(34),t.bytes(e.shareX)),null!=e.shareY&&e.shareY.byteLength>0&&(t.uint32(42),t.bytes(e.shareY)),null!=e.nullifier&&e.nullifier.byteLength>0&&(t.uint32(50),t.bytes(e.nullifier)),null!=e.rlnIdentifier&&e.rlnIdentifier.byteLength>0&&(t.uint32(58),t.bytes(e.rlnIdentifier)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={proof:new Uint8Array(0),merkleRoot:new Uint8Array(0),epoch:new Uint8Array(0),shareX:new Uint8Array(0),shareY:new Uint8Array(0),nullifier:new Uint8Array(0),rlnIdentifier:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.proof=e.bytes();break;case 2:r.merkleRoot=e.bytes();break;case 3:r.epoch=e.bytes();break;case 4:r.shareX=e.bytes();break;case 5:r.shareY=e.bytes();break;case 6:r.nullifier=e.bytes();break;case 7:r.rlnIdentifier=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(bo||(bo={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.payload&&e.payload.byteLength>0&&(t.uint32(10),t.bytes(e.payload)),null!=e.contentTopic&&""!==e.contentTopic&&(t.uint32(18),t.string(e.contentTopic)),null!=e.version&&(t.uint32(24),t.uint32(e.version)),null!=e.timestamp&&(t.uint32(80),t.sint64(e.timestamp)),null!=e.meta&&(t.uint32(90),t.bytes(e.meta)),null!=e.rateLimitProof&&(t.uint32(170),bo.codec().encode(e.rateLimitProof,t)),null!=e.ephemeral&&(t.uint32(248),t.bool(e.ephemeral)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={payload:new Uint8Array(0),contentTopic:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.payload=e.bytes();break;case 2:r.contentTopic=e.string();break;case 3:r.version=e.uint32();break;case 10:r.timestamp=e.sint64();break;case 11:r.meta=e.bytes();break;case 21:r.rateLimitProof=bo.codec().decode(e,e.uint32());break;case 31:r.ephemeral=e.bool();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(wo||(wo={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.digest&&e.digest.byteLength>0&&(t.uint32(10),t.bytes(e.digest)),null!=e.receiverTime&&0n!==e.receiverTime&&(t.uint32(16),t.sint64(e.receiverTime)),null!=e.senderTime&&0n!==e.senderTime&&(t.uint32(24),t.sint64(e.senderTime)),null!=e.pubsubTopic&&""!==e.pubsubTopic&&(t.uint32(34),t.string(e.pubsubTopic)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={digest:new Uint8Array(0),receiverTime:0n,senderTime:0n,pubsubTopic:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.digest=e.bytes();break;case 2:r.receiverTime=e.sint64();break;case 3:r.senderTime=e.sint64();break;case 4:r.pubsubTopic=e.string();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(Eo||(Eo={})),function(e){let t,r,n;!function(e){e.BACKWARD="BACKWARD",e.FORWARD="FORWARD"}(t=e.Direction||(e.Direction={})),function(e){e[e.BACKWARD=0]="BACKWARD",e[e.FORWARD=1]="FORWARD"}(r||(r={})),function(e){e.codec=()=>xo(r)}(t=e.Direction||(e.Direction={})),e.codec=()=>(null==n&&(n=Oo((function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==n.lengthDelimited&&r.fork(),null!=t.pageSize&&(r.uint32(8),r.uint64(t.pageSize)),null!=t.cursor&&(r.uint32(18),Eo.codec().encode(t.cursor,r)),null!=t.direction&&(r.uint32(24),e.Direction.codec().encode(t.direction,r)),!1!==n.lengthDelimited&&r.ldelim()}),((t,r)=>{const n={},i=null==r?t.len:t.pos+r;for(;t.pos<i;){const r=t.uint32();switch(r>>>3){case 1:n.pageSize=t.uint64();break;case 2:n.cursor=Eo.codec().decode(t,t.uint32());break;case 3:n.direction=e.Direction.codec().decode(t);break;default:t.skipType(7&r)}}return n}))),n),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(_o||(_o={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.contentTopic&&""!==e.contentTopic&&(t.uint32(10),t.string(e.contentTopic)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={contentTopic:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)r.contentTopic=e.string();else e.skipType(7&t)}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(So||(So={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==r.lengthDelimited&&t.fork(),null!=e.pubsubTopic&&(t.uint32(18),t.string(e.pubsubTopic)),null!=e.contentFilters)for(const n of e.contentFilters)t.uint32(26),So.codec().encode(n,t);null!=e.pagingInfo&&(t.uint32(34),_o.codec().encode(e.pagingInfo,t)),null!=e.startTime&&(t.uint32(40),t.sint64(e.startTime)),null!=e.endTime&&(t.uint32(48),t.sint64(e.endTime)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={contentFilters:[]},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 2:r.pubsubTopic=e.string();break;case 3:r.contentFilters.push(So.codec().decode(e,e.uint32()));break;case 4:r.pagingInfo=_o.codec().decode(e,e.uint32());break;case 5:r.startTime=e.sint64();break;case 6:r.endTime=e.sint64();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(Ao||(Ao={})),function(e){let t,r,n;!function(e){e.NONE="NONE",e.INVALID_CURSOR="INVALID_CURSOR"}(t=e.HistoryError||(e.HistoryError={})),function(e){e[e.NONE=0]="NONE",e[e.INVALID_CURSOR=1]="INVALID_CURSOR"}(r||(r={})),function(e){e.codec=()=>xo(r)}(t=e.HistoryError||(e.HistoryError={})),e.codec=()=>(null==n&&(n=Oo((function(t,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==i.lengthDelimited&&n.fork(),null!=t.messages)for(const e of t.messages)n.uint32(18),ko.codec().encode(e,n);null!=t.pagingInfo&&(n.uint32(26),_o.codec().encode(t.pagingInfo,n)),null!=t.error&&0!==r[t.error]&&(n.uint32(32),e.HistoryError.codec().encode(t.error,n)),!1!==i.lengthDelimited&&n.ldelim()}),((r,n)=>{const i={messages:[],error:t.NONE},o=null==n?r.len:r.pos+n;for(;r.pos<o;){const t=r.uint32();switch(t>>>3){case 2:i.messages.push(ko.codec().decode(r,r.uint32()));break;case 3:i.pagingInfo=_o.codec().decode(r,r.uint32());break;case 4:i.error=e.HistoryError.codec().decode(r);break;default:r.skipType(7&t)}}return i}))),n),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(Co||(Co={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.requestId&&""!==e.requestId&&(t.uint32(10),t.string(e.requestId)),null!=e.query&&(t.uint32(18),Ao.codec().encode(e.query,t)),null!=e.response&&(t.uint32(26),Co.codec().encode(e.response,t)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={requestId:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.requestId=e.string();break;case 2:r.query=Ao.codec().decode(e,e.uint32());break;case 3:r.response=Co.codec().decode(e,e.uint32());break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(Io||(Io={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.proof&&e.proof.byteLength>0&&(t.uint32(10),t.bytes(e.proof)),null!=e.merkleRoot&&e.merkleRoot.byteLength>0&&(t.uint32(18),t.bytes(e.merkleRoot)),null!=e.epoch&&e.epoch.byteLength>0&&(t.uint32(26),t.bytes(e.epoch)),null!=e.shareX&&e.shareX.byteLength>0&&(t.uint32(34),t.bytes(e.shareX)),null!=e.shareY&&e.shareY.byteLength>0&&(t.uint32(42),t.bytes(e.shareY)),null!=e.nullifier&&e.nullifier.byteLength>0&&(t.uint32(50),t.bytes(e.nullifier)),null!=e.rlnIdentifier&&e.rlnIdentifier.byteLength>0&&(t.uint32(58),t.bytes(e.rlnIdentifier)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={proof:new Uint8Array(0),merkleRoot:new Uint8Array(0),epoch:new Uint8Array(0),shareX:new Uint8Array(0),shareY:new Uint8Array(0),nullifier:new Uint8Array(0),rlnIdentifier:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.proof=e.bytes();break;case 2:r.merkleRoot=e.bytes();break;case 3:r.epoch=e.bytes();break;case 4:r.shareX=e.bytes();break;case 5:r.shareY=e.bytes();break;case 6:r.nullifier=e.bytes();break;case 7:r.rlnIdentifier=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(To||(To={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.payload&&e.payload.byteLength>0&&(t.uint32(10),t.bytes(e.payload)),null!=e.contentTopic&&""!==e.contentTopic&&(t.uint32(18),t.string(e.contentTopic)),null!=e.version&&(t.uint32(24),t.uint32(e.version)),null!=e.timestamp&&(t.uint32(80),t.sint64(e.timestamp)),null!=e.meta&&(t.uint32(90),t.bytes(e.meta)),null!=e.rateLimitProof&&(t.uint32(170),To.codec().encode(e.rateLimitProof,t)),null!=e.ephemeral&&(t.uint32(248),t.bool(e.ephemeral)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={payload:new Uint8Array(0),contentTopic:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.payload=e.bytes();break;case 2:r.contentTopic=e.string();break;case 3:r.version=e.uint32();break;case 10:r.timestamp=e.sint64();break;case 11:r.meta=e.bytes();break;case 21:r.rateLimitProof=To.codec().decode(e,e.uint32());break;case 31:r.ephemeral=e.bool();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(ko||(ko={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.enr&&(t.uint32(10),t.bytes(e.enr)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)r.enr=e.bytes();else e.skipType(7&t)}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(Ro||(Ro={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.numPeers&&(t.uint32(8),t.uint64(e.numPeers)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)r.numPeers=e.uint64();else e.skipType(7&t)}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(Po||(Po={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==r.lengthDelimited&&t.fork(),null!=e.peerInfos)for(const n of e.peerInfos)t.uint32(10),Ro.codec().encode(n,t);!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={peerInfos:[]},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)r.peerInfos.push(Ro.codec().decode(e,e.uint32()));else e.skipType(7&t)}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(Do||(Do={})),function(e){let t;e.codec=()=>(null==t&&(t=Oo((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.query&&(t.uint32(10),Po.codec().encode(e.query,t)),null!=e.response&&(t.uint32(18),Do.codec().encode(e.response,t)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.query=Po.codec().decode(e,e.uint32());break;case 2:r.response=Do.codec().decode(e,e.uint32());break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>eo(t,e.codec()),e.decode=t=>Zi(t,e.codec())}(No||(No={}));const Bo=Ui("waku:message:version-0"),Mo=BigInt(1e6);class Uo{constructor(e,t){Ce(this,"pubSubTopic",void 0),Ce(this,"proto",void 0),this.pubSubTopic=e,this.proto=t}get ephemeral(){return Boolean(this.proto.ephemeral)}get payload(){return this.proto.payload}get contentTopic(){return this.proto.contentTopic}get _rawTimestamp(){return this.proto.timestamp}get timestamp(){try{if(this.proto.timestamp){const e=this.proto.timestamp/Mo;return new Date(Number(e))}return}catch(e){return}}get meta(){return this.proto.meta}get version(){var e;return null!==(e=this.proto.version)&&void 0!==e?e:0}get rateLimitProof(){return this.proto.rateLimitProof}}class Fo{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0;if(Ce(this,"contentTopic",void 0),Ce(this,"ephemeral",void 0),Ce(this,"metaSetter",void 0),this.contentTopic=e,this.ephemeral=t,this.metaSetter=r,!e||""===e)throw new Error("Content topic must be specified")}async toWire(e){return no.encode(await this.toProtoObj(e))}async toProtoObj(e){var t;const r=null!==(t=e.timestamp)&&void 0!==t?t:new Date,n={payload:e.payload,version:0,contentTopic:this.contentTopic,timestamp:BigInt(r.valueOf())*Mo,meta:void 0,rateLimitProof:e.rateLimitProof,ephemeral:this.ephemeral};if(this.metaSetter){const e=this.metaSetter(n);return{...n,meta:e}}return n}}function Vo(e){let{contentTopic:t,ephemeral:r,metaSetter:n}=e;return new Fo(t,r,n)}class jo{constructor(e){if(Ce(this,"contentTopic",void 0),this.contentTopic=e,!e||""===e)throw new Error("Content topic must be specified")}fromWireToProtoObj(e){var t,r,n,i,o;const s=no.decode(e);return Bo("Message decoded",s),Promise.resolve({payload:s.payload,contentTopic:s.contentTopic,version:null!==(t=s.version)&&void 0!==t?t:void 0,timestamp:null!==(r=s.timestamp)&&void 0!==r?r:void 0,meta:null!==(n=s.meta)&&void 0!==n?n:void 0,rateLimitProof:null!==(i=s.rateLimitProof)&&void 0!==i?i:void 0,ephemeral:null!==(o=s.ephemeral)&&void 0!==o&&o})}async fromProtoObj(e,t){var r;return null!==(r=t.version)&&void 0!==r&&r?(Bo("Failed to decode due to incorrect version, expected:",0,", actual:",t.version),Promise.resolve(void 0)):new Uo(e,t)}}const zo=Symbol.for("@achingbrain/uint8arraylist");function Ko(e,t){if(null==t||t<0)throw new RangeError("index is out of bounds");let r=0;for(const n of e){const e=r+n.byteLength;if(t<e)return{buf:n,index:t-r};r=e}throw new RangeError("index is out of bounds")}function qo(e){return Boolean(null===e||void 0===e?void 0:e[zo])}class Ho{constructor(){Object.defineProperty(this,zo,{value:!0}),this.bufs=[],this.length=0;for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.appendAll(t)}appendAll(e){let t=0;for(const r of e)if(r instanceof Uint8Array)t+=r.byteLength,this.bufs.push(r);else{if(!qo(r))throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");t+=r.byteLength,this.bufs.push(...r.bufs)}this.length+=t}prepend(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.prependAll(t)}prependAll(e){let t=0;for(const r of e.reverse())if(r instanceof Uint8Array)t+=r.byteLength,this.bufs.unshift(r);else{if(!qo(r))throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");t+=r.byteLength,this.bufs.unshift(...r.bufs)}this.length+=t}get(e){const t=Ko(this.bufs,e);return t.buf[t.index]}set(e,t){const r=Ko(this.bufs,e);r.buf[r.index]=t}write(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(e instanceof Uint8Array)for(let r=0;r<e.length;r++)this.set(t+r,e[r]);else{if(!qo(e))throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList");for(let r=0;r<e.length;r++)this.set(t+r,e.get(r))}}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength)return this.bufs=[],void(this.length=0);for(;this.bufs.length>0;){if(!(e>=this.bufs[0].byteLength)){this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift()}}}slice(e,t){const{bufs:r,length:n}=this._subList(e,t);return ln(r,n)}subarray(e,t){const{bufs:r,length:n}=this._subList(e,t);return 1===r.length?r[0]:ln(r,n)}sublist(e,t){const{bufs:r,length:n}=this._subList(e,t),i=new Ho;return i.length=n,i.bufs=r,i}_subList(e,t){var r,n;if(e=null!==(r=e)&&void 0!==r?r:0,t=null!==(n=t)&&void 0!==n?n:this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(0===e&&t===this.length)return{bufs:[...this.bufs],length:this.length};const i=[];let o=0;for(let s=0;s<this.bufs.length;s++){const r=this.bufs[s],n=o,a=n+r.byteLength;if(o=a,e>=a)continue;const c=e>=n&&e<a,l=t>n&&t<=a;if(c&&l){if(e===n&&t===a){i.push(r);break}const o=e-n;i.push(r.subarray(o,o+(t-e)));break}if(c){if(0===e){i.push(r);continue}i.push(r.subarray(e-n))}else{if(l){if(t===a){i.push(r);break}i.push(r.subarray(0,t-n));break}i.push(r)}}return{bufs:i,length:t-e}}indexOf(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(!qo(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');const n=e instanceof Uint8Array?e:e.subarray();if(r=Number(null!==(t=r)&&void 0!==t?t:0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),0===e.length)return r>this.length?this.length:r;const i=n.byteLength;if(0===i)throw new TypeError("search must be at least 1 byte long");const o=new Int32Array(256);for(let u=0;u<256;u++)o[u]=-1;for(let u=0;u<i;u++)o[n[u]]=u;const s=o,a=this.byteLength-n.byteLength,c=n.byteLength-1;let l;for(let u=r;u<=a;u+=l){l=0;for(let e=c;e>=0;e--){const t=this.get(u+e);if(n[e]!==t){l=Math.max(1,e-s[t]);break}}if(0===l)return u}return-1}getInt8(e){const t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){const r=tn(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setInt8(0,t),this.write(r,e)}getInt16(e,t){const r=this.subarray(e,e+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt16(0,t)}setInt16(e,t,r){const n=en(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,t,r),this.write(n,e)}getInt32(e,t){const r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt32(0,t)}setInt32(e,t,r){const n=en(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,t,r),this.write(n,e)}getBigInt64(e,t){const r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigInt64(0,t)}setBigInt64(e,t,r){const n=en(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,t,r),this.write(n,e)}getUint8(e){const t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){const r=tn(1);new DataView(r.buffer,r.byteOffset,r.byteLength).setUint8(0,t),this.write(r,e)}getUint16(e,t){const r=this.subarray(e,e+2);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint16(0,t)}setUint16(e,t,r){const n=en(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,t,r),this.write(n,e)}getUint32(e,t){const r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint32(0,t)}setUint32(e,t,r){const n=en(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,t,r),this.write(n,e)}getBigUint64(e,t){const r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getBigUint64(0,t)}setBigUint64(e,t,r){const n=en(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,t,r),this.write(n,e)}getFloat32(e,t){const r=this.subarray(e,e+4);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat32(0,t)}setFloat32(e,t,r){const n=en(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,t,r),this.write(n,e)}getFloat64(e,t){const r=this.subarray(e,e+8);return new DataView(r.buffer,r.byteOffset,r.byteLength).getFloat64(0,t)}setFloat64(e,t,r){const n=en(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,t,r),this.write(n,e)}equals(e){if(null==e)return!1;if(!(e instanceof Ho))return!1;if(e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!Nt(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){const r=new Ho;return r.bufs=e,null==t&&(t=e.reduce(((e,t)=>e+t.byteLength),0)),r.length=t,r}}function Go(e){return e instanceof Uint8Array?{get:t=>e[t],set(t,r){e[t]=r}}:{get:t=>e.get(t),set(t,r){e.set(t,r)}}}const Wo=4294967296;class Qo{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.hi=e,this.lo=t}toBigInt(e){if(!0===e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31!==0){const e=1+~this.lo>>>0;let t=~this.hi>>>0;return 0===e&&(t=t+1>>>0),-(BigInt(e)+(BigInt(t)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){const e=-(1&this.lo),t=((this.lo>>>1|this.hi<<31)^e)>>>0,r=(this.hi>>>1^e)>>>0;return new Qo(r,t)}zzEncode(){const e=this.hi>>31,t=((this.hi<<1|this.lo>>>31)^e)>>>0,r=(this.lo<<1^e)>>>0;return new Qo(t,r)}toBytes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=Go(e);for(;this.hi>0;)r.set(t++,127&this.lo|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)r.set(t++,127&this.lo|128),this.lo=this.lo>>>7;r.set(t++,this.lo)}static fromBigInt(e){if(0n===e)return new Qo;const t=e<0;t&&(e=-e);let r=0|Number(e>>32n),n=0|Number(e-(BigInt(r)<<32n));return t&&(r=~r>>>0,n=~n>>>0,++n>Wo&&(n=0,++r>Wo&&(r=0))),new Qo(r,n)}static fromNumber(e){if(0===e)return new Qo;const t=e<0;t&&(e=-e);let r=e>>>0,n=(e-r)/4294967296>>>0;return t&&(n=~n>>>0,r=~r>>>0,++r>4294967295&&(r=0,++n>4294967295&&(n=0))),new Qo(n,r)}static fromBytes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=Go(e),n=new Qo;let i=0;if(e.length-t>4){for(;i<4;++i)if(n.lo=(n.lo|(127&r.get(t))<<7*i)>>>0,r.get(t++)<128)return n;if(n.lo=(n.lo|(127&r.get(t))<<28)>>>0,n.hi=(n.hi|(127&r.get(t))>>4)>>>0,r.get(t++)<128)return n;i=0}else for(;i<4;++i){if(t>=e.length)throw RangeError("index out of range: ".concat(t," > ").concat(e.length));if(n.lo=(n.lo|(127&r.get(t))<<7*i)>>>0,r.get(t++)<128)return n}if(e.length-t>4){for(;i<5;++i)if(n.hi=(n.hi|(127&r.get(t))<<7*i+3)>>>0,r.get(t++)<128)return n}else if(t<e.byteLength)for(;i<5;++i){if(t>=e.length)throw RangeError("index out of range: ".concat(t," > ").concat(e.length));if(n.hi=(n.hi|(127&r.get(t))<<7*i+3)>>>0,r.get(t++)<128)return n}throw RangeError("invalid varint encoding")}}const Yo=Math.pow(2,7),Xo=Math.pow(2,14),Jo=Math.pow(2,21),$o=Math.pow(2,28),Zo=Math.pow(2,35),es=Math.pow(2,42),ts=Math.pow(2,49),rs=Math.pow(2,56),ns=Math.pow(2,63),is={encodingLength:e=>e<Yo?1:e<Xo?2:e<Jo?3:e<$o?4:e<Zo?5:e<es?6:e<ts?7:e<rs?8:e<ns?9:10,encode(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null!=Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return null==t&&(t=tn(is.encodingLength(e))),Qo.fromNumber(e).toBytes(t,r),t},decode(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Qo.fromBytes(e,t).toNumber(!0)}};function os(e){return null!=e[Symbol.asyncIterator]}const ss=e=>{const t=is.encodingLength(e),r=tn(t);return is.encode(e,r),ss.bytes=t,r};ss.bytes=0;var as=__webpack_require__(1425);var cs;!function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"}(cs||(cs={}));const ls=e=>{const t=is.decode(e);return ls.bytes=is.encodingLength(t),t};function us(e,t){var r,n,i;const o=new Ho;let s=cs.LENGTH,a=-1;const c=null!==(r=null===t||void 0===t?void 0:t.lengthDecoder)&&void 0!==r?r:ls,l=null!==(n=null===t||void 0===t?void 0:t.maxLengthLength)&&void 0!==n?n:8,u=null!==(i=null===t||void 0===t?void 0:t.maxDataLength)&&void 0!==i?i:4194304;function*h(){for(;o.byteLength>0;){if(s===cs.LENGTH)try{if(a=c(o),a<0)throw as(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(a>u)throw as(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");const e=c.bytes;o.consume(e),null!=(null===t||void 0===t?void 0:t.onLength)&&t.onLength(a),s=cs.DATA}catch(e){if(e instanceof RangeError){if(o.byteLength>l)throw as(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw e}if(s===cs.DATA){if(o.byteLength<a)break;const e=o.sublist(0,a);o.consume(a),null!=(null===t||void 0===t?void 0:t.onData)&&t.onData(e),yield e,s=cs.LENGTH}}}return os(e)?async function*(){for await(const t of e)o.append(t),yield*h();if(o.byteLength>0)throw as(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(const t of e)o.append(t),yield*h();if(o.byteLength>0)throw as(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}ls.bytes=0,us.fromReader=(e,t)=>{let r=1;return us(async function*(){for(;;)try{const{done:t,value:n}=await e.next(r);if(!0===t)return;null!=n&&(yield n)}catch(t){if("ERR_UNDER_READ"===t.code)return{done:!0,value:null};throw t}finally{r=1}}(),{...null!==t&&void 0!==t?t:{},onLength:e=>{r=e}})};Ui("waku:libp2p-utils");new Uint8Array;Ui("waku:filter");Ui("waku:filter:v2");Ui("waku:light-push");function hs(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("Wrong positive integer: ".concat(e))}function ds(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];if(r.length>0&&!r.includes(e.length))throw new Error("Expected Uint8Array of length ".concat(r,", not of length=").concat(e.length))}const ps={number:hs,bool:function(e){if("boolean"!==typeof e)throw new Error("Expected boolean, not ".concat(e))},bytes:ds,hash:function(e){if("function"!==typeof e||"function"!==typeof e.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");hs(e.outputLen),hs(e.blockLen)},exists:function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")},output:function(e,t){ds(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least ".concat(r))}},fs=ps,gs=("object"===typeof globalThis&&"crypto"in globalThis&&globalThis.crypto,e=>e instanceof Uint8Array),ys=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),ms=(e,t)=>e<<32-t|e>>>t;if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function vs(e){if("string"===typeof e&&(e=function(e){if("string"!==typeof e)throw new Error("utf8ToBytes expected string, got ".concat(typeof e));return new Uint8Array((new TextEncoder).encode(e))}(e)),!gs(e))throw new Error("expected Uint8Array, got ".concat(typeof e));return e}class bs{clone(){return this._cloneInto()}}function ws(e){const t=t=>e().update(vs(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}class Es extends bs{constructor(e,t,r,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ys(this.buffer)}update(e){fs.exists(this);const{view:t,buffer:r,blockLen:n}=this,i=(e=vs(e)).length;for(let o=0;o<i;){const s=Math.min(n-this.pos,i-o);if(s!==n)r.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(t,0),this.pos=0);else{const t=ys(e);for(;n<=i-o;o+=n)this.process(t,o)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){fs.exists(this),fs.output(e,this),this.finished=!0;const{buffer:t,view:r,blockLen:n,isLE:i}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>n-o&&(this.process(r,0),o=0);for(let u=o;u<n;u++)t[u]=0;!function(e,t,r,n){if("function"===typeof e.setBigUint64)return e.setBigUint64(t,r,n);const i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,l=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+l,a,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);const s=ys(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=a/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<c;u++)s.setUint32(4*u,l[u],i)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:r,length:n,finished:i,destroyed:o,pos:s}=this;return e.length=n,e.pos=s,e.finished=i,e.destroyed=o,n%t&&e.buffer.set(r),e}}const _s=(e,t,r)=>e&t^e&r^t&r,Ss=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]),As=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Cs=new Uint32Array(64);class Is extends Es{constructor(){super(64,32,8,!1),this.A=0|As[0],this.B=0|As[1],this.C=0|As[2],this.D=0|As[3],this.E=0|As[4],this.F=0|As[5],this.G=0|As[6],this.H=0|As[7]}get(){const{A:e,B:t,C:r,D:n,E:i,F:o,G:s,H:a}=this;return[e,t,r,n,i,o,s,a]}set(e,t,r,n,i,o,s,a){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|o,this.G=0|s,this.H=0|a}process(e,t){for(let h=0;h<16;h++,t+=4)Cs[h]=e.getUint32(t,!1);for(let h=16;h<64;h++){const e=Cs[h-15],t=Cs[h-2],r=ms(e,7)^ms(e,18)^e>>>3,n=ms(t,17)^ms(t,19)^t>>>10;Cs[h]=n+Cs[h-7]+r+Cs[h-16]|0}let{A:r,B:n,C:i,D:o,E:s,F:a,G:c,H:l}=this;for(let h=0;h<64;h++){const e=l+(ms(s,6)^ms(s,11)^ms(s,25))+((u=s)&a^~u&c)+Ss[h]+Cs[h]|0,t=(ms(r,2)^ms(r,13)^ms(r,22))+_s(r,n,i)|0;l=c,c=a,a=s,s=o+e|0,o=i,i=n,n=r,r=e+t|0}var u;r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,n,i,o,s,a,c,l)}roundClean(){Cs.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class Ts extends Is{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const ks=ws((()=>new Is));ws((()=>new Ts));function Rs(e){if("string"===typeof e){return Hn(e.replace(/^0x/i,"").toLowerCase(),"base16")}return e}const Ps=e=>an(e,"base16"),Ds=e=>an(e,"utf8");BigInt(1e6);var Ns;!function(e){e.BACKWARD="backward",e.FORWARD="forward"}(Ns||(Ns={}));Co.HistoryError;Ui("waku:store");class Ls extends Error{constructor(e){super(e),this.name="TimeoutError"}}class xs extends Error{constructor(e){super(),this.name="AbortError",this.message=e}}const Os=e=>void 0===globalThis.DOMException?new xs(e):new DOMException(e),Bs=e=>{const t=void 0===e.reason?Os("This operation was aborted."):e.reason;return t instanceof Error?t:Os(t)};const Ms=e=>{const 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 Us(e,t,r){let n;const i=new Promise(((i,o)=>{if(!((r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...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");const s=[t].flat(),a=[],{addListener:c,removeListener:l}=Ms(e),u=function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];const s=r.multiArgs?t:t[0];r.filter&&!r.filter(s)||(a.push(s),r.count===a.length&&(n(),i(a)))},h=e=>{n(),o(e)};n=()=>{for(const e of s)l(e,u);for(const e of r.rejectionEvents)l(e,h)};for(const e of s)c(e,u);for(const e of r.rejectionEvents)c(e,h);r.resolveImmediately&&i(a)}));if(i.cancel=n,"number"===typeof r.timeout){const e=function(e,t,r,n){let i;const o=new Promise(((o,s)=>{if("number"!==typeof t||1!==Math.sign(t))throw new TypeError("Expected `milliseconds` to be a positive number, got `".concat(t,"`"));if(t!==Number.POSITIVE_INFINITY){if((n={customTimers:{setTimeout:setTimeout,clearTimeout:clearTimeout},...n}).signal){const{signal:e}=n;e.aborted&&s(Bs(e)),e.addEventListener("abort",(()=>{s(Bs(e))}))}i=n.customTimers.setTimeout.call(void 0,(()=>{if("function"===typeof r){try{o(r())}catch(a){s(a)}return}const n="string"===typeof r?r:"Promise timed out after ".concat(t," milliseconds"),i=r instanceof Error?r:new Ls(n);"function"===typeof e.cancel&&e.cancel(),s(i)}),t),(async()=>{try{o(await e)}catch(t){s(t)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()}else o(e)}));return o.clear=()=>{clearTimeout(i),i=void 0},o}(i,r.timeout);return e.cancel=n,e}return i}function Fs(e,t,r){"function"===typeof r&&(r={filter:r});const n=Us(e,t,r={...r,count:1,resolveImmediately:!1}),i=n.then((e=>e[0]));return i.cancel=n.cancel,i}const Vs=Ui("waku:wait-for-remote-peer");async function js(e,t,r){var n;if(t=null!==(n=t)&&void 0!==n?n:function(e){const t=[];e.relay&&t.push(ki.Relay);e.filter&&t.push(ki.Filter);e.store&&t.push(ki.Store);e.lightPush&&t.push(ki.LightPush);return t}(e),!e.isStarted())return Promise.reject("Waku node is not started");const i=[];if(t.includes(ki.Relay)){if(!e.relay)throw new Error("Cannot wait for Relay peer: protocol not mounted");i.push(async function(e){let t=e.getMeshPeers();for(;0==t.length;)await Fs(e.gossipSub,"gossipsub:heartbeat"),t=e.getMeshPeers()}(e.relay))}if(t.includes(ki.Store)){if(!e.store)throw new Error("Cannot wait for Store peer: protocol not mounted");i.push(zs(e.store))}if(t.includes(ki.LightPush)){if(!e.lightPush)throw new Error("Cannot wait for LightPush peer: protocol not mounted");i.push(zs(e.lightPush))}if(t.includes(ki.Filter)){if(!e.filter)throw new Error("Cannot wait for Filter peer: protocol not mounted");i.push(zs(e.filter))}r?await async function(e,t,r){await Promise.race([e,Ks(t,r)])}(Promise.all(i),r,"Timed out waiting for a remote peer."):await Promise.all(i)}async function zs(e){const t=e.multicodec,r=await e.peers();r.length?Vs("".concat(t," peer found: "),r[0].id.toString()):await new Promise((r=>{const n=i=>{i.detail.protocols.includes(t)&&(Vs("Resolving for",t,i.detail.protocols),e.peerStore.removeEventListener("change:protocols",n),r())};e.peerStore.addEventListener("change:protocols",n)}))}const Ks=(e,t)=>new Promise(((r,n)=>setTimeout((()=>n(t)),e)));function qs(e){return null!=e[Symbol.asyncIterator]}const Hs=e=>{const t=is.encodingLength(e),r=tn(t);return is.encode(e,r),Hs.bytes=t,r};function Gs(e,t){var r,n;const i=null!==(n=(t=null!==(r=t)&&void 0!==r?r:{}).lengthEncoder)&&void 0!==n?n:Hs;function*o(e){const t=i(e.byteLength);t instanceof Uint8Array?yield t:yield*t,e instanceof Uint8Array?yield e:yield*e}return qs(e)?async function*(){for await(const t of e)yield*o(t)}():function*(){for(const t of e)yield*o(t)}()}Hs.bytes=0,Gs.single=(e,t)=>{var r,n;const i=null!==(n=(t=null!==(r=t)&&void 0!==r?r:{}).lengthEncoder)&&void 0!==n?n:Hs;return new Ho(i(e.byteLength),e)};var Ws;!function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"}(Ws||(Ws={}));const Qs=e=>{const t=is.decode(e);return Qs.bytes=is.encodingLength(t),t};function Ys(e,t){var r,n,i;const o=new Ho;let s=Ws.LENGTH,a=-1;const c=null!==(r=null===t||void 0===t?void 0:t.lengthDecoder)&&void 0!==r?r:Qs,l=null!==(n=null===t||void 0===t?void 0:t.maxLengthLength)&&void 0!==n?n:8,u=null!==(i=null===t||void 0===t?void 0:t.maxDataLength)&&void 0!==i?i:4194304;function*h(){for(;o.byteLength>0;){if(s===Ws.LENGTH)try{if(a=c(o),a<0)throw as(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(a>u)throw as(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");const e=c.bytes;o.consume(e),null!=(null===t||void 0===t?void 0:t.onLength)&&t.onLength(a),s=Ws.DATA}catch(e){if(e instanceof RangeError){if(o.byteLength>l)throw as(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw e}if(s===Ws.DATA){if(o.byteLength<a)break;const e=o.sublist(0,a);o.consume(a),null!=(null===t||void 0===t?void 0:t.onData)&&t.onData(e),yield e,s=Ws.LENGTH}}}return qs(e)?async function*(){for await(const t of e)o.append(t),yield*h();if(o.byteLength>0)throw as(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(const t of e)o.append(t),yield*h();if(o.byteLength>0)throw as(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Qs.bytes=0,Ys.fromReader=(e,t)=>{let r=1;return Ys(async function*(){for(;;)try{const{done:t,value:n}=await e.next(r);if(!0===t)return;null!=n&&(yield n)}catch(t){if("ERR_UNDER_READ"===t.code)return{done:!0,value:null};throw t}finally{r=1}}(),{...null!==t&&void 0!==t?t:{},onLength:e=>{r=e}})};class Xs{constructor(e){if(!(e>0)||0!==(e-1&e))throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return void 0===this.buffer[this.top]&&(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){const e=this.buffer[this.btm];if(void 0!==e)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return void 0===this.buffer[this.btm]}}class Js{constructor(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.hwm=null!==(e=t.splitLimit)&&void 0!==e?e:16,this.head=new Xs(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return null!=(null===e||void 0===e?void 0:e.byteLength)?e.byteLength:1}push(e){if(null!=(null===e||void 0===e?void 0:e.value)&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){const t=this.head;this.head=t.next=new Xs(2*this.head.buffer.length),this.head.push(e)}}shift(){var e;let t=this.tail.shift();if(void 0===t&&null!=this.tail.next){const e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return null!=(null===(e=t)||void 0===e?void 0:e.value)&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}}function $s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=e=>{const t=e.shift();if(null==t)return{done:!0};if(null!=t.error)throw t.error;return{done:!0===t.done,value:t.value}};return Zs(t,e)}function Zs(e,t){var r;let n,i,o,s=(t=null!==(r=t)&&void 0!==r?r:{}).onEnd,a=new Js;const c=e=>null!=i?i(e):(a.push(e),n),l=e=>{var r;if(o)return n;if(!0!==(null===(r=t)||void 0===r?void 0:r.objectMode)&&null==(null===e||void 0===e?void 0:e.byteLength))throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:e})},u=e=>o?n:(o=!0,null!=e?(e=>(a=new Js,null!=i?i({error:e}):(a.push({error:e}),n)))(e):c({done:!0}));if(n={[Symbol.asyncIterator](){return this},next:async()=>a.isEmpty()?o?{done:!0}:await new Promise(((t,r)=>{i=o=>{i=null,a.push(o);try{t(e(a))}catch(s){r(s)}return n}})):e(a),return:()=>(a=new Js,u(),{done:!0}),throw:e=>(u(e),{done:!0}),push:l,end:u,get readableLength(){return a.size}},null==s)return n;const h=n;return n={[Symbol.asyncIterator](){return this},next:()=>h.next(),throw:e=>(h.throw(e),null!=s&&(s(e),s=void 0),{done:!0}),return:()=>(h.return(),null!=s&&(s(),s=void 0),{done:!0}),push:l,end:e=>(h.end(e),null!=s&&(s(e),s=void 0),n),get readableLength(){return h.readableLength}},n}const ea=e=>is.decode(e);function ta(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=$s();e.sink(r).catch((e=>{r.end(e)})),e.sink=async e=>{for await(const t of e)r.push(t)};let n=e.source;null!=e.source[Symbol.iterator]?n=e.source[Symbol.iterator]():null!=e.source[Symbol.asyncIterator]&&(n=e.source[Symbol.asyncIterator]());const i=new Ho,o={read:async e=>{if(null==e){const{done:e,value:t}=await n.next();return!0===e?new Ho:t}for(;i.byteLength<e;){const{value:e,done:t}=await n.next();if(!0===t)throw as(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF");i.append(e)}const t=i.sublist(0,e);return i.consume(e),t},readLP:async()=>{var e;let r=-1;const n=new Ho,i=null!==(e=null===t||void 0===t?void 0:t.lengthDecoder)&&void 0!==e?e:ea;for(;;){n.append(await o.read(1));try{r=i(n)}catch(s){if(s instanceof RangeError)continue;throw s}if(r>-1)break;if(null!=(null===t||void 0===t?void 0:t.maxLengthLength)&&n.byteLength>t.maxLengthLength)throw as(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG")}if(null!=(null===t||void 0===t?void 0:t.maxDataLength)&&r>t.maxDataLength)throw as(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");return await o.read(r)},readPB:async e=>{const t=await o.readLP();if(null==t)throw new Error("Value is null");const r=t instanceof Uint8Array?t:t.subarray();return e.decode(r)},write:e=>{e instanceof Uint8Array?r.push(e):r.push(e.subarray())},writeLP:e=>{o.write(Gs.single(e,t))},writePB:(e,t)=>{o.writeLP(t.encode(e))},pb:e=>({read:async()=>await o.readPB(e),write:t=>{o.writePB(t,e)},unwrap:()=>o}),unwrap:()=>{const t=e.source;return e.source=async function*(){yield*i,yield*t}(),e}};return o}function ra(){const e={};return e.promise=new Promise(((t,r)=>{e.resolve=t,e.reject=r})),e}function na(){const e=ra();let t=!1;return{sink:async r=>{if(t)throw new Error("already piped");t=!0,e.resolve(r)},source:async function*(){const t=await e.promise;yield*t}()}}async function*ia(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];const n=$s({objectMode:!0});Promise.resolve().then((async()=>{try{await Promise.all(t.map((async e=>{for await(const t of e)n.push(t)}))),n.end()}catch(e){n.end(e)}})),yield*n}ea.bytes=0;const oa=function(){let e;for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];for(;r.length>0;)e=r.shift()(e);return e},sa=e=>null!=e&&("function"===typeof e[Symbol.asyncIterator]||"function"===typeof e[Symbol.iterator]||"function"===typeof e.next),aa=e=>null!=e&&"function"===typeof e.sink&&sa(e.source),ca=e=>t=>{const r=e.sink(t);if(null!=r.then){const t=$s({objectMode:!0});r.then((()=>{t.end()}),(e=>{t.end(e)}));const n=async function*(){yield*e.source,t.end()};return ia(t,n())}return e.source};function la(e){if(aa(e)){const t=e;e=()=>t.source}else if(sa(e)){const t=e;e=()=>t}for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];const i=[e,...r];if(i.length>1&&aa(i[i.length-1])&&(i[i.length-1]=i[i.length-1].sink),i.length>2)for(let o=1;o<i.length-1;o++)aa(i[o])&&(i[o]=ca(i[o]));return oa(...i)}const ua=e=>{const t=is.encodingLength(e),r=function(e){var t;return null!=(null===globalThis||void 0===globalThis||null===(t=globalThis.Buffer)||void 0===t?void 0:t.allocUnsafe)?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}(t);return is.encode(e,r),ua.bytes=t,r};function ha(e){var t,r;const n=null!==(r=(e=null!==(t=e)&&void 0!==t?t:{}).lengthEncoder)&&void 0!==r?r:ua;return async function*(e){for await(const t of e){const e=n(t.byteLength);e instanceof Uint8Array?yield e:yield*e,t instanceof Uint8Array?yield t:yield*t}}}ua.bytes=0,ha.single=(e,t)=>{var r,n;const i=null!==(n=(t=null!==(r=t)&&void 0!==r?r:{}).lengthEncoder)&&void 0!==n?n:ua;return new Ho(i(e.byteLength),e)};var da;!function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"}(da||(da={}));const pa=e=>{const t=is.decode(e);return pa.bytes=is.encodingLength(t),t};function fa(e){return async function*(t){var r,n,i;const o=new Ho;let s=da.LENGTH,a=-1;const c=null!==(r=null===e||void 0===e?void 0:e.lengthDecoder)&&void 0!==r?r:pa,l=null!==(n=null===e||void 0===e?void 0:e.maxLengthLength)&&void 0!==n?n:8,u=null!==(i=null===e||void 0===e?void 0:e.maxDataLength)&&void 0!==i?i:4194304;for await(const d of t)for(o.append(d);o.byteLength>0;){if(s===da.LENGTH)try{if(a=c(o),a<0)throw as(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(a>u)throw as(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");const t=c.bytes;o.consume(t),null!=(null===e||void 0===e?void 0:e.onLength)&&e.onLength(a),s=da.DATA}catch(h){if(h instanceof RangeError){if(o.byteLength>l)throw as(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw h}if(s===da.DATA){if(o.byteLength<a)break;const t=o.sublist(0,a);o.consume(a),null!=(null===e||void 0===e?void 0:e.onData)&&e.onData(t),yield t,s=da.LENGTH}}if(o.byteLength>0)throw as(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}var ga,ya;pa.bytes=0,fa.fromReader=(e,t)=>{let r=1;const n=async function*(){for(;;)try{const{done:t,value:n}=await e.next(r);if(!0===t)return;null!=n&&(yield n)}catch(t){if("ERR_UNDER_READ"===t.code)return{done:!0,value:null};throw t}finally{r=1}}();return fa({...null!==t&&void 0!==t?t:{},onLength:e=>{r=e}})(n)};const ma=65535,va=Boolean(null===(ga=globalThis.process)||void 0===ga||null===(ya=ga.env)||void 0===ya?void 0:ya.DUMP_SESSION_KEYS);var ba=__webpack_require__(1791),wa=__webpack_require__(3539),Ea=__webpack_require__(9900),_a=__webpack_require__(4533);const Sa={hashSHA256:e=>(0,Ea.vp)(e),getHKDF(e,t){const r=new ba.t(Ea.mE,t,e).expand(96);return[r.subarray(0,32),r.subarray(32,64),r.subarray(64,96)]},generateX25519KeyPair(){const e=wa.Au();return{publicKey:e.publicKey,privateKey:e.secretKey}},generateX25519KeyPairFromSeed(e){const t=wa._w(e);return{publicKey:t.publicKey,privateKey:t.secretKey}},generateX25519SharedKey:(e,t)=>wa.gi(e,t),chaCha20Poly1305Encrypt:(e,t,r,n)=>new _a.OK(n).seal(t,e,r),chaCha20Poly1305Decrypt:(e,t,r,n,i)=>new _a.OK(n).open(t,e,r,i)},Aa=e=>{const t=(r=2,globalThis.Buffer?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r));var r;return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};Aa.bytes=2;const Ca=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)};Ca.bytes=2;class Ia extends Error{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Unexpected Peer"),this.code=Ia.code}static get code(){return"ERR_UNEXPECTED_PEER"}}class Ta extends Error{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Invalid crypto exchange"),this.code=Ta.code}static get code(){return"ERR_INVALID_CRYPTO_EXCHANGE"}}class ka extends Error{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Invalid crypto transmission"),this.code=ka.code}static get code(){return"ERR_INVALID_CRYPTO_TRANSMISSION"}}__webpack_require__(5419),__webpack_require__(6443);var Ra=__webpack_require__(428);var Pa=function(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(255!==r[s])throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function h(e){if("string"!==typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[t]){for(var n=0,i=0;e[t]===c;)n++,t++;for(var o=(e.length-t)*l+1>>>0,s=new Uint8Array(o);e[t];){var u=r[e.charCodeAt(t)];if(255===u)return;for(var h=0,d=o-1;(0!==u||h<i)&&-1!==d;d--,h++)u+=a*s[d]>>>0,s[d]=u%256>>>0,u=u/256>>>0;if(0!==u)throw new Error("Non-zero carry");i=h,t++}if(" "!==e[t]){for(var p=o-i;p!==o&&0===s[p];)p++;for(var f=new Uint8Array(n+(o-p)),g=n;p!==o;)f[g++]=s[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,n=0,i=0,o=t.length;i!==o&&0===t[i];)i++,r++;for(var s=(o-i)*u+1>>>0,l=new Uint8Array(s);i!==o;){for(var h=t[i],d=0,p=s-1;(0!==h||d<n)&&-1!==p;p--,d++)h+=256*l[p]>>>0,l[p]=h%a>>>0,h=h/a>>>0;if(0!==h)throw new Error("Non-zero carry");n=d,i++}for(var f=s-n;f!==s&&0===l[f];)f++;for(var g=c.repeat(r);f<s;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:h,decode:function(e){var r=h(e);if(r)return r;throw new Error("Non-".concat(t," character"))}}};const Da=Pa,Na=(new Uint8Array(0),e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)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")});class La{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return"".concat(this.prefix).concat(this.baseEncode(e));throw Error("Unknown type, must be binary type")}}class xa{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"===typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error("Unable to decode multibase string ".concat(JSON.stringify(e),", ").concat(this.name," decoder only supports inputs prefixed with ").concat(this.prefix));return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return Ba(this,e)}}class Oa{constructor(e){this.decoders=e}or(e){return Ba(this,e)}decode(e){const t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError("Unable to decode multibase string ".concat(JSON.stringify(e),", only inputs prefixed with ").concat(Object.keys(this.decoders)," are supported"))}}const Ba=(e,t)=>new Oa({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class Ma{constructor(e,t,r,n){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=n,this.encoder=new La(e,t,r),this.decoder=new xa(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Ua=e=>{let{name:t,prefix:r,encode:n,decode:i}=e;return new Ma(t,r,n,i)},Fa=e=>{let{prefix:t,name:r,alphabet:n}=e;const{encode:i,decode:o}=Da(n,r);return Ua({prefix:t,name:r,encode:i,decode:e=>Na(o(e))})},Va=e=>{let{name:t,prefix:r,bitsPerChar:n,alphabet:i}=e;return Ua({prefix:r,name:t,encode:e=>((e,t,r)=>{const n="="===t[t.length-1],i=(1<<r)-1;let 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})(e,i,n),decode:e=>((e,t,r,n)=>{const i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=e.length;for(;"="===e[o-1];)--o;const s=new Uint8Array(o*r/8|0);let a=0,c=0,l=0;for(let u=0;u<o;++u){const t=i[e[u]];if(void 0===t)throw new SyntaxError("Non-".concat(n," character"));c=c<<r|t,a+=r,a>=8&&(a-=8,s[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s})(e,i,n,t)})},ja=Fa({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"});Fa({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var za=function e(t,r,n){r=r||[];var i=n=n||0;for(;t>=Ka;)r[n++]=255&t|128,t/=128;for(;-128&t;)r[n++]=255&t|128,t>>>=7;return r[n]=0|t,e.bytes=n-i+1,r},Ka=Math.pow(2,31);var qa=function e(t,r){var n,i=0,o=0,s=r=r||0,a=t.length;do{if(s>=a)throw e.bytes=0,new RangeError("Could not decode varint");n=t[s++],i+=o<28?(127&n)<<o:(127&n)*Math.pow(2,o),o+=7}while(n>=128);return e.bytes=s-r,i};var Ha=Math.pow(2,7),Ga=Math.pow(2,14),Wa=Math.pow(2,21),Qa=Math.pow(2,28),Ya=Math.pow(2,35),Xa=Math.pow(2,42),Ja=Math.pow(2,49),$a=Math.pow(2,56),Za=Math.pow(2,63);const ec={encode:za,decode:qa,encodingLength:function(e){return e<Ha?1:e<Ga?2:e<Wa?3:e<Qa?4:e<Ya?5:e<Xa?6:e<Ja?7:e<$a?8:e<Za?9:10}},tc=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return ec.encode(e,t,r),t},rc=e=>ec.encodingLength(e),nc=(e,t)=>{const r=t.byteLength,n=rc(e),i=n+rc(r),o=new Uint8Array(i+r);return tc(e,o,0),tc(r,o,n),o.set(t,i),new ic(e,r,t,o)};class ic{constructor(e,t,r,n){this.code=e,this.size=t,this.digest=r,this.bytes=n}}const oc=Na,sc=e=>nc(0,oc(e)),ac=e=>{let{name:t,code:r,encode:n}=e;return new cc(t,r,n)};class cc{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?nc(this.code,t):t.then((e=>nc(this.code,e)))}throw Error("Unknown type, must be binary type")}}const lc=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),uc=ac({name:"sha2-256",code:18,encode:lc("SHA-256")});ac({name:"sha2-512",code:19,encode:lc("SHA-512")});var hc=__webpack_require__(7420),dc=__webpack_require__.t(hc,2);const pc=BigInt(0),fc=BigInt(1),gc=BigInt(2),yc=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),mc=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:yc,n:yc,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")}),vc=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),bc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),wc=(BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235")),Ec=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),_c=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Sc=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");class Ac{constructor(e,t,r,n){this.x=e,this.y=t,this.z=r,this.t=n}static fromAffine(e){if(!(e instanceof Pc))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(Pc.ZERO)?Ac.ZERO:new Ac(e.x,e.y,fc,zc(e.x*e.y))}static toAffineBatch(e){const t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:mc.P;const r=new Array(e.length),n=Kc(e.reduce(((e,n,i)=>n===pc?e:(r[i]=e,zc(e*n,t))),fc),t);return e.reduceRight(((e,n,i)=>n===pc?e:(r[i]=zc(e*r[i],t),zc(e*n,t))),n),r}(e.map((e=>e.z)));return e.map(((e,r)=>e.toAffine(t[r])))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){Cc(e);const{x:t,y:r,z:n}=this,{x:i,y:o,z:s}=e,a=zc(t*s),c=zc(i*n),l=zc(r*s),u=zc(o*n);return a===c&&l===u}negate(){return new Ac(zc(-this.x),this.y,this.z,zc(-this.t))}double(){const{x:e,y:t,z:r}=this,{a:n}=mc,i=zc(e*e),o=zc(t*t),s=zc(gc*zc(r*r)),a=zc(n*i),c=e+t,l=zc(zc(c*c)-i-o),u=a+o,h=u-s,d=a-o,p=zc(l*h),f=zc(u*d),g=zc(l*d),y=zc(h*u);return new Ac(p,f,y,g)}add(e){Cc(e);const{x:t,y:r,z:n,t:i}=this,{x:o,y:s,z:a,t:c}=e,l=zc((r-t)*(s+o)),u=zc((r+t)*(s-o)),h=zc(u-l);if(h===pc)return this.double();const d=zc(n*gc*c),p=zc(i*gc*a),f=p+d,g=u+l,y=p-d,m=zc(f*h),v=zc(g*y),b=zc(f*y),w=zc(h*g);return new Ac(m,v,w,b)}subtract(e){return this.add(e.negate())}precomputeWindow(e){const t=1+256/e,r=[];let n=this,i=n;for(let o=0;o<t;o++){i=n,r.push(i);for(let t=1;t<2**(e-1);t++)i=i.add(n),r.push(i);n=i.double()}return r}wNAF(e,t){!t&&this.equals(Ac.BASE)&&(t=Pc.BASE);const r=t&&t._WINDOW_SIZE||1;if(256%r)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let n=t&&Rc.get(t);n||(n=this.precomputeWindow(r),t&&1!==r&&(n=Ac.normalizeZ(n),Rc.set(t,n)));let i=Ac.ZERO,o=Ac.ZERO;const s=1+256/r,a=2**(r-1),c=BigInt(2**r-1),l=2**r,u=BigInt(r);for(let h=0;h<s;h++){const t=h*a;let r=Number(e&c);if(e>>=u,r>a&&(r-=l,e+=fc),0===r){let e=n[t];h%2&&(e=e.negate()),o=o.add(e)}else{let e=n[t+Math.abs(r)-1];r<0&&(e=e.negate()),i=i.add(e)}}return Ac.normalizeZ([i,o])[0]}multiply(e,t){return this.wNAF(Xc(e,mc.l),t)}multiplyUnsafe(e){let t=Xc(e,mc.l,!1);const r=Ac.BASE,n=Ac.ZERO;if(t===pc)return n;if(this.equals(n)||t===fc)return this;if(this.equals(r))return this.wNAF(t);let i=n,o=this;for(;t>pc;)t&fc&&(i=i.add(o)),o=o.double(),t>>=fc;return i}isSmallOrder(){return this.multiplyUnsafe(mc.h).equals(Ac.ZERO)}isTorsionFree(){return this.multiplyUnsafe(mc.l).equals(Ac.ZERO)}toAffine(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Kc(this.z);const{x:t,y:r,z:n}=this,i=zc(t*e),o=zc(r*e);if(zc(n*e)!==fc)throw new Error("invZ was invalid");return new Pc(i,o)}fromRistrettoBytes(){Tc()}toRistrettoBytes(){Tc()}fromRistrettoHash(){Tc()}}function Cc(e){if(!(e instanceof Ac))throw new TypeError("ExtendedPoint expected")}function Ic(e){if(!(e instanceof kc))throw new TypeError("RistrettoPoint expected")}function Tc(){throw new Error("Legacy method: switch to RistrettoPoint")}Ac.BASE=new Ac(mc.Gx,mc.Gy,fc,zc(mc.Gx*mc.Gy)),Ac.ZERO=new Ac(pc,fc,fc,pc);class kc{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){const{d:t}=mc,r=zc(bc*e*e),n=zc((r+fc)*_c);let i=BigInt(-1);const o=zc((i-t*r)*zc(r+t));let{isValid:s,value:a}=Gc(n,o),c=zc(a*e);Uc(c)||(c=zc(-c)),s||(a=c),s||(i=r);const l=zc(i*(r-fc)*Sc-o),u=a*a,h=zc((a+a)*o),d=zc(l*wc),p=zc(fc-u),f=zc(fc+u);return new Ac(zc(h*f),zc(p*d),zc(d*f),zc(h*p))}static hashToCurve(e){const t=jc((e=Yc(e,64)).slice(0,32)),r=this.calcElligatorRistrettoMap(t),n=jc(e.slice(32,64)),i=this.calcElligatorRistrettoMap(n);return new kc(r.add(i))}static fromHex(e){e=Yc(e,32);const{a:t,d:r}=mc,n="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",i=jc(e);if(!function(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}(Mc(i),e)||Uc(i))throw new Error(n);const o=zc(i*i),s=zc(fc+t*o),a=zc(fc-t*o),c=zc(s*s),l=zc(a*a),u=zc(t*r*c-l),{isValid:h,value:d}=Wc(zc(u*l)),p=zc(d*a),f=zc(d*p*u);let g=zc((i+i)*p);Uc(g)&&(g=zc(-g));const y=zc(s*f),m=zc(g*y);if(!h||Uc(m)||y===pc)throw new Error(n);return new kc(new Ac(g,y,fc,m))}toRawBytes(){let{x:e,y:t,z:r,t:n}=this.ep;const i=zc(zc(r+t)*zc(r-t)),o=zc(e*t),s=zc(o*o),{value:a}=Wc(zc(i*s)),c=zc(a*i),l=zc(a*o),u=zc(c*l*n);let h;if(Uc(n*u)){let r=zc(t*bc),n=zc(e*bc);e=r,t=n,h=zc(c*Ec)}else h=l;Uc(e*u)&&(t=zc(-t));let d=zc((r-t)*h);return Uc(d)&&(d=zc(-d)),Mc(d)}toHex(){return xc(this.toRawBytes())}toString(){return this.toHex()}equals(e){Ic(e);const t=this.ep,r=e.ep,n=zc(t.x*r.y)===zc(t.y*r.x),i=zc(t.y*r.y)===zc(t.x*r.x);return n||i}add(e){return Ic(e),new kc(this.ep.add(e.ep))}subtract(e){return Ic(e),new kc(this.ep.subtract(e.ep))}multiply(e){return new kc(this.ep.multiply(e))}multiplyUnsafe(e){return new kc(this.ep.multiplyUnsafe(e))}}kc.BASE=new kc(Ac.BASE),kc.ZERO=new kc(Ac.ZERO);const Rc=new WeakMap;class Pc{constructor(e,t){this.x=e,this.y=t}_setWindowSize(e){this._WINDOW_SIZE=e,Rc.delete(this)}static fromHex(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const{d:r,P:n}=mc,i=(e=Yc(e,32)).slice();i[31]=-129&e[31];const o=Fc(i);if(t&&o>=n)throw new Error("Expected 0 < hex < P");if(!t&&o>=vc)throw new Error("Expected 0 < hex < 2**256");const s=zc(o*o),a=zc(s-fc),c=zc(r*s+fc);let{isValid:l,value:u}=Gc(a,c);if(!l)throw new Error("Point.fromHex: invalid y coordinate");const h=(u&fc)===fc;return 0!==(128&e[31])!==h&&(u=zc(-u)),new Pc(u,o)}static async fromPrivateKey(e){return(await tl(e)).point}toRawBytes(){const e=Mc(this.y);return e[31]|=this.x&fc?128:0,e}toHex(){return xc(this.toRawBytes())}toX25519(){const{y:e}=this;return Mc(zc((fc+e)*Kc(fc-e)))}isTorsionFree(){return Ac.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new Pc(zc(-this.x),this.y)}add(e){return Ac.fromAffine(this).add(Ac.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Ac.fromAffine(this).multiply(e,this).toAffine()}}Pc.BASE=new Pc(mc.Gx,mc.Gy),Pc.ZERO=new Pc(pc,fc);class Dc{constructor(e,t){this.r=e,this.s=t,this.assertValidity()}static fromHex(e){const t=Yc(e,64),r=Pc.fromHex(t.slice(0,32),!1),n=Fc(t.slice(32,64));return new Dc(r,n)}assertValidity(){const{r:e,s:t}=this;if(!(e instanceof Pc))throw new Error("Expected Point instance");return Xc(t,mc.l,!1),this}toRawBytes(){const e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(Mc(this.s),32),e}toHex(){return xc(this.toRawBytes())}}function Nc(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];if(!t.every((e=>e instanceof Uint8Array)))throw new Error("Expected Uint8Array list");if(1===t.length)return t[0];const n=t.reduce(((e,t)=>e+t.length),0),i=new Uint8Array(n);for(let o=0,s=0;o<t.length;o++){const e=t[o];i.set(e,s),s+=e.length}return i}const Lc=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function xc(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=Lc[e[r]];return t}function Oc(e){if("string"!==typeof e)throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");const t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){const n=2*r,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function Bc(e){return Oc(e.toString(16).padStart(64,"0"))}function Mc(e){return Bc(e).reverse()}function Uc(e){return(zc(e)&fc)===fc}function Fc(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+xc(Uint8Array.from(e).reverse()))}const Vc=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function jc(e){return zc(Fc(e)&Vc)}function zc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:mc.P;const r=e%t;return r>=pc?r:t+r}function Kc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:mc.P;if(e===pc||t<=pc)throw new Error("invert: expected positive integers, got n=".concat(e," mod=").concat(t));let r=zc(e,t),n=t,i=pc,o=fc,s=fc,a=pc;for(;r!==pc;){const e=n/r,t=n%r,c=i-s*e,l=o-a*e;n=r,r=t,i=s,o=a,s=c,a=l}const c=n;if(c!==fc)throw new Error("invert: does not exist");return zc(i,t)}function qc(e,t){const{P:r}=mc;let n=e;for(;t-- >pc;)n*=n,n%=r;return n}function Hc(e){const{P:t}=mc,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),a=e*e%t*e%t,c=qc(a,gc)*a%t,l=qc(c,fc)*e%t,u=qc(l,r)*l%t,h=qc(u,n)*u%t,d=qc(h,i)*h%t,p=qc(d,o)*d%t,f=qc(p,s)*p%t,g=qc(f,s)*p%t,y=qc(g,n)*u%t;return{pow_p_5_8:qc(y,gc)*e%t,b2:a}}function Gc(e,t){const r=zc(t*t*t),n=zc(r*r*t);let i=zc(e*r*Hc(e*n).pow_p_5_8);const o=zc(t*i*i),s=i,a=zc(i*bc),c=o===e,l=o===zc(-e),u=o===zc(-e*bc);return c&&(i=s),(l||u)&&(i=a),Uc(i)&&(i=zc(-i)),{isValid:c||l,value:i}}function Wc(e){return Gc(fc,e)}function Qc(e){return zc(Fc(e),mc.l)}function Yc(e,t){const r=e instanceof Uint8Array?Uint8Array.from(e):Oc(e);if("number"===typeof t&&r.length!==t)throw new Error("Expected ".concat(t," bytes"));return r}function Xc(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!t)throw new TypeError("Specify max value");if("number"===typeof e&&Number.isSafeInteger(e)&&(e=BigInt(e)),"bigint"===typeof e&&e<t)if(r){if(pc<e)return e}else if(pc<=e)return e;throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Jc(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function $c(e){if(32!==(e="bigint"===typeof e||"number"===typeof e?Bc(Xc(e,vc)):Yc(e)).length)throw new Error("Expected 32 bytes");return e}function Zc(e){const t=Jc(e.slice(0,32)),r=e.slice(32,64),n=Qc(t),i=Pc.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:o}}let el;async function tl(e){return Zc(await sl.sha512($c(e)))}async function rl(e){return(await tl(e)).pointBytes}function nl(e,t,r){t=Yc(t),r instanceof Pc||(r=Pc.fromHex(r,!1));const{r:n,s:i}=e instanceof Dc?e.assertValidity():Dc.fromHex(e);return{r:n,s:i,SB:Ac.BASE.multiplyUnsafe(i),pub:r,msg:t}}function il(e,t,r,n){const i=Qc(n),o=Ac.fromAffine(e).multiplyUnsafe(i);return Ac.fromAffine(t).add(o).subtract(r).multiplyUnsafe(mc.h).equals(Ac.ZERO)}Pc.BASE._setWindowSize(8);const ol={node:dc,web:"object"===typeof self&&"crypto"in self?self.crypto:void 0},sl={bytesToHex:xc,hexToBytes:Oc,concatBytes:Nc,getExtendedPublicKey:tl,mod:zc,invert:Kc,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if((e=Yc(e)).length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return zc(Fc(e),mc.l-fc)+fc},randomBytes:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:32;if(ol.web)return ol.web.getRandomValues(new Uint8Array(e));if(ol.node){const{randomBytes:t}=ol.node;return new Uint8Array(t(e).buffer)}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>sl.randomBytes(32),sha512:async function(){const e=Nc(...arguments);if(ol.web){const t=await ol.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(t)}if(ol.node)return Uint8Array.from(ol.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")},precompute(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pc.BASE;const r=t.equals(Pc.BASE)?t:new Pc(t.x,t.y);return r._setWindowSize(e),r.multiply(gc),r},sha512Sync:void 0};Object.defineProperties(sl,{sha512Sync:{configurable:!1,get:()=>el,set(e){el||(el=e)}}});const al=64;async function cl(e,t){return async function(e,t){e=Yc(e);const{prefix:r,scalar:n,pointBytes:i}=await tl(t),o=Qc(await sl.sha512(r,e)),s=Pc.BASE.multiply(o),a=zc(o+Qc(await sl.sha512(s.toRawBytes(),i,e))*n,mc.l);return new Dc(s,a).toRawBytes()}(t,e.subarray(0,32))}async function ll(e,t,r){return async function(e,t,r){const{r:n,SB:i,msg:o,pub:s}=nl(e,t,r),a=await sl.sha512(n.toRawBytes(),s.toRawBytes(),o);return il(s,n,i,a)}(t,r,e)}function ul(e,t){const r=new Uint8Array(al);for(let n=0;n<32;n++)r[n]=e[n],r[32+n]=t[n];return r}const hl=Va({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),dl=(Va({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Va({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Va({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),{get(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:globalThis).crypto;if(null==e||null==e.subtle)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}}),pl={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function fl(e){var t,r,n,i,o,s;const a=null!==(t=null===e||void 0===e?void 0:e.algorithm)&&void 0!==t?t:"AES-GCM";let c=null!==(r=null===e||void 0===e?void 0:e.keyLength)&&void 0!==r?r:16;const l=null!==(n=null===e||void 0===e?void 0:e.nonceLength)&&void 0!==n?n:12,u=null!==(i=null===e||void 0===e?void 0:e.digest)&&void 0!==i?i:"SHA-256",h=null!==(o=null===e||void 0===e?void 0:e.saltLength)&&void 0!==o?o:16,d=null!==(s=null===e||void 0===e?void 0:e.iterations)&&void 0!==s?s:32767,p=dl.get();c*=8;return{encrypt:async function(e,t){const r=p.getRandomValues(new Uint8Array(h)),n=p.getRandomValues(new Uint8Array(l)),i={name:a,iv:n};let o;if("string"===typeof t&&(t=Hn(t)),0===t.length){o=await p.subtle.importKey("jwk",pl,{name:"AES-GCM"},!0,["encrypt"]);try{const e={name:"PBKDF2",salt:r,iterations:d,hash:{name:u}},n=await p.subtle.importKey("raw",t,{name:"PBKDF2"},!1,["deriveKey"]);o=await p.subtle.deriveKey(e,n,{name:a,length:c},!0,["encrypt"])}catch{o=await p.subtle.importKey("jwk",pl,{name:"AES-GCM"},!0,["encrypt"])}}else{const e={name:"PBKDF2",salt:r,iterations:d,hash:{name:u}},n=await p.subtle.importKey("raw",t,{name:"PBKDF2"},!1,["deriveKey"]);o=await p.subtle.deriveKey(e,n,{name:a,length:c},!0,["encrypt"])}const s=await p.subtle.encrypt(i,o,e);return ln([r,i.iv,new Uint8Array(s)])},decrypt:async function(e,t){const r=e.subarray(0,h),n=e.subarray(h,h+l),i=e.subarray(h+l),o={name:a,iv:n};let s;if("string"===typeof t&&(t=Hn(t)),0===t.length)try{const e={name:"PBKDF2",salt:r,iterations:d,hash:{name:u}},n=await p.subtle.importKey("raw",t,{name:"PBKDF2"},!1,["deriveKey"]);s=await p.subtle.deriveKey(e,n,{name:a,length:c},!0,["decrypt"])}catch{s=await p.subtle.importKey("jwk",pl,{name:"AES-GCM"},!0,["decrypt"])}else{const e={name:"PBKDF2",salt:r,iterations:d,hash:{name:u}},n=await p.subtle.importKey("raw",t,{name:"PBKDF2"},!1,["deriveKey"]);s=await p.subtle.deriveKey(e,n,{name:a,length:c},!0,["decrypt"])}const f=await p.subtle.decrypt(o,s,i);return new Uint8Array(f)}}}async function gl(e,t){const r=fl(),n=await r.encrypt(e,t);return hl.encode(n)}Wi._configure(),Hi._configure(Gi),Qi._configure(Yi);const yl=["uint64","int64","sint64","fixed64","sfixed64"];function ml(e){return function(e){for(const t of yl){if(null==e[t])continue;const r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}(new Hi(e))}function vl(){return function(e){for(const t of yl){if(null==e[t])continue;const r=e[t];e[t]=function(e){return r.call(this,e.toString())}}return e}(Qi.create())}function bl(e,t){const r=ml(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function wl(e,t){const r=vl();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var El,_l,Sl,Al,Cl;function Il(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Tl(e,t){return Il("message",El.LENGTH_DELIMITED,e,t)}!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"}(El||(El={})),function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"}(_l||(_l={})),function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"}(Sl||(Sl={})),function(e){e.codec=()=>function(e){function t(t){if(null==e[t.toString()])throw new Error("Invalid enum value");return e[t]}return Il("enum",El.VARINT,(function(e,r){const n=t(e);r.int32(n)}),(function(e){return t(e.int32())}))}(Sl)}(_l||(_l={})),function(e){let t;e.codec=()=>(null==t&&(t=Tl((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.Type&&(t.uint32(8),_l.codec().encode(e.Type,t)),null!=e.Data&&(t.uint32(18),t.bytes(e.Data)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.Type=_l.codec().decode(e);break;case 2:r.Data=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>wl(t,e.codec()),e.decode=t=>bl(t,e.codec())}(Al||(Al={})),function(e){let t;e.codec=()=>(null==t&&(t=Tl((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.Type&&(t.uint32(8),_l.codec().encode(e.Type,t)),null!=e.Data&&(t.uint32(18),t.bytes(e.Data)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.Type=_l.codec().decode(e);break;case 2:r.Data=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>wl(t,e.codec()),e.decode=t=>bl(t,e.codec())}(Cl||(Cl={}));class kl{constructor(e){Ce(this,"_key",void 0),this._key=xl(e,32)}async verify(e,t){return ll(this._key,t,e)}marshal(){return this._key}get bytes(){return Al.encode({Type:_l.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Nt(this.bytes,e.bytes)}async hash(){const{bytes:e}=await uc.digest(this.bytes);return e}}class Rl{constructor(e,t){Ce(this,"_key",void 0),Ce(this,"_publicKey",void 0),this._key=xl(e,al),this._publicKey=xl(t,32)}async sign(e){return cl(this._key,e)}get public(){return new kl(this._publicKey)}marshal(){return this._key}get bytes(){return Cl.encode({Type:_l.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Nt(this.bytes,e.bytes)}async hash(){const{bytes:e}=await uc.digest(this.bytes);return e}async id(){const e=sc(this.public.bytes);return ja.encode(e.bytes).substring(1)}async export(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"libp2p-key";if("libp2p-key"===t)return gl(this.bytes,e);throw new Le("export format '".concat(t,"' is not supported"),"ERR_INVALID_EXPORT_FORMAT")}}function Pl(e){if(e.length>al){const t=(e=xl(e,96)).subarray(0,al),r=e.subarray(al,e.length);return new Rl(t,r)}const t=(e=xl(e,al)).subarray(0,al),r=e.subarray(32);return new Rl(t,r)}function Dl(e){return e=xl(e,32),new kl(e)}async function Nl(){const{privateKey:e,publicKey:t}=await async function(){const e=sl.randomPrivateKey(),t=await rl(e);return{privateKey:ul(e,t),publicKey:t}}();return new Rl(e,t)}async function Ll(e){const{privateKey:t,publicKey:r}=await async function(e){if(32!==e.length)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.');const t=e,r=await rl(t);return{privateKey:ul(t,r),publicKey:r}}(e);return new Rl(t,r)}function xl(e,t){var r;if((e=Uint8Array.from(null!==(r=e)&&void 0!==r?r:[])).length!==t)throw new Le("Key must be a Uint8Array of length ".concat(t,", got ").concat(e.length),"ERR_INVALID_KEY_TYPE");return e}var Ol=__webpack_require__(9491);__webpack_require__(7834);function Bl(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=0===r[0]?r.subarray(1):r,null!=t){if(r.length>t)throw new Error("byte array longer than desired length");r=ln([new Uint8Array(t-r.length),r])}return an(r,"base64url")}function Ml(e){const t=function(e,t){let r=Hn(e,"base64urlpad");if(null!=t){if(r.length>t)throw new Error("byte array longer than desired length");r=ln([new Uint8Array(t-r.length),r])}return r}(e);return new Ra.jsbn.BigInteger(an(t,"base16"),16)}const Ul={"P-256":256,"P-384":384,"P-521":521};Object.keys(Ul).join(" / ");__webpack_require__(8222);var Fl=__webpack_require__(5856),Vl=__webpack_require__.t(Fl,2);const jl=BigInt(0),zl=BigInt(1),Kl=BigInt(2),ql=BigInt(3),Hl=BigInt(8),Gl=Object.freeze({a:jl,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:zl,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Wl=(e,t)=>(e+t/Kl)/t,Ql={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){const{n:t}=Gl,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-zl*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Wl(o*e,t),c=Wl(-n*e,t);let l=wu(e-a*r-c*i,t),u=wu(-a*n-c*o,t);const h=l>s,d=u>s;if(h&&(l=t-l),d&&(u=t-u),l>s||u>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:h,k1:l,k2neg:d,k2:u}}},Yl=32,Xl=32;function Jl(e){const{a:t,b:r}=Gl,n=wu(e*e),i=wu(n*e);return wu(i+t*e+r)}const $l=Gl.a===jl;class Zl extends Error{constructor(e){super(e)}}function eu(e){if(!(e instanceof tu))throw new TypeError("JacobianPoint expected")}class tu{constructor(e,t,r){this.x=e,this.y=t,this.z=r}static fromAffine(e){if(!(e instanceof iu))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(iu.ZERO)?tu.ZERO:new tu(e.x,e.y,zl)}static toAffineBatch(e){const t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gl.P;const r=new Array(e.length),n=_u(e.reduce(((e,n,i)=>n===jl?e:(r[i]=e,wu(e*n,t))),zl),t);return e.reduceRight(((e,n,i)=>n===jl?e:(r[i]=wu(e*r[i],t),wu(e*n,t))),n),r}(e.map((e=>e.z)));return e.map(((e,r)=>e.toAffine(t[r])))}static normalizeZ(e){return tu.toAffineBatch(e).map(tu.fromAffine)}equals(e){eu(e);const{x:t,y:r,z:n}=this,{x:i,y:o,z:s}=e,a=wu(n*n),c=wu(s*s),l=wu(t*c),u=wu(i*a),h=wu(wu(r*s)*c),d=wu(wu(o*n)*a);return l===u&&h===d}negate(){return new tu(this.x,wu(-this.y),this.z)}double(){const{x:e,y:t,z:r}=this,n=wu(e*e),i=wu(t*t),o=wu(i*i),s=e+i,a=wu(Kl*(wu(s*s)-n-o)),c=wu(ql*n),l=wu(c*c),u=wu(l-Kl*a),h=wu(c*(a-u)-Hl*o),d=wu(Kl*t*r);return new tu(u,h,d)}add(e){eu(e);const{x:t,y:r,z:n}=this,{x:i,y:o,z:s}=e;if(i===jl||o===jl)return this;if(t===jl||r===jl)return e;const a=wu(n*n),c=wu(s*s),l=wu(t*c),u=wu(i*a),h=wu(wu(r*s)*c),d=wu(wu(o*n)*a),p=wu(u-l),f=wu(d-h);if(p===jl)return f===jl?this.double():tu.ZERO;const g=wu(p*p),y=wu(p*g),m=wu(l*g),v=wu(f*f-y-Kl*m),b=wu(f*(m-v)-h*y),w=wu(n*s*p);return new tu(v,b,w)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){const t=tu.ZERO;if("bigint"===typeof e&&e===jl)return t;let r=bu(e);if(r===zl)return this;if(!$l){let e=t,n=this;for(;r>jl;)r&zl&&(e=e.add(n)),n=n.double(),r>>=zl;return e}let{k1neg:n,k1:i,k2neg:o,k2:s}=Ql.splitScalar(r),a=t,c=t,l=this;for(;i>jl||s>jl;)i&zl&&(a=a.add(l)),s&zl&&(c=c.add(l)),l=l.double(),i>>=zl,s>>=zl;return n&&(a=a.negate()),o&&(c=c.negate()),c=new tu(wu(c.x*Ql.beta),c.y,c.z),a.add(c)}precomputeWindow(e){const t=$l?128/e+1:256/e+1,r=[];let n=this,i=n;for(let o=0;o<t;o++){i=n,r.push(i);for(let t=1;t<2**(e-1);t++)i=i.add(n),r.push(i);n=i.double()}return r}wNAF(e,t){!t&&this.equals(tu.BASE)&&(t=iu.BASE);const r=t&&t._WINDOW_SIZE||1;if(256%r)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let n=t&&nu.get(t);n||(n=this.precomputeWindow(r),t&&1!==r&&(n=tu.normalizeZ(n),nu.set(t,n)));let i=tu.ZERO,o=tu.BASE;const s=1+($l?128/r:256/r),a=2**(r-1),c=BigInt(2**r-1),l=2**r,u=BigInt(r);for(let h=0;h<s;h++){const t=h*a;let r=Number(e&c);e>>=u,r>a&&(r-=l,e+=zl);const s=t,d=t+Math.abs(r)-1,p=h%2!==0,f=r<0;0===r?o=o.add(ru(p,n[s])):i=i.add(ru(f,n[d]))}return{p:i,f:o}}multiply(e,t){let r,n,i=bu(e);if($l){const{k1neg:e,k1:o,k2neg:s,k2:a}=Ql.splitScalar(i);let{p:c,f:l}=this.wNAF(o,t),{p:u,f:h}=this.wNAF(a,t);c=ru(e,c),u=ru(s,u),u=new tu(wu(u.x*Ql.beta),u.y,u.z),r=c.add(u),n=l.add(h)}else{const{p:e,f:o}=this.wNAF(i,t);r=e,n=o}return tu.normalizeZ([r,n])[0]}toAffine(e){const{x:t,y:r,z:n}=this,i=this.equals(tu.ZERO);null==e&&(e=i?Hl:_u(n));const o=e,s=wu(o*o),a=wu(s*o),c=wu(t*s),l=wu(r*a),u=wu(n*o);if(i)return iu.ZERO;if(u!==zl)throw new Error("invZ was invalid");return new iu(c,l)}}function ru(e,t){const r=t.negate();return e?r:t}tu.BASE=new tu(Gl.Gx,Gl.Gy,zl),tu.ZERO=new tu(jl,zl,jl);const nu=new WeakMap;class iu{constructor(e,t){this.x=e,this.y=t}_setWindowSize(e){this._WINDOW_SIZE=e,nu.delete(this)}hasEvenY(){return this.y%Kl===jl}static fromCompressedHex(e){const t=32===e.length,r=mu(t?e:e.subarray(1));if(!Ru(r))throw new Error("Point is not on curve");let n=function(e){const{P:t}=Gl,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=e*e*e%t,l=c*c*e%t,u=Eu(l,ql)*l%t,h=Eu(u,ql)*l%t,d=Eu(h,Kl)*c%t,p=Eu(d,n)*d%t,f=Eu(p,i)*p%t,g=Eu(f,s)*f%t,y=Eu(g,a)*g%t,m=Eu(y,s)*f%t,v=Eu(m,ql)*l%t,b=Eu(v,o)*p%t,w=Eu(b,r)*c%t,E=Eu(w,Kl);if(E*E%t!==e)throw new Error("Cannot find square root");return E}(Jl(r));const i=(n&zl)===zl;if(t)i&&(n=wu(-n));else{1===(1&e[0])!==i&&(n=wu(-n))}const o=new iu(r,n);return o.assertValidity(),o}static fromUncompressedHex(e){const t=mu(e.subarray(1,33)),r=mu(e.subarray(33,65)),n=new iu(t,r);return n.assertValidity(),n}static fromHex(e){const t=vu(e),r=t.length,n=t[0];if(r===Yl)return this.fromCompressedHex(t);if(33===r&&(2===n||3===n))return this.fromCompressedHex(t);if(65===r&&4===n)return this.fromUncompressedHex(t);throw new Error("Point.fromHex: received invalid point. Expected 32-".concat(33," compressed bytes or ").concat(65," uncompressed bytes, not ").concat(r))}static fromPrivateKey(e){return iu.BASE.multiply(Du(e))}static fromSignature(e,t,r){const{r:n,s:i}=Lu(t);if(![0,1,2,3].includes(r))throw new Error("Cannot recover: invalid recovery bit");const o=Au(vu(e)),{n:s}=Gl,a=2===r||3===r?n+s:n,c=_u(a,s),l=wu(-o*c,s),u=wu(i*c,s),h=1&r?"03":"02",d=iu.fromHex(h+du(a)),p=iu.BASE.multiplyAndAddUnsafe(d,l,u);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return yu(this.toHex(e))}toHex(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=du(this.x);if(e){const e=this.hasEvenY()?"02":"03";return"".concat(e).concat(t)}return"04".concat(t).concat(du(this.y))}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){const e="Point is not on elliptic curve",{x:t,y:r}=this;if(!Ru(t)||!Ru(r))throw new Error(e);const n=wu(r*r);if(wu(n-Jl(t))!==jl)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new iu(this.x,wu(-this.y))}double(){return tu.fromAffine(this).double().toAffine()}add(e){return tu.fromAffine(this).add(tu.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return tu.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,t,r){const n=tu.fromAffine(this),i=t===jl||t===zl||this!==iu.BASE?n.multiplyUnsafe(t):n.multiply(t),o=tu.fromAffine(e).multiplyUnsafe(r),s=i.add(o);return s.equals(tu.ZERO)?void 0:s.toAffine()}}function ou(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function su(e){if(e.length<2||2!==e[0])throw new Error("Invalid signature integer tag: ".concat(uu(e)));const t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)throw new Error("Invalid signature integer: wrong length");if(0===r[0]&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:mu(r),left:e.subarray(t+2)}}iu.BASE=new iu(Gl.Gx,Gl.Gy),iu.ZERO=new iu(jl,jl);class au{constructor(e,t){this.r=e,this.s=t,this.assertValidity()}static fromCompact(e){const t=e instanceof Uint8Array,r="Signature.fromCompact";if("string"!==typeof e&&!t)throw new TypeError("".concat(r,": Expected string or Uint8Array"));const n=t?uu(e):e;if(128!==n.length)throw new Error("".concat(r,": Expected 64-byte hex"));return new au(gu(n.slice(0,64)),gu(n.slice(64,128)))}static fromDER(e){const t=e instanceof Uint8Array;if("string"!==typeof e&&!t)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");const{r:r,s:n}=function(e){if(e.length<2||48!=e[0])throw new Error("Invalid signature tag: ".concat(uu(e)));if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");const{data:t,left:r}=su(e.subarray(2)),{data:n,left:i}=su(r);if(i.length)throw new Error("Invalid signature: left bytes after parsing: ".concat(uu(i)));return{r:t,s:n}}(t?e:yu(e));return new au(r,n)}static fromHex(e){return this.fromDER(e)}assertValidity(){const{r:e,s:t}=this;if(!ku(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!ku(t))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){const e=Gl.n>>zl;return this.s>e}normalizeS(){return this.hasHighS()?new au(this.r,wu(-this.s,Gl.n)):this}toDERRawBytes(){return yu(this.toDERHex())}toDERHex(){const e=ou(fu(this.s)),t=ou(fu(this.r)),r=e.length/2,n=t.length/2,i=fu(r),o=fu(n),s=fu(n+r+4);return"30".concat(s,"02").concat(o).concat(t,"02").concat(i).concat(e)}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return yu(this.toCompactHex())}toCompactHex(){return du(this.r)+du(this.s)}}function cu(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];if(!t.every((e=>e instanceof Uint8Array)))throw new Error("Uint8Array list expected");if(1===t.length)return t[0];const n=t.reduce(((e,t)=>e+t.length),0),i=new Uint8Array(n);for(let o=0,s=0;o<t.length;o++){const e=t[o];i.set(e,s),s+=e.length}return i}const lu=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function uu(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=lu[e[r]];return t}const hu=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function du(e){if("bigint"!==typeof e)throw new Error("Expected bigint");if(!(jl<=e&&e<hu))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function pu(e){const t=yu(du(e));if(32!==t.length)throw new Error("Error: expected 32 bytes");return t}function fu(e){const t=e.toString(16);return 1&t.length?"0".concat(t):t}function gu(e){if("string"!==typeof e)throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt("0x".concat(e))}function yu(e){if("string"!==typeof e)throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);const t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){const n=2*r,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function mu(e){return gu(uu(e))}function vu(e){return e instanceof Uint8Array?Uint8Array.from(e):yu(e)}function bu(e){if("number"===typeof e&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if("bigint"===typeof e&&ku(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function wu(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gl.P;const r=e%t;return r>=jl?r:t+r}function Eu(e,t){const{P:r}=Gl;let n=e;for(;t-- >jl;)n*=n,n%=r;return n}function _u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gl.P;if(e===jl||t<=jl)throw new Error("invert: expected positive integers, got n=".concat(e," mod=").concat(t));let r=wu(e,t),n=t,i=jl,o=zl,s=zl,a=jl;for(;r!==jl;){const e=n/r,t=n%r,c=i-s*e,l=o-a*e;n=r,r=t,i=s,o=a,s=c,a=l}const c=n;if(c!==zl)throw new Error("invert: does not exist");return wu(i,t)}function Su(e){const t=8*e.length-256,r=mu(e);return t>0?r>>BigInt(t):r}function Au(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const r=Su(e);if(t)return r;const{n:n}=Gl;return r>=n?r-n:r}let Cu,Iu;class Tu{constructor(e,t){if(this.hashLen=e,this.qByteLen=t,"number"!==typeof e||e<2)throw new Error("hashLen must be a number");if("number"!==typeof t||t<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Hu.hmacSha256(this.k,...t)}hmacSync(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Iu(this.k,...t)}checkSync(){if("function"!==typeof Iu)throw new Zl("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Uint8Array;this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),0!==e.length&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Uint8Array;this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),0!==e.length&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0;const t=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);const r=this.v.slice();t.push(r),e+=this.v.length}return cu(...t)}generateSync(){this.checkSync(),this.incr();let e=0;const t=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);const r=this.v.slice();t.push(r),e+=this.v.length}return cu(...t)}}function ku(e){return jl<e&&e<Gl.n}function Ru(e){return jl<e&&e<Gl.P}function Pu(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const{n:i}=Gl,o=Au(e,!0);if(!ku(o))return;const s=_u(o,i),a=iu.BASE.multiply(o),c=wu(a.x,i);if(c===jl)return;const l=wu(s*wu(t+r*c,i),i);if(l===jl)return;let u=new au(c,l),h=(a.x===u.r?0:2)|Number(a.y&zl);return n&&u.hasHighS()&&(u=u.normalizeS(),h^=1),{sig:u,recovery:h}}function Du(e){let t;if("bigint"===typeof e)t=e;else if("number"===typeof e&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if("string"===typeof e){if(64!==e.length)throw new Error("Expected 32 bytes of private key");t=gu(e)}else{if(!(e instanceof Uint8Array))throw new TypeError("Expected valid private key");if(e.length!==Xl)throw new Error("Expected 32 bytes of private key");t=mu(e)}if(!ku(t))throw new Error("Expected private key: 0 < key < n");return t}function Nu(e){return e instanceof iu?(e.assertValidity(),e):iu.fromHex(e)}function Lu(e){if(e instanceof au)return e.assertValidity(),e;try{return au.fromDER(e)}catch(t){return au.fromCompact(e)}}function xu(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return iu.fromPrivateKey(e).toRawBytes(t)}function Ou(e){return mu(e.length>Yl?e.slice(0,Yl):e)}function Bu(e){const t=Ou(e),r=wu(t,Gl.n);return Mu(r<jl?t:r)}function Mu(e){return pu(e)}function Uu(e,t,r){if(null==e)throw new Error('sign: expected valid message hash, not "'.concat(e,'"'));const n=vu(e),i=Du(t),o=[Mu(i),Bu(n)];if(null!=r){!0===r&&(r=Hu.randomBytes(Yl));const e=vu(r);if(e.length!==Yl)throw new Error("sign: Expected ".concat(Yl," bytes of extra data"));o.push(e)}return{seed:cu(...o),m:Ou(n),d:i}}function Fu(e,t){const{sig:r,recovery:n}=e,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},t),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function Vu(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{seed:n,m:i,d:o}=Uu(e,t,r.extraEntropy),s=new Tu(32,Xl);let a;for(await s.reseed(n);!(a=Pu(await s.generate(),i,o,r.canonical));)await s.reseed();return Fu(a,r)}const ju={strict:!0};function zu(e,t,r){let n,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:ju;try{n=Lu(e),t=vu(t)}catch(g){return!1}const{r:o,s:s}=n;if(i.strict&&n.hasHighS())return!1;const a=Au(t);let c;try{c=Nu(r)}catch(g){return!1}const{n:l}=Gl,u=_u(s,l),h=wu(a*u,l),d=wu(o*u,l),p=iu.BASE.multiplyAndAddUnsafe(c,h,d);if(!p)return!1;const f=wu(p.x,l);return f===o}iu.BASE._setWindowSize(8);const Ku={node:Vl,web:"object"===typeof self&&"crypto"in self?self.crypto:void 0},qu={},Hu={bytesToHex:uu,hexToBytes:yu,concatBytes:cu,mod:wu,invert:_u,isValidPrivateKey(e){try{return Du(e),!0}catch(t){return!1}},_bigintTo32Bytes:pu,_normalizePrivateKey:Du,hashToPrivateKey:e=>{if((e=vu(e)).length<40||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");return pu(wu(mu(e),Gl.n-zl)+zl)},randomBytes:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:32;if(Ku.web)return Ku.web.getRandomValues(new Uint8Array(e));if(Ku.node){const{randomBytes:t}=Ku.node;return Uint8Array.from(t(e))}throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Hu.hashToPrivateKey(Hu.randomBytes(40)),precompute(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:iu.BASE;const r=t===iu.BASE?t:new iu(t.x,t.y);return r._setWindowSize(e),r.multiply(ql),r},sha256:async function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];if(Ku.web){const e=await Ku.web.subtle.digest("SHA-256",cu(...t));return new Uint8Array(e)}if(Ku.node){const{createHash:e}=Ku.node,r=e("sha256");return t.forEach((e=>r.update(e))),Uint8Array.from(r.digest())}throw new Error("The environment doesn't have sha256 function")},hmacSha256:async function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];if(Ku.web){const t=await Ku.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=cu(...r),i=await Ku.web.subtle.sign("HMAC",t,n);return new Uint8Array(i)}if(Ku.node){const{createHmac:t}=Ku.node,n=t("sha256",e);return r.forEach((e=>n.update(e))),Uint8Array.from(n.digest())}throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async function(e){let t=qu[e];if(void 0===t){const r=await Hu.sha256(Uint8Array.from(e,(e=>e.charCodeAt(0))));t=cu(r,r),qu[e]=t}for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return Hu.sha256(t,...n)},taggedHashSync:function(e){if("function"!==typeof Cu)throw new Zl("sha256Sync is undefined, you need to set it");let t=qu[e];if(void 0===t){const r=Cu(Uint8Array.from(e,(e=>e.charCodeAt(0))));t=cu(r,r),qu[e]=t}for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return Cu(t,...n)},_JacobianPoint:tu};function Gu(e){if(isNaN(e)||e<=0)throw new Le("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Hu.randomBytes(e)}Object.defineProperties(Hu,{sha256Sync:{configurable:!1,get:()=>Cu,set(e){Cu||(Cu=e)}},hmacSha256Sync:{configurable:!1,get:()=>Iu,set(e){Iu||(Iu=e)}}});__webpack_require__(3894);function Wu(e,t){return t.map((t=>Ml(e[t])))}async function Qu(e){const t=[await dl.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Xu(e)],r=await Yu({privateKey:t[0],publicKey:t[1]});return{privateKey:r[0],publicKey:r[1]}}async function Yu(e){if(null==e.privateKey||null==e.publicKey)throw new Le("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([dl.get().subtle.exportKey("jwk",e.privateKey),dl.get().subtle.exportKey("jwk",e.publicKey)])}async function Xu(e){return dl.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 Ju(e,t,r,n){const i=t?function(e){return Ra.pki.setRsaPublicKey(...Wu(e,["n","e"]))}(e):function(e){return Ra.pki.setRsaPrivateKey(...Wu(e,["n","e","d","p","q","dp","dq","qi"]))}(e);return Hn(n(an(Uint8Array.from(r),"ascii"),i),"ascii")}class $u{constructor(e){Ce(this,"_key",void 0),this._key=e}async verify(e,t){return async function(e,t,r){const n=await dl.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return dl.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}(this._key,t,e)}marshal(){return function(e){if(null==e.n||null==e.e)throw new Le("JWK was missing components","ERR_INVALID_PARAMETERS");const t=Ra.pki.publicKeyToAsn1({n:Ml(e.n),e:Ml(e.e)});return Hn(Ra.asn1.toDer(t).getBytes(),"ascii")}(this._key)}get bytes(){return Al.encode({Type:_l.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Ju(this._key,!0,e,((e,t)=>t.encrypt(e)))}equals(e){return Nt(this.bytes,e.bytes)}async hash(){const{bytes:e}=await uc.digest(this.bytes);return e}}class Zu{constructor(e,t){Ce(this,"_key",void 0),Ce(this,"_publicKey",void 0),this._key=e,this._publicKey=t}genSecret(){return Gu(16)}async sign(e){return async function(e,t){const r=await dl.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await dl.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}(this._key,e)}get public(){if(null==this._publicKey)throw new Le("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new $u(this._publicKey)}decrypt(e){return Ju(this._key,!1,e,((e,t)=>t.decrypt(e)))}marshal(){return function(e){if(null==e.n||null==e.e||null==e.d||null==e.p||null==e.q||null==e.dp||null==e.dq||null==e.qi)throw new Le("JWK was missing components","ERR_INVALID_PARAMETERS");const t=Ra.pki.privateKeyToAsn1({n:Ml(e.n),e:Ml(e.e),d:Ml(e.d),p:Ml(e.p),q:Ml(e.q),dP:Ml(e.dp),dQ:Ml(e.dq),qInv:Ml(e.qi)});return Hn(Ra.asn1.toDer(t).getBytes(),"ascii")}(this._key)}get bytes(){return Cl.encode({Type:_l.RSA,Data:this.marshal()}).subarray()}equals(e){return Nt(this.bytes,e.bytes)}async hash(){const{bytes:e}=await uc.digest(this.bytes);return e}async id(){return an(await this.public.hash(),"base58btc")}async export(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"pkcs-8";if("pkcs-8"===t){const t=new Ra.util.ByteBuffer(this.marshal()),r=Ra.asn1.fromDer(t),n=Ra.pki.privateKeyFromAsn1(r),i={algorithm:"aes256",count:1e4,saltSize:16,prfAlgorithm:"sha512"};return Ra.pki.encryptRsaPrivateKey(n,e,i)}if("libp2p-key"===t)return gl(this.bytes,e);throw new Le("export format '".concat(t,"' is not supported"),"ERR_INVALID_EXPORT_FORMAT")}}async function eh(e){const t=function(e){const t=Ra.asn1.fromDer(an(e,"ascii")),r=Ra.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Bl(r.n),e:Bl(r.e),d:Bl(r.d),p:Bl(r.p),q:Bl(r.q),dp:Bl(r.dP),dq:Bl(r.dQ),qi:Bl(r.qInv),alg:"RS256"}}(e),r=await Qu(t);return new Zu(r.privateKey,r.publicKey)}function th(e){const t=function(e){const t=Ra.asn1.fromDer(an(e,"ascii")),r=Ra.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Bl(r.n),e:Bl(r.e)}}(e);return new $u(t)}async function rh(e){const t=await Qu(e);return new Zu(t.privateKey,t.publicKey)}async function nh(e){const t=await async function(e){const t=await dl.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 Yu(t);return{privateKey:r[0],publicKey:r[1]}}(e);return new Zu(t.privateKey,t.publicKey)}function ih(e){try{iu.fromHex(e)}catch(t){throw new Le(String(t),"ERR_INVALID_PUBLIC_KEY")}}class oh{constructor(e){Ce(this,"_key",void 0),ih(e),this._key=e}async verify(e,t){return async function(e,t,r){try{const{digest:n}=await uc.digest(r);return zu(t,n,e)}catch(n){throw new Le(String(n),"ERR_INVALID_INPUT")}}(this._key,t,e)}marshal(){return e=this._key,iu.fromHex(e).toRawBytes(!0);var e}get bytes(){return Al.encode({Type:_l.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Nt(this.bytes,e.bytes)}async hash(){const{bytes:e}=await uc.digest(this.bytes);return e}}class sh{constructor(e,t){Ce(this,"_key",void 0),Ce(this,"_publicKey",void 0),this._key=e,this._publicKey=null!==t&&void 0!==t?t:function(e){try{return xu(e,!0)}catch(t){throw new Le(String(t),"ERR_INVALID_PRIVATE_KEY")}}(e),function(e){try{xu(e,!0)}catch(t){throw new Le(String(t),"ERR_INVALID_PRIVATE_KEY")}}(this._key),ih(this._publicKey)}async sign(e){return async function(e,t){const{digest:r}=await uc.digest(t);try{return await Vu(r,e)}catch(n){throw new Le(String(n),"ERR_INVALID_INPUT")}}(this._key,e)}get public(){return new oh(this._publicKey)}marshal(){return this._key}get bytes(){return Cl.encode({Type:_l.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Nt(this.bytes,e.bytes)}async hash(){const{bytes:e}=await uc.digest(this.bytes);return e}async id(){return an(await this.public.hash(),"base58btc")}async export(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"libp2p-key";if("libp2p-key"===t)return gl(this.bytes,e);throw new Le("export format '".concat(t,"' is not supported"),"ERR_INVALID_EXPORT_FORMAT")}}function ah(e){return new sh(e)}function ch(e){return new oh(e)}async function lh(){const e=Hu.randomPrivateKey();return new sh(e)}const uh={rsa:R,ed25519:k,secp256k1:P};function hh(e){const t=Object.keys(uh).join(" / ");return new Le("invalid or unsupported key type ".concat(e,". Must be ").concat(t),"ERR_UNSUPPORTED_KEY_TYPE")}function dh(e){if("rsa"===(e=e.toLowerCase())||"ed25519"===e||"secp256k1"===e)return uh[e];throw hh(e)}async function ph(e,t){return dh(e).generateKeyPair(null!==t&&void 0!==t?t:2048)}function fh(e){var t,r;const n=Al.decode(e),i=null!==(t=n.Data)&&void 0!==t?t:new Uint8Array;switch(n.Type){case _l.RSA:return uh.rsa.unmarshalRsaPublicKey(i);case _l.Ed25519:return uh.ed25519.unmarshalEd25519PublicKey(i);case _l.Secp256k1:return uh.secp256k1.unmarshalSecp256k1PublicKey(i);default:throw hh(null!==(r=n.Type)&&void 0!==r?r:"RSA")}}function gh(e,t){var r;return dh(t=(null!==(r=t)&&void 0!==r?r:"rsa").toLowerCase()),e.bytes}async function yh(e){var t,r;const n=Cl.decode(e),i=null!==(t=n.Data)&&void 0!==t?t:new Uint8Array;switch(n.Type){case _l.RSA:return uh.rsa.unmarshalRsaPrivateKey(i);case _l.Ed25519:return uh.ed25519.unmarshalEd25519PrivateKey(i);case _l.Secp256k1:return uh.secp256k1.unmarshalSecp256k1PrivateKey(i);default:throw hh(null!==(r=n.Type)&&void 0!==r?r:"RSA")}}async function mh(e,t){try{const r=await async function(e,t){const r=hl.decode(e);return fl().decrypt(r,t)}(e,t);return await yh(r)}catch(i){}const r=Ra.pki.decryptRsaPrivateKey(e,t);if(null===r)throw new Le("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ra.asn1.toDer(Ra.pki.privateKeyToAsn1(r));return n=Hn(n.getBytes(),"ascii"),uh.rsa.unmarshalRsaPrivateKey(n)}let vh;const bh=Symbol.for("nodejs.util.inspect.custom"),wh=Object.values(qn).map((e=>e.decoder)).reduce(((e,t)=>e.or(t)),qn.identity.decoder);vh=Symbol.toStringTag;class Eh{constructor(e){Ce(this,"type",void 0),Ce(this,"multihash",void 0),Ce(this,"privateKey",void 0),Ce(this,"publicKey",void 0),Ce(this,"string",void 0),Ce(this,Ie,!0),this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[vh](){return"PeerId(".concat(this.toString(),")")}toString(){return null==this.string&&(this.string=He.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return At.createV1(114,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){var t;if(e instanceof Uint8Array)return Nt(this.multihash.bytes,e);if("string"===typeof e)return Ih(e).equals(this);if(null!=(null===e||void 0===e||null===(t=e.multihash)||void 0===t?void 0:t.bytes))return Nt(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[bh](){return"PeerId(".concat(this.toString(),")")}}class _h extends Eh{constructor(e){super({...e,type:"RSA"}),Ce(this,"type","RSA"),Ce(this,"publicKey",void 0),this.publicKey=e.publicKey}}class Sh extends Eh{constructor(e){super({...e,type:"Ed25519"}),Ce(this,"type","Ed25519"),Ce(this,"publicKey",void 0),this.publicKey=e.multihash.digest}}class Ah extends Eh{constructor(e){super({...e,type:"secp256k1"}),Ce(this,"type","secp256k1"),Ce(this,"publicKey",void 0),this.publicKey=e.multihash.digest}}function Ch(e){if("RSA"===e.type)return new _h(e);if("Ed25519"===e.type)return new Sh(e);if("secp256k1"===e.type)return new Ah(e);throw new Le("Not a PeerId","ERR_INVALID_PARAMETERS")}function Ih(e,t){var r;if(t=null!==(r=t)&&void 0!==r?r:wh,"1"===e.charAt(0)||"Q"===e.charAt(0)){const t=ut(He.decode("z".concat(e)));return e.startsWith("12D")?new Sh({multihash:t}):e.startsWith("16U")?new Ah({multihash:t}):new _h({multihash:t})}return Th(wh.decode(e))}function Th(e){try{const t=ut(e);if(t.code===Ln.code){if(36===t.digest.length)return new Sh({multihash:t});if(37===t.digest.length)return new Ah({multihash:t})}if(t.code===Pn.code)return new _h({multihash:t})}catch{return function(e){if(null==e||null==e.multihash||null==e.version||1===e.version&&114!==e.code)throw new Error("Supplied PeerID CID is invalid");const t=e.multihash;if(t.code===Pn.code)return new _h({multihash:e.multihash});if(t.code===Ln.code){if(36===t.digest.length)return new Sh({multihash:e.multihash});if(37===t.digest.length)return new Ah({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}(At.decode(e))}throw new Error("Supplied PeerID CID is invalid")}async function kh(e,t){return 36===e.length?new Sh({multihash:lt(Ln.code,e),privateKey:t}):37===e.length?new Ah({multihash:lt(Ln.code,e),privateKey:t}):new _h({multihash:await Pn.digest(e),publicKey:e,privateKey:t})}Wi._configure(),Hi._configure(Gi),Qi._configure(Yi);const Rh=["uint64","int64","sint64","fixed64","sfixed64"];function Ph(e){return function(e){for(const t of Rh){if(null==e[t])continue;const r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}(new Hi(e))}function Dh(){return function(e){for(const t of Rh){if(null==e[t])continue;const r=e[t];e[t]=function(e){return r.call(this,e.toString())}}return e}(Qi.create())}function Nh(e,t){const r=Ph(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function Lh(e,t){const r=Dh();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var xh,Oh,Bh;function Mh(e,t){return function(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}("message",xh.LENGTH_DELIMITED,e,t)}async function Uh(e,t,r){const n=await async function(e,t){if(null==e.privateKey)throw new Error("PrivateKey was missing from PeerId");const r=await yh(e.privateKey);return await r.sign(t)}(e,jh(t));if(null==e.publicKey)throw new Error("PublicKey was missing from local PeerId");return function(e,t,r){return Bh.encode({identityKey:e,identitySig:t,extensions:null!==r&&void 0!==r?r:{webtransportCerthashes:[]}}).subarray()}(e.publicKey,n,r)}async function Fh(e){return await kh(e.identityKey)}function Vh(e){return Bh.decode(e)}function jh(e){const t=Hn("noise-libp2p-static-key:");return ln([t,e],t.length+e.length)}async function zh(e,t,r){const n=await kh(t.identityKey);if(!n.equals(r))throw new Error("Payload identity key ".concat(n.toString()," does not match expected remote peer ").concat(r.toString()));const i=jh(e);if(null==n.publicKey)throw new Error("PublicKey was missing from PeerId");if(null==t.identitySig)throw new Error("Signature was missing from message");const o=fh(n.publicKey);if(!await o.verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function Kh(e){return e instanceof Uint8Array&&32===e.length}!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"}(xh||(xh={})),function(e){let t;e.codec=()=>(null==t&&(t=Mh((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==r.lengthDelimited&&t.fork(),null!=e.webtransportCerthashes)for(const n of e.webtransportCerthashes)t.uint32(10),t.bytes(n);!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={webtransportCerthashes:[]},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)r.webtransportCerthashes.push(e.bytes());else e.skipType(7&t)}return r}))),t),e.encode=t=>Lh(t,e.codec()),e.decode=t=>Nh(t,e.codec())}(Oh||(Oh={})),function(e){let t;e.codec=()=>(null==t&&(t=Mh((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n,i;(!1!==r.lengthDelimited&&t.fork(),!0===r.writeDefaults||null!=e.identityKey&&e.identityKey.byteLength>0)&&(t.uint32(10),t.bytes(null!==(n=e.identityKey)&&void 0!==n?n:new Uint8Array(0)));(!0===r.writeDefaults||null!=e.identitySig&&e.identitySig.byteLength>0)&&(t.uint32(18),t.bytes(null!==(i=e.identitySig)&&void 0!==i?i:new Uint8Array(0)));null!=e.extensions&&(t.uint32(34),Oh.codec().encode(e.extensions,t,{writeDefaults:!1})),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={identityKey:new Uint8Array(0),identitySig:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.identityKey=e.bytes();break;case 2:r.identitySig=e.bytes();break;case 4:r.extensions=Oh.codec().decode(e,e.uint32());break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>Lh(t,e.codec()),e.decode=t=>Nh(t,e.codec())}(Bh||(Bh={}));var qh=function(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(255!==r[s])throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function h(e){if("string"!==typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[t]){for(var n=0,i=0;e[t]===c;)n++,t++;for(var o=(e.length-t)*l+1>>>0,s=new Uint8Array(o);e[t];){var u=r[e.charCodeAt(t)];if(255===u)return;for(var h=0,d=o-1;(0!==u||h<i)&&-1!==d;d--,h++)u+=a*s[d]>>>0,s[d]=u%256>>>0,u=u/256>>>0;if(0!==u)throw new Error("Non-zero carry");i=h,t++}if(" "!==e[t]){for(var p=o-i;p!==o&&0===s[p];)p++;for(var f=new Uint8Array(n+(o-p)),g=n;p!==o;)f[g++]=s[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,n=0,i=0,o=t.length;i!==o&&0===t[i];)i++,r++;for(var s=(o-i)*u+1>>>0,l=new Uint8Array(s);i!==o;){for(var h=t[i],d=0,p=s-1;(0!==h||d<n)&&-1!==p;p--,d++)h+=256*l[p]>>>0,l[p]=h%a>>>0,h=h/a>>>0;if(0!==h)throw new Error("Non-zero carry");n=d,i++}for(var f=s-n;f!==s&&0===l[f];)f++;for(var g=c.repeat(r);f<s;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:h,decode:function(e){var r=h(e);if(r)return r;throw new Error("Non-".concat(t," character"))}}};const Hh=qh;new Uint8Array(0);class Gh{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return"".concat(this.prefix).concat(this.baseEncode(e));throw Error("Unknown type, must be binary type")}}class Wh{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"===typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error("Unable to decode multibase string ".concat(JSON.stringify(e),", ").concat(this.name," decoder only supports inputs prefixed with ").concat(this.prefix));return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return Yh(this,e)}}class Qh{constructor(e){this.decoders=e}or(e){return Yh(this,e)}decode(e){const t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError("Unable to decode multibase string ".concat(JSON.stringify(e),", only inputs prefixed with ").concat(Object.keys(this.decoders)," are supported"))}}const Yh=(e,t)=>new Qh({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class Xh{constructor(e,t,r,n){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=n,this.encoder=new Gh(e,t,r),this.decoder=new Wh(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Jh=e=>{let{name:t,prefix:r,encode:n,decode:i}=e;return new Xh(t,r,n,i)},$h=e=>{let{prefix:t,name:r,alphabet:n}=e;const{encode:i,decode:o}=Hh(n,r);return Jh({prefix:t,name:r,encode:i,decode:e=>(e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)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")})(o(e))})},Zh=e=>{let{name:t,prefix:r,bitsPerChar:n,alphabet:i}=e;return Jh({prefix:r,name:t,encode:e=>((e,t,r)=>{const n="="===t[t.length-1],i=(1<<r)-1;let 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})(e,i,n),decode:e=>((e,t,r,n)=>{const i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=e.length;for(;"="===e[o-1];)--o;const s=new Uint8Array(o*r/8|0);let a=0,c=0,l=0;for(let u=0;u<o;++u){const t=i[e[u]];if(void 0===t)throw new SyntaxError("Non-".concat(n," character"));c=c<<r|t,a+=r,a>=8&&(a-=8,s[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s})(e,i,n,t)})},ed=$h({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),td=($h({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),Zh({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5})),rd=(Zh({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Zh({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Zh({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Zh({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Zh({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zh({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Zh({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Zh({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),Zh({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}));Zh({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Zh({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Zh({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function nd(e){return Object.assign(Ui(e),{error:Ui("".concat(e,":error")),trace:Ui("".concat(e,":trace"))})}Ui.formatters.b=e=>null==e?"undefined":ed.baseEncode(e),Ui.formatters.t=e=>null==e?"undefined":td.baseEncode(e),Ui.formatters.m=e=>null==e?"undefined":rd.baseEncode(e),Ui.formatters.p=e=>null==e?"undefined":e.toString(),Ui.formatters.c=e=>null==e?"undefined":e.toString(),Ui.formatters.k=e=>null==e?"undefined":e.toString();const id=nd("libp2p:noise");let od;function sd(e){e?(od("LOCAL_PUBLIC_EPHEMERAL_KEY ".concat(an(e.publicKey,"hex"))),od("LOCAL_PRIVATE_EPHEMERAL_KEY ".concat(an(e.privateKey,"hex")))):od("Missing local ephemeral keys.")}function ad(e){od("REMOTE_EPHEMERAL_PUBLIC_KEY ".concat(an(e,"hex")))}od=va?id:Object.assign((()=>{}),{enabled:!1,trace:()=>{},error:()=>{}});class cd{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.n=e,this.bytes=new Uint8Array(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,e,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>4294967295)throw new Error("Cipherstate has reached maximum n, a new handshake must be performed")}}class ld{constructor(e){this.crypto=e}encryptWithAd(e,t,r){const n=this.encrypt(e.k,e.n,t,r);return e.n.increment(),n}decryptWithAd(e,t,r,n){const{plaintext:i,valid:o}=this.decrypt(e.k,e.n,t,r,n);return o&&e.n.increment(),{plaintext:i,valid:o}}hasKey(e){return!this.isEmptyKey(e.k)}createEmptyKey(){return new Uint8Array(32)}isEmptyKey(e){return Nt(this.createEmptyKey(),e)}encrypt(e,t,r,n){return t.assertValue(),this.crypto.chaCha20Poly1305Encrypt(n,t.getBytes(),r,e)}encryptAndHash(e,t){let r;return r=this.hasKey(e.cs)?this.encryptWithAd(e.cs,e.h,t):t,this.mixHash(e,r),r}decrypt(e,t,r,n,i){t.assertValue();const o=this.crypto.chaCha20Poly1305Decrypt(n,t.getBytes(),r,e,i);return o?{plaintext:o,valid:!0}:{plaintext:new Uint8Array(0),valid:!1}}decryptAndHash(e,t){let r,n=!0;return this.hasKey(e.cs)?({plaintext:r,valid:n}=this.decryptWithAd(e.cs,e.h,t)):r=t,this.mixHash(e,t),{plaintext:r,valid:n}}dh(e,t){try{const r=this.crypto.generateX25519SharedKey(e,t);return 32===r.length?r:r.subarray(0,32)}catch(r){const e=r;return id.error(e),new Uint8Array(32)}}mixHash(e,t){e.h=this.getHash(e.h,t)}getHash(e,t){return this.crypto.hashSHA256(ln([e,t],e.length+t.length))}mixKey(e,t){const[r,n]=this.crypto.getHKDF(e.ck,t);e.cs=this.initializeKey(n),e.ck=r}initializeKey(e){return{k:e,n:new cd}}initializeSymmetric(e){const t=Hn(e,"utf-8"),r=this.hashProtocolName(t),n=r,i=this.createEmptyKey();return{cs:this.initializeKey(i),ck:n,h:r}}hashProtocolName(e){if(e.length<=32){const t=new Uint8Array(32);return t.set(e),t}return this.getHash(e,new Uint8Array(0))}split(e){const[t,r]=this.crypto.getHKDF(e.ck,new Uint8Array(0));return{cs1:this.initializeKey(t),cs2:this.initializeKey(r)}}writeMessageRegular(e,t){const r=this.encryptWithAd(e,new Uint8Array(0),t);return{ne:this.createEmptyKey(),ns:new Uint8Array(0),ciphertext:r}}readMessageRegular(e,t){return this.decryptWithAd(e,new Uint8Array(0),t.ciphertext)}}class ud extends ld{initializeInitiator(e,t,r,n){const i=this.initializeSymmetric("Noise_XX_25519_ChaChaPoly_SHA256");this.mixHash(i,e);return{ss:i,s:t,rs:r,psk:n,re:new Uint8Array(32)}}initializeResponder(e,t,r,n){const i=this.initializeSymmetric("Noise_XX_25519_ChaChaPoly_SHA256");this.mixHash(i,e);return{ss:i,s:t,rs:r,psk:n,re:new Uint8Array(32)}}writeMessageA(e,t,r){const n=new Uint8Array(0);e.e=void 0!==r?r:this.crypto.generateX25519KeyPair();const i=e.e.publicKey;this.mixHash(e.ss,i);return{ne:i,ns:n,ciphertext:this.encryptAndHash(e.ss,t)}}writeMessageB(e,t){e.e=this.crypto.generateX25519KeyPair();const r=e.e.publicKey;this.mixHash(e.ss,r),this.mixKey(e.ss,this.dh(e.e.privateKey,e.re));const n=e.s.publicKey,i=this.encryptAndHash(e.ss,n);this.mixKey(e.ss,this.dh(e.s.privateKey,e.re));return{ne:r,ns:i,ciphertext:this.encryptAndHash(e.ss,t)}}writeMessageC(e,t){const r=e.s.publicKey,n=this.encryptAndHash(e.ss,r);this.mixKey(e.ss,this.dh(e.s.privateKey,e.re));const i=this.encryptAndHash(e.ss,t),o={ne:this.createEmptyKey(),ns:n,ciphertext:i},{cs1:s,cs2:a}=this.split(e.ss);return{h:e.ss.h,messageBuffer:o,cs1:s,cs2:a}}readMessageA(e,t){return Kh(t.ne)&&(e.re=t.ne),this.mixHash(e.ss,e.re),this.decryptAndHash(e.ss,t.ciphertext)}readMessageB(e,t){if(Kh(t.ne)&&(e.re=t.ne),this.mixHash(e.ss,e.re),!e.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(e.ss,this.dh(e.e.privateKey,e.re));const{plaintext:r,valid:n}=this.decryptAndHash(e.ss,t.ns);n&&Kh(r)&&(e.rs=r),this.mixKey(e.ss,this.dh(e.e.privateKey,e.rs));const{plaintext:i,valid:o}=this.decryptAndHash(e.ss,t.ciphertext);return{plaintext:i,valid:n&&o}}readMessageC(e,t){const{plaintext:r,valid:n}=this.decryptAndHash(e.ss,t.ns);if(n&&Kh(r)&&(e.rs=r),!e.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(e.ss,this.dh(e.e.privateKey,e.rs));const{plaintext:i,valid:o}=this.decryptAndHash(e.ss,t.ciphertext),{cs1:s,cs2:a}=this.split(e.ss);return{h:e.ss.h,plaintext:i,valid:n&&o,cs1:s,cs2:a}}initSession(e,t,r){const n=this.createEmptyKey(),i=new Uint8Array(32);let o;return o=e?this.initializeInitiator(t,r,i,n):this.initializeResponder(t,r,i,n),{hs:o,i:e,mc:0}}sendMessage(e,t,r){let n;if(0===e.mc)n=this.writeMessageA(e.hs,t,r);else if(1===e.mc)n=this.writeMessageB(e.hs,t);else if(2===e.mc){const{h:r,messageBuffer:i,cs1:o,cs2:s}=this.writeMessageC(e.hs,t);n=i,e.h=r,e.cs1=o,e.cs2=s}else{if(!(e.mc>2))throw new Error("Session invalid.");if(e.i){if(!e.cs1)throw new Error("CS1 (cipher state) is not defined");n=this.writeMessageRegular(e.cs1,t)}else{if(!e.cs2)throw new Error("CS2 (cipher state) is not defined");n=this.writeMessageRegular(e.cs2,t)}}return e.mc++,n}recvMessage(e,t){let r=new Uint8Array(0),n=!1;if(0===e.mc)({plaintext:r,valid:n}=this.readMessageA(e.hs,t));else if(1===e.mc)({plaintext:r,valid:n}=this.readMessageB(e.hs,t));else if(2===e.mc){const{h:i,plaintext:o,valid:s,cs1:a,cs2:c}=this.readMessageC(e.hs,t);r=o,n=s,e.h=i,e.cs1=a,e.cs2=c}return e.mc++,{plaintext:r,valid:n}}}class hd{constructor(e,t,r,n,i,o,s,a){this.remoteExtensions={webtransportCerthashes:[]},this.isInitiator=e,this.payload=t,this.prologue=r,this.staticKeypair=i,this.connection=o,s&&(this.remotePeer=s),this.xx=null!==a&&void 0!==a?a:new ud(n),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){var e;if(e=this.session.hs.s,od("LOCAL_STATIC_PUBLIC_KEY ".concat(an(e.publicKey,"hex"))),od("LOCAL_STATIC_PRIVATE_KEY ".concat(an(e.privateKey,"hex"))),this.isInitiator){id.trace("Stage 0 - Initiator starting to send first message.");const e=this.xx.sendMessage(this.session,new Uint8Array(0));this.connection.writeLP(function(e){return ln([e.ne,e.ciphertext],e.ne.length+e.ciphertext.length)}(e)),id.trace("Stage 0 - Initiator finished sending first message."),sd(this.session.hs.e)}else{id.trace("Stage 0 - Responder waiting to receive first message...");const e=function(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:new Uint8Array(0)}}((await this.connection.readLP()).subarray()),{valid:t}=this.xx.recvMessage(this.session,e);if(!t)throw new Ta("xx handshake stage 0 validation fail");id.trace("Stage 0 - Responder received first message."),ad(this.session.hs.re)}}async exchange(){if(this.isInitiator){id.trace("Stage 1 - Initiator waiting to receive first message from responder...");const r=function(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)}}((await this.connection.readLP()).subarray()),{plaintext:n,valid:i}=this.xx.recvMessage(this.session,r);if(!i)throw new Ta("xx handshake stage 1 validation fail");id.trace("Stage 1 - Initiator received the message."),ad(this.session.hs.re),e=this.session.hs.rs,od("REMOTE_STATIC_PUBLIC_KEY ".concat(an(e,"hex"))),id.trace("Initiator going to check remote's signature...");try{const e=Vh(n);this.remotePeer=this.remotePeer||await Fh(e),await zh(this.session.hs.rs,e,this.remotePeer),this.setRemoteNoiseExtension(e.extensions)}catch(t){throw new Ia("Error occurred while verifying signed payload: ".concat(t.message))}id.trace("All good with the signature!")}else{id.trace("Stage 1 - Responder sending out first message with signed payload and static key.");const e=this.xx.sendMessage(this.session,this.payload);this.connection.writeLP(function(e){return ln([e.ne,e.ns,e.ciphertext],e.ne.length+e.ns.length+e.ciphertext.length)}(e)),id.trace("Stage 1 - Responder sent the second handshake message with signed payload."),sd(this.session.hs.e)}var e}async finish(){if(this.isInitiator){id.trace("Stage 2 - Initiator sending third handshake message.");const e=this.xx.sendMessage(this.session,this.payload);this.connection.writeLP(function(e){return ln([e.ns,e.ciphertext],e.ns.length+e.ciphertext.length)}(e)),id.trace("Stage 2 - Initiator sent message with signed payload.")}else{id.trace("Stage 2 - Responder waiting for third handshake message...");const e=function(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:new Uint8Array(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}((await this.connection.readLP()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,e);if(!n)throw new Ta("xx handshake stage 2 validation fail");id.trace("Stage 2 - Responder received the message, finished handshake.");try{const e=Vh(r);this.remotePeer=this.remotePeer||await Fh(e),await zh(this.session.hs.rs,e,this.remotePeer),this.setRemoteNoiseExtension(e.extensions)}catch(t){throw new Ia("Error occurred while verifying signed payload: ".concat(t.message))}}var e;(e=this.session).cs1&&e.cs2?(od("CIPHER_STATE_1 ".concat(e.cs1.n.getUint64()," ").concat(an(e.cs1.k,"hex"))),od("CIPHER_STATE_2 ".concat(e.cs2.n.getUint64()," ").concat(an(e.cs2.k,"hex")))):od("Missing cipher state.")}encrypt(e,t){const r=this.getCS(t);return this.xx.encryptWithAd(r,new Uint8Array(0),e)}decrypt(e,t,r){const n=this.getCS(t,!1);return this.xx.decryptWithAd(n,new Uint8Array(0),e,r)}getRemoteStaticKey(){return this.session.hs.rs}getCS(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!e.cs1||!e.cs2)throw new Ta("Handshake not completed properly, cipher state does not exist.");return this.isInitiator?t?e.cs1:e.cs2:t?e.cs2:e.cs1}setRemoteNoiseExtension(e){e&&(this.remoteExtensions=e)}}class dd{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.protocol="/noise";const{staticNoiseKey:t,extensions:r,crypto:n,prologueBytes:i,metrics:o}=e;this.crypto=null!==n&&void 0!==n?n:Sa,this.extensions=r,this.metrics=o?function(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"})}}(o):void 0,this.staticKeys=t?this.crypto.generateX25519KeyPairFromSeed(t):this.crypto.generateX25519KeyPair(),this.prologue=null!==i&&void 0!==i?i:new Uint8Array(0)}async secureOutbound(e,t,r){const n=ta(t,{lengthEncoder:Aa,lengthDecoder:Ca,maxDataLength:ma}),i=await this.performHandshake({connection:n,isInitiator:!0,localPeer:e,remotePeer:r});return{conn:await this.createSecureConnection(n,i),remoteExtensions:i.remoteExtensions,remotePeer:i.remotePeer}}async secureInbound(e,t,r){const n=ta(t,{lengthEncoder:Aa,lengthDecoder:Ca,maxDataLength:ma}),i=await this.performHandshake({connection:n,isInitiator:!1,localPeer:e,remotePeer:r});return{conn:await this.createSecureConnection(n,i),remotePeer:i.remotePeer,remoteExtensions:i.remoteExtensions}}async performHandshake(e){const t=await Uh(e.localPeer,this.staticKeys.publicKey,this.extensions);return await this.performXXHandshake(e,t)}async performXXHandshake(e,t){const{isInitiator:r,remotePeer:n,connection:i}=e,o=new hd(r,t,this.prologue,this.crypto,this.staticKeys,i,n);try{var s;await o.propose(),await o.exchange(),await o.finish(),null===(s=this.metrics)||void 0===s||s.xxHandshakeSuccesses.increment()}catch(c){var a;if(null===(a=this.metrics)||void 0===a||a.xxHandshakeErrors.increment(),c instanceof Error)throw c.message="Error occurred during XX handshake: ".concat(c.message),c}return o}async createSecureConnection(e,t){const[r,n]=function(){const e=na(),t=na();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}(),i=e.unwrap();return await la(r,function(e,t){return async function*(r){for await(const n of r)for(let r=0;r<n.length;r+=65519){let i=r+65519;i>n.length&&(i=n.length);const o=e.encrypt(n.subarray(r,i),e.session);null===t||void 0===t||t.encryptedPackets.increment(),yield Aa(o.byteLength),yield o}}}(t,this.metrics),i,fa({lengthDecoder:Ca}),function(e,t){return async function*(r){for await(const n of r)for(let r=0;r<n.length;r+=ma){let i=r+ma;if(i>n.length&&(i=n.length),i-_a.pg<r)throw new Error("Invalid chunk");const o=n.subarray(r,i),s=n.subarray(r,i-_a.pg),{plaintext:a,valid:c}=e.decrypt(o,e.session,s);if(!c)throw null===t||void 0===t||t.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");null===t||void 0===t||t.decryptedPackets.increment(),yield a}}}(t,this.metrics),r),n}}function pd(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return()=>new dd(e)}class fd extends Error{constructor(e,t){super(null!==e&&void 0!==e?e:"The operation was aborted"),this.type="aborted",this.code=null!==t&&void 0!==t?t:"ABORT_ERR"}}function gd(e,t,r){const n=null!==r&&void 0!==r?r:{},i=function(e){if(null!=e){if("function"===typeof e[Symbol.iterator])return e[Symbol.iterator]();if("function"===typeof e[Symbol.asyncIterator])return e[Symbol.asyncIterator]();if("function"===typeof e.next)return e}throw new Error("argument is not an iterator or iterable")}(e);return async function*(){let r;const o=()=>{null!=r&&r()};for(t.addEventListener("abort",o);;){let a;try{if(t.aborted){const{abortMessage:e,abortCode:t}=n;throw new fd(e,t)}const e=new Promise(((e,t)=>{r=()=>{const{abortMessage:e,abortCode:r}=n;t(new fd(e,r))}}));a=await Promise.race([e,i.next()]),r=null}catch(s){t.removeEventListener("abort",o);const r="aborted"===s.type&&t.aborted;if(r&&null!=n.onAbort&&await n.onAbort(e),"function"===typeof i.return)try{const e=i.return();e instanceof Promise&&e.catch((e=>{null!=n.onReturnError&&n.onReturnError(e)}))}catch(s){null!=n.onReturnError&&n.onReturnError(s)}if(r&&!0===n.returnOnAbort)return;throw s}if(!0===a.done)break;yield a.value}t.removeEventListener("abort",o)}()}function yd(e,t,r){return n=>e(gd(n,t,r))}function md(e,t,r){return{sink:yd(e.sink,t,{...r,onAbort:void 0}),source:gd(e.source,t,r)}}function vd(e){return new Uint8Array(e)}var bd;!function(e){e[e.NEW_STREAM=0]="NEW_STREAM",e[e.MESSAGE_RECEIVER=1]="MESSAGE_RECEIVER",e[e.MESSAGE_INITIATOR=2]="MESSAGE_INITIATOR",e[e.CLOSE_RECEIVER=3]="CLOSE_RECEIVER",e[e.CLOSE_INITIATOR=4]="CLOSE_INITIATOR",e[e.RESET_RECEIVER=5]="RESET_RECEIVER",e[e.RESET_INITIATOR=6]="RESET_INITIATOR"}(bd||(bd={}));const wd=Object.freeze({0:"NEW_STREAM",1:"MESSAGE_RECEIVER",2:"MESSAGE_INITIATOR",3:"CLOSE_RECEIVER",4:"CLOSE_INITIATOR",5:"RESET_RECEIVER",6:"RESET_INITIATOR"}),Ed=Object.freeze({NEW_STREAM:bd.NEW_STREAM,MESSAGE:bd.MESSAGE_INITIATOR,CLOSE:bd.CLOSE_INITIATOR,RESET:bd.RESET_INITIATOR}),_d=Object.freeze({MESSAGE:bd.MESSAGE_RECEIVER,CLOSE:bd.CLOSE_RECEIVER,RESET:bd.RESET_RECEIVER}),Sd=1048576,Ad=(e,t)=>t.append(e);const Cd=function(e){try{let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return async function*(){var r,n,i;let o=new Ho,s=!1,a=ra(),c=Number(null!==(r=t.size)&&void 0!==r?r:Sd);(isNaN(c)||0===c||c<0)&&(c=Sd);const l=null!==(n=t.yieldAfter)&&void 0!==n?n:0,u=null!==(i=t.serialize)&&void 0!==i?i:Ad;for(Promise.resolve().then((async()=>{try{let t;for await(const r of e)u(r,o),o.byteLength>=c?(clearTimeout(t),a.resolve()):t=setTimeout((()=>{a.resolve()}),l);clearTimeout(t),a.resolve()}catch(t){a.reject(t)}finally{s=!0}}));!s;)if(await a.promise,a=ra(),o.byteLength>0){const e=o;o=new Ho,yield e.subarray()}}()}catch(t){return Promise.reject(t)}},Id=10240;const Td=new class{constructor(){this._pool=vd(Id),this._poolOffset=0}write(e,t){var r,n;const i=this._pool;let o=this._poolOffset;cn.encode(e.id<<3|e.type,i,o),o+=null!==(r=cn.encode.bytes)&&void 0!==r?r:0,e.type!==bd.NEW_STREAM&&e.type!==bd.MESSAGE_INITIATOR&&e.type!==bd.MESSAGE_RECEIVER||null==e.data?cn.encode(0,i,o):cn.encode(e.data.length,i,o),o+=null!==(n=cn.encode.bytes)&&void 0!==n?n:0;const s=i.subarray(this._poolOffset,o);Id-o<100?(this._pool=vd(Id),this._poolOffset=0):this._poolOffset=o,t.append(s),e.type!==bd.NEW_STREAM&&e.type!==bd.MESSAGE_INITIATOR&&e.type!==bd.MESSAGE_RECEIVER||null==e.data||t.append(e.data)}};const kd=1<<20;class Rd{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:kd,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4194304;this._buffer=new Ho,this._headerInfo=null,this._maxMessageSize=e,this._maxUnprocessedMessageQueueSize=t}write(e){if(null==e||0===e.length)return[];if(this._buffer.append(e),this._buffer.byteLength>this._maxUnprocessedMessageQueueSize)throw Object.assign(new Error("unprocessed message queue size too large!"),{code:"ERR_MSG_QUEUE_TOO_BIG"});const t=[];for(;0!==this._buffer.length;){if(null==this._headerInfo)try{this._headerInfo=this._decodeHeader(this._buffer)}catch(r){if("ERR_MSG_TOO_BIG"===r.code)throw r;break}const{id:e,type:n,length:i,offset:o}=this._headerInfo;if(this._buffer.length-o<i)break;const s={id:e,type:n};n!==bd.NEW_STREAM&&n!==bd.MESSAGE_INITIATOR&&n!==bd.MESSAGE_RECEIVER||(s.data=this._buffer.sublist(o,o+i)),t.push(s),this._buffer.consume(o+i),this._headerInfo=null}return t}_decodeHeader(e){const{value:t,offset:r}=Dd(e),{value:n,offset:i}=Dd(e,r),o=7&t;if(null==wd[o])throw new Error("Invalid type received: ".concat(o));if(n>this._maxMessageSize)throw Object.assign(new Error("message size too large!"),{code:"ERR_MSG_TOO_BIG"});return{id:t>>3,type:o,offset:r+i,length:n}}}const Pd=127;function Dd(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=0,i=0,o=r;const s=e.length;do{if(o>=s||i>49)throw r=0,new RangeError("Could not decode varint");t=e.get(o++),n+=i<28?(t&Pd)<<i:(t&Pd)*Math.pow(2,i),i+=7}while(t>=128);return r=o-r,{value:n,offset:r}}var Nd=__webpack_require__(2269);const Ld=nd("libp2p:mplex:stream"),xd="ERR_STREAM_RESET";var Od=__webpack_require__(4607);const Bd=nd("libp2p:mplex");function Md(e){const t={...e,type:"".concat(wd[e.type]," (").concat(e.type,")")};return e.type===bd.NEW_STREAM&&(t.data=an(e.data instanceof Uint8Array?e.data:e.data.subarray())),e.type!==bd.MESSAGE_INITIATOR&&e.type!==bd.MESSAGE_RECEIVER||(t.data=an(e.data instanceof Uint8Array?e.data:e.data.subarray(),"base16")),t}class Ud{constructor(e){var t,r;this.protocol="/mplex/6.7.0",e=null!==(t=e)&&void 0!==t?t:{},this._streamId=0,this._streams={initiators:new Map,receivers:new Map},this._init=e,this.sink=this._createSink();const n=this._createSource();this._source=n,this.source=n,this.closeController=new AbortController,this.rateLimiter=new Od.RateLimiterMemory({points:null!==(r=e.disconnectThreshold)&&void 0!==r?r:5,duration:1})}get streams(){const e=[];for(const t of this._streams.initiators.values())e.push(t);for(const t of this._streams.receivers.values())e.push(t);return e}newStream(e){if(this.closeController.signal.aborted)throw new Error("Muxer already closed");const t=this._streamId++;e=null==e?t.toString():e.toString();const r=this._streams.initiators;return this._newStream({id:t,name:e,type:"initiator",registry:r})}close(e){this.closeController.signal.aborted||(null!=e?this.streams.forEach((t=>t.abort(e))):this.streams.forEach((e=>e.close())),this.closeController.abort())}_newReceiverStream(e){const{id:t,name:r}=e,n=this._streams.receivers;return this._newStream({id:t,name:r,type:"receiver",registry:n})}_newStream(e){var t;const{id:r,name:n,type:i,registry:o}=e;if(Bd("new %s stream %s",i,r),"initiator"===i&&this._streams.initiators.size===(null!==(t=this._init.maxOutboundStreams)&&void 0!==t?t:1024))throw as(new Error("Too many outbound streams open"),"ERR_TOO_MANY_OUTBOUND_STREAMS");if(o.has(r))throw new Error("".concat(i," stream ").concat(r," already exists!"));const s=function(e){const{id:t,name:r,send:n,onEnd:i,type:o="initiator",maxMsgSize:s=kd}=e,a=new AbortController,c=new AbortController,l=new AbortController,u="initiator"===o?Ed:_d,h="initiator"===o?"i".concat(t):"r".concat(t),d="".concat(null==r?t:r);let p,f=!1,g=!1,y=!1;const m={open:Date.now()},v=e=>{g||(g=!0,Ld.trace("%s stream %s sink end - err: %o",o,d,e),null!=e&&null==p&&(p=e),f&&(m.close=Date.now(),null!=i&&i(p)))},b=$s({onEnd:e=>{f||(f=!0,Ld.trace("%s stream %s source end - err: %o",o,d,e),null!=e&&null==p&&(p=e),g&&(w.stat.timeline.close=Date.now(),null!=i&&i(p)))}}),w={close:()=>{Ld.trace("%s stream %s close",o,d),w.closeRead(),w.closeWrite()},closeRead:()=>{Ld.trace("%s stream %s closeRead",o,d),f||b.end()},closeWrite:()=>{if(Ld.trace("%s stream %s closeWrite",o,d),!g){l.abort();try{n({id:t,type:u.CLOSE})}catch(e){Ld.trace("%s stream %s error sending close",o,r,e)}v()}},abort:e=>{Ld.trace("%s stream %s abort",o,d,e),b.end(e),a.abort(),v(e)},reset:()=>{const e=as(new Error("stream reset"),xd);c.abort(),b.end(e),v(e)},sink:async e=>{if(y)throw as(new Error("sink already called on stream"),"ERR_DOUBLE_SINK");if(y=!0,g)throw as(new Error("stream closed for writing"),"ERR_SINK_ENDED");e=gd(e,(0,Nd.anySignal)([a.signal,c.signal,l.signal]));try{"initiator"===o&&n({id:t,type:Ed.NEW_STREAM,data:new Ho(Hn(d))});for await(let r of e)for(;r.length>0;){if(r.length<=s){n({id:t,type:u.MESSAGE,data:r instanceof Uint8Array?new Ho(r):r});break}r=r instanceof Uint8Array?new Ho(r):r,n({id:t,type:u.MESSAGE,data:r.sublist(0,s)}),r.consume(s)}}catch(i){if("aborted"===i.type&&"The operation was aborted"===i.message){if(l.signal.aborted)return;c.signal.aborted&&(i.message="stream reset",i.code=xd),a.signal.aborted&&(i.message="stream aborted",i.code="ERR_STREAM_ABORT")}if(i.code===xd)Ld.trace("%s stream %s reset",o,r);else{Ld.trace("%s stream %s error",o,r,i);try{n({id:t,type:u.RESET})}catch(i){Ld.trace("%s stream %s error sending reset",o,r,i)}}return b.end(i),void v(i)}try{n({id:t,type:u.CLOSE})}catch(i){Ld.trace("%s stream %s error sending close",o,r,i)}v()},source:b,sourcePush:e=>{b.push(e)},sourceReadableLength:()=>b.readableLength,stat:{direction:"initiator"===o?"outbound":"inbound",timeline:m},metadata:{},id:h};return w}({id:r,name:n,send:e=>{Bd.enabled&&Bd.trace("%s stream %s send",i,r,Md(e)),this._source.push(e)},type:i,onEnd:()=>{Bd("%s stream with id %s and protocol %s ended",i,r,s.stat.protocol),o.delete(r),null!=this._init.onStreamEnd&&this._init.onStreamEnd(s)},maxMsgSize:this._init.maxMsgSize});return o.set(r,s),s}_createSink(){return async e=>{const t=[this.closeController.signal];null!=this._init.signal&&t.push(this._init.signal),e=gd(e,Nd(t));try{const t=new Rd(this._init.maxMsgSize,this._init.maxUnprocessedMessageQueueSize);for await(const r of e)for(const e of t.write(r))await this._handleIncoming(e);this._source.end()}catch(r){Bd("error in sink",r),this._source.end(r)}}}_createSource(){const e=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Zs((e=>{let t;const r=[];for(;!e.isEmpty()&&(t=e.shift(),null!=t);){if(null!=t.error)throw t.error;!1===t.done&&r.push(t.value)}return null==t?{done:!0}:{done:!0===t.done,value:r}}),e)}({objectMode:!0,onEnd:e=>{this.close(e)}});return Object.assign(function(e){try{let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return async function*(){if(null!=t&&0!==t)yield*Cd(e,{size:t,serialize:(e,t)=>{for(const r of e)Td.write(r,t)}});else for await(const t of e){const e=new Ho;for(const r of t)Td.write(r,e);yield e.subarray()}}()}catch(t){return Promise.reject(t)}}(e,this._init.minSendBytes),{push:e.push,end:e.end,return:e.return})}async _handleIncoming(e){var t;const{id:r,type:n}=e;if(Bd.enabled&&Bd.trace("incoming message",Md(e)),e.type===bd.NEW_STREAM){var i;if(this._streams.receivers.size===(null!==(i=this._init.maxInboundStreams)&&void 0!==i?i:1024)){Bd("too many inbound streams open"),this._source.push({id:r,type:bd.RESET_RECEIVER});try{await this.rateLimiter.consume("new-stream",1)}catch{return Bd("rate limit hit when opening too many new streams over the inbound stream limit - closing remote connection"),void this._source.end(new Error("Too many open streams"))}return}const t=this._newReceiverStream({id:r,name:an(e.data instanceof Uint8Array?e.data:e.data.subarray())});return void(null!=this._init.onIncomingStream&&this._init.onIncomingStream(t))}const o=(1===(1&n)?this._streams.initiators:this._streams.receivers).get(r);if(null==o)return void Bd("missing stream %s for message type %s",r,wd[n]);const s=null!==(t=this._init.maxStreamBufferSize)&&void 0!==t?t:4194304;switch(n){case bd.MESSAGE_INITIATOR:case bd.MESSAGE_RECEIVER:if(o.sourceReadableLength()>s){this._source.push({id:e.id,type:n===bd.MESSAGE_INITIATOR?bd.RESET_RECEIVER:bd.RESET_INITIATOR});const t=as(new Error("Input buffer full - increase Mplex maxBufferSize to accommodate slow consumers"),"ERR_STREAM_INPUT_BUFFER_FULL");return void o.abort(t)}o.sourcePush(e.data);break;case bd.CLOSE_INITIATOR:case bd.CLOSE_RECEIVER:o.closeRead();break;case bd.RESET_INITIATOR:case bd.RESET_RECEIVER:o.reset();break;default:Bd("unknown message type %s",n)}}}class Fd{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.protocol="/mplex/6.7.0",this._init=e}createStreamMuxer(){return new Ud({...arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},...this._init})}}function Vd(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return()=>new Fd(e)}const jd=WebSocket;var zd=__webpack_require__(3751);function Kd(e){var t;return e instanceof ArrayBuffer||"ArrayBuffer"===(null===e||void 0===e||null===(t=e.constructor)||void 0===t?void 0:t.name)&&"number"===typeof(null===e||void 0===e?void 0:e.byteLength)}const qd=e=>{if(e.readyState>=2)throw new Error("socket closed");if(1!==e.readyState)return new Promise(((t,r)=>{function n(){e.removeEventListener("open",i),e.removeEventListener("error",o)}function i(){n(),t()}function o(t){var i;n(),r(null!==(i=t.error)&&void 0!==i?i:new Error("connect ECONNREFUSED ".concat(e.url)))}e.addEventListener("open",i),e.addEventListener("error",o)}))},Hd=(e,t)=>{var r;(t=null!==(r=t)&&void 0!==r?r:{}).closeOnEnd=!1!==t.closeOnEnd;return async r=>{for await(const t of r){try{await qd(e)}catch(n){if("socket closed"===n.message)break;throw n}e.send(t)}if(null!=t.closeOnEnd&&e.readyState<=1)return await new Promise(((t,r)=>{e.addEventListener("close",(e=>{if(e.wasClean||1006===e.code)t();else{const t=Object.assign(new Error("ws error"),{event:e});r(t)}})),setTimeout((()=>e.close()))}))}},Gd=(e,t)=>{var r;t=null!==(r=t)&&void 0!==r?r:{};const n=(e=>{e.binaryType="arraybuffer";const t=async()=>await new Promise(((t,r)=>{if(i)return t();if(null!=n)return r(n);const o=t=>{e.removeEventListener("open",s),e.removeEventListener("error",a),t()},s=()=>o(t),a=t=>{o((()=>{var n;return r(null!==(n=t.error)&&void 0!==n?n:new Error("connect ECONNREFUSED ".concat(e.url)))}))};e.addEventListener("open",s),e.addEventListener("error",a)})),r=async function*(){const r=new zd.zN((t=>{let{push:r,stop:n,fail:i}=t;const o=e=>{let t=null;"string"===typeof e.data&&(t=Hn(e.data)),Kd(e.data)&&(t=new Uint8Array(e.data)),e.data instanceof Uint8Array&&(t=e.data),null!=t&&r(t)},s=e=>{var t;return i(null!==(t=e.error)&&void 0!==t?t:new Error("Socket error"))};return e.addEventListener("message",o),e.addEventListener("error",s),e.addEventListener("close",n),()=>{e.removeEventListener("message",o),e.removeEventListener("error",s),e.removeEventListener("close",n)}}),{highWaterMark:1/0});await t();for await(const e of r)yield Kd(e)?new Uint8Array(e):e}();let n,i=1===e.readyState;return e.addEventListener("open",(()=>{i=!0,n=null})),e.addEventListener("close",(()=>{i=!1,n=null})),e.addEventListener("error",(t=>{var r;i||(n=null!==(r=t.error)&&void 0!==r?r:new Error("connect ECONNREFUSED ".concat(e.url)))})),Object.assign(r,{connected:t})})(e);let i=t.remoteAddress,o=t.remotePort;if(null!=e.url)try{const t=new URL(e.url);i=t.hostname,o=parseInt(t.port,10)}catch{}if(null==i||null==o)throw new Error("Remote connection did not have address and/or port");return{sink:Hd(e,t),source:n,connected:async()=>await n.connected(),close:async()=>{e.readyState!==e.CONNECTING&&e.readyState!==e.OPEN||await new Promise((t=>{e.addEventListener("close",(()=>{t()})),e.close()}))},destroy:()=>{null!=e.terminate?e.terminate():e.close()},remoteAddress:i,remotePort:o,socket:e}};var Wd=__webpack_require__(4114);const Qd={http:"ws",https:"wss"};function Yd(e,t){var r;t=null!==(r=t)&&void 0!==r?r:{};const n=((e,t)=>(0,Wd.relative)(e,t,Qd,"ws"))(e,("undefined"===typeof window?"":window.location).toString()),i=new jd(n,t.websocket);return Gd(i,t)}const Xd=Gn,Jd=Wn,$d=function(e){let t=0;if(e=e.toString().trim(),Xd(e)){const r=new Uint8Array(t+4);return e.split(/\./g).forEach((e=>{r[t++]=255&parseInt(e,10)})),r}if(Jd(e)){const r=e.split(":",8);let n;for(n=0;n<r.length;n++){let e;Xd(r[n])&&(e=$d(r[n]),r[n]=an(e.slice(0,2),"base16")),null!=e&&++n<8&&r.splice(n,0,an(e.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++);const e=[n,1];for(n=9-r.length;n>0;n--)e.push("0");r.splice.apply(r,e)}const i=new Uint8Array(t+16);for(n=0;n<r.length;n++){const e=parseInt(r[n],16);i[t++]=e>>8&255,i[t++]=255&e}return i}throw new Error("invalid ip address")},Zd=-1,ep={},tp={};function rp(e){if("number"===typeof e){if(null!=tp[e])return tp[e];throw new Error("no protocol with code: ".concat(e))}if("string"===typeof e){if(null!=ep[e])return ep[e];throw new Error("no protocol with name: ".concat(e))}throw new Error("invalid protocol id type: ".concat(typeof e))}[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,Zd,"ip6zone"],[43,8,"ipcidr"],[53,Zd,"dns",!0],[54,Zd,"dns4",!0],[55,Zd,"dns6",!0],[56,Zd,"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"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,Zd,"unix",!1,!0],[421,Zd,"ipfs"],[421,Zd,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,Zd,"garlic64"],[448,0,"tls"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,Zd,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,Zd,"memory"]].forEach((e=>{const t=function(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:Boolean(n),path:Boolean(i)}}(...e);tp[t.code]=t,ep[t.name]=t}));var np=function e(t,r,n){r=r||[];var i=n=n||0;for(;t>=ip;)r[n++]=255&t|128,t/=128;for(;-128&t;)r[n++]=255&t|128,t>>>=7;return r[n]=0|t,e.bytes=n-i+1,r},ip=Math.pow(2,31);var op=function e(t,r){var n,i=0,o=0,s=r=r||0,a=t.length;do{if(s>=a)throw e.bytes=0,new RangeError("Could not decode varint");n=t[s++],i+=o<28?(127&n)<<o:(127&n)*Math.pow(2,o),o+=7}while(n>=128);return e.bytes=s-r,i};var sp=Math.pow(2,7),ap=Math.pow(2,14),cp=Math.pow(2,21),lp=Math.pow(2,28),up=Math.pow(2,35),hp=Math.pow(2,42),dp=Math.pow(2,49),pp=Math.pow(2,56),fp=Math.pow(2,63);const gp={encode:np,decode:op,encodingLength:function(e){return e<sp?1:e<ap?2:e<cp?3:e<lp?4:e<up?5:e<hp?6:e<dp?7:e<pp?8:e<fp?9:10}},yp=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=gp.decode(e,t);return[r,gp.decode.bytes]},mp=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return gp.encode(e,t,r),t},vp=e=>gp.encodingLength(e),bp=(new Uint8Array(0),e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)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")}),wp=(e,t)=>{const r=t.byteLength,n=vp(e),i=n+vp(r),o=new Uint8Array(i+r);return mp(e,o,0),mp(r,o,n),o.set(t,i),new _p(e,r,t,o)},Ep=e=>{const t=bp(e),[r,n]=yp(t),[i,o]=yp(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new _p(r,i,s,t)};class _p{constructor(e,t,r,n){this.code=e,this.size=t,this.digest=r,this.bytes=n}}var Sp=function(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(255!==r[s])throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function h(e){if("string"!==typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[t]){for(var n=0,i=0;e[t]===c;)n++,t++;for(var o=(e.length-t)*l+1>>>0,s=new Uint8Array(o);e[t];){var u=r[e.charCodeAt(t)];if(255===u)return;for(var h=0,d=o-1;(0!==u||h<i)&&-1!==d;d--,h++)u+=a*s[d]>>>0,s[d]=u%256>>>0,u=u/256>>>0;if(0!==u)throw new Error("Non-zero carry");i=h,t++}if(" "!==e[t]){for(var p=o-i;p!==o&&0===s[p];)p++;for(var f=new Uint8Array(n+(o-p)),g=n;p!==o;)f[g++]=s[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,n=0,i=0,o=t.length;i!==o&&0===t[i];)i++,r++;for(var s=(o-i)*u+1>>>0,l=new Uint8Array(s);i!==o;){for(var h=t[i],d=0,p=s-1;(0!==h||d<n)&&-1!==p;p--,d++)h+=256*l[p]>>>0,l[p]=h%a>>>0,h=h/a>>>0;if(0!==h)throw new Error("Non-zero carry");n=d,i++}for(var f=s-n;f!==s&&0===l[f];)f++;for(var g=c.repeat(r);f<s;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:h,decode:function(e){var r=h(e);if(r)return r;throw new Error("Non-".concat(t," character"))}}};const Ap=Sp;class Cp{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return"".concat(this.prefix).concat(this.baseEncode(e));throw Error("Unknown type, must be binary type")}}class Ip{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"===typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error("Unable to decode multibase string ".concat(JSON.stringify(e),", ").concat(this.name," decoder only supports inputs prefixed with ").concat(this.prefix));return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return kp(this,e)}}class Tp{constructor(e){this.decoders=e}or(e){return kp(this,e)}decode(e){const t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError("Unable to decode multibase string ".concat(JSON.stringify(e),", only inputs prefixed with ").concat(Object.keys(this.decoders)," are supported"))}}const kp=(e,t)=>new Tp({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class Rp{constructor(e,t,r,n){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=n,this.encoder=new Cp(e,t,r),this.decoder=new Ip(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Pp=e=>{let{name:t,prefix:r,encode:n,decode:i}=e;return new Rp(t,r,n,i)},Dp=e=>{let{prefix:t,name:r,alphabet:n}=e;const{encode:i,decode:o}=Ap(n,r);return Pp({prefix:t,name:r,encode:i,decode:e=>bp(o(e))})},Np=e=>{let{name:t,prefix:r,bitsPerChar:n,alphabet:i}=e;return Pp({prefix:r,name:t,encode:e=>((e,t,r)=>{const n="="===t[t.length-1],i=(1<<r)-1;let 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})(e,i,n),decode:e=>((e,t,r,n)=>{const i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=e.length;for(;"="===e[o-1];)--o;const s=new Uint8Array(o*r/8|0);let a=0,c=0,l=0;for(let u=0;u<o;++u){const t=i[e[u]];if(void 0===t)throw new SyntaxError("Non-".concat(n," character"));c=c<<r|t,a+=r,a>=8&&(a-=8,s[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s})(e,i,n,t)})},Lp=Dp({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),xp=Dp({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),Op=Np({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Bp=Np({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Mp=Np({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Up=Np({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Fp=Np({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Vp=Np({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),jp=Np({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),zp=Np({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Kp=Np({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),qp=(e,t)=>{const{bytes:r,version:n}=e;return 0===n?Yp(r,Gp(e),t||Lp.encoder):Xp(r,Gp(e),t||Op.encoder)},Hp=new WeakMap,Gp=e=>{const t=Hp.get(e);if(null==t){const t=new Map;return Hp.set(e,t),t}return t};class Wp{constructor(e,t,r,n){this.code=t,this.version=e,this.multihash=r,this.bytes=n,this["/"]=n}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:{const{code:e,multihash:t}=this;if(e!==Jp)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==$p)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return Wp.createV0(t)}default:throw Error("Can not convert CID version ".concat(this.version," to version 0. This is a bug please report"))}}toV1(){switch(this.version){case 0:{const{code:e,digest:t}=this.multihash,r=wp(e,t);return Wp.createV1(this.code,r)}case 1:return this;default:throw Error("Can not convert CID version ".concat(this.version," to version 1. This is a bug please report"))}}equals(e){return Wp.equals(this,e)}static equals(e,t){const r=t;return r&&e.code===r.code&&e.version===r.version&&((e,t)=>{if(e===t)return!0;{const r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&((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.bytes,r.bytes)}})(e.multihash,r.multihash)}toString(e){return qp(this,e)}toJSON(){return{"/":qp(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID(".concat(this.toString(),")")}static asCID(e){if(null==e)return null;const t=e;if(t instanceof Wp)return t;if(null!=t["/"]&&t["/"]===t.bytes||t.asCID===t){const{version:e,code:r,multihash:n,bytes:i}=t;return new Wp(e,r,n,i||Zp(e,r,n.bytes))}if(!0===t[ef]){const{version:e,multihash:r,code:n}=t,i=Ep(r);return Wp.create(e,n,i)}return null}static create(e,t,r){if("number"!==typeof t)throw new Error("String codecs are no longer supported");if(!(r.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:if(t!==Jp)throw new Error("Version 0 CID must use dag-pb (code: ".concat(Jp,") block encoding"));return new Wp(e,t,r,r.bytes);case 1:{const n=Zp(e,t,r.bytes);return new Wp(e,t,r,n)}default:throw new Error("Invalid version")}}static createV0(e){return Wp.create(0,Jp,e)}static createV1(e,t){return Wp.create(1,e,t)}static decode(e){const[t,r]=Wp.decodeFirst(e);if(r.length)throw new Error("Incorrect length");return t}static decodeFirst(e){const t=Wp.inspectBytes(e),r=t.size-t.multihashSize,n=bp(e.subarray(r,r+t.multihashSize));if(n.byteLength!==t.multihashSize)throw new Error("Incorrect length");const i=n.subarray(t.multihashSize-t.digestSize),o=new _p(t.multihashCode,t.digestSize,i,n);return[0===t.version?Wp.createV0(o):Wp.createV1(t.codec,o),e.subarray(t.size)]}static inspectBytes(e){let t=0;const r=()=>{const[r,n]=yp(e.subarray(t));return t+=n,r};let n=r(),i=Jp;if(18===n?(n=0,t=0):i=r(),0!==n&&1!==n)throw new RangeError("Invalid CID version ".concat(n));const o=t,s=r(),a=r(),c=t+a;return{version:n,codec:i,multihashCode:s,digestSize:a,multihashSize:c-o,size:c}}static parse(e,t){const[r,n]=Qp(e,t),i=Wp.decode(n);if(0===i.version&&"Q"!==e[0])throw Error("Version 0 CID string must not include multibase prefix");return Gp(i).set(r,e),i}}const Qp=(e,t)=>{switch(e[0]){case"Q":{const r=t||Lp;return[Lp.prefix,r.decode("".concat(Lp.prefix).concat(e))]}case Lp.prefix:{const r=t||Lp;return[Lp.prefix,r.decode(e)]}case Op.prefix:{const r=t||Op;return[Op.prefix,r.decode(e)]}default:if(null==t)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}},Yp=(e,t,r)=>{const{prefix:n}=r;if(n!==Lp.prefix)throw Error("Cannot string encode V0 in ".concat(r.name," encoding"));const i=t.get(n);if(null==i){const i=r.encode(e).slice(1);return t.set(n,i),i}return i},Xp=(e,t,r)=>{const{prefix:n}=r,i=t.get(n);if(null==i){const i=r.encode(e);return t.set(n,i),i}return i},Jp=112,$p=18,Zp=(e,t,r)=>{const n=vp(e),i=n+vp(t),o=new Uint8Array(i+r.byteLength);return mp(e,o,0),mp(t,o,n),o.set(r,i),o},ef=Symbol.for("@ipld/js-cid/CID"),tf=Pp({prefix:"\0",name:"identity",encode:e=>{return t=e,(new TextDecoder).decode(t);var t},decode:e=>(e=>(new TextEncoder).encode(e))(e)}),rf=Np({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),nf=Np({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),of=Dp({prefix:"9",name:"base10",alphabet:"0123456789"}),sf=Np({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),af=Np({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),cf=Dp({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),lf=Dp({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),uf=Np({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),hf=Np({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),df=Np({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),pf=Np({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),ff=Array.from("\ud83d\ude80\ud83e\ude90\u2604\ud83d\udef0\ud83c\udf0c\ud83c\udf11\ud83c\udf12\ud83c\udf13\ud83c\udf14\ud83c\udf15\ud83c\udf16\ud83c\udf17\ud83c\udf18\ud83c\udf0d\ud83c\udf0f\ud83c\udf0e\ud83d\udc09\u2600\ud83d\udcbb\ud83d\udda5\ud83d\udcbe\ud83d\udcbf\ud83d\ude02\u2764\ud83d\ude0d\ud83e\udd23\ud83d\ude0a\ud83d\ude4f\ud83d\udc95\ud83d\ude2d\ud83d\ude18\ud83d\udc4d\ud83d\ude05\ud83d\udc4f\ud83d\ude01\ud83d\udd25\ud83e\udd70\ud83d\udc94\ud83d\udc96\ud83d\udc99\ud83d\ude22\ud83e\udd14\ud83d\ude06\ud83d\ude44\ud83d\udcaa\ud83d\ude09\u263a\ud83d\udc4c\ud83e\udd17\ud83d\udc9c\ud83d\ude14\ud83d\ude0e\ud83d\ude07\ud83c\udf39\ud83e\udd26\ud83c\udf89\ud83d\udc9e\u270c\u2728\ud83e\udd37\ud83d\ude31\ud83d\ude0c\ud83c\udf38\ud83d\ude4c\ud83d\ude0b\ud83d\udc97\ud83d\udc9a\ud83d\ude0f\ud83d\udc9b\ud83d\ude42\ud83d\udc93\ud83e\udd29\ud83d\ude04\ud83d\ude00\ud83d\udda4\ud83d\ude03\ud83d\udcaf\ud83d\ude48\ud83d\udc47\ud83c\udfb6\ud83d\ude12\ud83e\udd2d\u2763\ud83d\ude1c\ud83d\udc8b\ud83d\udc40\ud83d\ude2a\ud83d\ude11\ud83d\udca5\ud83d\ude4b\ud83d\ude1e\ud83d\ude29\ud83d\ude21\ud83e\udd2a\ud83d\udc4a\ud83e\udd73\ud83d\ude25\ud83e\udd24\ud83d\udc49\ud83d\udc83\ud83d\ude33\u270b\ud83d\ude1a\ud83d\ude1d\ud83d\ude34\ud83c\udf1f\ud83d\ude2c\ud83d\ude43\ud83c\udf40\ud83c\udf37\ud83d\ude3b\ud83d\ude13\u2b50\u2705\ud83e\udd7a\ud83c\udf08\ud83d\ude08\ud83e\udd18\ud83d\udca6\u2714\ud83d\ude23\ud83c\udfc3\ud83d\udc90\u2639\ud83c\udf8a\ud83d\udc98\ud83d\ude20\u261d\ud83d\ude15\ud83c\udf3a\ud83c\udf82\ud83c\udf3b\ud83d\ude10\ud83d\udd95\ud83d\udc9d\ud83d\ude4a\ud83d\ude39\ud83d\udde3\ud83d\udcab\ud83d\udc80\ud83d\udc51\ud83c\udfb5\ud83e\udd1e\ud83d\ude1b\ud83d\udd34\ud83d\ude24\ud83c\udf3c\ud83d\ude2b\u26bd\ud83e\udd19\u2615\ud83c\udfc6\ud83e\udd2b\ud83d\udc48\ud83d\ude2e\ud83d\ude46\ud83c\udf7b\ud83c\udf43\ud83d\udc36\ud83d\udc81\ud83d\ude32\ud83c\udf3f\ud83e\udde1\ud83c\udf81\u26a1\ud83c\udf1e\ud83c\udf88\u274c\u270a\ud83d\udc4b\ud83d\ude30\ud83e\udd28\ud83d\ude36\ud83e\udd1d\ud83d\udeb6\ud83d\udcb0\ud83c\udf53\ud83d\udca2\ud83e\udd1f\ud83d\ude41\ud83d\udea8\ud83d\udca8\ud83e\udd2c\u2708\ud83c\udf80\ud83c\udf7a\ud83e\udd13\ud83d\ude19\ud83d\udc9f\ud83c\udf31\ud83d\ude16\ud83d\udc76\ud83e\udd74\u25b6\u27a1\u2753\ud83d\udc8e\ud83d\udcb8\u2b07\ud83d\ude28\ud83c\udf1a\ud83e\udd8b\ud83d\ude37\ud83d\udd7a\u26a0\ud83d\ude45\ud83d\ude1f\ud83d\ude35\ud83d\udc4e\ud83e\udd32\ud83e\udd20\ud83e\udd27\ud83d\udccc\ud83d\udd35\ud83d\udc85\ud83e\uddd0\ud83d\udc3e\ud83c\udf52\ud83d\ude17\ud83e\udd11\ud83c\udf0a\ud83e\udd2f\ud83d\udc37\u260e\ud83d\udca7\ud83d\ude2f\ud83d\udc86\ud83d\udc46\ud83c\udfa4\ud83d\ude47\ud83c\udf51\u2744\ud83c\udf34\ud83d\udca3\ud83d\udc38\ud83d\udc8c\ud83d\udccd\ud83e\udd40\ud83e\udd22\ud83d\udc45\ud83d\udca1\ud83d\udca9\ud83d\udc50\ud83d\udcf8\ud83d\udc7b\ud83e\udd10\ud83e\udd2e\ud83c\udfbc\ud83e\udd75\ud83d\udea9\ud83c\udf4e\ud83c\udf4a\ud83d\udc7c\ud83d\udc8d\ud83d\udce3\ud83e\udd42"),gf=ff.reduce(((e,t,r)=>(e[r]=t,e)),[]),yf=ff.reduce(((e,t,r)=>(e[t.codePointAt(0)]=r,e)),[]);const mf=Pp({prefix:"\ud83d\ude80",name:"base256emoji",encode:function(e){return e.reduce(((e,t)=>e+=gf[t]),"")},decode:function(e){const t=[];for(const r of e){const e=yf[r.codePointAt(0)];if(void 0===e)throw new Error("Non-base256emoji character: ".concat(r));t.push(e)}return new Uint8Array(t)}}),vf=e=>{let{name:t,code:r,encode:n}=e;return new bf(t,r,n)};class bf{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?wp(this.code,t):t.then((e=>wp(this.code,e)))}throw Error("Unknown type, must be binary type")}}const wf=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Ef=vf({name:"sha2-256",code:18,encode:wf("SHA-256")}),_f=vf({name:"sha2-512",code:19,encode:wf("SHA-512")}),Sf=bp,Af={code:0,name:"identity",encode:Sf,digest:e=>wp(0,Sf(e))},Cf="raw",If=85,Tf=e=>bp(e),kf=e=>bp(e),Rf=new TextEncoder,Pf=new TextDecoder,Df="json",Nf=512,Lf=e=>Rf.encode(JSON.stringify(e)),xf=e=>JSON.parse(Pf.decode(e)),Of={...L,...x,...O,...B,...M,...N,...U,...D,...F,...V};function Bf(e,t){switch(rp(e).code){case 4:case 41:return function(e){const t=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;r=~~r,n=null!==(t=n)&&void 0!==t?t:e.length-r;const i=new DataView(e.buffer);if(4===n){const t=[];for(let i=0;i<n;i++)t.push(e[r+i]);return t.join(".")}if(16===n){const e=[];for(let t=0;t<n;t+=2)e.push(i.getUint16(r+t).toString(16));return e.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""}(e,0,e.length);if(null==t)throw new Error("ipBuff is required");if(!Qn(t))throw new Error("invalid ip address");return t}(t);case 42:case 53:case 54:case 55:case 56:case 400:case 777:return qf(t);case 6:case 273:case 33:case 132:return zf(t).toString();case 421:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return an(r,"base58btc")}(t);case 444:case 445:return Hf(t);case 466:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+an(r,"base64url")}(t);default:return an(t,"base16")}}function Mf(e,t){switch(rp(e).code){case 4:case 41:return Vf(t);case 42:case 53:case 54:case 55:case 56:case 400:case 777:return Kf(t);case 6:case 273:case 33:case 132:return jf(parseInt(t,10));case 421:return function(e){let t;t="Q"===e[0]||"1"===e[0]?Ep(Lp.decode("z".concat(e))).bytes:Wp.parse(e).multihash.bytes;const r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);case 444:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(16!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion address."));const r=Op.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)");const i=jf(n);return ln([r,i],r.length+i.length)}(t);case 445:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(56!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion3 address."));const r=Op.decode("b".concat(t[0])),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");const i=jf(n);return ln([r,i],r.length+i.length)}(t);case 466:return function(e){const t=Ff.decode(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);default:return Hn(t,"base16")}}const Uf=Object.values(Of).map((e=>e.decoder)),Ff=function(){let e=Uf[0].or(Uf[1]);return Uf.slice(2).forEach((t=>e=e.or(t))),e}();function Vf(e){if(!Qn(e))throw new Error("invalid ip address");return $d(e)}function jf(e){const t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function zf(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Kf(e){const t=Hn(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}function qf(e){const t=cn.decode(e);if((e=e.slice(cn.decode.bytes)).length!==t)throw new Error("inconsistent lengths");return an(e)}function Hf(e){const t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=an(t,"base32"),i=zf(r);return"".concat(n,":").concat(i)}function Gf(e){return e.map((e=>{const t=rg(e);return null!=e[1]?[t.code,Bf(t.code,e[1])]:[t.code]}))}function Wf(e){return $f(ln(e.map((e=>{const t=rg(e);let r=Uint8Array.from(cn.encode(t.code));return e.length>1&&null!=e[1]&&(r=ln([r,e[1]])),r}))))}function Qf(e,t){if(e.size>0)return e.size/8;if(0===e.size)return 0;var r;return cn.decode(t)+(null!==(r=cn.decode.bytes)&&void 0!==r?r:0)}function Yf(e){const t=[];let r=0;for(;r<e.length;){var n;const i=cn.decode(e,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0,s=Qf(rp(i),e.slice(r+o));if(0===s){t.push([i]),r+=o;continue}const a=e.slice(r+o,r+o+s);if(r+=s+o,r>e.length)throw tg("Invalid address Uint8Array: "+an(e,"base16"));t.push([i,a])}return t}function Xf(e){return function(e){const t=[];return e.map((e=>{const r=rg(e);return t.push(r.name),e.length>1&&null!=e[1]&&t.push(e[1]),null})),eg(t.join("/"))}(Gf(Yf(e)))}function Jf(e){const t=function(e){const t=[],r=e.split("/").slice(1);if(1===r.length&&""===r[0])return[];for(let n=0;n<r.length;n++){const i=r[n],o=rp(i);if(0!==o.size){if(n++,n>=r.length)throw tg("invalid address: "+e);if(!0===o.path){t.push([i,eg(r.slice(n).join("/"))]);break}t.push([i,r[n]])}else t.push([i])}return t}(e=eg(e));return Wf(t.map((e=>{Array.isArray(e)||(e=[e]);const t=rg(e);return e.length>1?[t.code,Mf(t.code,e[1])]:[t.code]})))}function $f(e){const t=Zf(e);if(null!=t)throw t;return Uint8Array.from(e)}function Zf(e){try{Yf(e)}catch(t){return t}}function eg(e){return"/"+e.trim().split("/").filter((e=>e)).join("/")}function tg(e){return new Error("Error parsing address: "+e)}function rg(e){return rp(e[0])}var ng,ig,og,sg,ag=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},cg=function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"===typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r};const lg=Symbol.for("nodejs.util.inspect.custom"),ug=[rp("dns").code,rp("dns4").code,rp("dns6").code,rp("dnsaddr").code],hg=new Map,dg=Symbol.for("@multiformats/js-multiaddr/multiaddr");function pg(e){return Boolean(null===e||void 0===e?void 0:e[dg])}class fg{constructor(e){if(ng.set(this,void 0),ig.set(this,void 0),og.set(this,void 0),this[sg]=!0,null==e&&(e=""),e instanceof Uint8Array)this.bytes=$f(e);else if("string"===typeof e){if(e.length>0&&"/"!==e.charAt(0))throw new Error('multiaddr "'.concat(e,'" must start with a "/"'));this.bytes=Jf(e)}else{if(!pg(e))throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=$f(e.bytes)}}toString(){return null==ag(this,ng,"f")&&cg(this,ng,Xf(this.bytes),"f"),ag(this,ng,"f")}toJSON(){return this.toString()}toOptions(){let e,t,r,n,i="";const o=rp("tcp"),s=rp("udp"),a=rp("ip4"),c=rp("ip6"),l=rp("dns6"),u=rp("ip6zone");for(const[h,d]of this.stringTuples())h===u.code&&(i="%".concat(null!==d&&void 0!==d?d:"")),ug.includes(h)&&(t=o.name,n=443,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===l.code?6:4),h!==o.code&&h!==s.code||(t=rp(h).name,n=parseInt(null!==d&&void 0!==d?d:"")),h!==a.code&&h!==c.code||(t=rp(h).name,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===c.code?6:4);if(null==e||null==t||null==r||null==n)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:r,transport:t,port:n}}protos(){return this.protoCodes().map((e=>Object.assign({},rp(e))))}protoCodes(){const e=[],t=this.bytes;let r=0;for(;r<t.length;){var n;const i=cn.decode(t,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0;r+=Qf(rp(i),t.slice(r+o))+o,e.push(i)}return e}protoNames(){return this.protos().map((e=>e.name))}tuples(){return null==ag(this,ig,"f")&&cg(this,ig,Yf(this.bytes),"f"),ag(this,ig,"f")}stringTuples(){return null==ag(this,og,"f")&&cg(this,og,Gf(this.tuples()),"f"),ag(this,og,"f")}encapsulate(e){return e=new fg(e),new fg(this.toString()+e.toString())}decapsulate(e){const t=e.toString(),r=this.toString(),n=r.lastIndexOf(t);if(n<0)throw new Error("Address ".concat(this.toString()," does not contain subaddress: ").concat(e.toString()));return new fg(r.slice(0,n))}decapsulateCode(e){const t=this.tuples();for(let r=t.length-1;r>=0;r--)if(t[r][0]===e)return new fg(Wf(t.slice(0,r)));return this}getPeerId(){try{const e=this.stringTuples().filter((e=>e[0]===ep.ipfs.code)),t=e.pop();if(null!=(null===t||void 0===t?void 0:t[1])){const e=t[1];return"Q"===e[0]||"1"===e[0]?an(Lp.decode("z".concat(e)),"base58btc"):an(Wp.parse(e).multihash.bytes,"base58btc")}return null}catch(e){return null}}getPath(){let e=null;try{e=this.stringTuples().filter((e=>!0===rp(e[0]).path))[0][1],null==e&&(e=null)}catch{e=null}return e}equals(e){return Nt(this.bytes,e.bytes)}async resolve(e){const t=this.protos().find((e=>e.resolvable));if(null==t)return[this];const r=hg.get(t.name);if(null==r)throw as(new Error("no available resolver for ".concat(t.name)),"ERR_NO_AVAILABLE_RESOLVER");return(await r(this,e)).map((e=>new fg(e)))}nodeAddress(){const e=this.toOptions();if("tcp"!==e.transport&&"udp"!==e.transport)throw new Error('multiaddr must have a valid format - no protocol with name: "'.concat(e.transport,'". Must have a valid transport protocol: "{tcp, udp}"'));return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){const t=(null!==e&&void 0!==e?e:this).protos();return 2===t.length&&((4===t[0].code||41===t[0].code)&&(6===t[1].code||273===t[1].code))}[(ng=new WeakMap,ig=new WeakMap,og=new WeakMap,sg=dg,lg)](){return"Multiaddr(".concat(Xf(this.bytes),")")}}function gg(e){return new fg(e)}const yg=(e,t)=>t,mg={ip4:yg,ip6:(e,t,r,n)=>1===n.length&&"ip6"===n[0].protocol?t:"[".concat(t,"]"),tcp:(e,t,r,n,i)=>n.some((e=>["http","https","ws","wss"].includes(e.protocol)))?"".concat(e,":").concat(t):((e,t,r,n)=>{if(null!=n&&!1===n.assumeHttp)return"tcp://".concat(e,":").concat(t);let i="tcp",o=":".concat(t);return"tcp"===r[r.length-1].protocol&&(i="443"===t?"https":"http",o="443"===t||"80"===t?"":o),"".concat(i,"://").concat(e).concat(o)})(e,t,n,i),udp:(e,t)=>"udp://".concat(e,":").concat(t),dnsaddr:yg,dns4:yg,dns6:yg,ipfs:(e,t)=>"".concat(e,"/ipfs/").concat(t),p2p:(e,t)=>"".concat(e,"/p2p/").concat(t),http:e=>"http://".concat(e),https:e=>"https://".concat(e),ws:e=>"ws://".concat(e),wss:e=>"wss://".concat(e),"p2p-websocket-star":e=>"".concat(e,"/p2p-websocket-star"),"p2p-webrtc-star":e=>"".concat(e,"/p2p-webrtc-star"),"p2p-webrtc-direct":e=>"".concat(e,"/p2p-webrtc-direct")};var vg=__webpack_require__(6956);const bg="object"===typeof window&&"object"===typeof document&&9===document.nodeType,wg=vg(),Eg=bg&&!wg,_g=wg&&!bg,Sg=wg&&bg,Ag="undefined"!==typeof globalThis.process&&"undefined"!==typeof globalThis.process.release&&"node"===globalThis.process.release.name&&!wg,Cg="function"===typeof importScripts&&"undefined"!==typeof self&&"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,Ig=("undefined"!==typeof globalThis.process&&"undefined"!==typeof globalThis.process.env&&globalThis.process.env.NODE_ENV,"undefined"!==typeof navigator&&"ReactNative"===navigator.product);class Tg extends Error{constructor(e){super(e),this.name="TimeoutError"}}class kg extends Error{constructor(e){super(),this.name="AbortError",this.message=e}}const Rg=e=>void 0===globalThis.DOMException?new kg(e):new DOMException(e),Pg=e=>{const t=void 0===e.reason?Rg("This operation was aborted."):e.reason;return t instanceof Error?t:Rg(t)};function Dg(e,t){const{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout:setTimeout,clearTimeout:clearTimeout}}=t;let s;const a=new Promise(((a,c)=>{if("number"!==typeof r||1!==Math.sign(r))throw new TypeError("Expected `milliseconds` to be a positive number, got `".concat(r,"`"));if(r!==Number.POSITIVE_INFINITY){if(t.signal){const{signal:e}=t;e.aborted&&c(Pg(e)),e.addEventListener("abort",(()=>{c(Pg(e))}))}s=o.setTimeout.call(void 0,(()=>{if(n)try{a(n())}catch(t){c(t)}else if("function"===typeof e.cancel&&e.cancel(),!1===i)a();else if(i instanceof Error)c(i);else{const e=null!==i&&void 0!==i?i:"Promise timed out after ".concat(r," milliseconds");c(new Tg(e))}}),r),(async()=>{try{a(await e)}catch(t){c(t)}finally{o.clearTimeout.call(void 0,s)}})()}else a(e)}));return a.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},a}const Ng=nd("libp2p:websockets:socket");const Lg=ry("dns4"),xg=ry("dns6"),Og=ry("dnsaddr"),Bg=ty(ry("dns"),Og,Lg,xg),Mg=ty(ry("ip4"),ry("ip6")),Ug=ty(ey(Mg,ry("tcp")),ey(Bg,ry("tcp"))),Fg=ey(Mg,ry("udp")),Vg=ey(Fg,ry("utp")),jg=ey(Fg,ry("quic")),zg=ty(ey(Ug,ry("ws")),ey(Bg,ry("ws"))),Kg=ty(ey(Ug,ry("wss")),ey(Bg,ry("wss"))),qg=ty(ey(Ug,ry("http")),ey(Mg,ry("http")),ey(Bg,ry("http"))),Hg=ty(ey(Ug,ry("https")),ey(Mg,ry("https")),ey(Bg,ry("https"))),Gg=ty(ey(zg,ry("p2p-webrtc-star"),ry("p2p")),ey(Kg,ry("p2p-webrtc-star"),ry("p2p")),ey(zg,ry("p2p-webrtc-star")),ey(Kg,ry("p2p-webrtc-star"))),Wg=(ty(ey(zg,ry("p2p-websocket-star"),ry("p2p")),ey(Kg,ry("p2p-websocket-star"),ry("p2p")),ey(zg,ry("p2p-websocket-star")),ey(Kg,ry("p2p-websocket-star"))),ty(ey(qg,ry("p2p-webrtc-direct"),ry("p2p")),ey(Hg,ry("p2p-webrtc-direct"),ry("p2p")),ey(qg,ry("p2p-webrtc-direct")),ey(Hg,ry("p2p-webrtc-direct")))),Qg=ty(zg,Kg,qg,Hg,Gg,Wg,Ug,Vg,jg,Bg),Yg=(ty(ey(Qg,ry("p2p-stardust"),ry("p2p")),ey(Qg,ry("p2p-stardust"))),ty(ey(Qg,ry("p2p")),Gg,Wg,ry("p2p"))),Xg=ty(ey(Yg,ry("p2p-circuit"),Yg),ey(Yg,ry("p2p-circuit")),ey(ry("p2p-circuit"),Yg),ey(Qg,ry("p2p-circuit")),ey(ry("p2p-circuit"),Qg),ry("p2p-circuit")),Jg=()=>ty(ey(Xg,Jg),Xg),$g=Jg();ty(ey($g,Yg,$g),ey(Yg,$g),ey($g,Yg),$g,Yg);function Zg(e){return function(t){let r;try{r=gg(t)}catch(i){return!1}const n=e(r.protoNames());return null!==n&&(!0===n||!1===n?n:0===n.length)}}function ey(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];function n(e){if(e.length<t.length)return null;let r=e;return t.some((t=>(r="function"===typeof t?t().partialMatch(e):t.partialMatch(e),Array.isArray(r)&&(e=r),null===r))),r}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:Zg(n),partialMatch:n}}function ty(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];function n(e){let r=null;return t.some((t=>{const n="function"===typeof t?t().partialMatch(e):t.partialMatch(e);return null!=n&&(r=n,!0)})),r}const i={toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:Zg(n),partialMatch:n};return i}function ry(e){const t=e;return{toString:function(){return t},matches:function(e){let r;try{r=gg(e)}catch(i){return!1}const n=r.protoNames();return 1===n.length&&n[0]===t},partialMatch:function(e){return 0===e.length?null:e[0]===t?e.slice(1):null}}}function ny(e){return e.filter((e=>{if(e.protoCodes().includes(290))return!1;const t=e.decapsulateCode(421);return zg.matches(t)||Kg.matches(t)}))}const iy=Symbol.for("@libp2p/transport");var oy;!function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"}(oy||(oy={}));const sy=nd("libp2p:websockets");class ay{constructor(e){this.init=e}get[Symbol.toStringTag](){return"@libp2p/websockets"}get[iy](){return!0}async dial(e,t){var r;sy("dialing %s",e),t=null!==(r=t)&&void 0!==r?r:{};const n=function(e,t,r){var n;const i={async sink(t){var n;null!=(null===(n=r)||void 0===n?void 0:n.signal)&&(t=gd(t,r.signal));try{await e.sink(t)}catch(i){"aborted"!==i.type&&Ng.error(i)}},source:null!=(r=null!==(n=r)&&void 0!==n?n:{}).signal?gd(e.source,r.signal):e.source,remoteAddr:t,timeline:{open:Date.now()},async close(){const t=Date.now();try{await Dg(e.close(),{milliseconds:2e3})}catch(r){const{host:n,port:o}=i.remoteAddr.toOptions();Ng("timeout closing stream to %s:%s after %dms, destroying it manually",n,o,Date.now()-t),e.destroy()}finally{i.timeline.close=Date.now()}}};return e.socket.addEventListener("close",(()=>{null==i.timeline.close&&(i.timeline.close=Date.now())}),{once:!0}),i}(await this._connect(e,t),e);sy("new outbound connection %s",n.remoteAddr);const i=await t.upgrader.upgradeOutbound(n);return sy("outbound connection %s upgraded",n.remoteAddr),i}async _connect(e,t){var r;if(!0===(null===t||void 0===t||null===(r=t.signal)||void 0===r?void 0:r.aborted))throw new Ne;const n=e.toOptions();sy("dialing %s:%s",n.host,n.port);const i=ra(),o=e=>{sy.error("connection error:",e),i.reject(e)},s=Yd(function(e,t){const r=gg(e),n=r.toString().split("/").slice(1);return r.tuples().map((e=>{var t,r;return{protocol:null!==(t=n.shift())&&void 0!==t?t:"",content:null!=e[1]&&null!==(r=n.shift())&&void 0!==r?r:""}})).reduce(((e,r,n,i)=>{const o=mg[r.protocol];if(null==o)throw new Error("Unsupported protocol ".concat(r.protocol));return o(e,r.content,n,i,t)}),"")}(e),this.init);if(null!=s.socket.on?s.socket.on("error",o):s.socket.onerror=o,null==t.signal)return await Promise.race([s.connected(),i.promise]),sy("connected %s",e),s;let a;const c=new Promise(((e,r)=>{var n,i;if(a=()=>{r(new Ne),s.close().catch((e=>{sy.error("error closing raw socket",e)}))},!0===(null===t||void 0===t||null===(n=t.signal)||void 0===n?void 0:n.aborted))return a();null===t||void 0===t||null===(i=t.signal)||void 0===i||i.addEventListener("abort",a)}));try{await Promise.race([c,i.promise,s.connected()])}finally{var l;if(null!=a)null===t||void 0===t||null===(l=t.signal)||void 0===l||l.removeEventListener("abort",a)}return sy("connected %s",e),s}createListener(e){return function(){throw new Error("WebSocket Servers can not be created in the browser!")}(this.init)}filter(e){var t,r;return e=Array.isArray(e)?e:[e],null!=(null===(t=this.init)||void 0===t?void 0:t.filter)?null===(r=this.init)||void 0===r?void 0:r.filter(e):Eg||Cg?function(e){return e.filter((e=>{if(e.protoCodes().includes(290))return!1;const t=e.decapsulateCode(421);return Kg.matches(t)&&Bg.matches(t.decapsulateCode(6).decapsulateCode(478))}))}(e):ny(e)}}function cy(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return()=>new ay(e)}const ly=Symbol.for("@libp2p/peer-discovery");var uy,hy,dy=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class py extends EventTarget{constructor(){super(...arguments),hy.set(this,new Map)}listenerCount(e){const t=dy(this,hy,"f").get(e);return null==t?0:t.length}addEventListener(e,t,r){var n;super.addEventListener(e,t,r);let i=dy(this,hy,"f").get(e);null==i&&(i=[],dy(this,hy,"f").set(e,i)),i.push({callback:t,once:null!==(n=!0!==r&&!1!==r&&(null===r||void 0===r?void 0:r.once))&&void 0!==n&&n})}removeEventListener(e,t,r){super.removeEventListener(e.toString(),null!==t&&void 0!==t?t:null,r);let n=dy(this,hy,"f").get(e);null!=n&&(n=n.filter((e=>{let{callback:r}=e;return r!==t})),dy(this,hy,"f").set(e,n))}dispatchEvent(e){const t=super.dispatchEvent(e);let r=dy(this,hy,"f").get(e.type);return null==r||(r=r.filter((e=>{let{once:t}=e;return!t})),dy(this,hy,"f").set(e.type,r)),t}safeDispatchEvent(e,t){return this.dispatchEvent(new gy(e,t))}}hy=new WeakMap;class fy extends Event{constructor(e,t){super(e,t),this.detail=null===t||void 0===t?void 0:t.detail}}const gy=null!==(uy=globalThis.CustomEvent)&&void 0!==uy?uy:fy;var yy=__webpack_require__(7676);function my(e){return new Uint8Array(yy.keccak256.arrayBuffer(e))}function vy(e,t,r){try{return zu(au.fromCompact(e.slice(0,64)),t,r)}catch{return!1}}const by="Invalid record id";var wy=function(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(255!==r[s])throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function h(e){if("string"!==typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[t]){for(var n=0,i=0;e[t]===c;)n++,t++;for(var o=(e.length-t)*l+1>>>0,s=new Uint8Array(o);e[t];){var u=r[e.charCodeAt(t)];if(255===u)return;for(var h=0,d=o-1;(0!==u||h<i)&&-1!==d;d--,h++)u+=a*s[d]>>>0,s[d]=u%256>>>0,u=u/256>>>0;if(0!==u)throw new Error("Non-zero carry");i=h,t++}if(" "!==e[t]){for(var p=o-i;p!==o&&0===s[p];)p++;for(var f=new Uint8Array(n+(o-p)),g=n;p!==o;)f[g++]=s[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,n=0,i=0,o=t.length;i!==o&&0===t[i];)i++,r++;for(var s=(o-i)*u+1>>>0,l=new Uint8Array(s);i!==o;){for(var h=t[i],d=0,p=s-1;(0!==h||d<n)&&-1!==p;p--,d++)h+=256*l[p]>>>0,l[p]=h%a>>>0,h=h/a>>>0;if(0!==h)throw new Error("Non-zero carry");n=d,i++}for(var f=s-n;f!==s&&0===l[f];)f++;for(var g=c.repeat(r);f<s;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:h,decode:function(e){var r=h(e);if(r)return r;throw new Error("Non-".concat(t," character"))}}};const Ey=wy,_y=(new Uint8Array(0),e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)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")});class Sy{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return"".concat(this.prefix).concat(this.baseEncode(e));throw Error("Unknown type, must be binary type")}}class Ay{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"===typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error("Unable to decode multibase string ".concat(JSON.stringify(e),", ").concat(this.name," decoder only supports inputs prefixed with ").concat(this.prefix));return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return Iy(this,e)}}class Cy{constructor(e){this.decoders=e}or(e){return Iy(this,e)}decode(e){const t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError("Unable to decode multibase string ".concat(JSON.stringify(e),", only inputs prefixed with ").concat(Object.keys(this.decoders)," are supported"))}}const Iy=(e,t)=>new Cy({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class Ty{constructor(e,t,r,n){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=n,this.encoder=new Sy(e,t,r),this.decoder=new Ay(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const ky=e=>{let{name:t,prefix:r,encode:n,decode:i}=e;return new Ty(t,r,n,i)},Ry=e=>{let{prefix:t,name:r,alphabet:n}=e;const{encode:i,decode:o}=Ey(n,r);return ky({prefix:t,name:r,encode:i,decode:e=>_y(o(e))})},Py=e=>{let{name:t,prefix:r,bitsPerChar:n,alphabet:i}=e;return ky({prefix:r,name:t,encode:e=>((e,t,r)=>{const n="="===t[t.length-1],i=(1<<r)-1;let 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})(e,i,n),decode:e=>((e,t,r,n)=>{const i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=e.length;for(;"="===e[o-1];)--o;const s=new Uint8Array(o*r/8|0);let a=0,c=0,l=0;for(let u=0;u<o;++u){const t=i[e[u]];if(void 0===t)throw new SyntaxError("Non-".concat(n," character"));c=c<<r|t,a+=r,a>=8&&(a-=8,s[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s})(e,i,n,t)})},Dy=Ry({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ny=Ry({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ly=function e(t,r,n){r=r||[];var i=n=n||0;for(;t>=xy;)r[n++]=255&t|128,t/=128;for(;-128&t;)r[n++]=255&t|128,t>>>=7;return r[n]=0|t,e.bytes=n-i+1,r},xy=Math.pow(2,31);var Oy=function e(t,r){var n,i=0,o=0,s=r=r||0,a=t.length;do{if(s>=a)throw e.bytes=0,new RangeError("Could not decode varint");n=t[s++],i+=o<28?(127&n)<<o:(127&n)*Math.pow(2,o),o+=7}while(n>=128);return e.bytes=s-r,i};var By=Math.pow(2,7),My=Math.pow(2,14),Uy=Math.pow(2,21),Fy=Math.pow(2,28),Vy=Math.pow(2,35),jy=Math.pow(2,42),zy=Math.pow(2,49),Ky=Math.pow(2,56),qy=Math.pow(2,63);const Hy={encode:Ly,decode:Oy,encodingLength:function(e){return e<By?1:e<My?2:e<Uy?3:e<Fy?4:e<Vy?5:e<jy?6:e<zy?7:e<Ky?8:e<qy?9:10}},Gy=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=Hy.decode(e,t);return[r,Hy.decode.bytes]},Wy=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return Hy.encode(e,t,r),t},Qy=e=>Hy.encodingLength(e),Yy=(e,t)=>{const r=t.byteLength,n=Qy(e),i=n+Qy(r),o=new Uint8Array(i+r);return Wy(e,o,0),Wy(r,o,n),o.set(t,i),new Jy(e,r,t,o)},Xy=e=>{const t=_y(e),[r,n]=Gy(t),[i,o]=Gy(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Jy(r,i,s,t)};class Jy{constructor(e,t,r,n){this.code=e,this.size=t,this.digest=r,this.bytes=n}}const $y=Py({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Zy=Py({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),em=Py({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),tm=Py({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),rm=Py({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),nm=Py({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),im=Py({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),om=Py({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),sm=Py({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),am=(e,t)=>{const{bytes:r,version:n}=e;return 0===n?dm(r,lm(e),t||Dy.encoder):pm(r,lm(e),t||$y.encoder)},cm=new WeakMap,lm=e=>{const t=cm.get(e);if(null==t){const t=new Map;return cm.set(e,t),t}return t};class um{constructor(e,t,r,n){this.code=t,this.version=e,this.multihash=r,this.bytes=n,this["/"]=n}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:{const{code:e,multihash:t}=this;if(e!==fm)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==gm)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return um.createV0(t)}default:throw Error("Can not convert CID version ".concat(this.version," to version 0. This is a bug please report"))}}toV1(){switch(this.version){case 0:{const{code:e,digest:t}=this.multihash,r=Yy(e,t);return um.createV1(this.code,r)}case 1:return this;default:throw Error("Can not convert CID version ".concat(this.version," to version 1. This is a bug please report"))}}equals(e){return um.equals(this,e)}static equals(e,t){const r=t;return r&&e.code===r.code&&e.version===r.version&&((e,t)=>{if(e===t)return!0;{const r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&((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.bytes,r.bytes)}})(e.multihash,r.multihash)}toString(e){return am(this,e)}toJSON(){return{"/":am(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID(".concat(this.toString(),")")}static asCID(e){if(null==e)return null;const t=e;if(t instanceof um)return t;if(null!=t["/"]&&t["/"]===t.bytes||t.asCID===t){const{version:e,code:r,multihash:n,bytes:i}=t;return new um(e,r,n,i||ym(e,r,n.bytes))}if(!0===t[mm]){const{version:e,multihash:r,code:n}=t,i=Xy(r);return um.create(e,n,i)}return null}static create(e,t,r){if("number"!==typeof t)throw new Error("String codecs are no longer supported");if(!(r.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:if(t!==fm)throw new Error("Version 0 CID must use dag-pb (code: ".concat(fm,") block encoding"));return new um(e,t,r,r.bytes);case 1:{const n=ym(e,t,r.bytes);return new um(e,t,r,n)}default:throw new Error("Invalid version")}}static createV0(e){return um.create(0,fm,e)}static createV1(e,t){return um.create(1,e,t)}static decode(e){const[t,r]=um.decodeFirst(e);if(r.length)throw new Error("Incorrect length");return t}static decodeFirst(e){const t=um.inspectBytes(e),r=t.size-t.multihashSize,n=_y(e.subarray(r,r+t.multihashSize));if(n.byteLength!==t.multihashSize)throw new Error("Incorrect length");const i=n.subarray(t.multihashSize-t.digestSize),o=new Jy(t.multihashCode,t.digestSize,i,n);return[0===t.version?um.createV0(o):um.createV1(t.codec,o),e.subarray(t.size)]}static inspectBytes(e){let t=0;const r=()=>{const[r,n]=Gy(e.subarray(t));return t+=n,r};let n=r(),i=fm;if(18===n?(n=0,t=0):i=r(),0!==n&&1!==n)throw new RangeError("Invalid CID version ".concat(n));const o=t,s=r(),a=r(),c=t+a;return{version:n,codec:i,multihashCode:s,digestSize:a,multihashSize:c-o,size:c}}static parse(e,t){const[r,n]=hm(e,t),i=um.decode(n);if(0===i.version&&"Q"!==e[0])throw Error("Version 0 CID string must not include multibase prefix");return lm(i).set(r,e),i}}const hm=(e,t)=>{switch(e[0]){case"Q":{const r=t||Dy;return[Dy.prefix,r.decode("".concat(Dy.prefix).concat(e))]}case Dy.prefix:{const r=t||Dy;return[Dy.prefix,r.decode(e)]}case $y.prefix:{const r=t||$y;return[$y.prefix,r.decode(e)]}default:if(null==t)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}},dm=(e,t,r)=>{const{prefix:n}=r;if(n!==Dy.prefix)throw Error("Cannot string encode V0 in ".concat(r.name," encoding"));const i=t.get(n);if(null==i){const i=r.encode(e).slice(1);return t.set(n,i),i}return i},pm=(e,t,r)=>{const{prefix:n}=r,i=t.get(n);if(null==i){const i=r.encode(e);return t.set(n,i),i}return i},fm=112,gm=18,ym=(e,t,r)=>{const n=Qy(e),i=n+Qy(t),o=new Uint8Array(i+r.byteLength);return Wy(e,o,0),Wy(t,o,n),o.set(r,i),o},mm=Symbol.for("@ipld/js-cid/CID"),vm=ky({prefix:"\0",name:"identity",encode:e=>{return t=e,(new TextDecoder).decode(t);var t},decode:e=>(e=>(new TextEncoder).encode(e))(e)}),bm=Py({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),wm=Py({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),Em=Ry({prefix:"9",name:"base10",alphabet:"0123456789"}),_m=Py({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Sm=Py({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),Am=Ry({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Cm=Ry({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),Im=Py({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Tm=Py({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),km=Py({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Rm=Py({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),Pm=Array.from("\ud83d\ude80\ud83e\ude90\u2604\ud83d\udef0\ud83c\udf0c\ud83c\udf11\ud83c\udf12\ud83c\udf13\ud83c\udf14\ud83c\udf15\ud83c\udf16\ud83c\udf17\ud83c\udf18\ud83c\udf0d\ud83c\udf0f\ud83c\udf0e\ud83d\udc09\u2600\ud83d\udcbb\ud83d\udda5\ud83d\udcbe\ud83d\udcbf\ud83d\ude02\u2764\ud83d\ude0d\ud83e\udd23\ud83d\ude0a\ud83d\ude4f\ud83d\udc95\ud83d\ude2d\ud83d\ude18\ud83d\udc4d\ud83d\ude05\ud83d\udc4f\ud83d\ude01\ud83d\udd25\ud83e\udd70\ud83d\udc94\ud83d\udc96\ud83d\udc99\ud83d\ude22\ud83e\udd14\ud83d\ude06\ud83d\ude44\ud83d\udcaa\ud83d\ude09\u263a\ud83d\udc4c\ud83e\udd17\ud83d\udc9c\ud83d\ude14\ud83d\ude0e\ud83d\ude07\ud83c\udf39\ud83e\udd26\ud83c\udf89\ud83d\udc9e\u270c\u2728\ud83e\udd37\ud83d\ude31\ud83d\ude0c\ud83c\udf38\ud83d\ude4c\ud83d\ude0b\ud83d\udc97\ud83d\udc9a\ud83d\ude0f\ud83d\udc9b\ud83d\ude42\ud83d\udc93\ud83e\udd29\ud83d\ude04\ud83d\ude00\ud83d\udda4\ud83d\ude03\ud83d\udcaf\ud83d\ude48\ud83d\udc47\ud83c\udfb6\ud83d\ude12\ud83e\udd2d\u2763\ud83d\ude1c\ud83d\udc8b\ud83d\udc40\ud83d\ude2a\ud83d\ude11\ud83d\udca5\ud83d\ude4b\ud83d\ude1e\ud83d\ude29\ud83d\ude21\ud83e\udd2a\ud83d\udc4a\ud83e\udd73\ud83d\ude25\ud83e\udd24\ud83d\udc49\ud83d\udc83\ud83d\ude33\u270b\ud83d\ude1a\ud83d\ude1d\ud83d\ude34\ud83c\udf1f\ud83d\ude2c\ud83d\ude43\ud83c\udf40\ud83c\udf37\ud83d\ude3b\ud83d\ude13\u2b50\u2705\ud83e\udd7a\ud83c\udf08\ud83d\ude08\ud83e\udd18\ud83d\udca6\u2714\ud83d\ude23\ud83c\udfc3\ud83d\udc90\u2639\ud83c\udf8a\ud83d\udc98\ud83d\ude20\u261d\ud83d\ude15\ud83c\udf3a\ud83c\udf82\ud83c\udf3b\ud83d\ude10\ud83d\udd95\ud83d\udc9d\ud83d\ude4a\ud83d\ude39\ud83d\udde3\ud83d\udcab\ud83d\udc80\ud83d\udc51\ud83c\udfb5\ud83e\udd1e\ud83d\ude1b\ud83d\udd34\ud83d\ude24\ud83c\udf3c\ud83d\ude2b\u26bd\ud83e\udd19\u2615\ud83c\udfc6\ud83e\udd2b\ud83d\udc48\ud83d\ude2e\ud83d\ude46\ud83c\udf7b\ud83c\udf43\ud83d\udc36\ud83d\udc81\ud83d\ude32\ud83c\udf3f\ud83e\udde1\ud83c\udf81\u26a1\ud83c\udf1e\ud83c\udf88\u274c\u270a\ud83d\udc4b\ud83d\ude30\ud83e\udd28\ud83d\ude36\ud83e\udd1d\ud83d\udeb6\ud83d\udcb0\ud83c\udf53\ud83d\udca2\ud83e\udd1f\ud83d\ude41\ud83d\udea8\ud83d\udca8\ud83e\udd2c\u2708\ud83c\udf80\ud83c\udf7a\ud83e\udd13\ud83d\ude19\ud83d\udc9f\ud83c\udf31\ud83d\ude16\ud83d\udc76\ud83e\udd74\u25b6\u27a1\u2753\ud83d\udc8e\ud83d\udcb8\u2b07\ud83d\ude28\ud83c\udf1a\ud83e\udd8b\ud83d\ude37\ud83d\udd7a\u26a0\ud83d\ude45\ud83d\ude1f\ud83d\ude35\ud83d\udc4e\ud83e\udd32\ud83e\udd20\ud83e\udd27\ud83d\udccc\ud83d\udd35\ud83d\udc85\ud83e\uddd0\ud83d\udc3e\ud83c\udf52\ud83d\ude17\ud83e\udd11\ud83c\udf0a\ud83e\udd2f\ud83d\udc37\u260e\ud83d\udca7\ud83d\ude2f\ud83d\udc86\ud83d\udc46\ud83c\udfa4\ud83d\ude47\ud83c\udf51\u2744\ud83c\udf34\ud83d\udca3\ud83d\udc38\ud83d\udc8c\ud83d\udccd\ud83e\udd40\ud83e\udd22\ud83d\udc45\ud83d\udca1\ud83d\udca9\ud83d\udc50\ud83d\udcf8\ud83d\udc7b\ud83e\udd10\ud83e\udd2e\ud83c\udfbc\ud83e\udd75\ud83d\udea9\ud83c\udf4e\ud83c\udf4a\ud83d\udc7c\ud83d\udc8d\ud83d\udce3\ud83e\udd42"),Dm=Pm.reduce(((e,t,r)=>(e[r]=t,e)),[]),Nm=Pm.reduce(((e,t,r)=>(e[t.codePointAt(0)]=r,e)),[]);const Lm=ky({prefix:"\ud83d\ude80",name:"base256emoji",encode:function(e){return e.reduce(((e,t)=>e+=Dm[t]),"")},decode:function(e){const t=[];for(const r of e){const e=Nm[r.codePointAt(0)];if(void 0===e)throw new Error("Non-base256emoji character: ".concat(r));t.push(e)}return new Uint8Array(t)}}),xm=e=>{let{name:t,code:r,encode:n}=e;return new Om(t,r,n)};class Om{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Yy(this.code,t):t.then((e=>Yy(this.code,e)))}throw Error("Unknown type, must be binary type")}}const Bm=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Mm=xm({name:"sha2-256",code:18,encode:Bm("SHA-256")}),Um=xm({name:"sha2-512",code:19,encode:Bm("SHA-512")}),Fm=_y,Vm={code:0,name:"identity",encode:Fm,digest:e=>Yy(0,Fm(e))},jm="raw",zm=85,Km=e=>_y(e),qm=e=>_y(e),Hm=new TextEncoder,Gm=new TextDecoder,Wm="json",Qm=512,Ym=e=>Hm.encode(JSON.stringify(e)),Xm=e=>JSON.parse(Gm.decode(e)),Jm={...W,...Q,...Y,...X,...J,...G,...$,...H,...Z,...ee},$m=Gn,Zm=Wn,ev=function(e){let t=0;if(e=e.toString().trim(),$m(e)){const r=new Uint8Array(t+4);return e.split(/\./g).forEach((e=>{r[t++]=255&parseInt(e,10)})),r}if(Zm(e)){const r=e.split(":",8);let n;for(n=0;n<r.length;n++){let e;$m(r[n])&&(e=ev(r[n]),r[n]=an(e.slice(0,2),"base16")),null!=e&&++n<8&&r.splice(n,0,an(e.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++);const e=[n,1];for(n=9-r.length;n>0;n--)e.push("0");r.splice.apply(r,e)}const i=new Uint8Array(t+16);for(n=0;n<r.length;n++){const e=parseInt(r[n],16);i[t++]=e>>8&255,i[t++]=255&e}return i}throw new Error("invalid ip address")},tv=-1,rv={},nv={};function iv(e){if("number"===typeof e){if(null!=nv[e])return nv[e];throw new Error("no protocol with code: ".concat(e))}if("string"===typeof e){if(null!=rv[e])return rv[e];throw new Error("no protocol with name: ".concat(e))}throw new Error("invalid protocol id type: ".concat(typeof e))}[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,tv,"ip6zone"],[43,8,"ipcidr"],[53,tv,"dns",!0],[54,tv,"dns4",!0],[55,tv,"dns6",!0],[56,tv,"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,tv,"unix",!1,!0],[421,tv,"ipfs"],[421,tv,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,tv,"garlic64"],[448,0,"tls"],[449,tv,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,tv,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,tv,"memory"]].forEach((e=>{const t=function(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:Boolean(n),path:Boolean(i)}}(...e);nv[t.code]=t,rv[t.name]=t}));iv("ip4"),iv("ip6"),iv("ipcidr");function ov(e,t){switch(iv(e).code){case 4:case 41:return function(e){const t=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;r=~~r,n=null!==(t=n)&&void 0!==t?t:e.length-r;const i=new DataView(e.buffer);if(4===n){const t=[];for(let i=0;i<n;i++)t.push(e[r+i]);return t.join(".")}if(16===n){const e=[];for(let t=0;t<n;t+=2)e.push(i.getUint16(r+t).toString(16));return e.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""}(e,0,e.length);if(null==t)throw new Error("ipBuff is required");if(!Qn(t))throw new Error("invalid ip address");return t}(t);case 42:case 53:case 54:case 55:case 56:case 400:case 449:case 777:return pv(t);case 6:case 273:case 33:case 132:return hv(t).toString();case 421:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return an(r,"base58btc")}(t);case 444:case 445:return fv(t);case 466:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+an(r,"base64url")}(t);default:return an(t,"base16")}}function sv(e,t){switch(iv(e).code){case 4:case 41:return lv(t);case 42:case 53:case 54:case 55:case 56:case 400:case 449:case 777:return dv(t);case 6:case 273:case 33:case 132:return uv(parseInt(t,10));case 421:return function(e){let t;t="Q"===e[0]||"1"===e[0]?Xy(Dy.decode("z".concat(e))).bytes:um.parse(e).multihash.bytes;const r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);case 444:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(16!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion address."));const r=$y.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)");const i=uv(n);return ln([r,i],r.length+i.length)}(t);case 445:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(56!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion3 address."));const r=$y.decode("b".concat(t[0])),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");const i=uv(n);return ln([r,i],r.length+i.length)}(t);case 466:return function(e){const t=cv.decode(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);default:return Hn(t,"base16")}}const av=Object.values(Jm).map((e=>e.decoder)),cv=function(){let e=av[0].or(av[1]);return av.slice(2).forEach((t=>e=e.or(t))),e}();function lv(e){if(!Qn(e))throw new Error("invalid ip address");return ev(e)}function uv(e){const t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function hv(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function dv(e){const t=Hn(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}function pv(e){const t=cn.decode(e);if((e=e.slice(cn.decode.bytes)).length!==t)throw new Error("inconsistent lengths");return an(e)}function fv(e){const t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=an(t,"base32"),i=hv(r);return"".concat(n,":").concat(i)}function gv(e){return e.map((e=>{const t=Cv(e);return null!=e[1]?[t.code,ov(t.code,e[1])]:[t.code]}))}function yv(e){return Ev(ln(e.map((e=>{const t=Cv(e);let r=Uint8Array.from(cn.encode(t.code));return e.length>1&&null!=e[1]&&(r=ln([r,e[1]])),r}))))}function mv(e,t){if(e.size>0)return e.size/8;if(0===e.size)return 0;var r;return cn.decode(t)+(null!==(r=cn.decode.bytes)&&void 0!==r?r:0)}function vv(e){const t=[];let r=0;for(;r<e.length;){var n;const i=cn.decode(e,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0,s=mv(iv(i),e.slice(r+o));if(0===s){t.push([i]),r+=o;continue}const a=e.slice(r+o,r+o+s);if(r+=s+o,r>e.length)throw Av("Invalid address Uint8Array: "+an(e,"base16"));t.push([i,a])}return t}function bv(e){return function(e){const t=[];return e.map((e=>{const r=Cv(e);return t.push(r.name),e.length>1&&null!=e[1]&&t.push(e[1]),null})),Sv(t.join("/"))}(gv(vv(e)))}function wv(e){const t=function(e){const t=[],r=e.split("/").slice(1);if(1===r.length&&""===r[0])return[];for(let n=0;n<r.length;n++){const i=r[n],o=iv(i);if(0!==o.size){if(n++,n>=r.length)throw Av("invalid address: "+e);if(!0===o.path){t.push([i,Sv(r.slice(n).join("/"))]);break}t.push([i,r[n]])}else t.push([i])}return t}(e=Sv(e));return yv(t.map((e=>{Array.isArray(e)||(e=[e]);const t=Cv(e);return e.length>1?[t.code,sv(t.code,e[1])]:[t.code]})))}function Ev(e){const t=_v(e);if(null!=t)throw t;return Uint8Array.from(e)}function _v(e){try{vv(e)}catch(t){return t}}function Sv(e){return"/"+e.trim().split("/").filter((e=>e)).join("/")}function Av(e){return new Error("Error parsing address: "+e)}function Cv(e){return iv(e[0])}const Iv=Symbol.for("nodejs.util.inspect.custom"),Tv=[iv("dns").code,iv("dns4").code,iv("dns6").code,iv("dnsaddr").code],kv=new Map,Rv=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Pv(e){return Boolean(null===e||void 0===e?void 0:e[Rv])}var Dv=new WeakMap,Nv=new WeakMap,Lv=new WeakMap,xv=new WeakMap;class Ov{constructor(e){if(Ce(this,"bytes",void 0),ke(this,Dv,{writable:!0,value:void 0}),ke(this,Nv,{writable:!0,value:void 0}),ke(this,Lv,{writable:!0,value:void 0}),ke(this,xv,{writable:!0,value:void 0}),Ce(this,Rv,!0),null==e&&(e=""),e instanceof Uint8Array)this.bytes=Ev(e);else if("string"===typeof e){if(e.length>0&&"/"!==e.charAt(0))throw new Error('multiaddr "'.concat(e,'" must start with a "/"'));this.bytes=wv(e)}else{if(!Pv(e))throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=Ev(e.bytes)}}toString(){return null==De(this,Dv)&&Pe(this,Dv,bv(this.bytes)),De(this,Dv)}toJSON(){return this.toString()}toOptions(){let e,t,r,n,i="";const o=iv("tcp"),s=iv("udp"),a=iv("ip4"),c=iv("ip6"),l=iv("dns6"),u=iv("ip6zone");for(const[h,d]of this.stringTuples())h===u.code&&(i="%".concat(null!==d&&void 0!==d?d:"")),Tv.includes(h)&&(t=o.name,n=443,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===l.code?6:4),h!==o.code&&h!==s.code||(t=iv(h).name,n=parseInt(null!==d&&void 0!==d?d:"")),h!==a.code&&h!==c.code||(t=iv(h).name,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===c.code?6:4);if(null==e||null==t||null==r||null==n)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:r,transport:t,port:n}}protos(){return this.protoCodes().map((e=>Object.assign({},iv(e))))}protoCodes(){const e=[],t=this.bytes;let r=0;for(;r<t.length;){var n;const i=cn.decode(t,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0;r+=mv(iv(i),t.slice(r+o))+o,e.push(i)}return e}protoNames(){return this.protos().map((e=>e.name))}tuples(){return null==De(this,Nv)&&Pe(this,Nv,vv(this.bytes)),De(this,Nv)}stringTuples(){return null==De(this,Lv)&&Pe(this,Lv,gv(this.tuples())),De(this,Lv)}encapsulate(e){return e=new Ov(e),new Ov(this.toString()+e.toString())}decapsulate(e){const t=e.toString(),r=this.toString(),n=r.lastIndexOf(t);if(n<0)throw new Error("Address ".concat(this.toString()," does not contain subaddress: ").concat(e.toString()));return new Ov(r.slice(0,n))}decapsulateCode(e){const t=this.tuples();for(let r=t.length-1;r>=0;r--)if(t[r][0]===e)return new Ov(yv(t.slice(0,r)));return this}getPeerId(){try{const e=this.stringTuples().filter((e=>e[0]===rv.ipfs.code)),t=e.pop();if(null!=(null===t||void 0===t?void 0:t[1])){const e=t[1];return"Q"===e[0]||"1"===e[0]?an(Dy.decode("z".concat(e)),"base58btc"):an(um.parse(e).multihash.bytes,"base58btc")}return null}catch(e){return null}}getPath(){if(void 0===De(this,xv))try{Pe(this,xv,this.stringTuples().filter((e=>!0===iv(e[0]).path))[0][1]),null==De(this,xv)&&Pe(this,xv,null)}catch{Pe(this,xv,null)}return De(this,xv)}equals(e){return Nt(this.bytes,e.bytes)}async resolve(e){const t=this.protos().find((e=>e.resolvable));if(null==t)return[this];const r=kv.get(t.name);if(null==r)throw new Le("no available resolver for ".concat(t.name),"ERR_NO_AVAILABLE_RESOLVER");return(await r(this,e)).map((e=>new Ov(e)))}nodeAddress(){const e=this.toOptions();if("tcp"!==e.transport&&"udp"!==e.transport)throw new Error('multiaddr must have a valid format - no protocol with name: "'.concat(e.transport,'". Must have a valid transport protocol: "{tcp, udp}"'));return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){const t=(null!==e&&void 0!==e?e:this).protos();return 2===t.length&&((4===t[0].code||41===t[0].code)&&(6===t[1].code||273===t[1].code))}[Iv](){return"Multiaddr(".concat(bv(this.bytes),")")}}function Bv(e){return new Ov(e)}function Mv(e,t){switch(t){case"udp":return Mv(e,"udp4")||Mv(e,"udp6");case"tcp":return Mv(e,"tcp4")||Mv(e,"tcp6")}const r=t.endsWith("6"),n=e.get(r?"ip6":"ip");if(!n)return;const i=t.slice(0,3);let o;switch(i){case"udp":o=r?e.get("udp6"):e.get("udp");break;case"tcp":o=r?e.get("tcp6"):e.get("tcp");break;default:return}return o?function(e,t,r,n){let i=Bv("/"+e+"/"+ov(e,r));return i=i.encapsulate(Bv("/"+t+"/"+ov(t,n))),i}(r?"ip6":"ip4",i,n,o):void 0}const Uv=Symbol.for("@libp2p/peer-id");let Fv;const Vv=Symbol.for("nodejs.util.inspect.custom"),jv=Object.values(Jm).map((e=>e.decoder)).reduce(((e,t)=>e.or(t)),Jm.identity.decoder);Fv=Symbol.toStringTag;class zv{constructor(e){Ce(this,"type",void 0),Ce(this,"multihash",void 0),Ce(this,"privateKey",void 0),Ce(this,"publicKey",void 0),Ce(this,"string",void 0),Ce(this,Uv,!0),this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Fv](){return"PeerId(".concat(this.toString(),")")}toString(){return null==this.string&&(this.string=Dy.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return um.createV1(114,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){var t;if(e instanceof Uint8Array)return Nt(this.multihash.bytes,e);if("string"===typeof e)return function(e,t){var r;if(t=null!==(r=t)&&void 0!==r?r:jv,"1"===e.charAt(0)||"Q"===e.charAt(0)){const t=Xy(Dy.decode("z".concat(e)));return e.startsWith("12D")?new qv({multihash:t}):e.startsWith("16U")?new Hv({multihash:t}):new Kv({multihash:t})}return function(e){try{const t=Xy(e);if(t.code===Vm.code){if(36===t.digest.length)return new qv({multihash:t});if(37===t.digest.length)return new Hv({multihash:t})}if(t.code===Mm.code)return new Kv({multihash:t})}catch{return function(e){if(null==e||null==e.multihash||null==e.version||1===e.version&&114!==e.code)throw new Error("Supplied PeerID CID is invalid");const t=e.multihash;if(t.code===Mm.code)return new Kv({multihash:e.multihash});if(t.code===Vm.code){if(36===t.digest.length)return new qv({multihash:e.multihash});if(37===t.digest.length)return new Hv({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}(um.decode(e))}throw new Error("Supplied PeerID CID is invalid")}(jv.decode(e))}(e).equals(this);if(null!=(null===e||void 0===e||null===(t=e.multihash)||void 0===t?void 0:t.bytes))return Nt(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Vv](){return"PeerId(".concat(this.toString(),")")}}class Kv extends zv{constructor(e){super({...e,type:"RSA"}),Ce(this,"type","RSA"),Ce(this,"publicKey",void 0),this.publicKey=e.publicKey}}class qv extends zv{constructor(e){super({...e,type:"Ed25519"}),Ce(this,"type","Ed25519"),Ce(this,"publicKey",void 0),this.publicKey=e.multihash.digest}}class Hv extends zv{constructor(e){super({...e,type:"secp256k1"}),Ce(this,"type","secp256k1"),Ce(this,"publicKey",void 0),this.publicKey=e.multihash.digest}}function Gv(e){return async function(e,t){return 36===e.length?new qv({multihash:Yy(Vm.code,e),privateKey:t}):37===e.length?new Hv({multihash:Yy(Vm.code,e),privateKey:t}):new Kv({multihash:await Mm.digest(e),publicKey:e,privateKey:t})}(new uh.secp256k1.Secp256k1PublicKey(e).bytes,void 0)}function Wv(e){const t=e.reduce(((e,t)=>e+2+t.bytes.length),0),r=new Uint8Array(t),n=new DataView(r.buffer);let i=0;return e.forEach((e=>{if(e.getPeerId())throw new Error("`multiaddr` field MUST not contain peer id");n.setUint16(i,e.bytes.length),i+=2,r.set(e.bytes,i),i+=e.bytes.length})),r}function Qv(e){let t=0;return e.lightPush&&(t+=1),t<<=1,e.filter&&(t+=1),t<<=1,e.store&&(t+=1),t<<=1,e.relay&&(t+=1),t}class Yv extends Map{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:BigInt(1),r=arguments.length>2?arguments[2]:void 0;super(Object.entries(e)),Ce(this,"seq",void 0),Ce(this,"signature",void 0),this.seq=t,this.signature=r}set(e,t){return this.signature=void 0,this.seq++,super.set(e,t)}get id(){const e=this.get("id");if(!e)throw new Error("id not found.");return Ds(e)}get publicKey(){if("v4"===this.id)return this.get("secp256k1");throw new Error(by)}get ip(){return Xv(this,"ip","ip4")}set ip(e){$v(this,"ip","ip4",e)}get tcp(){return Jv(this,"tcp","tcp")}set tcp(e){Zv(this,"tcp","tcp",e)}get udp(){return Jv(this,"udp","udp")}set udp(e){Zv(this,"udp","udp",e)}get ip6(){return Xv(this,"ip6","ip6")}set ip6(e){$v(this,"ip6","ip6",e)}get tcp6(){return Jv(this,"tcp6","tcp")}set tcp6(e){Zv(this,"tcp6","tcp",e)}get udp6(){return Jv(this,"udp6","udp")}set udp6(e){Zv(this,"udp6","udp",e)}get multiaddrs(){const e=this.get("multiaddrs");if(e)return function(e){const t=[];let r=0;for(;r<e.length;){const n=new DataView(e.buffer,r,2).getUint16(0);r+=2;const i=e.slice(r,r+n);r+=n,t.push(Bv(i))}return t}(e)}set multiaddrs(e){eb(this,"multiaddrs",e,Wv)}get waku2(){const e=this.get("waku2");if(e)return function(e){const t={relay:!1,store:!1,filter:!1,lightPush:!1};return e%2&&(t.relay=!0),(e>>=1)%2&&(t.store=!0),(e>>=1)%2&&(t.filter=!0),(e>>=1)%2&&(t.lightPush=!0),t}(e[0])}set waku2(e){eb(this,"waku2",e,(e=>new Uint8Array([Qv(e)])))}}function Xv(e,t,r){const n=e.get(t);if(n)return ov(r,n)}function Jv(e,t,r){const n=e.get(t);if(n)return Number(ov(r,n))}function $v(e,t,r,n){eb(e,t,n,sv.bind({},r))}function Zv(e,t,r,n){$v(e,t,r,null===n||void 0===n?void 0:n.toString(10))}function eb(e,t,r,n){void 0!==r?e.set(t,n(r)):e.delete(t)}const tb=Ui("waku:enr");var rb,nb;!function(e){e.TCP="tcp",e.UDP="udp"}(rb||(rb={})),function(e){e.TCP4="tcp4",e.UDP4="udp4",e.TCP6="tcp6",e.UDP6="udp6"}(nb||(nb={}));class ib extends Yv{constructor(){super(...arguments),Ce(this,"peerId",void 0),Ce(this,"getLocationMultiaddr",Mv.bind({},this))}static async create(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:BigInt(1);const r=new ib(e,t,arguments.length>2?arguments[2]:void 0);try{const e=r.publicKey;e&&(r.peerId=await Gv(e))}catch(n){tb("Could not calculate peer id for ENR",n)}return r}get nodeId(){if("v4"===this.id)return this.publicKey?function(e){const t=iu.fromHex(e).toRawBytes(!1);return Ps(my(t.slice(1)))}(this.publicKey):void 0;throw new Error(by)}setLocationMultiaddr(e){const t=e.protoNames();if(2!==t.length&&"udp"!==t[1]&&"tcp"!==t[1])throw new Error("Invalid multiaddr");const r=e.tuples();if(!r[0][1]||!r[1][1])throw new Error("Invalid multiaddr");4===r[0][0]?(this.set("ip",r[0][1]),this.set(t[1],r[1][1])):(this.set("ip6",r[0][1]),this.set(t[1]+"6",r[1][1]))}getAllLocationMultiaddrs(){var e;const t=[];for(const n of Object.values(nb)){const e=this.getLocationMultiaddr(n);e&&t.push(e)}const r=null!==(e=this.multiaddrs)&&void 0!==e?e:[];return t.concat(r)}get peerInfo(){const e=this.peerId;if(e)return{id:e,multiaddrs:this.getAllLocationMultiaddrs(),protocols:[]}}getFullMultiaddr(e){if(this.peerId){const t=this.getLocationMultiaddr(e);if(t)return t.encapsulate("/p2p/".concat(this.peerId.toString()))}}getFullMultiaddrs(){if(this.peerId&&this.multiaddrs){const e=this.peerId;return this.multiaddrs.map((t=>t.encapsulate("/p2p/".concat(e.toString()))))}return[]}verify(e,t){if(!this.get("id")||"v4"!==this.id)throw new Error(by);if(!this.publicKey)throw new Error("Failed to verify ENR: No public key");return vy(t,my(e),this.publicKey)}async sign(e,t){if("v4"!==this.id)throw new Error(by);return this.signature=await async function(e,t){return Vu(my(t),e,{der:!1})}(t,e),this.signature}}Ce(ib,"RECORD_PREFIX","enr:");let ob=!1,sb=!1;const ab={debug:1,default:2,info:2,warning:3,error:4,off:5};let cb=ab.default,lb=null;const ub=function(){try{const e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((t=>{try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(r){e.push(t)}})),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();var hb,db;!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(hb||(hb={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED",e.ACTION_REJECTED="ACTION_REJECTED"}(db||(db={}));const pb="0123456789abcdef";class fb{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const r=e.toLowerCase();null==ab[r]&&this.throwArgumentError("invalid log level name","logLevel",e),cb>ab[r]||console.log.apply(console,t)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this._log(fb.levels.DEBUG,t)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this._log(fb.levels.INFO,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this._log(fb.levels.WARNING,t)}makeError(e,t,r){if(sb)return this.makeError("censored error",t,{});t||(t=fb.errors.UNKNOWN_ERROR),r||(r={});const n=[];Object.keys(r).forEach((e=>{const t=r[e];try{if(t instanceof Uint8Array){let r="";for(let e=0;e<t.length;e++)r+=pb[t[e]>>4],r+=pb[15&t[e]];n.push(e+"=Uint8Array(0x"+r+")")}else n.push(e+"="+JSON.stringify(t))}catch(s){n.push(e+"="+JSON.stringify(r[e].toString()))}})),n.push("code=".concat(t)),n.push("version=".concat(this.version));const i=e;let o="";switch(t){case db.NUMERIC_FAULT:{o="NUMERIC_FAULT";const t=e;switch(t){case"overflow":case"underflow":case"division-by-zero":o+="-"+t;break;case"negative-power":case"negative-width":o+="-unsupported";break;case"unbound-bitwise-result":o+="-unbound-result"}break}case db.CALL_EXCEPTION:case db.INSUFFICIENT_FUNDS:case db.MISSING_NEW:case db.NONCE_EXPIRED:case db.REPLACEMENT_UNDERPRICED:case db.TRANSACTION_REPLACED:case db.UNPREDICTABLE_GAS_LIMIT:o=t}o&&(e+=" [ See: https://links.ethers.org/v5-errors-"+o+" ]"),n.length&&(e+=" ("+n.join(", ")+")");const s=new Error(e);return s.reason=i,s.code=t,Object.keys(r).forEach((function(e){s[e]=r[e]})),s}throwError(e,t,r){throw this.makeError(e,t,r)}throwArgumentError(e,t,r){return this.throwError(e,fb.errors.INVALID_ARGUMENT,{argument:t,value:r})}assert(e,t,r,n){e||this.throwError(t,r,n)}assertArgument(e,t,r,n){e||this.throwArgumentError(t,r,n)}checkNormalize(e){null==e&&(e="platform missing String.prototype.normalize"),ub&&this.throwError("platform missing String.prototype.normalize",fb.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:ub})}checkSafeUint53(e,t){"number"===typeof e&&(null==t&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,fb.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,fb.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,r){r=r?": "+r:"",e<t&&this.throwError("missing argument"+r,fb.errors.MISSING_ARGUMENT,{count:e,expectedCount:t}),e>t&&this.throwError("too many arguments"+r,fb.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){e!==Object&&null!=e||this.throwError("missing new",fb.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",fb.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",fb.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return lb||(lb=new fb("logger/5.7.0")),lb}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",fb.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),ob){if(!e)return;this.globalLogger().throwError("error censorship permanent",fb.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}sb=!!e,ob=!!t}static setLogLevel(e){const t=ab[e.toLowerCase()];null!=t?cb=t:fb.globalLogger().warn("invalid log level - "+e)}static from(e){return new fb(e)}}fb.errors=db,fb.levels=hb;const gb=new fb("bytes/5.7.0");function yb(e){return!!e.toHexString}function mb(e){return e.slice||(e.slice=function(){const t=Array.prototype.slice.call(arguments);return mb(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function vb(e){return _b(e)&&!(e.length%2)||wb(e)}function bb(e){return"number"===typeof e&&e==e&&e%1===0}function wb(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"===typeof e)return!1;if(!bb(e.length)||e.length<0)return!1;for(let t=0;t<e.length;t++){const r=e[t];if(!bb(r)||r<0||r>=256)return!1}return!0}function Eb(e,t){if(t||(t={}),"number"===typeof e){gb.checkSafeUint53(e,"invalid arrayify value");const t=[];for(;e;)t.unshift(255&e),e=parseInt(String(e/256));return 0===t.length&&t.push(0),mb(new Uint8Array(t))}if(t.allowMissingPrefix&&"string"===typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),yb(e)&&(e=e.toHexString()),_b(e)){let r=e.substring(2);r.length%2&&("left"===t.hexPad?r="0"+r:"right"===t.hexPad?r+="0":gb.throwArgumentError("hex data is odd-length","value",e));const n=[];for(let e=0;e<r.length;e+=2)n.push(parseInt(r.substring(e,e+2),16));return mb(new Uint8Array(n))}return wb(e)?mb(new Uint8Array(e)):gb.throwArgumentError("invalid arrayify value","value",e)}function _b(e,t){return!("string"!==typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!t||e.length===2+2*t)}const Sb="0123456789abcdef";function Ab(e,t){if(t||(t={}),"number"===typeof e){gb.checkSafeUint53(e,"invalid hexlify value");let t="";for(;e;)t=Sb[15&e]+t,e=Math.floor(e/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if("bigint"===typeof e)return(e=e.toString(16)).length%2?"0x0"+e:"0x"+e;if(t.allowMissingPrefix&&"string"===typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),yb(e))return e.toHexString();if(_b(e))return e.length%2&&("left"===t.hexPad?e="0x0"+e.substring(2):"right"===t.hexPad?e+="0":gb.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(wb(e)){let t="0x";for(let r=0;r<e.length;r++){let n=e[r];t+=Sb[(240&n)>>4]+Sb[15&n]}return t}return gb.throwArgumentError("invalid hexlify value","value",e)}const Cb=new fb("rlp/5.7.0");function Ib(e){const t=[];for(;e;)t.unshift(255&e),e>>=8;return t}function Tb(e,t,r){let n=0;for(let i=0;i<r;i++)n=256*n+e[t+i];return n}function kb(e){if(Array.isArray(e)){let t=[];if(e.forEach((function(e){t=t.concat(kb(e))})),t.length<=55)return t.unshift(192+t.length),t;const r=Ib(t.length);return r.unshift(247+r.length),r.concat(t)}vb(e)||Cb.throwArgumentError("RLP object must be BytesLike","object",e);const t=Array.prototype.slice.call(Eb(e));if(1===t.length&&t[0]<=127)return t;if(t.length<=55)return t.unshift(128+t.length),t;const r=Ib(t.length);return r.unshift(183+r.length),r.concat(t)}function Rb(e){return Ab(kb(e))}function Pb(e,t,r,n){const i=[];for(;r<t+1+n;){const o=Db(e,r);i.push(o.result),(r+=o.consumed)>t+1+n&&Cb.throwError("child data too short",fb.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:i}}function Db(e,t){if(0===e.length&&Cb.throwError("data too short",fb.errors.BUFFER_OVERRUN,{}),e[t]>=248){const r=e[t]-247;t+1+r>e.length&&Cb.throwError("data short segment too short",fb.errors.BUFFER_OVERRUN,{});const n=Tb(e,t+1,r);return t+1+r+n>e.length&&Cb.throwError("data long segment too short",fb.errors.BUFFER_OVERRUN,{}),Pb(e,t,t+1+r,r+n)}if(e[t]>=192){const r=e[t]-192;return t+1+r>e.length&&Cb.throwError("data array too short",fb.errors.BUFFER_OVERRUN,{}),Pb(e,t,t+1,r)}if(e[t]>=184){const r=e[t]-183;t+1+r>e.length&&Cb.throwError("data array too short",fb.errors.BUFFER_OVERRUN,{});const n=Tb(e,t+1,r);t+1+r+n>e.length&&Cb.throwError("data array too short",fb.errors.BUFFER_OVERRUN,{});return{consumed:1+r+n,result:Ab(e.slice(t+1+r,t+1+r+n))}}if(e[t]>=128){const r=e[t]-128;t+1+r>e.length&&Cb.throwError("data too short",fb.errors.BUFFER_OVERRUN,{});return{consumed:1+r,result:Ab(e.slice(t+1,t+1+r))}}return{consumed:1,result:Ab(e[t])}}class Nb{static fromString(e){if(!e.startsWith(ib.RECORD_PREFIX))throw new Error("\"string encoded ENR must start with '".concat(ib.RECORD_PREFIX,"'"));return Nb.fromRLP(Hn(e.slice(4),"base64url"))}static fromRLP(e){const t=function(e){const t=Eb(e),r=Db(t,0);return r.consumed!==t.length&&Cb.throwArgumentError("invalid rlp data","data",e),r.result}(e).map(Rs);return async function(e){const{signature:t,seq:r,kvs:n}=function(e){if(!Array.isArray(e))throw new Error("Decoded ENR must be an array");if(e.length%2!==0)throw new Error("Decoded ENR must have an even number of elements");const[t,r,...n]=e;if(!t||Array.isArray(t))throw new Error("Decoded ENR invalid signature: must be a byte array");if(!r||Array.isArray(r))throw new Error("Decoded ENR invalid sequence number: must be a byte array");return{signature:t,seq:r,kvs:n}}(e),i={};for(let c=0;c<n.length;c+=2)try{i[Ds(n[c])]=n[c+1]}catch(a){(0,Ui.log)("Failed to decode ENR key to UTF-8, skipping it",n[c],a)}const o=function(e){return e.length?BigInt("0x"+Ps(e)):BigInt(0)}(r),s=await ib.create(i,o,t);return function(e,t,r,n){const i=Rs(Rb([e,...t]));if(!r.verify(i,n))throw new Error("Unable to verify ENR signature")}(r,n,s,t),s}(t)}}const Lb=/^(\d{1,3}\.){3,3}\d{1,3}$/,xb=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,Ob={name:"v4",size:4,isFormat:e=>Lb.test(e),encode(e,t,r){r=~~r,t=t||new Uint8Array(r+4);const n=e.length;let i=0;for(let o=0;o<n;){const n=e.charCodeAt(o++);46===n?(t[r++]=i,i=0):i=10*i+(n-48)}return t[r]=i,t},decode:(e,t)=>(t=~~t,"".concat(e[t++],".").concat(e[t++],".").concat(e[t++],".").concat(e[t]))},Bb={name:"v6",size:16,isFormat:e=>e.length>0&&xb.test(e),encode(e,t,r){let n=(r=~~r)+16,i=-1,o=0,s=0,a=!0,c=!1;t=t||new Uint8Array(r+16);for(let l=0;l<e.length;l++){let u=e.charCodeAt(l);58===u?(a?-1!==i?(r<n&&(t[r]=0),r<n-1&&(t[r+1]=0),r+=2):r<n&&(i=r):(!0===c?(r<n&&(t[r]=s),r++):(r<n&&(t[r]=o>>8),r<n-1&&(t[r+1]=255&o),r+=2),o=0,s=0),a=!0,c=!1):46===u?(r<n&&(t[r]=s),r++,s=0,o=0,a=!1,c=!0):(a=!1,u>=97?u-=87:u>=65?u-=55:(u-=48,s=10*s+u),o=(o<<4)+u)}if(!1===a)!0===c?(r<n&&(t[r]=s),r++):(r<n&&(t[r]=o>>8),r<n-1&&(t[r+1]=255&o),r+=2);else if(0===i)r<n&&(t[r]=0),r<n-1&&(t[r+1]=0),r+=2;else if(-1!==i){r+=2;for(let e=Math.min(r-1,n-1);e>=i+2;e--)t[e]=t[e-2];t[i]=0,t[i+1]=0,i=r}if(i!==r&&-1!==i)for(r>n-2&&(r=n-2);n>i;)t[--n]=r<n&&r>i?t[--r]:0;else for(;r<n;)t[r++]=0;return t},decode(e,t){t=~~t;let r="";for(let n=0;n<16;n+=2)0!==n&&(r+=":"),r+=(e[t+n]<<8|e[t+n+1]).toString(16);return r.replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}};function Mb(e){if(Ob.isFormat(e))return Ob.size;if(Bb.isFormat(e))return Bb.size;throw Error("Invalid ip address: ".concat(e))}function Ub(e){switch(e){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+e}function Fb(e){switch(e.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":case"*":return 255}return e.toUpperCase().startsWith("UNKNOWN_")?parseInt(e.slice(8)):0}function Vb(e){switch(e){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+e}function jb(e){switch(e){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+e}function zb(e){switch(e){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+e}function Kb(e){switch(e.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}function qb(e){if("number"===typeof e)return e;if(!e)return-1;switch(e.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}const t=e.match(/_(\d+)$/);return t?parseInt(t[1],10):-1}const Hb=55296,Gb=56320;function Wb(e){let t=0;const r=e.length;for(let n=0;n<r;n+=1){const i=e.charCodeAt(n);if(i<=127)t+=1;else if(i<=2047)t+=2;else if((63488&i)!==Hb)t+=3;else{const o=n+1;if(o===r||i>=Gb)t+=3;else{(64512&e.charCodeAt(o))!==Gb?t+=3:(n=o,t+=4)}}}return t}function Qb(e,t,r){const n=e.length;void 0!==r&&null!==r||(r=0),void 0===t&&(t=new Uint8Array(Wb(e)+r));let i=r;for(let o=0;o<n;o+=1){let r=e.charCodeAt(o);if(r<=127)t[i++]=r;else if(r<=2047)t[i++]=192|(1984&r)>>6,t[i++]=128|63&r;else if((63488&r)!==Hb)t[i++]=224|(61440&r)>>12,t[i++]=128|(4032&r)>>6,t[i++]=128|63&r;else{const s=o+1;if(s===n||r>=Gb)t[i++]=239,t[i++]=191,t[i++]=189;else{const n=e.charCodeAt(s);(64512&n)!==Gb?(t[i++]=239,t[i++]=191,t[i++]=189):(o=s,r=65536|(1023&r)<<10|1023&n,t[i++]=240|(1835008&r)>>18,t[i++]=128|(258048&r)>>12,t[i++]=128|(4032&r)>>6,t[i++]=128|63&r)}}}return Qb.bytes=i-r,t}function Yb(e,t,r){let n="";void 0!==t&&null!==t||(t=0),void 0!==r&&null!==r||(r=e.length);for(let i=t;i<r;){const t=e[i++];let r;if(t<=128)r=t;else if(t>191&&t<224)r=(31&t)<<6|63&e[i++];else if(t>239&&t<365){r=((7&t)<<18|(63&e[i++])<<12|(63&e[i++])<<6|63&e[i++])-65536;const o=Hb|r>>10&1023;n+=String.fromCharCode(o),r=Gb|1023&r}else r=(15&t)<<12|(63&e[i++])<<6|63&e[i++];n+=String.fromCharCode(r)}return Yb.bytes=r-t,n}Qb.bytes=0,Yb.bytes=0;const Xb=e=>e instanceof Uint8Array;function Jb(e){return"string"===typeof e?Wb(e):e.byteLength}function $b(e){return e instanceof Uint8Array?e:Array.isArray(e)?new Uint8Array(e):Qb(e)}function Zb(e,t,r){if("string"!==typeof t)throw new Error("unknown input type");return Qb(t,e,r),Qb.bytes}const ew=Math.pow(2,24),tw=Math.pow(2,16),rw=Math.pow(2,8),nw=(e,t)=>e[t]*ew+e[t+1]*tw+e[t+2]*rw+e[t+3],iw=(e,t)=>e[t]<<8|e[t+1],ow=(e,t,r)=>(t=+t,e[r+3]=t,t>>>=8,e[r+2]=t,t>>>=8,e[r+1]=t,t>>>=8,e[r]=t,r+4),sw=(e,t,r)=>(e[r]=t>>8,e[r+1]=255&t,r+2);function aw(e,t,r,n,i){return r<0&&(n-=r,r=0),n<0&&(n=0),i<0?new Uint8Array(0):r>=t.length||n>=i?0:function(e,t,r,n,i){i-n>t.length-r&&(i=n+t.length-r);let o=i-n;const s=e.length-n;o>s&&(o=s);(0!==n||i<e.length)&&(e=new Uint8Array(e.buffer,e.byteOffset+n,o));return t.set(e,r),o}(e,t,r,n,i)}const cw=32768;function lw(e){let{bytes:t=0,encode:r,decode:n,encodingLength:i}=e;return r.bytes=t,n.bytes=t,{encode:r,decode:n,encodingLength:i||(()=>t)}}const uw=lw({encode(e,t,r){t||(t=new Uint8Array(uw.encodingLength(e))),r||(r=0);const n=r,i=e.replace(/^\.|\.$/gm,"");if(i.length){const e=i.split(".");for(let n=0;n<e.length;n++){const i=Zb(t,e[n],r+1);t[r]=i,r+=i+1}}return t[r++]=0,uw.encode.bytes=r-n,t},decode(e,t){t||(t=0);const r=[];let n=t,i=0,o=0,s=!1;for(;;){if(t>=e.length)throw new Error("Cannot decode name (buffer overflow)");const a=e[t++];if(o+=s?0:1,0===a)break;if(0===(192&a)){if(t+a>e.length)throw new Error("Cannot decode name (buffer overflow)");if(i+=a+1,i>254)throw new Error("Cannot decode name (name too long)");r.push(Yb(e,t,t+a)),t+=a,o+=s?0:a}else{if(192!==(192&a))throw new Error("Cannot decode name (bad label)");{if(t+1>e.length)throw new Error("Cannot decode name (buffer overflow)");const r=iw(e,t-1)-49152;if(r>=n)throw new Error("Cannot decode name (bad pointer)");t=r,n=r,o+=s?0:1,s=!0}}}return uw.decode.bytes=o,0===r.length?".":r.join(".")},encodingLength:e=>"."===e||".."===e?1:Jb(e.replace(/^\.|\.$/gm,""))+2}),hw=lw({encode(e,t,r){t||(t=new Uint8Array(hw.encodingLength(e))),r||(r=0);const n=Zb(t,e,r+1);return t[r]=n,hw.encode.bytes=n+1,t},decode(e,t){t||(t=0);const r=e[t],n=Yb(e,t+1,t+1+r);return hw.decode.bytes=r+1,n},encodingLength:e=>Jb(e)+1}),dw=lw({bytes:12,encode(e,t,r){t||(t=new Uint8Array(dw.encodingLength(e))),r||(r=0);const n=32767&(e.flags||0),i="response"===e.type?32768:0;return sw(t,e.id||0,r),sw(t,n|i,r+2),sw(t,e.questions.length,r+4),sw(t,e.answers.length,r+6),sw(t,e.authorities.length,r+8),sw(t,e.additionals.length,r+10),t},decode(e,t){if(t||(t=0),e.length<12)throw new Error("Header must be 12 bytes");const r=iw(e,t+2);return{id:iw(e,t),type:32768&r?"response":"query",flags:32767&r,flag_qr:1===(r>>15&1),opcode:jb(r>>11&15),flag_aa:1===(r>>10&1),flag_tc:1===(r>>9&1),flag_rd:1===(r>>8&1),flag_ra:1===(r>>7&1),flag_z:1===(r>>6&1),flag_ad:1===(r>>5&1),flag_cd:1===(r>>4&1),rcode:Vb(15&r),questions:new Array(iw(e,t+4)),answers:new Array(iw(e,t+6)),authorities:new Array(iw(e,t+8)),additionals:new Array(iw(e,t+10))}},encodingLength:()=>12}),pw=lw({encode(e,t,r){t||(t=new Uint8Array(pw.encodingLength(e))),r||(r=0);const n=e.length;return sw(t,n,r),aw(e,t,r+2,0,n),pw.encode.bytes=n+2,t},decode(e,t){t||(t=0);const r=iw(e,t),n=e.slice(t+2,t+2+r);return pw.decode.bytes=r+2,n},encodingLength:e=>e.length+2}),fw=lw({encode:(e,t,r)=>(t||(t=new Uint8Array(fw.encodingLength(e))),r||(r=0),uw.encode(e,t,r+2),sw(t,uw.encode.bytes,r),fw.encode.bytes=uw.encode.bytes+2,t),decode(e,t){t||(t=0);const r=iw(e,t),n=uw.decode(e,t+2);return fw.decode.bytes=r+2,n},encodingLength:e=>uw.encodingLength(e)+2}),gw=lw({encode(e,t,r){t||(t=new Uint8Array(gw.encodingLength(e))),r||(r=0);const n=r;return r+=2,uw.encode(e.mname,t,r),r+=uw.encode.bytes,uw.encode(e.rname,t,r),r+=uw.encode.bytes,ow(t,e.serial||0,r),r+=4,ow(t,e.refresh||0,r),r+=4,ow(t,e.retry||0,r),r+=4,ow(t,e.expire||0,r),r+=4,ow(t,e.minimum||0,r),sw(t,(r+=4)-n-2,n),gw.encode.bytes=r-n,t},decode(e,t){t||(t=0);const r=t,n={};return t+=2,n.mname=uw.decode(e,t),t+=uw.decode.bytes,n.rname=uw.decode(e,t),t+=uw.decode.bytes,n.serial=nw(e,t),t+=4,n.refresh=nw(e,t),t+=4,n.retry=nw(e,t),t+=4,n.expire=nw(e,t),t+=4,n.minimum=nw(e,t),t+=4,gw.decode.bytes=t-r,n},encodingLength:e=>22+uw.encodingLength(e.mname)+uw.encodingLength(e.rname)}),yw=lw({encode(e,t,r){Array.isArray(e)||(e=[e]);for(let i=0;i<e.length;i++)if("string"===typeof e[i]&&(e[i]=$b(e[i])),!Xb(e[i]))throw new Error("Must be a Buffer");t||(t=new Uint8Array(yw.encodingLength(e))),r||(r=0);const n=r;return r+=2,e.forEach((function(e){t[r++]=e.length,aw(e,t,r,0,e.length),r+=e.length})),sw(t,r-n-2,n),yw.encode.bytes=r-n,t},decode(e,t){t||(t=0);const r=t;let n=iw(e,t);t+=2;const i=[];for(;n>0;){const r=e[t++];if(--n,n<r)throw new Error("Buffer overflow");i.push(e.slice(t,t+r)),t+=r,n-=r}return yw.decode.bytes=t-r,i},encodingLength(e){Array.isArray(e)||(e=[e]);let t=2;return e.forEach((function(e){t+="string"===typeof e?Jb(e)+1:e.length+1})),t}}),mw=lw({encode(e,t,r){t||(t=new Uint8Array(mw.encodingLength(e))),r||(r=0),"string"===typeof e&&(e=$b(e)),e||(e=new Uint8Array(0));const n=r;r+=2;const i=e.length;return aw(e,t,r,0,i),sw(t,(r+=i)-n-2,n),mw.encode.bytes=r-n,t},decode(e,t){t||(t=0);const r=t,n=iw(e,t);t+=2;const i=e.slice(t,t+n);return t+=n,mw.decode.bytes=t-r,i},encodingLength:e=>e?(Xb(e)?e.length:Jb(e))+2:2}),vw=lw({encode(e,t,r){t||(t=new Uint8Array(vw.encodingLength(e))),r||(r=0);const n=r;return r+=2,hw.encode(e.cpu,t,r),r+=hw.encode.bytes,hw.encode(e.os,t,r),r+=hw.encode.bytes,sw(t,r-n-2,n),vw.encode.bytes=r-n,t},decode(e,t){t||(t=0);const r=t,n={};return t+=2,n.cpu=hw.decode(e,t),t+=hw.decode.bytes,n.os=hw.decode(e,t),t+=hw.decode.bytes,vw.decode.bytes=t-r,n},encodingLength:e=>hw.encodingLength(e.cpu)+hw.encodingLength(e.os)+2}),bw=lw({encode:(e,t,r)=>(t||(t=new Uint8Array(bw.encodingLength(e))),r||(r=0),uw.encode(e,t,r+2),sw(t,uw.encode.bytes,r),bw.encode.bytes=uw.encode.bytes+2,t),decode(e,t){t||(t=0);const r=uw.decode(e,t+2);return bw.decode.bytes=uw.decode.bytes+2,r},encodingLength:e=>uw.encodingLength(e)+2}),ww=lw({encode(e,t,r){t||(t=new Uint8Array(ww.encodingLength(e))),r||(r=0),sw(t,e.priority||0,r+2),sw(t,e.weight||0,r+4),sw(t,e.port||0,r+6),uw.encode(e.target,t,r+8);const n=uw.encode.bytes+6;return sw(t,n,r),ww.encode.bytes=n+2,t},decode(e,t){t||(t=0);const r=iw(e,t),n={};return n.priority=iw(e,t+2),n.weight=iw(e,t+4),n.port=iw(e,t+6),n.target=uw.decode(e,t+8),ww.decode.bytes=r+2,n},encodingLength:e=>8+uw.encodingLength(e.target)}),Ew=lw({encode(e,t,r){const n=Ew.encodingLength(e);return t||(t=new Uint8Array(Ew.encodingLength(e))),r||(r=0),e.issuerCritical&&(e.flags=Ew.ISSUER_CRITICAL),sw(t,n-2,r),t[r+=2]=e.flags||0,r+=1,hw.encode(e.tag,t,r),r+=hw.encode.bytes,Zb(t,e.value,r),r+=Jb(e.value),Ew.encode.bytes=n,t},decode(e,t){t||(t=0);const r=iw(e,t),n=t+=2,i={};return i.flags=e[t],t+=1,i.tag=hw.decode(e,t),t+=hw.decode.bytes,i.value=Yb(e,t,n+r),i.issuerCritical=!!(i.flags&Ew.ISSUER_CRITICAL),Ew.decode.bytes=r+2,i},encodingLength:e=>hw.encodingLength(e.tag)+hw.encodingLength(e.value)+2});Ew.ISSUER_CRITICAL=128;const _w=lw({encode(e,t,r){t||(t=new Uint8Array(_w.encodingLength(e))),r||(r=0);const n=r;return r+=2,sw(t,e.preference||0,r),r+=2,uw.encode(e.exchange,t,r),r+=uw.encode.bytes,sw(t,r-n-2,n),_w.encode.bytes=r-n,t},decode(e,t){t||(t=0);const r=t,n={};return t+=2,n.preference=iw(e,t),t+=2,n.exchange=uw.decode(e,t),t+=uw.decode.bytes,_w.decode.bytes=t-r,n},encodingLength:e=>4+uw.encodingLength(e.exchange)}),Sw=lw({encode:(e,t,r)=>(t||(t=new Uint8Array(Sw.encodingLength(e))),r||(r=0),sw(t,4,r),r+=2,Ob.encode(e,t,r),t),decode(e,t){t||(t=0),t+=2;return Ob.decode(e,t)},bytes:6}),Aw=lw({encode:(e,t,r)=>(t||(t=new Uint8Array(Aw.encodingLength(e))),r||(r=0),sw(t,16,r),r+=2,Bb.encode(e,t,r),Aw.encode.bytes=18,t),decode(e,t){t||(t=0),t+=2;const r=Bb.decode(e,t);return Aw.decode.bytes=18,r},bytes:18}),Cw=e=>new Uint8Array(e),Iw=lw({encode(e,t,r){t||(t=new Uint8Array(Iw.encodingLength(e))),r||(r=0);const n=r,i=qb(e.code);if(sw(t,i,r),r+=2,e.data)sw(t,e.data.length,r),r+=2,aw(e.data,t,r),r+=e.data.length;else switch(i){case 8:{const n=e.sourcePrefixLength||0,i=e.family||function(e){return Mb(e)===Ob.size?1:2}(e.ip),o=function(e,t,r){r=~~r;const n=Mb(e);return"function"===typeof t&&(t=t(r+n)),n===Ob.size?Ob.encode(e,t,r):Bb.encode(e,t,r)}(e.ip,Cw),s=Math.ceil(n/8);sw(t,s+4,r),sw(t,i,r+=2),r+=2,t[r++]=n,t[r++]=e.scopePrefixLength||0,aw(o,t,r,0,s),r+=s}break;case 11:e.timeout?(sw(t,2,r),r+=2,sw(t,e.timeout,r),r+=2):(sw(t,0,r),r+=2);break;case 12:{const n=e.length||0;sw(t,n,r),r+=2,t.fill(0,r,r+n),r+=n}break;case 14:{const n=2*e.tags.length;sw(t,n,r),r+=2;for(const i of e.tags)sw(t,i,r),r+=2}break;default:throw new Error("Unknown roption code: ".concat(e.code))}return Iw.encode.bytes=r-n,t},decode(e,t){t||(t=0);const r={};r.code=iw(e,t),r.type=function(e){switch(e){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return e<0?null:"OPTION_".concat(e)}(r.code);const n=iw(e,t+=2);switch(t+=2,r.data=e.slice(t,t+n),r.code){case 8:r.family=iw(e,t),t+=2,r.sourcePrefixLength=e[t++],r.scopePrefixLength=e[t++];{const i=new Uint8Array(1===r.family?4:16);aw(e,i,0,t,t+n-4),r.ip=function(e,t,r){if(t=~~t,(r=r||e.length-t)===Ob.size)return Ob.decode(e,t,r);if(r===Bb.size)return Bb.decode(e,t,r);throw Error("Invalid buffer size needs to be ".concat(Ob.size," for v4 or ").concat(Bb.size," for v6."))}(i)}break;case 11:n>0&&(r.timeout=iw(e,t),t+=2);break;case 14:r.tags=[];for(let i=0;i<n;i+=2)r.tags.push(iw(e,t)),t+=2}return Iw.decode.bytes=n+4,r},encodingLength(e){if(e.data)return e.data.length+4;switch(qb(e.code)){case 8:{const t=e.sourcePrefixLength||0;return Math.ceil(t/8)+8}case 11:return"number"===typeof e.timeout?6:4;case 12:return e.length+4;case 14:return 4+2*e.tags.length}throw new Error("Unknown roption code: ".concat(e.code))}}),Tw=lw({encode(e,t,r){t||(t=new Uint8Array(Tw.encodingLength(e))),r||(r=0);const n=r,i=Hw(e,Iw);return sw(t,i,r),r=Gw(e,Iw,t,r+2),Tw.encode.bytes=r-n,t},decode(e,t){t||(t=0);const r=t,n=[];let i=iw(e,t);t+=2;let o=0;for(;i>0;)n[o++]=Iw.decode(e,t),t+=Iw.decode.bytes,i-=Iw.decode.bytes;return Tw.decode.bytes=t-r,n},encodingLength:e=>2+Hw(e||[],Iw)}),kw=lw({encode(e,t,r){t||(t=new Uint8Array(kw.encodingLength(e))),r||(r=0);const n=r,i=e.key;if(!Xb(i))throw new Error("Key must be a Buffer");return r+=2,sw(t,e.flags,r),t[r+=2]=kw.PROTOCOL_DNSSEC,t[r+=1]=e.algorithm,aw(i,t,r+=1,0,i.length),r+=i.length,kw.encode.bytes=r-n,sw(t,kw.encode.bytes-2,n),t},decode(e,t){t||(t=0);const r=t,n={},i=iw(e,t);if(t+=2,n.flags=iw(e,t),e[t+=2]!==kw.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return t+=1,n.algorithm=e[t],t+=1,n.key=e.slice(t,r+i+2),t+=n.key.length,kw.decode.bytes=t-r,n},encodingLength:e=>6+Jb(e.key)});kw.PROTOCOL_DNSSEC=3,kw.ZONE_KEY=128,kw.SECURE_ENTRYPOINT=32768;const Rw=lw({encode(e,t,r){t||(t=new Uint8Array(Rw.encodingLength(e))),r||(r=0);const n=r,i=e.signature;if(!Xb(i))throw new Error("Signature must be a Buffer");return r+=2,sw(t,Fb(e.typeCovered),r),t[r+=2]=e.algorithm,t[r+=1]=e.labels,r+=1,ow(t,e.originalTTL,r),r+=4,ow(t,e.expiration,r),r+=4,ow(t,e.inception,r),r+=4,sw(t,e.keyTag,r),r+=2,uw.encode(e.signersName,t,r),aw(i,t,r+=uw.encode.bytes,0,i.length),r+=i.length,Rw.encode.bytes=r-n,sw(t,Rw.encode.bytes-2,n),t},decode(e,t){t||(t=0);const r=t,n={},i=iw(e,t);return t+=2,n.typeCovered=Ub(iw(e,t)),t+=2,n.algorithm=e[t],t+=1,n.labels=e[t],t+=1,n.originalTTL=nw(e,t),t+=4,n.expiration=nw(e,t),t+=4,n.inception=nw(e,t),t+=4,n.keyTag=iw(e,t),t+=2,n.signersName=uw.decode(e,t),t+=uw.decode.bytes,n.signature=e.slice(t,r+i+2),t+=n.signature.length,Rw.decode.bytes=t-r,n},encodingLength:e=>20+uw.encodingLength(e.signersName)+Jb(e.signature)}),Pw=lw({encode(e,t,r){t||(t=new Uint8Array(Pw.encodingLength(e))),r||(r=0);const n=r;return r+=2,uw.encode(e.mbox||".",t,r),r+=uw.encode.bytes,uw.encode(e.txt||".",t,r),r+=uw.encode.bytes,Pw.encode.bytes=r-n,sw(t,Pw.encode.bytes-2,n),t},decode(e,t){t||(t=0);const r=t,n={};return t+=2,n.mbox=uw.decode(e,t)||".",t+=uw.decode.bytes,n.txt=uw.decode(e,t)||".",t+=uw.decode.bytes,Pw.decode.bytes=t-r,n},encodingLength:e=>2+uw.encodingLength(e.mbox||".")+uw.encodingLength(e.txt||".")}),Dw=lw({encode(e,t,r){t||(t=new Uint8Array(Dw.encodingLength(e))),r||(r=0);const n=r,i=[];for(let o=0;o<e.length;o++){const t=Fb(e[o]);void 0===i[t>>8]&&(i[t>>8]=[]),i[t>>8][t>>3&31]|=1<<7-(7&t)}for(let o=0;o<i.length;o++)if(void 0!==i[o]){const e=$b(i[o]);t[r]=o,t[r+=1]=e.length,aw(e,t,r+=1,0,e.length),r+=e.length}return Dw.encode.bytes=r-n,t},decode(e,t,r){t||(t=0);const n=t,i=[];for(;t-n<r;){const r=e[t],n=e[t+=1];t+=1;for(let o=0;o<n;o++){const n=e[t+o];for(let e=0;e<8;e++)if(n&1<<7-e){const t=Ub(r<<8|o<<3|e);i.push(t)}}t+=n}return Dw.decode.bytes=t-n,i},encodingLength(e){const t=[];for(let n=0;n<e.length;n++){const r=Fb(e[n]);t[r>>8]=Math.max(t[r>>8]||0,255&r)}let r=0;for(let n=0;n<t.length;n++)void 0!==t[n]&&(r+=2+Math.ceil((t[n]+1)/8));return r}}),Nw=lw({encode(e,t,r){t||(t=new Uint8Array(Nw.encodingLength(e))),r||(r=0);const n=r;return r+=2,uw.encode(e.nextDomain,t,r),r+=uw.encode.bytes,Dw.encode(e.rrtypes,t,r),r+=Dw.encode.bytes,Nw.encode.bytes=r-n,sw(t,Nw.encode.bytes-2,n),t},decode(e,t){t||(t=0);const r=t,n={},i=iw(e,t);return t+=2,n.nextDomain=uw.decode(e,t),t+=uw.decode.bytes,n.rrtypes=Dw.decode(e,t,i-(t-r)),t+=Dw.decode.bytes,Nw.decode.bytes=t-r,n},encodingLength:e=>2+uw.encodingLength(e.nextDomain)+Dw.encodingLength(e.rrtypes)}),Lw=lw({encode(e,t,r){t||(t=new Uint8Array(Lw.encodingLength(e))),r||(r=0);const n=r,i=e.salt;if(!Xb(i))throw new Error("salt must be a Buffer");const o=e.nextDomain;if(!Xb(o))throw new Error("nextDomain must be a Buffer");return t[r+=2]=e.algorithm,t[r+=1]=e.flags,r+=1,sw(t,e.iterations,r),t[r+=2]=i.length,aw(i,t,r+=1,0,i.length),t[r+=i.length]=o.length,aw(o,t,r+=1,0,o.length),r+=o.length,Dw.encode(e.rrtypes,t,r),r+=Dw.encode.bytes,Lw.encode.bytes=r-n,sw(t,Lw.encode.bytes-2,n),t},decode(e,t){t||(t=0);const r=t,n={},i=iw(e,t);t+=2,n.algorithm=e[t],t+=1,n.flags=e[t],t+=1,n.iterations=iw(e,t);const o=e[t+=2];t+=1,n.salt=e.slice(t,t+o);const s=e[t+=o];return t+=1,n.nextDomain=e.slice(t,t+s),t+=s,n.rrtypes=Dw.decode(e,t,i-(t-r)),t+=Dw.decode.bytes,Lw.decode.bytes=t-r,n},encodingLength:e=>8+e.salt.length+e.nextDomain.length+Dw.encodingLength(e.rrtypes)}),xw=lw({encode(e,t,r){t||(t=new Uint8Array(xw.encodingLength(e))),r||(r=0);const n=r,i=e.digest;if(!Xb(i))throw new Error("Digest must be a Buffer");return r+=2,sw(t,e.keyTag,r),t[r+=2]=e.algorithm,t[r+=1]=e.digestType,aw(i,t,r+=1,0,i.length),r+=i.length,xw.encode.bytes=r-n,sw(t,xw.encode.bytes-2,n),t},decode(e,t){t||(t=0);const r=t,n={},i=iw(e,t);return t+=2,n.keyTag=iw(e,t),t+=2,n.algorithm=e[t],t+=1,n.digestType=e[t],t+=1,n.digest=e.slice(t,r+i+2),t+=n.digest.length,xw.decode.bytes=t-r,n},encodingLength:e=>6+Jb(e.digest)});function Ow(e){switch(e.toUpperCase()){case"A":return Sw;case"PTR":case"CNAME":case"DNAME":return bw;case"TXT":return yw;case"NULL":return mw;case"AAAA":return Aw;case"SRV":return ww;case"HINFO":return vw;case"CAA":return Ew;case"NS":return fw;case"SOA":return gw;case"MX":return _w;case"OPT":return Tw;case"DNSKEY":return kw;case"RRSIG":return Rw;case"RP":return Pw;case"NSEC":return Nw;case"NSEC3":return Lw;case"DS":return xw}return pw}const Bw=lw({encode(e,t,r){t||(t=new Uint8Array(Bw.encodingLength(e))),r||(r=0);const n=r;if(uw.encode(e.name,t,r),r+=uw.encode.bytes,sw(t,Fb(e.type),r),"OPT"===e.type.toUpperCase()){if("."!==e.name)throw new Error("OPT name must be root.");sw(t,e.udpPayloadSize||4096,r+2),t[r+4]=e.extendedRcode||0,t[r+5]=e.ednsVersion||0,sw(t,e.flags||0,r+6),r+=8,Tw.encode(e.options||[],t,r),r+=Tw.encode.bytes}else{let n=Kb(void 0===e.class?"IN":e.class);e.flush&&(n|=cw),sw(t,n,r+2),ow(t,e.ttl||0,r+4),r+=8;const i=Ow(e.type);i.encode(e.data,t,r),r+=i.encode.bytes}return Bw.encode.bytes=r-n,t},decode(e,t){t||(t=0);const r={},n=t;if(r.name=uw.decode(e,t),t+=uw.decode.bytes,r.type=Ub(iw(e,t)),"OPT"===r.type)r.udpPayloadSize=iw(e,t+2),r.extendedRcode=e[t+4],r.ednsVersion=e[t+5],r.flags=iw(e,t+6),r.flag_do=1===(r.flags>>15&1),r.options=Tw.decode(e,t+8),t+=8+Tw.decode.bytes;else{const n=iw(e,t+2);r.ttl=nw(e,t+4),r.class=zb(-32769&n),r.flush=!!(n&cw);const i=Ow(r.type);r.data=i.decode(e,t+8),t+=8+i.decode.bytes}return Bw.decode.bytes=t-n,r},encodingLength(e){const t=null!==e.data&&void 0!==e.data?e.data:e.options;return uw.encodingLength(e.name)+8+Ow(e.type).encodingLength(t)}}),Mw=lw({encode(e,t,r){t||(t=new Uint8Array(Mw.encodingLength(e))),r||(r=0);const n=r;return uw.encode(e.name,t,r),r+=uw.encode.bytes,sw(t,Fb(e.type),r),r+=2,sw(t,Kb(void 0===e.class?"IN":e.class),r),r+=2,Mw.encode.bytes=r-n,e},decode(e,t){t||(t=0);const r=t,n={};n.name=uw.decode(e,t),t+=uw.decode.bytes,n.type=Ub(iw(e,t)),t+=2,n.class=zb(iw(e,t)),t+=2;return!!(32768&n.class)&&(n.class&=-32769),Mw.decode.bytes=t-r,n},encodingLength:e=>uw.encodingLength(e.name)+4}),Uw={encode:function(e,t,r){const n=!t;n&&(t=new Uint8Array(qw(e))),r||(r=0);const i=r;return e.questions||(e.questions=[]),e.answers||(e.answers=[]),e.authorities||(e.authorities=[]),e.additionals||(e.additionals=[]),dw.encode(e,t,r),r+=dw.encode.bytes,r=Gw(e.questions,Mw,t,r),r=Gw(e.answers,Bw,t,r),r=Gw(e.authorities,Bw,t,r),r=Gw(e.additionals,Bw,t,r),Uw.encode.bytes=r-i,n&&zw.bytes!==t.length?t.slice(0,zw.bytes):t},decode:function(e,t){t||(t=0);const r=t,n=dw.decode(e,t);return t+=dw.decode.bytes,t=Ww(n.questions,Mw,e,t),t=Ww(n.answers,Bw,e,t),t=Ww(n.authorities,Bw,e,t),t=Ww(n.additionals,Bw,e,t),Uw.decode.bytes=t-r,n},encodingLength:function(e){return dw.encodingLength(e)+Hw(e.questions||[],Mw)+Hw(e.answers||[],Bw)+Hw(e.authorities||[],Bw)+Hw(e.additionals||[],Bw)}};function Fw(e,t){if(e.questions)throw new Error("Only one .question object expected instead of a .questions array!");const r=Object.assign({type:t},e);return r.question&&(r.questions=[r.question],delete r.question),r}Uw.encode.bytes=0,Uw.decode.bytes=0;const Vw={encode:function(e,t,r){return t=Uw.encode(Fw(e,"query"),t,r),Vw.encode.bytes=Uw.encode.bytes,t},decode:function(e,t){const r=Uw.decode(e,t);return Vw.decode.bytes=Uw.decode.bytes,r.questions&&(r.question=r.questions[0],delete r.questions),r},encodingLength:function(e){return Uw.encodingLength(Fw(e,"query"))}};Vw.encode.bytes=0,Vw.decode.bytes=0;const jw={encode:function(e,t,r){return t=Uw.encode(Fw(e,"response"),t,r),jw.encode.bytes=Uw.encode.bytes,t},decode:function(e,t){const r=Uw.decode(e,t);return jw.decode.bytes=Uw.decode.bytes,r.questions&&(r.question=r.questions[0],delete r.questions),r},encodingLength:function(e){return Uw.encodingLength(Fw(e,"response"))}};jw.encode.bytes=0,jw.decode.bytes=0;const zw=Uw.encode,Kw=Uw.decode,qw=Uw.encodingLength;function Hw(e,t){let r=0;for(let n=0;n<e.length;n++)r+=t.encodingLength(e[n]);return r}function Gw(e,t,r,n){for(let i=0;i<e.length;i++)t.encode(e[i],r,n),n+=t.encode.bytes;return n}function Ww(e,t,r,n){for(let i=0;i<e.length;i++)e[i]=t.decode(r,n),n+=t.decode.bytes;return n}function Qw(e,t,r,n){if(64!==t.length)throw new Error("Charset needs to be 64 characters long! (".concat(t.length,")"));const i=new Uint8Array(256),o=new Uint8Array(64);for(let c=0;c<64;c+=1){const e=t.charCodeAt(c);if(e>255)throw new Error("Character #".concat(c," in charset [code=").concat(e,", char=").concat(t.charAt(c),"] is too high! (max=255)"));if(0!==i[e])throw new Error("Character [code=".concat(e,", char=").concat(t.charAt(c),"] is more than once in the charset!"));i[e]=c,o[c]=e}const s=r.charCodeAt(0),a={name:e,encodingLength(e){const t=e.length,r=.75*t|0;return e.charCodeAt(t-1)===s?e.charCodeAt(t-2)===s?r-2:r-1:r},encode(e,t,r){null!==t&&void 0!==t||(t=new Uint8Array(a.encodingLength(e))),null!==r&&void 0!==r||(r=0);let n=e.length;e.charCodeAt(n-1)===s&&(e.charCodeAt(n-2)===s?n-=2:n-=1);const o=n%4,c=n-o;let l=r,u=0;for(;u<c;){const r=i[e.charCodeAt(u)]<<18|i[e.charCodeAt(u+1)]<<12|i[e.charCodeAt(u+2)]<<6|i[e.charCodeAt(u+3)];t[l++]=r>>16,t[l++]=r>>8,t[l++]=r,u+=4}if(3===o){const r=i[e.charCodeAt(u)]<<10|i[e.charCodeAt(u+1)]<<4|i[e.charCodeAt(u+2)]>>2;t[l++]=r>>8,t[l++]=r}else 2===o&&(t[l++]=i[e.charCodeAt(u)]<<2|i[e.charCodeAt(u+1)]>>4);return a.encode.bytes=l-r,t},decode(e,t,r){null!==t&&void 0!==t||(t=0),null!==r&&void 0!==r||(r=e.length);const i=r-t,c=i%3,l=t+i-c,u=[];for(let n=t;n<l;n+=3){const t=e[n]<<16|e[n+1]<<8|e[n+2];u.push(o[t>>18&63],o[t>>12&63],o[t>>6&63],o[63&t])}if(2===c){const t=(e[r-2]<<8)+e[r-1];u.push(o[t>>10],o[t>>4&63],o[t<<2&63]),1===n&&u.push(s)}else if(1===c){const t=e[r-1];u.push(o[t>>2],o[t<<4&63]),1===n&&u.push(s,s)}return a.decode.bytes=i,String.fromCharCode.apply(String,u)}};return a}Qw("base64","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/","=",1);const Yw=Qw("base64-url","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_","=",2);let Xw="undefined"!==typeof global?global.AbortError:"undefined"!==typeof window?window.AbortError:null;Xw||(Xw=class extends Error{constructor(){super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Request aborted.")}}),Xw.prototype.name="AbortError",Xw.prototype.code="ABORT_ERR";const Jw="undefined"!==typeof globalThis&&globalThis.URL||require("url").URL;class $w extends Error{constructor(e,t,r){super("status="+t+" while requesting "+e+" ["+r+"]"),this.uri=e,this.status=t,this.method=r}toJSON(){return{code:this.code,uri:this.uri,status:this.status,method:this.method,endpoint:this.endpoint}}}$w.prototype.name="HTTPStatusError",$w.prototype.code="HTTP_STATUS";class Zw extends Error{constructor(e,t){super(e),this.cause=t}toJSON(){return{message:this.message,endpoint:this.endpoint,code:this.code,cause:nE(this.cause)}}}Zw.prototype.name="ResponseError",Zw.prototype.code="RESPONSE_ERR";class eE extends Error{constructor(e){super("Timeout (t="+e+")."),this.timeout=e}toJSON(){return{code:this.code,endpoint:this.endpoint,timeout:this.timeout}}}eE.prototype.name="TimeoutError",eE.prototype.code="ETIMEOUT";const tE=/^((\d{1,3}\.){3,3}\d{1,3})(:(\d{2,5}))?$/,rE=/^((::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?)(:(\d{2,5}))?$/i;function nE(e){if("string"===typeof e)return{message:e};try{const t=JSON.stringify(e);if("{}"!==t)return JSON.parse(t)}catch(r){}const t={message:String(e.message||e)};return void 0!==e.code&&(t.code=String(e.code)),t}const iE=/^(([a-z0-9]+:)\/\/)?([^/[\s:]+|\[[^\]]+\])?(:([^/\s]+))?(\/[^\s]*)?(.*)$/,oE=/\[(post|get|((ipv4|ipv6|name)=([^\]]+)))\]/gi,sE=/\[(((pk|name)=([^\]]+)))\]/gi;function aE(e,t){t.lastIndex=0;const r={};for(;;){const n=t.exec(e);if(!n)break;n[2]?r[n[3].toLowerCase()]=n[4]:r[n[1].toLowerCase()]=!0}return r}class cE extends Error{constructor(e,t){super('Invalid Endpoint: unsupported protocol "'.concat(e,'" for endpoint: ').concat(t,", supported protocols: ").concat(lE.join(", "))),this.protocol=e,this.endpoint=t}toJSON(){return{code:this.code,endpoint:this.endpoint,timeout:this.timeout}}}cE.prototype.name="InvalidProtocolError",cE.prototype.code="EPROTOCOL";const lE=["http:","https:","udp4:","udp6:"];class uE{constructor(e,t){this.name=e.name||null,this.protocol=e.protocol;const r="string"===typeof e.port?e.port=parseInt(e.port,10):e.port;if(void 0===r||null===r)this.port=t?"https:"===this.protocol?443:80:e.pk?443:53;else{if("number"!==typeof r&&!isNaN(r))throw new Error('Invalid Endpoint: port "'.concat(e.port,'" needs to be a number: ').concat(JSON.stringify(e)));this.port=r}}toJSON(){return this.toString()}}class hE extends uE{constructor(e){super(e,!1),this.pk=e.pk||null}toString(){const e=this.port!==(this.pk?443:53)?":".concat(this.port):"",t=this.pk?" [pk=".concat(this.pk,"]"):"",r=this.name?" [name=".concat(this.name,"]"):"";return"udp://".concat(this.ipv4||"[".concat(this.ipv6,"]")).concat(e).concat(t).concat(r)}}class dE extends hE{constructor(e){if(super(Object.assign({protocol:"udp4:"},e)),!e.ipv4||"string"!==typeof e.ipv4)throw new Error('Invalid Endpoint: .ipv4 "'.concat(e.ipv4,'" needs to be set: ').concat(JSON.stringify(e)));this.ipv4=e.ipv4}}class pE extends hE{constructor(e){if(super(Object.assign({protocol:"udp6:"},e)),!e.ipv6||"string"!==typeof e.ipv6)throw new Error('Invalid Endpoint: .ipv6 "'.concat(e.ipv6,'" needs to be set: ').concat(JSON.stringify(e)));this.ipv6=e.ipv6}}function fE(e){return rE.test(e)&&!tE.test(e)?"[".concat(e,"]"):e}class gE extends uE{constructor(e){if(super(Object.assign({protocol:"https:"},e),!0),e.host||(e.ipv4&&(e.host=e.ipv4),e.ipv6&&(e.host="[".concat(e.ipv6,"]"))),!e.host||"string"!==typeof e.host)throw new Error('Invalid Endpoint: host "'.concat(e.path,'" needs to be set: ').concat(JSON.stringify(e)));if(this.host=e.host,this.path=e.path||"/dns-query",this.method=/^post$/i.test(e.method)?"POST":"GET",this.ipv4=e.ipv4,this.ipv6=e.ipv6,!this.ipv6){const e=rE.exec(this.host);e&&(this.ipv6=e[1])}this.ipv4||tE.test(this.host)&&(this.ipv4=this.host);const t="".concat(this.protocol,"//").concat(fE(this.host),":").concat(this.port).concat(this.path);try{this.url=new Jw(t)}catch(r){throw new Error(r.message+" [".concat(t,"]"))}}toString(){const e="https:"===this.protocol?"":"http://",t=this.port!==("https:"===this.protocol?443:80)?":".concat(this.port):"",r="GET"!==this.method?" [post]":"",n="/dns-query"===this.path?"":this.path,i=this.name?" [name=".concat(this.name,"]"):"",o=this.ipv4&&this.ipv4!==this.host?" [ipv4=".concat(this.ipv4,"]"):"",s=this.ipv6&&this.ipv6!==this.host?" [ipv6=".concat(this.ipv6,"]"):"";return"".concat(e).concat(fE(this.host)).concat(t).concat(n).concat(r).concat(o).concat(s).concat(i)}}function yE(e){let t;if("string"===typeof e)t=function(e){const t=iE.exec(e),r=t[2]||"https:",n=t[3],i=t[5],o=t[6],s=t[7];if("https:"===r||"http:"===r){const e=aE(s,oE);return{name:e.name,protocol:r,ipv4:e.ipv4,ipv6:e.ipv6,host:n,port:i,path:o,method:e.post?"POST":"GET"}}if("udp:"===r||"udp4:"===r||"udp6:"===r){const t=aE(s,sE),o=/^\[(.*)\]$/.exec(n);if(o&&"udp4:"===r)throw new Error("Endpoint parsing error: Cannot use ipv6 host with udp4: (endpoint=".concat(e,")"));if(!o&&"udp6:"===r)throw new Error("Endpoint parsing error: Incorrectly formatted host for udp6: (endpoint=".concat(e,")"));return o?new pE({protocol:"udp6:",ipv6:o[1],port:i,pk:t.pk,name:t.name}):new dE({protocol:"udp4:",ipv4:n,port:i,pk:t.pk,name:t.name})}throw new cE(r,e)}(e);else{if("object"!==typeof e||null===e||Array.isArray(e))throw new Error("Can not convert ".concat(e," to an endpoint"));if(e instanceof uE)return e;t=e}null!==t.protocol&&void 0!==t.protocol||(t.protocol="https:");const r=t.protocol;if("udp4:"===r)return new dE(t);if("udp6:"===r)return new pE(t);if("https:"===r||"http:"===r)return new gE(t);throw new cE(r,JSON.stringify(t))}const mE="application/dns-message";function vE(){}function bE(e,t,r,n,i){return new Promise(((o,s)=>{const a=new Jw(e);"GET"===t&&r&&(a.search="?dns="+Yw.decode(r));const c=a.toString(),l=new XMLHttpRequest;l.open(t,c,!0),l.setRequestHeader("Accept",mE),"POST"===t&&l.setRequestHeader("Content-Type",mE),l.responseType="arraybuffer",l.timeout=n,l.ontimeout=function(){u(new eE(n));try{l.abort()}catch(e){}},l.onreadystatechange=function(){if(l.readyState>1&&200!==l.status&&0!==l.status){u(new $w(c,l.status,t));try{l.abort()}catch(e){}}},l.onerror=function(){u(200===l.status?new Error("Inexplicable XHR Error"):new $w(c,l.status,t))},l.onload=function(){if(200!==l.status)u(new $w(c,l.status,t));else{let e;if("string"===typeof l.response)e=Qb(l.response);else if(l.response instanceof Uint8Array)e=l.response;else{if(!(Array.isArray(l.response)||l.response instanceof ArrayBuffer))throw new Error("Unprocessable response "+l.response);e=new Uint8Array(l.response)}u(null,e)}},"POST"===t?l.send(r):l.send(),i&&i.addEventListener("abort",h);let u=function(e,t){u=vE,i&&i.removeEventListener("abort",h),o(e?{error:e,response:l}:{data:t,response:l})};function h(){u(new Xw);try{l.abort()}catch(e){}}}))}class wE extends Error{constructor(e,t){super("".concat(DNS_RCODE_MESSAGE[e]||"Undefined error."," (rcode=").concat(e).concat(DNS_RCODE_ERROR[e]?", error=".concat(DNS_RCODE_ERROR[e]):"",", question=").concat(JSON.stringify(t),")")),this.rcode=e,this.code="DNS_RCODE_".concat(e),this.error=DNS_RCODE_ERROR[e],this.question=t}toJSON(){return{code:this.code,error:this.error,question:this.question,endpoint:this.endpoint}}}function EE(e){const t=null===e.time||void 0===e.time?Date.now():e.time,r=function(e){return e.filter((e=>e.cors||e.endpoint.cors))}(e.data.map((e=>(e.endpoint=yE(Object.assign({name:e.name},e.endpoint)),e)))),n=r.map((e=>e.endpoint));return{data:{resolvers:r,resolverByName:r.reduce(((e,t)=>(e[t.name]=t,e)),{}),endpoints:n,endpointByName:n.reduce(((e,t)=>(e[t.name]=t,e)),{})},time:t}}const _E=EE({data:[{name:"adfree.usableprivacy.net",endpoint:{protocol:"https:",host:"adfree.usableprivacy.net"},description:"Public updns DoH service with advertising, tracker and malware filters.\nHosted in Europe by @usableprivacy, details see: https://docs.usableprivacy.com",country:"Germany",location:{lat:51.2993,long:9.491},filter:!0},{name:"adguard-dns-doh",endpoint:{protocol:"https:",host:"dns.adguard.com",ipv4:"94.140.15.15"},description:"Remove ads and protect your computer from malware (over DoH)",country:"France",location:{lat:48.8582,long:2.3387},filter:!0},{name:"adguard-dns-family-doh",endpoint:{protocol:"https:",host:"dns-family.adguard.com",ipv4:"94.140.15.16"},description:"Adguard DNS with safesearch and adult content blocking (over DoH)",country:"France",location:{lat:48.8582,long:2.3387},filter:!0},{name:"adguard-dns-unfiltered-doh",endpoint:{protocol:"https:",host:"dns-unfiltered.adguard.com",ipv4:"94.140.14.140"},description:"AdGuard public DNS servers without filters (over DoH)",country:"France",location:{lat:48.8582,long:2.3387}},{name:"ahadns-doh-chi",endpoint:{protocol:"https:",host:"doh.chi.ahadns.net",cors:!0},description:"A zero logging DNS with support for DNS-over-HTTPS (DoH) & DNS-over-TLS (DoT). Blocks ads, malware, trackers, viruses, ransomware, telemetry and more. No persistent logs. DNSSEC. Hosted in Chicago, USA. By https://ahadns.com/\nServer statistics can be seen at: https://statistics.ahadns.com/?server=chi",country:"United States",location:{lat:41.8483,long:-87.6517},filter:!0,cors:!0},{name:"ahadns-doh-in",endpoint:{protocol:"https:",host:"doh.in.ahadns.net",cors:!0},description:"A zero logging DNS with support for DNS-over-HTTPS (DoH) & DNS-over-TLS (DoT). Blocks ads, malware, trackers, viruses, ransomware, telemetry and more. No persistent logs. DNSSEC. Hosted in Mumbai, India. By https://ahadns.com/\nServer statistics can be seen at: https://statistics.ahadns.com/?server=in",country:"India",location:{lat:19.0748,long:72.8856},filter:!0,cors:!0},{name:"ahadns-doh-la",endpoint:{protocol:"https:",host:"doh.la.ahadns.net",cors:!0},description:"A zero logging DNS with support for DNS-over-HTTPS (DoH) & DNS-over-TLS (DoT). Blocks ads, malware, trackers, viruses, ransomware, telemetry and more. No persistent logs. DNSSEC. Hosted in Los Angeles, USA. By https://ahadns.com/\nServer statistics can be seen at: https://statistics.ahadns.com/?server=la",country:"United States",location:{lat:34.0549,long:-118.2578},filter:!0,cors:!0},{name:"ahadns-doh-nl",endpoint:{protocol:"https:",host:"doh.nl.ahadns.net",cors:!0},description:"A zero logging DNS with support for DNS-over-HTTPS (DoH) & DNS-over-TLS (DoT). Blocks ads, malware, trackers, viruses, ransomware, telemetry and more. No persistent logs. DNSSEC. Hosted in Amsterdam, Netherlands. By https://ahadns.com/\nServer statistics can be seen at: https://statistics.ahadns.com/?server=nl",country:"Netherlands",location:{lat:52.3824,long:4.8995},filter:!0,cors:!0},{name:"ahadns-doh-ny",endpoint:{protocol:"https:",host:"doh.ny.ahadns.net",cors:!0},description:"A zero logging DNS with support for DNS-over-HTTPS (DoH) & DNS-over-TLS (DoT). Blocks ads, malware, trackers, viruses, ransomware, telemetry and more. No persistent logs. DNSSEC. Hosted in New York. By https://ahadns.com/\nServer statistics can be seen at: https://statistics.ahadns.com/?server=ny",country:"United States",location:{lat:40.7308,long:-73.9975},filter:!0,cors:!0},{name:"ahadns-doh-pl",endpoint:{protocol:"https:",host:"doh.pl.ahadns.net",cors:!0},description:"A zero logging DNS with support for DNS-over-HTTPS (DoH) & DNS-over-TLS (DoT). Blocks ads, malware, trackers, viruses, ransomware, telemetry and more. No persistent logs. DNSSEC. Hosted in Poland. By https://ahadns.com/\nServer statistics can be seen at: https://statistics.ahadns.com/?server=pl",country:"Netherlands",location:{lat:52.3824,long:4.8995},filter:!0,cors:!0},{name:"alidns-doh",endpoint:{protocol:"https:",host:"dns.alidns.com",ipv4:"223.5.5.5",cors:!0},description:"A public DNS resolver that supports DoH/DoT in mainland China, provided by Alibaba-Cloud.\nWarning: GFW filtering rules are applied by that resolver.\nHomepage: https://alidns.com/",country:"China",location:{lat:34.7725,long:113.7266},filter:!0,log:!0,cors:!0},{name:"ams-ads-doh-nl",endpoint:{protocol:"https:",host:"dnsnl-noads.alekberg.net"},description:"Resolver in Amsterdam. DoH protocol. Non-logging. Blocks ads, malware and trackers. DNSSEC enabled.",country:"Romania",location:{lat:45.9968,long:24.997},filter:!0},{name:"ams-doh-nl",endpoint:{protocol:"https:",host:"dnsnl.alekberg.net"},description:"Resolver in Amsterdam. DoH protocol. Non-logging, non-filtering, DNSSEC.",country:"Romania",location:{lat:45.9968,long:24.997}},{name:"att",endpoint:{protocol:"https:",host:"dohtrial.att.net"},description:"AT&T test DoH server.",log:!0},{name:"bcn-ads-doh",endpoint:{protocol:"https:",host:"dnses-noads.alekberg.net"},description:"Resolver in Spain. DoH protocol. Non-logging, remove ads and malware, DNSSEC.",country:"Spain",location:{lat:41.3891,long:2.1611},filter:!0},{name:"bcn-doh",endpoint:{protocol:"https:",host:"dnses.alekberg.net"},description:"Resolver in Spain. DoH protocol. Non-logging, non-filtering, DNSSEC.",country:"Spain",location:{lat:41.3891,long:2.1611}},{name:"brahma-world",endpoint:{protocol:"https:",host:"dns.brahma.world"},description:"DNS-over-HTTPS server. Non Logging, filters ads, trackers and malware. DNSSEC ready, QNAME Minimization, No EDNS Client-Subnet.\nHosted in Stockholm, Sweden. (https://dns.brahma.world)",country:"United States",location:{lat:37.751,long:-97.822},filter:!0},{name:"cisco-doh",endpoint:{protocol:"https:",host:"doh.opendns.com",ipv4:"146.112.41.2"},description:"Remove your DNS blind spot (DoH protocol)\nWarning: modifies your queries to include a copy of your network\naddress when forwarding them to a selection of companies and organizations.",country:"United States",location:{lat:37.751,long:-97.822},filter:!0,log:!0},{name:"cloudflare",endpoint:{protocol:"https:",host:"dns.cloudflare.com",ipv4:"1.0.0.1",cors:!0},description:"Cloudflare DNS (anycast) - aka 1.1.1.1 / 1.0.0.1",country:"Australia",location:{lat:-33.494,long:143.2104},cors:!0},{name:"cloudflare-family",endpoint:{protocol:"https:",host:"family.cloudflare-dns.com",ipv4:"1.0.0.3",cors:!0},description:"Cloudflare DNS (anycast) with malware protection and parental control - aka 1.1.1.3 / 1.0.0.3",country:"Australia",location:{lat:-33.494,long:143.2104},filter:!0,cors:!0},{name:"cloudflare-ipv6",endpoint:{protocol:"https:",host:"1dot1dot1dot1.cloudflare-dns.com",cors:!0},description:"Cloudflare DNS over IPv6 (anycast)",country:"United States",location:{lat:37.751,long:-97.822},cors:!0},{name:"cloudflare-security",endpoint:{protocol:"https:",host:"security.cloudflare-dns.com",ipv4:"1.0.0.2",cors:!0},description:"Cloudflare DNS (anycast) with malware blocking - aka 1.1.1.2 / 1.0.0.2",country:"Australia",location:{lat:-33.494,long:143.2104},filter:!0,cors:!0},{name:"controld-block-malware",endpoint:{protocol:"https:",host:"freedns.controld.com",path:"/p1"},description:"ControlD Free DNS. Take CONTROL of your Internet. Block unwanted content, bypass geo-restrictions and be more productive. DoH protocol and No logging. - https://controld.com/free-dns\nThis DNS blocks Malware domains.",country:"Canada",location:{lat:43.6319,long:-79.3716},filter:!0},{name:"controld-block-malware-ad",endpoint:{protocol:"https:",host:"freedns.controld.com",path:"/p2"},description:"ControlD Free DNS. Take CONTROL of your Internet. Block unwanted content, bypass geo-restrictions and be more productive. DoH protocol and No logging. - https://controld.com/free-dns\nThis DNS blocks Malware, Ads & Tracking domains.",country:"Canada",location:{lat:43.6319,long:-79.3716},filter:!0},{name:"controld-block-malware-ad-social",endpoint:{protocol:"https:",host:"freedns.controld.com",path:"/p3"},description:"ControlD Free DNS. Take CONTROL of your Internet. Block unwanted content, bypass geo-restrictions and be more productive. DoH protocol and No logging. - https://controld.com/free-dns\nThis DNS blocks Malware, Ads & Tracking and Social Networks domains.",country:"Canada",location:{lat:43.6319,long:-79.3716},filter:!0},{name:"controld-family-friendly",endpoint:{protocol:"https:",host:"freedns.controld.com",path:"/family"},description:"ControlD Free DNS. Take CONTROL of your Internet. Block unwanted content, bypass geo-restrictions and be more productive. DoH protocol and No logging. - https://controld.com/free-dns\nThis DNS blocks Malware, Ads & Tracking, Adult Content and Drugs domains.",country:"Canada",location:{lat:43.6319,long:-79.3716},filter:!0},{name:"controld-uncensored",endpoint:{protocol:"https:",host:"freedns.controld.com",path:"/uncensored"},description:"ControlD Free DNS. Take CONTROL of your Internet. Block unwanted content, bypass geo-restrictions and be more productive. DoH protocol and No logging. - https://controld.com/free-dns\nThis DNS unblocks censored domains from various countries.",country:"Canada",location:{lat:43.6319,long:-79.3716}},{name:"controld-unfiltered",endpoint:{protocol:"https:",host:"freedns.controld.com",path:"/p0"},description:"ControlD Free DNS. Take CONTROL of your Internet. Block unwanted content, bypass geo-restrictions and be more productive. DoH protocol and No logging. - https://controld.com/free-dns\nThis is a Unfiltered DNS, no DNS record blocking or manipulation here, if you want to block Malware, Ads & Tracking or Social Network domains, use the other ControlD DNS configs.",country:"Canada",location:{lat:43.6319,long:-79.3716}},{name:"dns.digitale-gesellschaft.ch",endpoint:{protocol:"https:",host:"dns.digitale-gesellschaft.ch"},description:"Public DoH resolver operated by the Digital Society (https://www.digitale-gesellschaft.ch).\nHosted in Zurich, Switzerland.\nNon-logging, non-filtering, supports DNSSEC.",country:"Switzerland",location:{lat:47.1449,long:8.1551}},{name:"dns.ryan-palmer",endpoint:{protocol:"https:",host:"dns1.ryan-palmer.com"},description:"Non-logging, non-filtering, DNSSEC DoH Server. Hosted in the UK.",country:"United Kingdom",location:{lat:51.5164,long:-.093}},{name:"dns.sb",endpoint:{protocol:"https:",host:"doh.sb",ipv4:"185.222.222.222",cors:!0},description:"DNSSEC-enabled DoH server by https://xtom.com/\nhttps://dns.sb/doh/",country:"Unknown",location:{lat:47,long:8},cors:!0},{name:"dns.therifleman.name",endpoint:{protocol:"https:",host:"dns.therifleman.name"},description:"DNS-over-HTTPS DNS forwarder from Mumbai, India. Blocks web and Android trackers and ads.\nIP addresses are not logged, but queries are logged for 24 hours for debugging.\nReport issues, send suggestions @ joker349 at protonmail.com.\nAlso supports DoT (for android) @ dns.therifleman.name and plain DNS @ 172.104.206.174",country:"United States",location:{lat:37.751,long:-97.822},filter:!0},{name:"dnsforfamily-doh",endpoint:{protocol:"https:",host:"dns-doh.dnsforfamily.com"},description:"(DoH Protocol) (Now supports DNSSEC). Block adult websites, gambling websites, malwares and advertisements.\nIt also enforces safe search in: Google, YouTube, Bing, DuckDuckGo and Yandex.\nSocial websites like Facebook and Instagram are not blocked. No DNS queries are logged.\nAs of 26-May-2022 5.9 million websites are blocked and new websites are added to blacklist daily.\nCompletely free, no ads or any commercial motive. Operating for 4 years now.\nProvided by: https://dnsforfamily.com",country:"Finland",location:{lat:60.1758,long:24.9349},filter:!0},{name:"dnsforfamily-doh-no-safe-search",endpoint:{protocol:"https:",host:"dns-doh-no-safe-search.dnsforfamily.com"},description:"(DoH Protocol) (Now supports DNSSEC) Block adult websites, gambling websites, malwares and advertisements.\nUnlike other dnsforfamily servers, this one does not enforces safe search. So Google, YouTube, Bing, DuckDuckGo and Yandex are completely accessible without any restriction.\nSocial websites like Facebook and Instagram are not blocked. No DNS queries are logged.\nAs of 26-May-2022 5.9 million websites are blocked and new websites are added to blacklist daily.\nCompletely free, no ads or any commercial motive. Operating for 4 years now.\nWarning: This server is incompatible with anonymization.\nProvided by: https://dnsforfamily.com",country:"Finland",location:{lat:60.1758,long:24.9349},filter:!0},{name:"dnsforge.de",endpoint:{protocol:"https:",host:"dnsforge.de",cors:!0},description:"Public DoH resolver running with Pihole for Adblocking (https://dnsforge.de).\nNon-logging, AD-filtering, supports DNSSEC. Hosted in Germany.",country:"Germany",location:{lat:52.2998,long:9.447},filter:!0,cors:!0},{name:"dnshome-doh",endpoint:{protocol:"https:",host:"dns.dnshome.de"},description:"https://www.dnshome.de/ public resolver in Germany"},{name:"dnspod-doh",endpoint:{protocol:"https:",host:"doh.pub",cors:!0},description:"A public DNS resolver in mainland China provided by DNSPod (Tencent Cloud).\nhttps://www.dnspod.cn/Products/Public.DNS?lang=en",filter:!0,log:!0,cors:!0},{name:"dnswarden-asia-adblock-dohv4",endpoint:{protocol:"https:",host:"doh.asia.dnswarden.com",path:"/adblock"},description:"Hosted in Singapore. For more information look [here](https://github.com/bhanupratapys/dnswarden) or [here](https://dnswarden.com).",country:"Singapore",location:{lat:1.2929,long:103.8547},filter:!0},{name:"dnswarden-asia-adultfilter-dohv4",endpoint:{protocol:"https:",host:"doh.asia.dnswarden.com",path:"/adultfilter"},description:"Hosted in Singapore. For more information look [here](https://github.com/bhanupratapys/dnswarden) or [here](https://dnswarden.com).",country:"Singapore",location:{lat:1.2929,long:103.8547},filter:!0},{name:"dnswarden-asia-uncensor-dohv4",endpoint:{protocol:"https:",host:"doh.asia.dnswarden.com",path:"/uncensored"},description:"Hosted in Singapore. For more information look [here](https://github.com/bhanupratapys/dnswarden) or [here](https://dnswarden.com).",country:"Singapore",location:{lat:1.2929,long:103.8547}},{name:"dnswarden-eu-adblock-dohv4",endpoint:{protocol:"https:",host:"doh.eu.dnswarden.com"},description:"Hosted in Germany. For more information look [here](https://github.com/bhanupratapys/dnswarden) or [here](https://dnswarden.com).",country:"Germany",location:{lat:50.1103,long:8.7147},filter:!0},{name:"dnswarden-us-adblock-dohv4",endpoint:{protocol:"https:",host:"doh.us.dnswarden.com"},description:"Hosted in USA (Dallas) . For more information look [here](https://github.com/bhanupratapys/dnswarden) or [here](https://dnswarden.com).",country:"United States",location:{lat:32.7889,long:-96.8021},filter:!0},{name:"doh-ch-blahdns",endpoint:{protocol:"https:",host:"doh-ch.blahdns.com",cors:!0},description:"Blocks ad and Tracking, no Logging, DNSSEC, Hosted in Switzerland. By https://blahdns.com/",country:"Netherlands",location:{lat:52.3824,long:4.8995},filter:!0,cors:!0},{name:"doh-cleanbrowsing-adult",endpoint:{protocol:"https:",host:"doh.cleanbrowsing.org",path:"/doh/adult-filter/",cors:!0},description:"Blocks access to all adult, pornographic and explicit sites. It does\nnot block proxy or VPNs, nor mixed-content sites. Sites like Reddit\nare allowed. Google and Bing are set to the Safe Mode.\nBy https://cleanbrowsing.org/",filter:!0,cors:!0},{name:"doh-cleanbrowsing-family",endpoint:{protocol:"https:",host:"doh.cleanbrowsing.org",path:"/doh/family-filter/",cors:!0},description:"Blocks access to all adult, pornographic and explicit sites. It also\nblocks proxy and VPN domains that are used to bypass the filters.\nMixed content sites (like Reddit) are also blocked. Google, Bing and\nYoutube are set to the Safe Mode.\nBy https://cleanbrowsing.org/",filter:!0,cors:!0},{name:"doh-cleanbrowsing-security",endpoint:{protocol:"https:",host:"doh.cleanbrowsing.org",path:"/doh/security-filter/",cors:!0},description:"Block access to phishing, malware and malicious domains. It does not block adult content.\nBy https://cleanbrowsing.org/",filter:!0,cors:!0},{name:"doh-crypto-sx",endpoint:{protocol:"https:",host:"doh.crypto.sx",cors:!0},description:"DNS-over-HTTPS server. Anycast, no logs, no censorship, DNSSEC.\nBackend hosted by Scaleway, globally cached via Cloudflare.\nMaintained by Frank Denis.",country:"United States",location:{lat:37.751,long:-97.822},cors:!0},{name:"doh-crypto-sx-ipv6",endpoint:{protocol:"https:",host:"doh-ipv6.crypto.sx",cors:!0},description:"DNS-over-HTTPS server accessible over IPv6. Anycast, no logs, no censorship, DNSSEC.\nBackend hosted by Scaleway, globally cached via Cloudflare.\nMaintained by Frank Denis.",country:"United States",location:{lat:37.751,long:-97.822},cors:!0},{name:"doh-de-blahdns",endpoint:{protocol:"https:",host:"doh-de.blahdns.com",cors:!0},description:"Blocks ad and Tracking, no Logging, DNSSEC, Hosted in Germany. By https://blahdns.com/",country:"Germany",location:{lat:51.2993,long:9.491},filter:!0,cors:!0},{name:"doh-fi-blahdns",endpoint:{protocol:"https:",host:"doh-fi.blahdns.com",cors:!0},description:"Blocks ad and Tracking, no Logging, DNSSEC, Hosted in Finland. By https://blahdns.com/",country:"Finland",location:{lat:60.1758,long:24.9349},filter:!0,cors:!0},{name:"doh-ibksturm",endpoint:{protocol:"https:",host:"ibksturm.synology.me"},description:"DoH & DoT Server, No Logging, No Filters, DNSSEC\nRunning privately by ibksturm in Thurgau, Switzerland"},{name:"doh-jp-blahdns",endpoint:{protocol:"https:",host:"doh-jp.blahdns.com",cors:!0},description:"Blocks ad and Tracking, no Logging, DNSSEC, Hosted in Japan. By https://blahdns.com/",country:"Japan",location:{lat:35.6882,long:139.7532},filter:!0,cors:!0},{name:"doh.ffmuc.net",endpoint:{protocol:"https:",host:"doh.ffmuc.net"},description:"An open (non-logging, non-filtering, non-censoring) DoH resolver operated by Freifunk Munich with nodes in DE.\nhttps://ffmuc.net/",country:"Germany",location:{lat:51.2993,long:9.491}},{name:"doh.tiarap.org",endpoint:{protocol:"https:",host:"doh.tiarap.org"},description:"Non-Logging DNS-over-HTTPS server, cached via Cloudflare.\nFilters out ads, trackers and malware, NO ECS, supports DNSSEC.",country:"United States",location:{lat:37.751,long:-97.822},filter:!0},{name:"google",endpoint:{protocol:"https:",host:"dns.google",ipv4:"8.8.8.8",cors:!0},description:"Google DNS (anycast)",country:"United States",location:{lat:37.751,long:-97.822},log:!0,cors:!0},{name:"hdns",endpoint:{protocol:"https:",host:"query.hdns.io",cors:!0},description:"HDNS is a public DNS resolver that supports Handshake domains.\nhttps://www.hdns.io",country:"United States",location:{lat:37.7771,long:-122.406},cors:!0},{name:"he",endpoint:{protocol:"https:",host:"ordns.he.net"},description:"Hurricane Electric DoH server (anycast)\nUnknown logging policy.",country:"United States",location:{lat:37.751,long:-97.822},log:!0},{name:"id-gmail-doh",endpoint:{protocol:"https:",host:"doh.tiar.app"},description:"Non-Logging DNS-over-HTTPS server located in Singapore.\nFilters out ads, trackers and malware, supports DNSSEC, provided by id-gmail.",country:"Singapore",location:{lat:1.2929,long:103.8547},filter:!0},{name:"iij",endpoint:{protocol:"https:",host:"public.dns.iij.jp"},description:"DoH server operated by Internet Initiative Japan in Tokyo.\nhttps://www.iij.ad.jp/",country:"Japan",location:{lat:35.69,long:139.69},log:!0},{name:"iqdns-doh",endpoint:{protocol:"https:",host:"a.passcloud.xyz"},description:'Non-logging DoH service runned by V2EX.com user johnsonwil.\nReturns "no such domain" for anti-Chinese government websites. Supports DNSSEC.\nFor more information: https://www.v2ex.com/t/785666',filter:!0},{name:"jp.tiar.app-doh",endpoint:{protocol:"https:",host:"jp.tiar.app"},description:"Non-Logging, Non-Filtering DNS-over-HTTPS server in Japan.\nNo ECS, Support DNSSEC",country:"Japan",location:{lat:35.6882,long:139.7532}},{name:"jp.tiarap.org",endpoint:{protocol:"https:",host:"jp.tiarap.org"},description:"DNS-over-HTTPS Server. Non-Logging, Non-Filtering, No ECS, Support DNSSEC.\nCached via Cloudflare."},{name:"libredns",endpoint:{protocol:"https:",host:"doh.libredns.gr"},description:"DoH server in Germany. No logging, but no DNS padding and no DNSSEC support.\nhttps://libredns.gr/",country:"Germany",location:{lat:51.2993,long:9.491}},{name:"nextdns",endpoint:{protocol:"https:",host:"anycsast.dns.nextdns.io"},description:"NextDNS is a cloud-based private DNS service that gives you full control\nover what is allowed and what is blocked on the Internet.\nDNSSEC, Anycast, Non-logging, NoFilters\nhttps://www.nextdns.io/",country:"Netherlands",location:{lat:52.3891,long:4.6563}},{name:"nextdns-ultralow",endpoint:{protocol:"https:",host:"dns.nextdns.io",path:"/dnscrypt-proxy"},description:'NextDNS is a cloud-based private DNS service that gives you full control\nover what is allowed and what is blocked on the Internet.\nhttps://www.nextdns.io/\nTo select the server location, the "-ultralow" variant relies on bootstrap servers\ninstead of anycast.'},{name:"njalla-doh",endpoint:{protocol:"https:",host:"dns.njal.la",cors:!0},description:"Non-logging DoH server in Sweden operated by Njalla.\nhttps://dns.njal.la/",country:"Sweden",location:{lat:59.3247,long:18.056},cors:!0},{name:"odoh-cloudflare",endpoint:{protocol:"https:",host:"odoh.cloudflare-dns.com",cors:!0},description:"Cloudflare ODoH server.\nhttps://cloudflare.com",cors:!0},{name:"odoh-crypto-sx",endpoint:{protocol:"https:",host:"odoh.crypto.sx",cors:!0},description:"ODoH target server. Anycast, no logs.\nBackend hosted by Scaleway. Maintained by Frank Denis.",cors:!0},{name:"odoh-id-gmail",endpoint:{protocol:"https:",host:"doh.tiar.app",path:"/odoh"},description:"ODoH target server. Based in Singapore, no logs.\nFilter ads, trackers and malware.",filter:!0},{name:"odoh-jp.tiar.app",endpoint:{protocol:"https:",host:"jp.tiar.app",path:"/odoh"},description:"ODoH target server. no logs."},{name:"odoh-jp.tiarap.org",endpoint:{protocol:"https:",host:"jp.tiarap.org",path:"/odoh"},description:"ODoH target server via Cloudflare, no logs."},{name:"odoh-resolver4.dns.openinternet.io",endpoint:{protocol:"https:",host:"resolver4.dns.openinternet.io"},description:"ODoH target server. no logs, no filter, DNSSEC.\nRunning on dedicated hardware colocated at Sonic.net in Santa Rosa, CA in the United States.\nUses Sonic's recusrive DNS servers as upstream resolvers (but is not affiliated with Sonic\nin any way). Provided by https://openinternet.io"},{name:"odoh-tiarap.org",endpoint:{protocol:"https:",host:"doh.tiarap.org",path:"/odoh"},description:"ODoH target server via Cloudflare, no logs.\nFilter ads, trackers and malware.",filter:!0},{name:"publicarray-au2-doh",endpoint:{protocol:"https:",host:"doh-2.seby.io",cors:!0},description:"DNSSEC \u2022 OpenNIC \u2022 Non-logging \u2022 Uncensored - hosted on ovh.com.au\nMaintained by publicarray - https://dns.seby.io",country:"Australia",location:{lat:-33.8591,long:151.2002},cors:!0},{name:"puredns-doh",endpoint:{protocol:"https:",host:"puredns.org",ipv4:"146.190.6.13",cors:!0},description:"Public uncensored DNS resolver in Singapore - https://puredns.org\n** Only available in Indonesia and Singapore **",country:"United States",location:{lat:37.751,long:-97.822},cors:!0},{name:"quad101",endpoint:{protocol:"https:",host:"dns.twnic.tw",cors:!0},description:"DNSSEC-aware public resolver by the Taiwan Network Information Center (TWNIC)\nhttps://101.101.101.101/index_en.html",cors:!0},{name:"quad9-doh-ip4-port443-filter-ecs-pri",endpoint:{protocol:"https:",host:"dns11.quad9.net",ipv4:"149.112.112.11"},description:"Quad9 (anycast) dnssec/no-log/filter/ecs 9.9.9.11 - 149.112.112.11",country:"United States",location:{lat:37.751,long:-97.822},filter:!0},{name:"quad9-doh-ip4-port443-filter-pri",endpoint:{protocol:"https:",host:"dns.quad9.net",ipv4:"149.112.112.112"},description:"Quad9 (anycast) dnssec/no-log/filter 9.9.9.9 - 149.112.112.9 - 149.112.112.112",country:"United States",location:{lat:37.751,long:-97.822},filter:!0},{name:"quad9-doh-ip4-port443-nofilter-ecs-pri",endpoint:{protocol:"https:",host:"dns12.quad9.net",ipv4:"9.9.9.12"},description:"Quad9 (anycast) no-dnssec/no-log/no-filter/ecs 9.9.9.12 - 149.112.112.12",country:"United States",location:{lat:37.751,long:-97.822}},{name:"quad9-doh-ip4-port443-nofilter-pri",endpoint:{protocol:"https:",host:"dns10.quad9.net",ipv4:"149.112.112.10"},description:"Quad9 (anycast) no-dnssec/no-log/no-filter 9.9.9.10 - 149.112.112.10",country:"United States",location:{lat:37.751,long:-97.822}},{name:"quad9-doh-ip6-port5053-filter-pri",endpoint:{protocol:"https:",host:"dns9.quad9.net"},description:"Quad9 (anycast) dnssec/no-log/filter 2620:fe::fe - 2620:fe::9 - 2620:fe::fe:9",country:"United States",location:{lat:37.751,long:-97.822},filter:!0},{name:"safesurfer-doh",endpoint:{protocol:"https:",host:"doh.safesurfer.io"},description:"Family safety focused blocklist for over 2 million adult sites, as well as phishing and malware and more.\nFree to use, paid for customizing blocking for more categories+sites and viewing usage at my.safesurfer.io. Logs taken for viewing\nusage, data never sold - https://safesurfer.io",filter:!0,log:!0},{name:"sth-ads-doh-se",endpoint:{protocol:"https:",host:"dnsse-noads.alekberg.net"},description:"Resolver in Stockholm, Sweden. DoH server. Non-logging, remove ads and malware, DNSSEC.",country:"Bulgaria",location:{lat:42.696,long:23.332},filter:!0},{name:"sth-doh-se",endpoint:{protocol:"https:",host:"dnsse.alekberg.net"},description:"Resolver in Stockholm, Sweden. DoH server. Non-logging, non-filtering, DNSSEC.",country:"Bulgaria",location:{lat:42.696,long:23.332}},{name:"switch",endpoint:{protocol:"https:",host:"dns.switch.ch"},description:"Public DoH service provided by SWITCH in Switzerland\nhttps://www.switch.ch\nProvides protection against malware, but does not block ads.",filter:!0},{name:"uncensoreddns-dk-ipv4",endpoint:{protocol:"https:",host:"unicast.uncensoreddns.org"},description:"Also known as censurfridns.\nDoH, no logs, no filter, DNSSEC, unicast hosted in Denmark - https://blog.uncensoreddns.org",country:"Denmark",location:{lat:55.7123,long:12.0564}},{name:"uncensoreddns-ipv4",endpoint:{protocol:"https:",host:"anycast.uncensoreddns.org"},description:"Also known as censurfridns.\nDoH, no logs, no filter, DNSSEC, anycast - https://blog.uncensoreddns.org",country:"Denmark",location:{lat:55.7123,long:12.0564}},{name:"v.dnscrypt.uk-doh-ipv4",endpoint:{protocol:"https:",host:"v.dnscrypt.uk"},description:"DoH, no logs, uncensored, DNSSEC. Hosted in London UK on Digital Ocean\nhttps://www.dnscrypt.uk",country:"United Kingdom",location:{lat:51.4964,long:-.1224}}],time:1654187067783});function SE(e,t,r,n){return n&&n.aborted?Promise.reject(new Xw):"udp4:"===e.protocol||"udp6:"===e.protocol?function(){throw new Error('Only "doh" endpoints are supported in the browser')}():function(e,t,r,n){return function(e,t,r,n,i){return bE(e,t,r,n,i)}(e.url,e.method,zw(Object.assign({flags:256},t)),r,n).then((function(e){const t=e.data,r=e.response;let n=e.error;if(void 0===n)if(0===t.length)n=new Zw("Empty.");else try{const e=Kw(t);return e.response=r,e}catch(i){n=new Zw("Invalid packet (cause="+i.message+")",i)}throw Object.assign(n,{response:r})}))}(e,t,r,n)}const AE=new Jw("https://martinheidegger.github.io/dns-query/resolvers.json");function CE(e){return/^@/.test(e)}const IE=new class{constructor(e){this.opts=Object.assign({timeout:5e3,update:!0,updateURL:AE,persist:!1,localStoragePrefix:"dnsquery_",maxAge:3e5},e),this._dataP=null}_data(e,t){return e||null===this._dataP?(this._dataP=this.opts.update?async function(e,t,r,n){const i=t?t.localStoragePrefix+t.name:null;if(i)try{const e=JSON.parse(localStorage.getItem(i));if(e&&e.time>t.maxTime)return e}catch(a){}const{data:o}=await bE(e,"GET",null,r,n),s={time:Date.now(),data:JSON.parse(Yb(o))};if(i)try{localStorage.setItem(i,JSON.stringify(s))}catch(a){s.time=null}return s}(this.opts.updateURL,this.opts.persist?{name:"resolvers.json",localStoragePrefix:this.opts.localStoragePrefix,maxTime:Date.now()-this.opts.maxAge}:null,this.opts.timeout).then((e=>EE({data:e.data.resolvers,time:e.time}))).catch((()=>t||_E)):Promise.resolve(_E),this._dataP):this._dataP.then((e=>e.time<Date.now()-this.opts.maxAge?this._data(!0,e):e))}data(){return this._data(!1).then((e=>e.data))}endpoints(e){if(null===e||void 0===e)return this.data().then((e=>e.endpoints));if("doh"===e&&(e=RE),"dns"===e&&(e=PE),"function"===typeof e)return this.data().then((t=>t.endpoints.filter(e)));if("string"===typeof e||"function"!==typeof e[Symbol.iterator])return Promise.reject(new Error("Endpoints (".concat(e,") needs to be iterable (array).")));if(-1===(e=Array.from(e).filter(Boolean)).findIndex(CE))try{return Promise.resolve(e.map(yE))}catch(t){return Promise.reject(t)}return this.data().then((t=>e.map((e=>{if(CE(e)){const r=t.endpointByName[e.substring(1)];if(!r)throw new Error("Endpoint ".concat(e," is not known."));return r}return yE(e)}))))}};function TE(e,t){return t=Object.assign({retries:5,timeout:3e4},t),e.question?(r=t.endpoints,function(e){return null!==e&&"object"===typeof e&&"function"===typeof e.then}(r)?r:Promise.resolve(r)).then((r=>{if(!Array.isArray(r)||0===r.length)throw new Error("No endpoints defined to lookup dns records.");return kE(r.map(yE),function(e){const t=Object.assign({type:"query"},e);return delete t.question,t.questions=[],e.question&&t.questions.push(e.question),t}(e),t)})).then((e=>(e.question=e.questions[0],delete e.questions,e))):Promise.reject(new Error("To request data you need to specify a .question!"));var r}function kE(e,t,r){const n=1===e.length?e[0]:e[Math.floor(Math.random()*e.length)%e.length];return SE(n,t,r.timeout,r.signal).then((e=>(e.endpoint=n.toString(),e)),(i=>{if("AbortError"===i.name||0===r.retries)throw i.endpoint=n.toString(),i;return r.retries>0&&(r.retries-=1),kE(e,t,r)}))}function RE(e){return"https:"===e.protocol||"http:"===e.protocol}function PE(e){return"udp4:"===e.protocol||"udp6:"===e.protocol}const DE=Ui("waku:dns-over-https");class NE{static async create(e,t){const r=null!==e&&void 0!==e?e:await IE.endpoints("doh");return new NE(r,t)}constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;Ce(this,"endpoints",void 0),Ce(this,"retries",void 0),this.endpoints=e,this.retries=t}async resolveTXT(e){let t;try{t=(await TE({question:{type:"TXT",name:e}},{endpoints:this.endpoints,retries:this.retries})).answers}catch(i){throw DE("query failed: ",i),new Error("DNS query failed")}if(!t)throw new Error("Could not resolve ".concat(e));const r=t.map((e=>e.data)),n=[];return r.forEach((e=>{"string"===typeof e?n.push(e):Array.isArray(e)?e.forEach((e=>{"string"===typeof e?n.push(e):n.push(Ds(e))})):n.push(Ds(e))})),n}}var LE=__webpack_require__(1026);class xE{static parseAndVerifyRoot(e,t){if(!e.startsWith(this.ROOT_PREFIX))throw new Error("ENRTree root entry must start with '".concat(this.ROOT_PREFIX,"'"));const r=xE.parseRootValues(e),n=LE.decode.asBytes(t),i=e.split(" sig")[0],o=Hn(i,"utf8");if(!vy(Hn(r.signature,"base64url").slice(0,64),my(o),new Uint8Array(n)))throw new Error("Unable to verify ENRTree root signature");return r.eRoot}static parseRootValues(e){const t=e.match(/^enrtree-root:v1 e=([^ ]+) l=([^ ]+) seq=(\d+) sig=([^ ]+)$/);if(!Array.isArray(t))throw new Error("Could not parse ENRTree root entry");t.shift();const[r,n,i,o]=t;if(!r)throw new Error("Could not parse 'e' value from ENRTree root entry");if(!n)throw new Error("Could not parse 'l' value from ENRTree root entry");if(!i)throw new Error("Could not parse 'seq' value from ENRTree root entry");if(!o)throw new Error("Could not parse 'sig' value from ENRTree root entry");return{eRoot:r,lRoot:n,seq:Number(i),signature:o}}static parseTree(e){if(!e.startsWith(this.TREE_PREFIX))throw new Error("ENRTree tree entry must start with '".concat(this.TREE_PREFIX,"'"));const t=e.match(/^enrtree:\/\/([^@]+)@(.+)$/);if(!Array.isArray(t))throw new Error("Could not parse ENRTree tree entry");t.shift();const[r,n]=t;if(!r)throw new Error("Could not parse public key from ENRTree tree entry");if(!n)throw new Error("Could not parse domain from ENRTree tree entry");return{publicKey:r,domain:n}}static parseBranch(e){if(!e.startsWith(this.BRANCH_PREFIX))throw new Error("ENRTree branch entry must start with '".concat(this.BRANCH_PREFIX,"'"));return e.split(this.BRANCH_PREFIX)[1].split(",")}}Ce(xE,"RECORD_PREFIX",ib.RECORD_PREFIX),Ce(xE,"TREE_PREFIX","enrtree:"),Ce(xE,"BRANCH_PREFIX","enrtree-branch:"),Ce(xE,"ROOT_PREFIX","enrtree-root:");const OE=Ui("waku:discovery:fetch_nodes");function BE(e,t){return t.relay>=e.relay&&t.store>=e.store&&t.filter>=e.filter&&t.lightPush>=e.lightPush}function ME(e,t){if(!e.nodeId)return!1;for(const r of t)if(e.nodeId===r.nodeId)return!1;return!0}function UE(e,t){e.relay&&(t.relay+=1),e.store&&(t.store+=1),e.filter&&(t.filter+=1),e.lightPush&&(t.lightPush+=1)}function FE(e,t,r){if(BE(t,r))throw"Internal Error: Waku2 wanted capabilities are already fulfilled";const n=function(e,t){return{relay:t.relay<e.relay,store:t.store<e.store,filter:t.filter<e.filter,lightPush:t.lightPush<e.lightPush}}(t,r);return n.relay&&e.relay||n.store&&e.store||n.filter&&e.filter||n.lightPush&&e.lightPush}const VE=Ui("waku:discovery:dns");class jE{static async dnsOverHttp(e){return e||(e=await NE.create()),new jE(e)}async getPeers(e,t){const r=Math.floor(Math.random()*e.length),{publicKey:n,domain:i}=xE.parseTree(e[r]),o={domain:i,publicKey:n,visits:{}},s=await async function(e,t,r){var n,i,o,s;const a={relay:null!==(n=e.relay)&&void 0!==n?n:0,store:null!==(i=e.store)&&void 0!==i?i:0,filter:null!==(o=e.filter)&&void 0!==o?o:0,lightPush:null!==(s=e.lightPush)&&void 0!==s?s:0},c=a.relay+a.store+a.filter+a.lightPush,l={relay:0,store:0,filter:0,lightPush:0};let u=0;const h=[];for(;!BE(a,l)&&u<c+t;){const e=await r();e&&ME(e,h)&&(e.waku2&&FE(e.waku2,a,l)&&(UE(e.waku2,l),h.push(e)),OE("got new peer candidate from DNS address=".concat(e.nodeId,"@").concat(e.ip))),u++}return h}(t,this._errorTolerance,(()=>this._search(i,o)));return VE("retrieved peers: ",s.map((e=>{var t,r;return{id:null===(t=e.peerId)||void 0===t?void 0:t.toString(),multiaddrs:null===(r=e.multiaddrs)||void 0===r?void 0:r.map((e=>e.toString()))}}))),s}constructor(e){Ce(this,"dns",void 0),Ce(this,"_DNSTreeCache",void 0),Ce(this,"_errorTolerance",10),this._DNSTreeCache={},this.dns=e}async*getNextPeer(e,t){const r=Math.floor(Math.random()*e.length),{publicKey:n,domain:i}=xE.parseTree(e[r]),o={domain:i,publicKey:n,visits:{}};for await(const s of async function*(e,t,r){var n,i,o,s;const a={relay:null!==(n=e.relay)&&void 0!==n?n:0,store:null!==(i=e.store)&&void 0!==i?i:0,filter:null!==(o=e.filter)&&void 0!==o?o:0,lightPush:null!==(s=e.lightPush)&&void 0!==s?s:0},c=a.relay+a.store+a.filter+a.lightPush,l={relay:0,store:0,filter:0,lightPush:0};let u=0;const h=new Set;for(;!BE(a,l)&&u<c+t;){const e=await r();e&&e.nodeId&&!h.has(e.nodeId)&&(h.add(e.nodeId),e.waku2&&FE(e.waku2,a,l)&&(UE(e.waku2,l),yield e),OE("got new peer candidate from DNS address=".concat(e.nodeId,"@").concat(e.ip))),u++}}(t,this._errorTolerance,(()=>this._search(i,o))))yield s}async _search(e,t){try{const n=await this._getTXTRecord(e,t);let i,o;t.visits[e]=!0;const s=function(e){return e.startsWith(xE.ROOT_PREFIX)?xE.ROOT_PREFIX:e.startsWith(xE.BRANCH_PREFIX)?xE.BRANCH_PREFIX:e.startsWith(xE.RECORD_PREFIX)?xE.RECORD_PREFIX:""}(n);try{switch(s){case xE.ROOT_PREFIX:return i=xE.parseAndVerifyRoot(n,t.publicKey),await this._search(i,t);case xE.BRANCH_PREFIX:return o=xE.parseBranch(n),i=function(e,t){const r={};for(const[i,o]of e.entries())t.visits[o]&&(r[i]=!0);if(Object.keys(r).length===e.length)throw new Error("Unresolvable circular path detected");let n;do{n=Math.floor(Math.random()*e.length)}while(r[n]);return e[n]}(o,t),await this._search(i,t);case xE.RECORD_PREFIX:return Nb.fromString(n);default:return null}}catch(r){return VE("Failed to search DNS tree ".concat(s," at subdomain ").concat(e,": ").concat(r)),null}}catch(r){return VE("Failed to retrieve TXT record at subdomain ".concat(e,": ").concat(r)),null}}async _getTXTRecord(e,t){if(this._DNSTreeCache[e])return this._DNSTreeCache[e];const r=e!==t.domain?"".concat(e,".").concat(t.domain):t.domain,n=await this.dns.resolveTXT(r);if(!n.length)throw new Error("Received empty result array while fetching TXT record");if(!n[0].length)throw new Error("Received empty TXT record");const i=n.join("");return this._DNSTreeCache[e]=i,i}}let zE;const KE=Ui("waku:peer-discovery-dns"),qE="enrtree://AOGECG2SPND25EEFMAJ5WF3KSGJNSGV356DSTL2YVLLZWIV6SAYBM@prod.waku.nodes.status.im",HE="bootstrap";zE=Symbol.toStringTag;class GE extends py{constructor(e,t){super(),Ce(this,"nextPeer",void 0),Ce(this,"_started",void 0),Ce(this,"_components",void 0),Ce(this,"_options",void 0),this._started=!1,this._components=e,this._options=t;const{enrUrls:r}=t;KE("Use following EIP-1459 ENR Tree URLs: ",r)}async start(){if(KE("Starting peer discovery via dns"),this._started=!0,void 0===this.nextPeer){let{enrUrls:e}=this._options;Array.isArray(e)||(e=[e]);const{wantedNodeCapabilityCount:t}=this._options,r=await jE.dnsOverHttp();this.nextPeer=r.getNextPeer.bind(r,e,t)}for await(const r of this.nextPeer()){var e,t;if(!this._started)return;const n=r.peerInfo;n&&((await this._components.peerStore.getTags(n.id)).find((e=>{let{name:t}=e;return t===HE}))||(await this._components.peerStore.tagPeer(n.id,HE,{value:null!==(e=this._options.tagValue)&&void 0!==e?e:50,ttl:null!==(t=this._options.tagTTL)&&void 0!==t?t:12e4}),this.dispatchEvent(new gy("peer",{detail:n}))))}}stop(){this._started=!1}get[ly](){return!0}get[zE](){return"@waku/bootstrap"}}const WE=Symbol.for("@libp2p/peer-id");var QE=function(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(255!==r[s])throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function h(e){if("string"!==typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[t]){for(var n=0,i=0;e[t]===c;)n++,t++;for(var o=(e.length-t)*l+1>>>0,s=new Uint8Array(o);e[t];){var u=r[e.charCodeAt(t)];if(255===u)return;for(var h=0,d=o-1;(0!==u||h<i)&&-1!==d;d--,h++)u+=a*s[d]>>>0,s[d]=u%256>>>0,u=u/256>>>0;if(0!==u)throw new Error("Non-zero carry");i=h,t++}if(" "!==e[t]){for(var p=o-i;p!==o&&0===s[p];)p++;for(var f=new Uint8Array(n+(o-p)),g=n;p!==o;)f[g++]=s[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,n=0,i=0,o=t.length;i!==o&&0===t[i];)i++,r++;for(var s=(o-i)*u+1>>>0,l=new Uint8Array(s);i!==o;){for(var h=t[i],d=0,p=s-1;(0!==h||d<n)&&-1!==p;p--,d++)h+=256*l[p]>>>0,l[p]=h%a>>>0,h=h/a>>>0;if(0!==h)throw new Error("Non-zero carry");n=d,i++}for(var f=s-n;f!==s&&0===l[f];)f++;for(var g=c.repeat(r);f<s;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:h,decode:function(e){var r=h(e);if(r)return r;throw new Error("Non-".concat(t," character"))}}};const YE=QE,XE=(new Uint8Array(0),e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)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")});class JE{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return"".concat(this.prefix).concat(this.baseEncode(e));throw Error("Unknown type, must be binary type")}}class $E{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"===typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error("Unable to decode multibase string ".concat(JSON.stringify(e),", ").concat(this.name," decoder only supports inputs prefixed with ").concat(this.prefix));return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return e_(this,e)}}class ZE{constructor(e){this.decoders=e}or(e){return e_(this,e)}decode(e){const t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError("Unable to decode multibase string ".concat(JSON.stringify(e),", only inputs prefixed with ").concat(Object.keys(this.decoders)," are supported"))}}const e_=(e,t)=>new ZE({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class t_{constructor(e,t,r,n){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=n,this.encoder=new JE(e,t,r),this.decoder=new $E(e,t,n)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const r_=e=>{let{name:t,prefix:r,encode:n,decode:i}=e;return new t_(t,r,n,i)},n_=e=>{let{prefix:t,name:r,alphabet:n}=e;const{encode:i,decode:o}=YE(n,r);return r_({prefix:t,name:r,encode:i,decode:e=>XE(o(e))})},i_=e=>{let{name:t,prefix:r,bitsPerChar:n,alphabet:i}=e;return r_({prefix:r,name:t,encode:e=>((e,t,r)=>{const n="="===t[t.length-1],i=(1<<r)-1;let 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})(e,i,n),decode:e=>((e,t,r,n)=>{const i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=e.length;for(;"="===e[o-1];)--o;const s=new Uint8Array(o*r/8|0);let a=0,c=0,l=0;for(let u=0;u<o;++u){const t=i[e[u]];if(void 0===t)throw new SyntaxError("Non-".concat(n," character"));c=c<<r|t,a+=r,a>=8&&(a-=8,s[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s})(e,i,n,t)})},o_=n_({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),s_=n_({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),a_=r_({prefix:"\0",name:"identity",encode:e=>{return t=e,(new TextDecoder).decode(t);var t},decode:e=>(e=>(new TextEncoder).encode(e))(e)}),c_=i_({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),l_=i_({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),u_=n_({prefix:"9",name:"base10",alphabet:"0123456789"}),h_=i_({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),d_=i_({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),p_=i_({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),f_=i_({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),g_=i_({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),y_=i_({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),m_=i_({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),v_=i_({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),b_=i_({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),w_=i_({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),E_=i_({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),__=n_({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),S_=n_({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),A_=i_({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),C_=i_({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),I_=i_({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),T_=i_({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),k_=Array.from("\ud83d\ude80\ud83e\ude90\u2604\ud83d\udef0\ud83c\udf0c\ud83c\udf11\ud83c\udf12\ud83c\udf13\ud83c\udf14\ud83c\udf15\ud83c\udf16\ud83c\udf17\ud83c\udf18\ud83c\udf0d\ud83c\udf0f\ud83c\udf0e\ud83d\udc09\u2600\ud83d\udcbb\ud83d\udda5\ud83d\udcbe\ud83d\udcbf\ud83d\ude02\u2764\ud83d\ude0d\ud83e\udd23\ud83d\ude0a\ud83d\ude4f\ud83d\udc95\ud83d\ude2d\ud83d\ude18\ud83d\udc4d\ud83d\ude05\ud83d\udc4f\ud83d\ude01\ud83d\udd25\ud83e\udd70\ud83d\udc94\ud83d\udc96\ud83d\udc99\ud83d\ude22\ud83e\udd14\ud83d\ude06\ud83d\ude44\ud83d\udcaa\ud83d\ude09\u263a\ud83d\udc4c\ud83e\udd17\ud83d\udc9c\ud83d\ude14\ud83d\ude0e\ud83d\ude07\ud83c\udf39\ud83e\udd26\ud83c\udf89\ud83d\udc9e\u270c\u2728\ud83e\udd37\ud83d\ude31\ud83d\ude0c\ud83c\udf38\ud83d\ude4c\ud83d\ude0b\ud83d\udc97\ud83d\udc9a\ud83d\ude0f\ud83d\udc9b\ud83d\ude42\ud83d\udc93\ud83e\udd29\ud83d\ude04\ud83d\ude00\ud83d\udda4\ud83d\ude03\ud83d\udcaf\ud83d\ude48\ud83d\udc47\ud83c\udfb6\ud83d\ude12\ud83e\udd2d\u2763\ud83d\ude1c\ud83d\udc8b\ud83d\udc40\ud83d\ude2a\ud83d\ude11\ud83d\udca5\ud83d\ude4b\ud83d\ude1e\ud83d\ude29\ud83d\ude21\ud83e\udd2a\ud83d\udc4a\ud83e\udd73\ud83d\ude25\ud83e\udd24\ud83d\udc49\ud83d\udc83\ud83d\ude33\u270b\ud83d\ude1a\ud83d\ude1d\ud83d\ude34\ud83c\udf1f\ud83d\ude2c\ud83d\ude43\ud83c\udf40\ud83c\udf37\ud83d\ude3b\ud83d\ude13\u2b50\u2705\ud83e\udd7a\ud83c\udf08\ud83d\ude08\ud83e\udd18\ud83d\udca6\u2714\ud83d\ude23\ud83c\udfc3\ud83d\udc90\u2639\ud83c\udf8a\ud83d\udc98\ud83d\ude20\u261d\ud83d\ude15\ud83c\udf3a\ud83c\udf82\ud83c\udf3b\ud83d\ude10\ud83d\udd95\ud83d\udc9d\ud83d\ude4a\ud83d\ude39\ud83d\udde3\ud83d\udcab\ud83d\udc80\ud83d\udc51\ud83c\udfb5\ud83e\udd1e\ud83d\ude1b\ud83d\udd34\ud83d\ude24\ud83c\udf3c\ud83d\ude2b\u26bd\ud83e\udd19\u2615\ud83c\udfc6\ud83e\udd2b\ud83d\udc48\ud83d\ude2e\ud83d\ude46\ud83c\udf7b\ud83c\udf43\ud83d\udc36\ud83d\udc81\ud83d\ude32\ud83c\udf3f\ud83e\udde1\ud83c\udf81\u26a1\ud83c\udf1e\ud83c\udf88\u274c\u270a\ud83d\udc4b\ud83d\ude30\ud83e\udd28\ud83d\ude36\ud83e\udd1d\ud83d\udeb6\ud83d\udcb0\ud83c\udf53\ud83d\udca2\ud83e\udd1f\ud83d\ude41\ud83d\udea8\ud83d\udca8\ud83e\udd2c\u2708\ud83c\udf80\ud83c\udf7a\ud83e\udd13\ud83d\ude19\ud83d\udc9f\ud83c\udf31\ud83d\ude16\ud83d\udc76\ud83e\udd74\u25b6\u27a1\u2753\ud83d\udc8e\ud83d\udcb8\u2b07\ud83d\ude28\ud83c\udf1a\ud83e\udd8b\ud83d\ude37\ud83d\udd7a\u26a0\ud83d\ude45\ud83d\ude1f\ud83d\ude35\ud83d\udc4e\ud83e\udd32\ud83e\udd20\ud83e\udd27\ud83d\udccc\ud83d\udd35\ud83d\udc85\ud83e\uddd0\ud83d\udc3e\ud83c\udf52\ud83d\ude17\ud83e\udd11\ud83c\udf0a\ud83e\udd2f\ud83d\udc37\u260e\ud83d\udca7\ud83d\ude2f\ud83d\udc86\ud83d\udc46\ud83c\udfa4\ud83d\ude47\ud83c\udf51\u2744\ud83c\udf34\ud83d\udca3\ud83d\udc38\ud83d\udc8c\ud83d\udccd\ud83e\udd40\ud83e\udd22\ud83d\udc45\ud83d\udca1\ud83d\udca9\ud83d\udc50\ud83d\udcf8\ud83d\udc7b\ud83e\udd10\ud83e\udd2e\ud83c\udfbc\ud83e\udd75\ud83d\udea9\ud83c\udf4e\ud83c\udf4a\ud83d\udc7c\ud83d\udc8d\ud83d\udce3\ud83e\udd42"),R_=k_.reduce(((e,t,r)=>(e[r]=t,e)),[]),P_=k_.reduce(((e,t,r)=>(e[t.codePointAt(0)]=r,e)),[]);const D_=r_({prefix:"\ud83d\ude80",name:"base256emoji",encode:function(e){return e.reduce(((e,t)=>e+=R_[t]),"")},decode:function(e){const t=[];for(const r of e){const e=P_[r.codePointAt(0)];if(void 0===e)throw new Error("Non-base256emoji character: ".concat(r));t.push(e)}return new Uint8Array(t)}});var N_=function e(t,r,n){r=r||[];var i=n=n||0;for(;t>=L_;)r[n++]=255&t|128,t/=128;for(;-128&t;)r[n++]=255&t|128,t>>>=7;return r[n]=0|t,e.bytes=n-i+1,r},L_=Math.pow(2,31);var x_=function e(t,r){var n,i=0,o=0,s=r=r||0,a=t.length;do{if(s>=a)throw e.bytes=0,new RangeError("Could not decode varint");n=t[s++],i+=o<28?(127&n)<<o:(127&n)*Math.pow(2,o),o+=7}while(n>=128);return e.bytes=s-r,i};var O_=Math.pow(2,7),B_=Math.pow(2,14),M_=Math.pow(2,21),U_=Math.pow(2,28),F_=Math.pow(2,35),V_=Math.pow(2,42),j_=Math.pow(2,49),z_=Math.pow(2,56),K_=Math.pow(2,63);const q_={encode:N_,decode:x_,encodingLength:function(e){return e<O_?1:e<B_?2:e<M_?3:e<U_?4:e<F_?5:e<V_?6:e<j_?7:e<z_?8:e<K_?9:10}},H_=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const r=q_.decode(e,t);return[r,q_.decode.bytes]},G_=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return q_.encode(e,t,r),t},W_=e=>q_.encodingLength(e),Q_=(e,t)=>{const r=t.byteLength,n=W_(e),i=n+W_(r),o=new Uint8Array(i+r);return G_(e,o,0),G_(r,o,n),o.set(t,i),new X_(e,r,t,o)},Y_=e=>{const t=XE(e),[r,n]=H_(t),[i,o]=H_(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new X_(r,i,s,t)};class X_{constructor(e,t,r,n){this.code=e,this.size=t,this.digest=r,this.bytes=n}}const J_=e=>{let{name:t,code:r,encode:n}=e;return new $_(t,r,n)};class $_{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?Q_(this.code,t):t.then((e=>Q_(this.code,e)))}throw Error("Unknown type, must be binary type")}}const Z_=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),eS=J_({name:"sha2-256",code:18,encode:Z_("SHA-256")}),tS=J_({name:"sha2-512",code:19,encode:Z_("SHA-512")}),rS=XE,nS={code:0,name:"identity",encode:rS,digest:e=>Q_(0,rS(e))},iS="raw",oS=85,sS=e=>XE(e),aS=e=>XE(e),cS=new TextEncoder,lS=new TextDecoder,uS="json",hS=512,dS=e=>cS.encode(JSON.stringify(e)),pS=e=>JSON.parse(lS.decode(e)),fS=(e,t)=>{const{bytes:r,version:n}=e;return 0===n?bS(r,yS(e),t||o_.encoder):wS(r,yS(e),t||p_.encoder)},gS=new WeakMap,yS=e=>{const t=gS.get(e);if(null==t){const t=new Map;return gS.set(e,t),t}return t};class mS{constructor(e,t,r,n){this.code=t,this.version=e,this.multihash=r,this.bytes=n,this["/"]=n}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:{const{code:e,multihash:t}=this;if(e!==ES)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==_S)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return mS.createV0(t)}default:throw Error("Can not convert CID version ".concat(this.version," to version 0. This is a bug please report"))}}toV1(){switch(this.version){case 0:{const{code:e,digest:t}=this.multihash,r=Q_(e,t);return mS.createV1(this.code,r)}case 1:return this;default:throw Error("Can not convert CID version ".concat(this.version," to version 1. This is a bug please report"))}}equals(e){return mS.equals(this,e)}static equals(e,t){const r=t;return r&&e.code===r.code&&e.version===r.version&&((e,t)=>{if(e===t)return!0;{const r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&((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.bytes,r.bytes)}})(e.multihash,r.multihash)}toString(e){return fS(this,e)}toJSON(){return{"/":fS(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID(".concat(this.toString(),")")}static asCID(e){if(null==e)return null;const t=e;if(t instanceof mS)return t;if(null!=t["/"]&&t["/"]===t.bytes||t.asCID===t){const{version:e,code:r,multihash:n,bytes:i}=t;return new mS(e,r,n,i||SS(e,r,n.bytes))}if(!0===t[AS]){const{version:e,multihash:r,code:n}=t,i=Y_(r);return mS.create(e,n,i)}return null}static create(e,t,r){if("number"!==typeof t)throw new Error("String codecs are no longer supported");if(!(r.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:if(t!==ES)throw new Error("Version 0 CID must use dag-pb (code: ".concat(ES,") block encoding"));return new mS(e,t,r,r.bytes);case 1:{const n=SS(e,t,r.bytes);return new mS(e,t,r,n)}default:throw new Error("Invalid version")}}static createV0(e){return mS.create(0,ES,e)}static createV1(e,t){return mS.create(1,e,t)}static decode(e){const[t,r]=mS.decodeFirst(e);if(r.length)throw new Error("Incorrect length");return t}static decodeFirst(e){const t=mS.inspectBytes(e),r=t.size-t.multihashSize,n=XE(e.subarray(r,r+t.multihashSize));if(n.byteLength!==t.multihashSize)throw new Error("Incorrect length");const i=n.subarray(t.multihashSize-t.digestSize),o=new X_(t.multihashCode,t.digestSize,i,n);return[0===t.version?mS.createV0(o):mS.createV1(t.codec,o),e.subarray(t.size)]}static inspectBytes(e){let t=0;const r=()=>{const[r,n]=H_(e.subarray(t));return t+=n,r};let n=r(),i=ES;if(18===n?(n=0,t=0):i=r(),0!==n&&1!==n)throw new RangeError("Invalid CID version ".concat(n));const o=t,s=r(),a=r(),c=t+a;return{version:n,codec:i,multihashCode:s,digestSize:a,multihashSize:c-o,size:c}}static parse(e,t){const[r,n]=vS(e,t),i=mS.decode(n);if(0===i.version&&"Q"!==e[0])throw Error("Version 0 CID string must not include multibase prefix");return yS(i).set(r,e),i}}const vS=(e,t)=>{switch(e[0]){case"Q":{const r=t||o_;return[o_.prefix,r.decode("".concat(o_.prefix).concat(e))]}case o_.prefix:{const r=t||o_;return[o_.prefix,r.decode(e)]}case p_.prefix:{const r=t||p_;return[p_.prefix,r.decode(e)]}default:if(null==t)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}},bS=(e,t,r)=>{const{prefix:n}=r;if(n!==o_.prefix)throw Error("Cannot string encode V0 in ".concat(r.name," encoding"));const i=t.get(n);if(null==i){const i=r.encode(e).slice(1);return t.set(n,i),i}return i},wS=(e,t,r)=>{const{prefix:n}=r,i=t.get(n);if(null==i){const i=r.encode(e);return t.set(n,i),i}return i},ES=112,_S=18,SS=(e,t,r)=>{const n=W_(e),i=n+W_(t),o=new Uint8Array(i+r.byteLength);return G_(e,o,0),G_(t,o,n),o.set(r,i),o},AS=Symbol.for("@ipld/js-cid/CID"),CS={...se,...ae,...ce,...le,...ue,...he,...de,...oe,...pe,...fe};let IS;const TS=Symbol.for("nodejs.util.inspect.custom"),kS=Object.values(CS).map((e=>e.decoder)).reduce(((e,t)=>e.or(t)),CS.identity.decoder);IS=Symbol.toStringTag;class RS{constructor(e){Ce(this,"type",void 0),Ce(this,"multihash",void 0),Ce(this,"privateKey",void 0),Ce(this,"publicKey",void 0),Ce(this,"string",void 0),Ce(this,WE,!0),this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[IS](){return"PeerId(".concat(this.toString(),")")}toString(){return null==this.string&&(this.string=o_.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return mS.createV1(114,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){var t;if(e instanceof Uint8Array)return Nt(this.multihash.bytes,e);if("string"===typeof e)return LS(e).equals(this);if(null!=(null===e||void 0===e||null===(t=e.multihash)||void 0===t?void 0:t.bytes))return Nt(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[TS](){return"PeerId(".concat(this.toString(),")")}}class PS extends RS{constructor(e){super({...e,type:"RSA"}),Ce(this,"type","RSA"),Ce(this,"publicKey",void 0),this.publicKey=e.publicKey}}class DS extends RS{constructor(e){super({...e,type:"Ed25519"}),Ce(this,"type","Ed25519"),Ce(this,"publicKey",void 0),this.publicKey=e.multihash.digest}}class NS extends RS{constructor(e){super({...e,type:"secp256k1"}),Ce(this,"type","secp256k1"),Ce(this,"publicKey",void 0),this.publicKey=e.multihash.digest}}function LS(e,t){var r;if(t=null!==(r=t)&&void 0!==r?r:kS,"1"===e.charAt(0)||"Q"===e.charAt(0)){const t=Y_(o_.decode("z".concat(e)));return e.startsWith("12D")?new DS({multihash:t}):e.startsWith("16U")?new NS({multihash:t}):new PS({multihash:t})}return xS(kS.decode(e))}function xS(e){try{const t=Y_(e);if(t.code===nS.code){if(36===t.digest.length)return new DS({multihash:t});if(37===t.digest.length)return new NS({multihash:t})}if(t.code===eS.code)return new PS({multihash:t})}catch{return function(e){if(null==e||null==e.multihash||null==e.version||1===e.version&&114!==e.code)throw new Error("Supplied PeerID CID is invalid");const t=e.multihash;if(t.code===eS.code)return new PS({multihash:e.multihash});if(t.code===nS.code){if(36===t.digest.length)return new DS({multihash:e.multihash});if(37===t.digest.length)return new NS({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}(mS.decode(e))}throw new Error("Supplied PeerID CID is invalid")}const OS="ERR_SIGNATURE_NOT_VALID";var BS=__webpack_require__(907),MS=__webpack_require__(9605),US=__webpack_require__(4432),FS=__webpack_require__(3798),VS=__webpack_require__(1431);US._configure(),BS._configure(MS),FS._configure(VS);const jS=["uint64","int64","sint64","fixed64","sfixed64"];function zS(e){return function(e){for(const t of jS){if(null==e[t])continue;const r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}(new BS(e))}function KS(){return function(e){for(const t of jS){if(null==e[t])continue;const r=e[t];e[t]=function(e){return r.call(this,e.toString())}}return e}(FS.create())}function qS(e,t){const r=zS(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function HS(e,t){const r=KS();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var GS,WS;function QS(e,t){return function(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}("message",GS.LENGTH_DELIMITED,e,t)}!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"}(GS||(GS={})),function(e){let t;e.codec=()=>(null==t&&(t=QS((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.publicKey&&e.publicKey.byteLength>0&&(t.uint32(10),t.bytes(e.publicKey)),null!=e.payloadType&&e.payloadType.byteLength>0&&(t.uint32(18),t.bytes(e.payloadType)),null!=e.payload&&e.payload.byteLength>0&&(t.uint32(26),t.bytes(e.payload)),null!=e.signature&&e.signature.byteLength>0&&(t.uint32(42),t.bytes(e.signature)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.publicKey=e.bytes();break;case 2:r.payloadType=e.bytes();break;case 3:r.payload=e.bytes();break;case 5:r.signature=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>HS(t,e.codec()),e.decode=t=>qS(t,e.codec())}(WS||(WS={}));class YS{constructor(e){Ce(this,"peerId",void 0),Ce(this,"payloadType",void 0),Ce(this,"payload",void 0),Ce(this,"signature",void 0),Ce(this,"marshaled",void 0);const{peerId:t,payloadType:r,payload:n,signature:i}=e;this.peerId=t,this.payloadType=r,this.payload=n,this.signature=i}marshal(){if(null==this.peerId.publicKey)throw new Error("Missing public key");return null==this.marshaled&&(this.marshaled=WS.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Nt(this.marshal(),e.marshal())}async validate(e){const t=XS(e,this.payloadType,this.payload);if(null==this.peerId.publicKey)throw new Error("Missing public key");return fh(this.peerId.publicKey).verify(t.subarray(),this.signature)}}Ce(YS,"createFromProtobuf",(async e=>{const t=WS.decode(e),r=await async function(e,t){return 36===e.length?new DS({multihash:Q_(nS.code,e),privateKey:t}):37===e.length?new NS({multihash:Q_(nS.code,e),privateKey:t}):new PS({multihash:await eS.digest(e),publicKey:e,privateKey:t})}(t.publicKey);return new YS({peerId:r,payloadType:t.payloadType,payload:t.payload,signature:t.signature})})),Ce(YS,"seal",(async(e,t)=>{if(null==t.privateKey)throw new Error("Missing private key");const r=e.domain,n=e.codec,i=e.marshal(),o=XS(r,n,i),s=await yh(t.privateKey),a=await s.sign(o.subarray());return new YS({peerId:t,payloadType:n,payload:i,signature:a})})),Ce(YS,"openAndCertify",(async(e,t)=>{const r=await YS.createFromProtobuf(e);if(!await r.validate(t))throw new Le("envelope signature is not valid for the given domain",OS);return r}));const XS=(e,t,r)=>{const n=Hn(e),i=is.encode(n.byteLength),o=is.encode(t.length),s=is.encode(r.length);return new Ho(i,n,o,t,s,r)};function JS(e,t){const r=(e,t)=>e.toString().localeCompare(t.toString());return e.length===t.length&&(t.sort(r),e.sort(r).every(((e,r)=>t[r].equals(e))))}const $S=Gn,ZS=Wn,eA=function(e){let t=0;if(e=e.toString().trim(),$S(e)){const r=new Uint8Array(t+4);return e.split(/\./g).forEach((e=>{r[t++]=255&parseInt(e,10)})),r}if(ZS(e)){const r=e.split(":",8);let n;for(n=0;n<r.length;n++){let e;$S(r[n])&&(e=eA(r[n]),r[n]=an(e.slice(0,2),"base16")),null!=e&&++n<8&&r.splice(n,0,an(e.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++);const e=[n,1];for(n=9-r.length;n>0;n--)e.push("0");r.splice.apply(r,e)}const i=new Uint8Array(t+16);for(n=0;n<r.length;n++){const e=parseInt(r[n],16);i[t++]=e>>8&255,i[t++]=255&e}return i}throw new Error("invalid ip address")},tA=-1,rA={},nA={};function iA(e){if("number"===typeof e){if(null!=nA[e])return nA[e];throw new Error("no protocol with code: ".concat(e))}if("string"===typeof e){if(null!=rA[e])return rA[e];throw new Error("no protocol with name: ".concat(e))}throw new Error("invalid protocol id type: ".concat(typeof e))}[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,tA,"ip6zone"],[43,8,"ipcidr"],[53,tA,"dns",!0],[54,tA,"dns4",!0],[55,tA,"dns6",!0],[56,tA,"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,tA,"unix",!1,!0],[421,tA,"ipfs"],[421,tA,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,tA,"garlic64"],[448,0,"tls"],[449,tA,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,tA,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,tA,"memory"]].forEach((e=>{const t=function(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:Boolean(n),path:Boolean(i)}}(...e);nA[t.code]=t,rA[t.name]=t}));iA("ip4"),iA("ip6"),iA("ipcidr");function oA(e,t){switch(iA(e).code){case 4:case 41:return function(e){const t=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;r=~~r,n=null!==(t=n)&&void 0!==t?t:e.length-r;const i=new DataView(e.buffer);if(4===n){const t=[];for(let i=0;i<n;i++)t.push(e[r+i]);return t.join(".")}if(16===n){const e=[];for(let t=0;t<n;t+=2)e.push(i.getUint16(r+t).toString(16));return e.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""}(e,0,e.length);if(null==t)throw new Error("ipBuff is required");if(!Qn(t))throw new Error("invalid ip address");return t}(t);case 42:case 53:case 54:case 55:case 56:case 400:case 449:case 777:return pA(t);case 6:case 273:case 33:case 132:return hA(t).toString();case 421:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return an(r,"base58btc")}(t);case 444:case 445:return fA(t);case 466:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+an(r,"base64url")}(t);default:return an(t,"base16")}}function sA(e,t){switch(iA(e).code){case 4:case 41:return lA(t);case 42:case 53:case 54:case 55:case 56:case 400:case 449:case 777:return dA(t);case 6:case 273:case 33:case 132:return uA(parseInt(t,10));case 421:return function(e){let t;t="Q"===e[0]||"1"===e[0]?Y_(o_.decode("z".concat(e))).bytes:mS.parse(e).multihash.bytes;const r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);case 444:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(16!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion address."));const r=p_.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)");const i=uA(n);return ln([r,i],r.length+i.length)}(t);case 445:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(56!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion3 address."));const r=p_.decode("b".concat(t[0])),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");const i=uA(n);return ln([r,i],r.length+i.length)}(t);case 466:return function(e){const t=cA.decode(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);default:return Hn(t,"base16")}}const aA=Object.values(CS).map((e=>e.decoder)),cA=function(){let e=aA[0].or(aA[1]);return aA.slice(2).forEach((t=>e=e.or(t))),e}();function lA(e){if(!Qn(e))throw new Error("invalid ip address");return eA(e)}function uA(e){const t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function hA(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function dA(e){const t=Hn(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}function pA(e){const t=cn.decode(e);if((e=e.slice(cn.decode.bytes)).length!==t)throw new Error("inconsistent lengths");return an(e)}function fA(e){const t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=an(t,"base32"),i=hA(r);return"".concat(n,":").concat(i)}function gA(e){return e.map((e=>{const t=CA(e);return null!=e[1]?[t.code,oA(t.code,e[1])]:[t.code]}))}function yA(e){return EA(ln(e.map((e=>{const t=CA(e);let r=Uint8Array.from(cn.encode(t.code));return e.length>1&&null!=e[1]&&(r=ln([r,e[1]])),r}))))}function mA(e,t){if(e.size>0)return e.size/8;if(0===e.size)return 0;var r;return cn.decode(t)+(null!==(r=cn.decode.bytes)&&void 0!==r?r:0)}function vA(e){const t=[];let r=0;for(;r<e.length;){var n;const i=cn.decode(e,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0,s=mA(iA(i),e.slice(r+o));if(0===s){t.push([i]),r+=o;continue}const a=e.slice(r+o,r+o+s);if(r+=s+o,r>e.length)throw AA("Invalid address Uint8Array: "+an(e,"base16"));t.push([i,a])}return t}function bA(e){return function(e){const t=[];return e.map((e=>{const r=CA(e);return t.push(r.name),e.length>1&&null!=e[1]&&t.push(e[1]),null})),SA(t.join("/"))}(gA(vA(e)))}function wA(e){const t=function(e){const t=[],r=e.split("/").slice(1);if(1===r.length&&""===r[0])return[];for(let n=0;n<r.length;n++){const i=r[n],o=iA(i);if(0!==o.size){if(n++,n>=r.length)throw AA("invalid address: "+e);if(!0===o.path){t.push([i,SA(r.slice(n).join("/"))]);break}t.push([i,r[n]])}else t.push([i])}return t}(e=SA(e));return yA(t.map((e=>{Array.isArray(e)||(e=[e]);const t=CA(e);return e.length>1?[t.code,sA(t.code,e[1])]:[t.code]})))}function EA(e){const t=_A(e);if(null!=t)throw t;return Uint8Array.from(e)}function _A(e){try{vA(e)}catch(t){return t}}function SA(e){return"/"+e.trim().split("/").filter((e=>e)).join("/")}function AA(e){return new Error("Error parsing address: "+e)}function CA(e){return iA(e[0])}const IA=Symbol.for("nodejs.util.inspect.custom"),TA=[iA("dns").code,iA("dns4").code,iA("dns6").code,iA("dnsaddr").code],kA=new Map,RA=Symbol.for("@multiformats/js-multiaddr/multiaddr");function PA(e){return Boolean(null===e||void 0===e?void 0:e[RA])}var DA=new WeakMap,NA=new WeakMap,LA=new WeakMap,xA=new WeakMap;class OA{constructor(e){if(Ce(this,"bytes",void 0),ke(this,DA,{writable:!0,value:void 0}),ke(this,NA,{writable:!0,value:void 0}),ke(this,LA,{writable:!0,value:void 0}),ke(this,xA,{writable:!0,value:void 0}),Ce(this,RA,!0),null==e&&(e=""),e instanceof Uint8Array)this.bytes=EA(e);else if("string"===typeof e){if(e.length>0&&"/"!==e.charAt(0))throw new Error('multiaddr "'.concat(e,'" must start with a "/"'));this.bytes=wA(e)}else{if(!PA(e))throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=EA(e.bytes)}}toString(){return null==De(this,DA)&&Pe(this,DA,bA(this.bytes)),De(this,DA)}toJSON(){return this.toString()}toOptions(){let e,t,r,n,i="";const o=iA("tcp"),s=iA("udp"),a=iA("ip4"),c=iA("ip6"),l=iA("dns6"),u=iA("ip6zone");for(const[h,d]of this.stringTuples())h===u.code&&(i="%".concat(null!==d&&void 0!==d?d:"")),TA.includes(h)&&(t=o.name,n=443,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===l.code?6:4),h!==o.code&&h!==s.code||(t=iA(h).name,n=parseInt(null!==d&&void 0!==d?d:"")),h!==a.code&&h!==c.code||(t=iA(h).name,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===c.code?6:4);if(null==e||null==t||null==r||null==n)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:r,transport:t,port:n}}protos(){return this.protoCodes().map((e=>Object.assign({},iA(e))))}protoCodes(){const e=[],t=this.bytes;let r=0;for(;r<t.length;){var n;const i=cn.decode(t,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0;r+=mA(iA(i),t.slice(r+o))+o,e.push(i)}return e}protoNames(){return this.protos().map((e=>e.name))}tuples(){return null==De(this,NA)&&Pe(this,NA,vA(this.bytes)),De(this,NA)}stringTuples(){return null==De(this,LA)&&Pe(this,LA,gA(this.tuples())),De(this,LA)}encapsulate(e){return e=new OA(e),new OA(this.toString()+e.toString())}decapsulate(e){const t=e.toString(),r=this.toString(),n=r.lastIndexOf(t);if(n<0)throw new Error("Address ".concat(this.toString()," does not contain subaddress: ").concat(e.toString()));return new OA(r.slice(0,n))}decapsulateCode(e){const t=this.tuples();for(let r=t.length-1;r>=0;r--)if(t[r][0]===e)return new OA(yA(t.slice(0,r)));return this}getPeerId(){try{const e=this.stringTuples().filter((e=>e[0]===rA.ipfs.code)),t=e.pop();if(null!=(null===t||void 0===t?void 0:t[1])){const e=t[1];return"Q"===e[0]||"1"===e[0]?an(o_.decode("z".concat(e)),"base58btc"):an(mS.parse(e).multihash.bytes,"base58btc")}return null}catch(e){return null}}getPath(){if(void 0===De(this,xA))try{Pe(this,xA,this.stringTuples().filter((e=>!0===iA(e[0]).path))[0][1]),null==De(this,xA)&&Pe(this,xA,null)}catch{Pe(this,xA,null)}return De(this,xA)}equals(e){return Nt(this.bytes,e.bytes)}async resolve(e){const t=this.protos().find((e=>e.resolvable));if(null==t)return[this];const r=kA.get(t.name);if(null==r)throw new Le("no available resolver for ".concat(t.name),"ERR_NO_AVAILABLE_RESOLVER");return(await r(this,e)).map((e=>new OA(e)))}nodeAddress(){const e=this.toOptions();if("tcp"!==e.transport&&"udp"!==e.transport)throw new Error('multiaddr must have a valid format - no protocol with name: "'.concat(e.transport,'". Must have a valid transport protocol: "{tcp, udp}"'));return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){const t=(null!==e&&void 0!==e?e:this).protos();return 2===t.length&&((4===t[0].code||41===t[0].code)&&(6===t[1].code||273===t[1].code))}[IA](){return"Multiaddr(".concat(bA(this.bytes),")")}}const BA=Uint8Array.from([3,1]);var MA;!function(e){let t,r;!function(e){let t;e.codec=()=>(null==t&&(t=QS((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.multiaddr&&e.multiaddr.byteLength>0&&(t.uint32(10),t.bytes(e.multiaddr)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={multiaddr:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)r.multiaddr=e.bytes();else e.skipType(7&t)}return r}))),t),e.encode=t=>HS(t,e.codec()),e.decode=t=>qS(t,e.codec())}(t=e.AddressInfo||(e.AddressInfo={})),e.codec=()=>(null==r&&(r=QS((function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==n.lengthDelimited&&r.fork(),null!=t.peerId&&t.peerId.byteLength>0&&(r.uint32(10),r.bytes(t.peerId)),null!=t.seq&&0n!==t.seq&&(r.uint32(16),r.uint64(t.seq)),null!=t.addresses)for(const i of t.addresses)r.uint32(26),e.AddressInfo.codec().encode(i,r);!1!==n.lengthDelimited&&r.ldelim()}),((t,r)=>{const n={peerId:new Uint8Array(0),seq:0n,addresses:[]},i=null==r?t.len:t.pos+r;for(;t.pos<i;){const r=t.uint32();switch(r>>>3){case 1:n.peerId=t.bytes();break;case 2:n.seq=t.uint64();break;case 3:n.addresses.push(e.AddressInfo.codec().decode(t,t.uint32()));break;default:t.skipType(7&r)}}return n}))),r),e.encode=t=>HS(t,e.codec()),e.decode=t=>qS(t,e.codec())}(MA||(MA={}));class UA{constructor(e){Ce(this,"peerId",void 0),Ce(this,"multiaddrs",void 0),Ce(this,"seqNumber",void 0),Ce(this,"domain",UA.DOMAIN),Ce(this,"codec",UA.CODEC),Ce(this,"marshaled",void 0);const{peerId:t,multiaddrs:r,seqNumber:n}=e;this.peerId=t,this.multiaddrs=null!==r&&void 0!==r?r:[],this.seqNumber=null!==n&&void 0!==n?n:BigInt(Date.now())}marshal(){return null==this.marshaled&&(this.marshaled=MA.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map((e=>({multiaddr:e.bytes})))})),this.marshaled}equals(e){return e instanceof UA&&(!!this.peerId.equals(e.peerId)&&(this.seqNumber===e.seqNumber&&!!JS(this.multiaddrs,e.multiaddrs)))}}Ce(UA,"createFromProtobuf",(e=>{var t;const r=MA.decode(e),n=xS(r.peerId),i=(null!==(t=r.addresses)&&void 0!==t?t:[]).map((e=>{return t=e.multiaddr,new OA(t);var t})),o=r.seq;return new UA({peerId:n,multiaddrs:i,seqNumber:o})})),Ce(UA,"DOMAIN","libp2p-peer-record"),Ce(UA,"CODEC",BA);const FA=Symbol.for("@libp2p/topology");let VA;const jA=()=>{};VA=Symbol.toStringTag;class zA{constructor(e){var t,r,n,i;Ce(this,"min",void 0),Ce(this,"max",void 0),Ce(this,"peers",void 0),Ce(this,"onConnect",void 0),Ce(this,"onDisconnect",void 0),Ce(this,"registrar",void 0),Ce(this,FA,!0),this.min=null!==(t=e.min)&&void 0!==t?t:0,this.max=null!==(r=e.max)&&void 0!==r?r:1/0,this.peers=new Set,this.onConnect=null!==(n=e.onConnect)&&void 0!==n?n:jA,this.onDisconnect=null!==(i=e.onDisconnect)&&void 0!==i?i:jA}get[VA](){return FA.toString()}async setRegistrar(e){this.registrar=e}disconnect(e){this.onDisconnect(e)}}class KA{constructor(e,t,r){this.gossip=e,this.msgs=new Map,this.history=[],this.notValidatedCount=0,this.msgIdToStrFn=r;for(let n=0;n<t;n++)this.history[n]=[]}get size(){return this.msgs.size}put(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const{msgIdStr:n}=e;return!this.msgs.has(n)&&(this.msgs.set(n,{message:t,validated:r,originatingPeers:new Set,iwantCounts:new Map}),this.history[0].push({...e,topic:t.topic}),r||this.notValidatedCount++,!0)}observeDuplicate(e,t){const r=this.msgs.get(e);r&&!r.validated&&r.originatingPeers.add(t)}get(e){var t;return null===(t=this.msgs.get(this.msgIdToStrFn(e)))||void 0===t?void 0:t.message}getWithIWantCount(e,t){var r;const n=this.msgs.get(e);if(!n)return null;const i=(null!==(r=n.iwantCounts.get(t))&&void 0!==r?r:0)+1;return n.iwantCounts.set(t,i),{msg:n.message,count:i}}getGossipIDs(e){const t=new Map;for(let r=0;r<this.gossip;r++)this.history[r].forEach((r=>{const n=this.msgs.get(r.msgIdStr);if(n&&n.validated&&e.has(r.topic)){let e=t.get(r.topic);e||(e=[],t.set(r.topic,e)),e.push(r.msgId)}}));return t}validate(e){const t=this.msgs.get(e);if(!t)return null;t.validated||this.notValidatedCount--;const{message:r,originatingPeers:n}=t;return t.validated=!0,t.originatingPeers=new Set,{message:r,originatingPeers:n}}shift(){this.history[this.history.length-1].forEach((e=>{const t=this.msgs.get(e.msgIdStr);t&&(this.msgs.delete(e.msgIdStr),t.validated||this.notValidatedCount--)})),this.history.pop(),this.history.unshift([])}remove(e){const t=this.msgs.get(e);return t?(this.msgs.delete(e),t):null}}var qA=__webpack_require__(8386);const{RPC:HA}=qA,GA="/floodsub/1.0.0",WA="/meshsub/1.0.0",QA="/meshsub/1.1.0",YA=5e3;function XA(e){if(e.length<=1)return e;for(let t=0;t<e.length;t++){const r=Math.floor(Math.random()*Math.floor(e.length)),n=e[t];e[t]=e[r],e[r]=n}return e}function JA(e){return an(e,"base64")}const $A="StrictSign",ZA="StrictNoSign";var eC,tC,rC,nC,iC,oC;function sC(e){switch(e){case eC.Ignore:return nC.Ignore;case eC.Reject:return nC.Reject}}!function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"}(eC||(eC={})),function(e){e.StrictSign="StrictSign",e.StrictNoSign="StrictNoSign"}(tC||(tC={})),function(e){e[e.Signing=0]="Signing",e[e.Anonymous=1]="Anonymous"}(rC||(rC={})),function(e){e.Error="error",e.Ignore="ignore",e.Reject="reject",e.Blacklisted="blacklisted"}(nC||(nC={})),function(e){e.InvalidSignature="invalid_signature",e.InvalidSeqno="invalid_seqno",e.InvalidPeerId="invalid_peerid",e.SignaturePresent="signature_present",e.SeqnoPresent="seqno_present",e.FromPresent="from_present",e.TransformFailed="transform_failed"}(iC||(iC={})),function(e){e.duplicate="duplicate",e.invalid="invalid",e.valid="valid"}(oC||(oC={}));const aC="ERR_INVALID_PEER_SCORE_PARAMS",cC={topics:{},topicScoreCap:10,appSpecificScore:()=>0,appSpecificWeight:10,IPColocationFactorWeight:-5,IPColocationFactorThreshold:10,IPColocationFactorWhitelist:new Set,behaviourPenaltyWeight:-10,behaviourPenaltyThreshold:0,behaviourPenaltyDecay:.2,decayInterval:1e3,decayToZero:.1,retainScore:36e5},lC={topicWeight:.5,timeInMeshWeight:1,timeInMeshQuantum:1,timeInMeshCap:3600,firstMessageDeliveriesWeight:1,firstMessageDeliveriesDecay:.5,firstMessageDeliveriesCap:2e3,meshMessageDeliveriesWeight:-1,meshMessageDeliveriesDecay:.5,meshMessageDeliveriesCap:100,meshMessageDeliveriesThreshold:20,meshMessageDeliveriesWindow:10,meshMessageDeliveriesActivation:5e3,meshFailurePenaltyWeight:-1,meshFailurePenaltyDecay:.5,invalidMessageDeliveriesWeight:-1,invalidMessageDeliveriesDecay:.3};function uC(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{...cC,...e,topics:e.topics?Object.entries(e.topics).reduce(((e,t)=>{let[r,n]=t;return e[r]=hC(n),e}),{}):{}}}function hC(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{...lC,...e}}function dC(e){if(e.topicWeight<0)throw new Le("invalid topic weight; must be >= 0",aC);if(0===e.timeInMeshQuantum)throw new Le("invalid TimeInMeshQuantum; must be non zero",aC);if(e.timeInMeshWeight<0)throw new Le("invalid TimeInMeshWeight; must be positive (or 0 to disable)",aC);if(0!==e.timeInMeshWeight&&e.timeInMeshQuantum<=0)throw new Le("invalid TimeInMeshQuantum; must be positive",aC);if(0!==e.timeInMeshWeight&&e.timeInMeshCap<=0)throw new Le("invalid TimeInMeshCap; must be positive",aC);if(e.firstMessageDeliveriesWeight<0)throw new Le("invallid FirstMessageDeliveriesWeight; must be positive (or 0 to disable)",aC);if(0!==e.firstMessageDeliveriesWeight&&(e.firstMessageDeliveriesDecay<=0||e.firstMessageDeliveriesDecay>=1))throw new Le("invalid FirstMessageDeliveriesDecay; must be between 0 and 1",aC);if(0!==e.firstMessageDeliveriesWeight&&e.firstMessageDeliveriesCap<=0)throw new Le("invalid FirstMessageDeliveriesCap; must be positive",aC);if(e.meshMessageDeliveriesWeight>0)throw new Le("invalid MeshMessageDeliveriesWeight; must be negative (or 0 to disable)",aC);if(0!==e.meshMessageDeliveriesWeight&&(e.meshMessageDeliveriesDecay<=0||e.meshMessageDeliveriesDecay>=1))throw new Le("invalid MeshMessageDeliveriesDecay; must be between 0 and 1",aC);if(0!==e.meshMessageDeliveriesWeight&&e.meshMessageDeliveriesCap<=0)throw new Le("invalid MeshMessageDeliveriesCap; must be positive",aC);if(0!==e.meshMessageDeliveriesWeight&&e.meshMessageDeliveriesThreshold<=0)throw new Le("invalid MeshMessageDeliveriesThreshold; must be positive",aC);if(e.meshMessageDeliveriesWindow<0)throw new Le("invalid MeshMessageDeliveriesWindow; must be non-negative",aC);if(0!==e.meshMessageDeliveriesWeight&&e.meshMessageDeliveriesActivation<1e3)throw new Le("invalid MeshMessageDeliveriesActivation; must be at least 1s",aC);if(e.meshFailurePenaltyWeight>0)throw new Le("invalid MeshFailurePenaltyWeight; must be negative (or 0 to disable)",aC);if(0!==e.meshFailurePenaltyWeight&&(e.meshFailurePenaltyDecay<=0||e.meshFailurePenaltyDecay>=1))throw new Le("invalid MeshFailurePenaltyDecay; must be between 0 and 1",aC);if(e.invalidMessageDeliveriesWeight>0)throw new Le("invalid InvalidMessageDeliveriesWeight; must be negative (or 0 to disable)",aC);if(e.invalidMessageDeliveriesDecay<=0||e.invalidMessageDeliveriesDecay>=1)throw new Le("invalid InvalidMessageDeliveriesDecay; must be between 0 and 1",aC)}const pC={gossipThreshold:-10,publishThreshold:-50,graylistThreshold:-80,acceptPXThreshold:10,opportunisticGraftThreshold:20};function fC(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{...pC,...e}}function gC(e,t,r,n){let i=0;Object.entries(t.topics).forEach((e=>{let[t,n]=e;const o=r.topics[t];if(void 0===o)return;let s=0;if(n.inMesh){let e=n.meshTime/o.timeInMeshQuantum;e>o.timeInMeshCap&&(e=o.timeInMeshCap),s+=e*o.timeInMeshWeight}let a=n.firstMessageDeliveries;if(a>o.firstMessageDeliveriesCap&&(a=o.firstMessageDeliveriesCap),s+=a*o.firstMessageDeliveriesWeight,n.meshMessageDeliveriesActive&&n.meshMessageDeliveries<o.meshMessageDeliveriesThreshold){const e=o.meshMessageDeliveriesThreshold-n.meshMessageDeliveries;s+=e*e*o.meshMessageDeliveriesWeight}s+=n.meshFailurePenalty*o.meshFailurePenaltyWeight;s+=n.invalidMessageDeliveries*n.invalidMessageDeliveries*o.invalidMessageDeliveriesWeight,i+=s*o.topicWeight})),r.topicScoreCap>0&&i>r.topicScoreCap&&(i=r.topicScoreCap);const o=r.appSpecificScore(e);if(i+=o*r.appSpecificWeight,t.knownIPs.forEach((e=>{if(r.IPColocationFactorWhitelist.has(e))return;const t=n.get(e),o=t?t.size:0;if(o>r.IPColocationFactorThreshold){const e=o-r.IPColocationFactorThreshold;i+=e*e*r.IPColocationFactorWeight}})),t.behaviourPenalty>r.behaviourPenaltyThreshold){const e=t.behaviourPenalty-r.behaviourPenaltyThreshold;i+=e*e*r.behaviourPenaltyWeight}return i}var yC,mC=__webpack_require__(3331);!function(e){e[e.unknown=0]="unknown",e[e.valid=1]="valid",e[e.invalid=2]="invalid",e[e.ignored=3]="ignored"}(yC||(yC={}));class vC{constructor(){this.records=new Map,this.queue=new mC}ensureRecord(e){let t=this.records.get(e);if(t)return t;t={status:yC.unknown,firstSeen:Date.now(),validated:0,peers:new Set},this.records.set(e,t);const r={msgId:e,expire:Date.now()+12e4};return this.queue.push(r),t}gc(){const e=Date.now();let t=this.queue.peekFront();for(;t&&t.expire<e;)this.records.delete(t.msgId),this.queue.shift(),t=this.queue.peekFront()}clear(){this.records.clear(),this.queue.clear()}}function bC(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>!0;const n=new Set;if(t<=0)return n;for(const i of e){if(n.size>=t)break;r(i)&&(n.add(i),e.delete(i))}return n}class wC extends Map{constructor(e){super(),this.getDefault=e}getOrDefault(e){let t=super.get(e);return void 0===t&&(t=this.getDefault(),this.set(e,t)),t}}const EC=nd("libp2p:gossipsub:score");class _C{constructor(e,t,r){var n;this.params=e,this.metrics=t,this.peerStats=new Map,this.peerIPs=new wC((()=>new Set)),this.scoreCache=new Map,this.deliveryRecords=new vC,function(e){for(const[r,n]of Object.entries(e.topics))try{dC(n)}catch(t){throw new Le("invalid score parameters for topic ".concat(r,": ").concat(t.message),aC)}if(e.topicScoreCap<0)throw new Le("invalid topic score cap; must be positive (or 0 for no cap)",aC);if(null===e.appSpecificScore||void 0===e.appSpecificScore)throw new Le("missing application specific score function",aC);if(e.IPColocationFactorWeight>0)throw new Le("invalid IPColocationFactorWeight; must be negative (or 0 to disable)",aC);if(0!==e.IPColocationFactorWeight&&e.IPColocationFactorThreshold<1)throw new Le("invalid IPColocationFactorThreshold; must be at least 1",aC);if(e.behaviourPenaltyWeight>0)throw new Le("invalid BehaviourPenaltyWeight; must be negative (or 0 to disable)",aC);if(0!==e.behaviourPenaltyWeight&&(e.behaviourPenaltyDecay<=0||e.behaviourPenaltyDecay>=1))throw new Le("invalid BehaviourPenaltyDecay; must be between 0 and 1",aC);if(e.decayInterval<1e3)throw new Le("invalid DecayInterval; must be at least 1s",aC);if(e.decayToZero<=0||e.decayToZero>=1)throw new Le("invalid DecayToZero; must be between 0 and 1",aC)}(e),this.scoreCacheValidityMs=r.scoreCacheValidityMs,this.computeScore=null!==(n=r.computeScore)&&void 0!==n?n:gC}get size(){return this.peerStats.size}start(){this._backgroundInterval?EC("Peer score already running"):(this._backgroundInterval=setInterval((()=>this.background()),this.params.decayInterval),EC("started"))}stop(){this._backgroundInterval?(clearInterval(this._backgroundInterval),delete this._backgroundInterval,this.peerIPs.clear(),this.peerStats.clear(),this.deliveryRecords.clear(),EC("stopped")):EC("Peer score already stopped")}background(){this.refreshScores(),this.deliveryRecords.gc()}dumpPeerScoreStats(){return Object.fromEntries(Array.from(this.peerStats.entries()).map((e=>{let[t,r]=e;return[t,r]})))}refreshScores(){const e=Date.now(),t=this.params.decayToZero;this.peerStats.forEach(((r,n)=>{r.connected?(Object.entries(r.topics).forEach((r=>{let[n,i]=r;const o=this.params.topics[n];void 0!==o&&(i.firstMessageDeliveries*=o.firstMessageDeliveriesDecay,i.firstMessageDeliveries<t&&(i.firstMessageDeliveries=0),i.meshMessageDeliveries*=o.meshMessageDeliveriesDecay,i.meshMessageDeliveries<t&&(i.meshMessageDeliveries=0),i.meshFailurePenalty*=o.meshFailurePenaltyDecay,i.meshFailurePenalty<t&&(i.meshFailurePenalty=0),i.invalidMessageDeliveries*=o.invalidMessageDeliveriesDecay,i.invalidMessageDeliveries<t&&(i.invalidMessageDeliveries=0),i.inMesh&&(i.meshTime=e-i.graftTime,i.meshTime>o.meshMessageDeliveriesActivation&&(i.meshMessageDeliveriesActive=!0)))})),r.behaviourPenalty*=this.params.behaviourPenaltyDecay,r.behaviourPenalty<t&&(r.behaviourPenalty=0)):e>r.expire&&(this.removeIPsForPeer(n,r.knownIPs),this.peerStats.delete(n),this.scoreCache.delete(n))}))}score(e){var t,r;null===(t=this.metrics)||void 0===t||t.scoreFnCalls.inc();const n=this.peerStats.get(e);if(!n)return 0;const i=Date.now(),o=this.scoreCache.get(e);if(o&&o.cacheUntil>i)return o.score;null===(r=this.metrics)||void 0===r||r.scoreFnRuns.inc();const s=this.computeScore(e,n,this.params,this.peerIPs),a=i+this.scoreCacheValidityMs;var c;o?(null===(c=this.metrics)||void 0===c||c.scoreCachedDelta.observe(Math.abs(s-o.score)),o.score=s,o.cacheUntil=a):this.scoreCache.set(e,{score:s,cacheUntil:a});return s}addPenalty(e,t,r){const n=this.peerStats.get(e);var i;n&&(n.behaviourPenalty+=t,null===(i=this.metrics)||void 0===i||i.onScorePenalty(r))}addPeer(e){const t={connected:!0,expire:0,topics:{},knownIPs:new Set,behaviourPenalty:0};this.peerStats.set(e,t)}addIP(e,t){const r=this.peerStats.get(e);r&&r.knownIPs.add(t),this.peerIPs.getOrDefault(t).add(e)}removeIP(e,t){const r=this.peerStats.get(e);r&&r.knownIPs.delete(t);const n=this.peerIPs.get(t);n&&(n.delete(e),0===n.size&&this.peerIPs.delete(t))}removePeer(e){const t=this.peerStats.get(e);if(t){if(this.score(e)>0)return this.removeIPsForPeer(e,t.knownIPs),void this.peerStats.delete(e);Object.entries(t.topics).forEach((e=>{let[t,r]=e;r.firstMessageDeliveries=0;const n=this.params.topics[t].meshMessageDeliveriesThreshold;if(r.inMesh&&r.meshMessageDeliveriesActive&&r.meshMessageDeliveries<n){const e=n-r.meshMessageDeliveries;r.meshFailurePenalty+=e*e}r.inMesh=!1,r.meshMessageDeliveriesActive=!1})),t.connected=!1,t.expire=Date.now()+this.params.retainScore}}graft(e,t){const r=this.peerStats.get(e);if(r){const e=this.getPtopicStats(r,t);e&&(e.inMesh=!0,e.graftTime=Date.now(),e.meshTime=0,e.meshMessageDeliveriesActive=!1)}}prune(e,t){const r=this.peerStats.get(e);if(r){const e=this.getPtopicStats(r,t);if(e){const r=this.params.topics[t].meshMessageDeliveriesThreshold;if(e.meshMessageDeliveriesActive&&e.meshMessageDeliveries<r){const t=r-e.meshMessageDeliveries;e.meshFailurePenalty+=t*t}e.meshMessageDeliveriesActive=!1,e.inMesh=!1}}}validateMessage(e){this.deliveryRecords.ensureRecord(e)}deliverMessage(e,t,r){this.markFirstMessageDelivery(e,r);const n=this.deliveryRecords.ensureRecord(t),i=Date.now();n.status===yC.unknown?(n.status=yC.valid,n.validated=i,n.peers.forEach((t=>{t!==e.toString()&&this.markDuplicateMessageDelivery(t,r)}))):EC("unexpected delivery: message from %s was first seen %s ago and has delivery status %s",e,i-n.firstSeen,yC[n.status])}rejectInvalidMessage(e,t){this.markInvalidMessageDelivery(e,t)}rejectMessage(e,t,r,n){switch(n){case nC.Error:return void this.markInvalidMessageDelivery(e,r);case nC.Blacklisted:return}const i=this.deliveryRecords.ensureRecord(t);if(i.status===yC.unknown){if(n===nC.Ignore)return i.status=yC.ignored,void i.peers.clear();i.status=yC.invalid,this.markInvalidMessageDelivery(e,r),i.peers.forEach((e=>{this.markInvalidMessageDelivery(e,r)})),i.peers.clear()}else EC("unexpected rejection: message from %s was first seen %s ago and has delivery status %d",e,Date.now()-i.firstSeen,yC[i.status])}duplicateMessage(e,t,r){const n=this.deliveryRecords.ensureRecord(t);if(!n.peers.has(e))switch(n.status){case yC.unknown:n.peers.add(e);break;case yC.valid:n.peers.add(e),this.markDuplicateMessageDelivery(e,r,n.validated);break;case yC.invalid:this.markInvalidMessageDelivery(e,r);case yC.ignored:}}markInvalidMessageDelivery(e,t){const r=this.peerStats.get(e);if(r){const e=this.getPtopicStats(r,t);e&&(e.invalidMessageDeliveries+=1)}}markFirstMessageDelivery(e,t){const r=this.peerStats.get(e);if(r){const e=this.getPtopicStats(r,t);if(e){let r=this.params.topics[t].firstMessageDeliveriesCap;e.firstMessageDeliveries=Math.min(r,e.firstMessageDeliveries+1),e.inMesh&&(r=this.params.topics[t].meshMessageDeliveriesCap,e.meshMessageDeliveries=Math.min(r,e.meshMessageDeliveries+1))}}}markDuplicateMessageDelivery(e,t,r){const n=this.peerStats.get(e);if(n){const e=void 0!==r?Date.now():0,o=this.getPtopicStats(n,t);if(o&&o.inMesh){const n=this.params.topics[t];if(void 0!==r){var i;const o=e-r,s=o>n.meshMessageDeliveriesWindow;if(null===(i=this.metrics)||void 0===i||i.onDuplicateMsgDelivery(t,o,s),s)return}const s=n.meshMessageDeliveriesCap;o.meshMessageDeliveries=Math.min(s,o.meshMessageDeliveries+1)}}}removeIPsForPeer(e,t){for(const r of t){const t=this.peerIPs.get(r);t&&(t.delete(e),0===t.size&&this.peerIPs.delete(r))}}getPtopicStats(e,t){let r=e.topics[t];return void 0!==r?r:void 0!==this.params.topics[t]?(r={inMesh:!1,graftTime:0,meshTime:0,firstMessageDeliveries:0,meshMessageDeliveries:0,meshMessageDeliveriesActive:!1,meshFailurePenalty:0,invalidMessageDeliveries:0},e.topics[t]=r,r):null}}class SC{constructor(e,t,r){this.gossipsubIWantFollowupMs=e,this.msgIdToStrFn=t,this.metrics=r,this.promises=new Map,this.requestMsByMsg=new Map,this.requestMsByMsgExpire=10*e}get size(){return this.promises.size}get requestMsByMsgSize(){return this.requestMsByMsg.size}addPromise(e,t){const r=t[Math.floor(Math.random()*t.length)],n=this.msgIdToStrFn(r);let i=this.promises.get(n);i||(i=new Map,this.promises.set(n,i));const o=Date.now();i.has(e)||(i.set(e,o+this.gossipsubIWantFollowupMs),this.metrics&&(this.metrics.iwantPromiseStarted.inc(1),this.requestMsByMsg.has(n)||this.requestMsByMsg.set(n,o)))}getBrokenPromises(){var e;const t=Date.now(),r=new Map;let n=0;return this.promises.forEach(((e,i)=>{e.forEach(((i,o)=>{var s;i<t&&(r.set(o,(null!==(s=r.get(o))&&void 0!==s?s:0)+1),e.delete(o),n++)})),e.size||this.promises.delete(i)})),null===(e=this.metrics)||void 0===e||e.iwantPromiseBroken.inc(n),r}deliverMessage(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.trackMessage(e);const r=this.promises.get(e);r&&(this.promises.delete(e),this.metrics&&(this.metrics.iwantPromiseResolved.inc(1),t&&this.metrics.iwantPromiseResolvedFromDuplicate.inc(1),this.metrics.iwantPromiseResolvedPeers.inc(r.size)))}rejectMessage(e,t){this.trackMessage(e),t!==nC.Error&&this.promises.delete(e)}clear(){this.promises.clear()}prune(){var e;const t=Date.now()-this.requestMsByMsgExpire;let r=0;for(const[n,i]of this.requestMsByMsg.entries()){if(!(i<t))break;this.requestMsByMsg.delete(n),r++}null===(e=this.metrics)||void 0===e||e.iwantMessagePruned.inc(r)}trackMessage(e){if(this.metrics){const t=this.requestMsByMsg.get(e);void 0!==t&&(this.metrics.iwantPromiseDeliveryTime.observe((Date.now()-t)/1e3),this.requestMsByMsg.delete(e))}}}class AC{constructor(e){this.entries=new Map,this.validityMs=e.validityMs}get size(){return this.entries.size}put(e,t){return!!this.entries.has(e)||(this.entries.set(e,{value:t,validUntilMs:Date.now()+this.validityMs}),!1)}prune(){const e=Date.now();for(const[t,r]of this.entries.entries()){if(!(r.validUntilMs<e))break;this.entries.delete(t)}}has(e){return this.entries.has(e)}get(e){const t=this.entries.get(e);return t&&t.validUntilMs>=Date.now()?t.value:void 0}clear(){this.entries.clear()}}var CC,IC,TC,kC,RC,PC;!function(e){e.forward="forward",e.publish="publish"}(CC||(CC={})),function(e){e.Fanout="fanout",e.Random="random",e.Subscribed="subscribed",e.Outbound="outbound",e.NotEnough="not_enough",e.Opportunistic="opportunistic"}(IC||(IC={})),function(e){e.Dc="disconnected",e.BadScore="bad_score",e.Prune="prune",e.Unsub="unsubscribed",e.Excess="excess"}(TC||(TC={})),function(e){e.GraftBackoff="graft_backoff",e.BrokenPromise="broken_promise",e.MessageDeficit="message_deficit",e.IPColocation="IP_colocation"}(kC||(kC={})),function(e){e.LowScore="low_score",e.MaxIhave="max_ihave",e.MaxIasked="max_iasked"}(RC||(RC={})),function(e){e.graylist="graylist",e.publish="publish",e.gossip="gossip",e.mesh="mesh"}(PC||(PC={}));__webpack_require__(5332);var DC=__webpack_require__(4021);const NC={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function LC(e,t,r,n,i){if("sha1"!==i&&"sha2-256"!==i&&"sha2-512"!==i){const e=Object.keys(NC).join(" / ");throw new Le("Hash '".concat(i,"' is unknown or not supported. Must be ").concat(e),"ERR_UNSUPPORTED_HASH_TYPE")}const o=DC(e,t,r,n,NC[i]);return Ol.encode64(o,null)}const xC=Hn("libp2p-pubsub:");function OC(e){if("signed"!==e.type)throw new Error("expected signed message type");if(null==e.sequenceNumber)throw Error("missing seqno field");return((e,t)=>{const r=Hn(t.toString(16).padStart(16,"0"),"base16"),n=new Uint8Array(e.length+r.length);return n.set(e,0),n.set(r,e.length),n})(e.from.toBytes(),e.sequenceNumber)}async function BC(e){return await eS.encode(e.data)}function MC(e,t,r,n,i){let o=0;const s=new Map;if(Object.entries(t.topics).forEach((e=>{var t;let[n,a]=e;const c=null!==(t=i.get(n))&&void 0!==t?t:"unknown",l=r.topics[n];if(void 0===l)return;let u=s.get(c);u||(u={p1w:0,p2w:0,p3w:0,p3bw:0,p4w:0},s.set(c,u));let h=0,d=0,p=0,f=0,g=0;if(a.inMesh){h+=Math.max(a.meshTime/l.timeInMeshQuantum,l.timeInMeshCap)*l.timeInMeshWeight}let y=a.firstMessageDeliveries;if(y>l.firstMessageDeliveriesCap&&(y=l.firstMessageDeliveriesCap),d+=y*l.firstMessageDeliveriesWeight,a.meshMessageDeliveriesActive&&a.meshMessageDeliveries<l.meshMessageDeliveriesThreshold){const e=l.meshMessageDeliveriesThreshold-a.meshMessageDeliveries;p+=e*e*l.meshMessageDeliveriesWeight}f+=a.meshFailurePenalty*l.meshFailurePenaltyWeight;g+=a.invalidMessageDeliveries*a.invalidMessageDeliveries*l.invalidMessageDeliveriesWeight,o+=(h+d+p+f+g)*l.topicWeight,u.p1w+=h,u.p2w+=d,u.p3w+=p,u.p3bw+=f,u.p4w+=g})),r.topicScoreCap>0&&o>r.topicScoreCap){o=r.topicScoreCap;const e=r.topicScoreCap/o;for(const t of s.values())t.p1w*=e,t.p2w*=e,t.p3w*=e,t.p3bw*=e,t.p4w*=e}let a=0,c=0,l=0;a+=r.appSpecificScore(e)*r.appSpecificWeight,t.knownIPs.forEach((e=>{if(r.IPColocationFactorWhitelist.has(e))return;const t=n.get(e),i=t?t.size:0;if(i>r.IPColocationFactorThreshold){const e=i-r.IPColocationFactorThreshold;c+=e*e*r.IPColocationFactorWeight}}));return l+=t.behaviourPenalty*t.behaviourPenalty*r.behaviourPenaltyWeight,o+=a+c+l,{byTopic:s,p5w:a,p6w:c,p7w:l,score:o}}class UC{constructor(e,t,r){var n;this.rawStream=e,this.pushable=$s({objectMode:!1}),this.closeController=new AbortController,this.maxBufferSize=null!==(n=r.maxBufferSize)&&void 0!==n?n:1/0,la(gd(this.pushable,this.closeController.signal,{returnOnAbort:!0}),ha(),this.rawStream).catch(t)}get protocol(){return this.rawStream.stat.protocol}push(e){if(this.pushable.readableLength>this.maxBufferSize)throw Error("OutboundStream buffer full, size > ".concat(this.maxBufferSize));this.pushable.push(e)}close(){this.closeController.abort(),this.pushable.return(),this.rawStream.close()}}class FC{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.rawStream=e,this.closeController=new AbortController,this.source=gd(la(this.rawStream,fa(t)),this.closeController.signal,{returnOnAbort:!0})}close(){this.closeController.abort(),this.rawStream.close()}}var VC=__webpack_require__(1359);const jC={maxSubscriptions:1/0,maxMessages:1/0,maxIhaveMessageIDs:1/0,maxIwantMessageIDs:1/0,maxControlMessages:1/0,maxPeerInfos:1/0};function zC(e,t){t={...t};const r=VC.Reader.create(e),n=e.length,i=void 0===n?r.len:r.pos+n,o={};for(;r.pos<i;){const e=r.uint32();switch(e>>>3){case 1:o.subscriptions&&o.subscriptions.length||(o.subscriptions=[]),o.subscriptions.length<t.maxSubscriptions?o.subscriptions.push(KC(r,r.uint32())):r.skipType(7&e);break;case 2:o.messages&&o.messages.length||(o.messages=[]),o.messages.length<t.maxMessages?o.messages.push(qC(r,r.uint32())):r.skipType(7&e);break;case 3:o.control=HC(r,r.uint32(),t);break;default:r.skipType(7&e)}}return o}function KC(e,t){const r=void 0===t?e.len:e.pos+t,n={};for(;e.pos<r;){const t=e.uint32();switch(t>>>3){case 1:n.subscribe=e.bool();break;case 2:n.topic=e.string();break;default:e.skipType(7&t)}}return n}function qC(e,t){const r=void 0===t?e.len:e.pos+t,n={};for(;e.pos<r;){const t=e.uint32();switch(t>>>3){case 1:n.from=e.bytes();break;case 2:n.data=e.bytes();break;case 3:n.seqno=e.bytes();break;case 4:n.topic=e.string();break;case 5:n.signature=e.bytes();break;case 6:n.key=e.bytes();break;default:e.skipType(7&t)}}if(!n.topic)throw Error("missing required 'topic'");return n}function HC(e,t,r){const n=void 0===t?e.len:e.pos+t,i={};for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:i.ihave&&i.ihave.length||(i.ihave=[]),i.ihave.length<r.maxControlMessages?i.ihave.push(GC(e,e.uint32(),r)):e.skipType(7&t);break;case 2:i.iwant&&i.iwant.length||(i.iwant=[]),i.iwant.length<r.maxControlMessages?i.iwant.push(WC(e,e.uint32(),r)):e.skipType(7&t);break;case 3:i.graft&&i.graft.length||(i.graft=[]),i.graft.length<r.maxControlMessages?i.graft.push(QC(e,e.uint32())):e.skipType(7&t);break;case 4:i.prune&&i.prune.length||(i.prune=[]),i.prune.length<r.maxControlMessages?i.prune.push(YC(e,e.uint32(),r)):e.skipType(7&t);break;default:e.skipType(7&t)}}return i}function GC(e,t,r){const n=void 0===t?e.len:e.pos+t,i={};for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:i.topicID=e.string();break;case 2:i.messageIDs&&i.messageIDs.length||(i.messageIDs=[]),r.maxIhaveMessageIDs-- >0?i.messageIDs.push(e.bytes()):e.skipType(7&t);break;default:e.skipType(7&t)}}return i}function WC(e,t,r){const n=void 0===t?e.len:e.pos+t,i={};for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)i.messageIDs&&i.messageIDs.length||(i.messageIDs=[]),r.maxIwantMessageIDs-- >0?i.messageIDs.push(e.bytes()):e.skipType(7&t);else e.skipType(7&t)}return i}function QC(e,t){const r=void 0===t?e.len:e.pos+t,n={};for(;e.pos<r;){const t=e.uint32();if(t>>>3===1)n.topicID=e.string();else e.skipType(7&t)}return n}function YC(e,t,r){const n=void 0===t?e.len:e.pos+t,i={};for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:i.topicID=e.string();break;case 2:i.peers&&i.peers.length||(i.peers=[]),r.maxPeerInfos-- >0?i.peers.push(XC(e,e.uint32())):e.skipType(7&t);break;case 3:i.backoff=e.uint64();break;default:e.skipType(7&t)}}return i}function XC(e,t){const r=void 0===t?e.len:e.pos+t,n={};for(;e.pos<r;){const t=e.uint32();switch(t>>>3){case 1:n.peerID=e.bytes();break;case 2:n.signedPeerRecord=e.bytes();break;default:e.skipType(7&t)}}return n}var JC;!function(e){e[e.ip4=4]="ip4",e[e.ip6=41]="ip6"}(JC||(JC={}));var $C;!function(e){e[e.started=0]="started",e[e.stopped=1]="stopped"}($C||($C={}));class ZC extends py{constructor(e){var t,r,n,i;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this.multicodecs=[QA,WA],this.peers=new Set,this.streamsInbound=new Map,this.streamsOutbound=new Map,this.outboundInflightQueue=$s({objectMode:!0}),this.direct=new Set,this.floodsubPeers=new Set,this.acceptFromWhitelist=new Map,this.topics=new Map,this.subscriptions=new Set,this.mesh=new Map,this.fanout=new Map,this.fanoutLastpub=new Map,this.gossip=new Map,this.control=new Map,this.peerhave=new Map,this.iasked=new Map,this.backoff=new Map,this.outbound=new Map,this.topicValidators=new Map,this.heartbeatTicks=0,this.directPeerInitial=null,this.status={code:$C.stopped},this.heartbeatTimer=null,this.runHeartbeat=()=>{var e;const t=null===(e=this.metrics)||void 0===e?void 0:e.heartbeatDuration.startTimer();this.heartbeat().catch((e=>{this.log("Error running heartbeat",e)})).finally((()=>{if(null!=t&&t(),this.status.code===$C.started){clearTimeout(this.status.heartbeatTimeout);let t=this.opts.heartbeatInterval-(Date.now()-this.status.hearbeatStartMs)%this.opts.heartbeatInterval;var e;if(t<.25*this.opts.heartbeatInterval)t+=this.opts.heartbeatInterval,null===(e=this.metrics)||void 0===e||e.heartbeatSkipped.inc();this.status.heartbeatTimeout=setTimeout(this.runHeartbeat,t)}}))};const s={fallbackToFloodsub:!0,floodPublish:!0,doPX:!1,directPeers:[],D:6,Dlo:4,Dhi:12,Dscore:4,Dout:2,Dlazy:6,heartbeatInterval:1e3,fanoutTTL:6e4,mcacheLength:5,mcacheGossip:3,seenTTL:12e4,gossipsubIWantFollowupMs:3e3,prunePeers:16,pruneBackoff:6e4,graftFloodThreshold:1e4,opportunisticGraftPeers:2,opportunisticGraftTicks:60,directConnectTicks:300,...o,scoreParams:uC(o.scoreParams),scoreThresholds:fC(o.scoreThresholds)};if(this.components=e,this.decodeRpcLimits=null!==(t=s.decodeRpcLimits)&&void 0!==t?t:jC,this.globalSignaturePolicy=null!==(r=s.globalSignaturePolicy)&&void 0!==r?r:$A,s.fallbackToFloodsub&&this.multicodecs.push(GA),this.log=nd(null!==(n=s.debugName)&&void 0!==n?n:"libp2p:gossipsub"),this.opts=s,this.direct=new Set(s.directPeers.map((e=>e.id.toString()))),this.seenCache=new AC({validityMs:s.seenTTL}),this.publishedMessageIds=new AC({validityMs:s.seenTTL}),o.msgIdFn)this.msgIdFn=o.msgIdFn;else switch(this.globalSignaturePolicy){case $A:this.msgIdFn=OC;break;case ZA:this.msgIdFn=BC}if(o.fastMsgIdFn&&(this.fastMsgIdFn=o.fastMsgIdFn,this.fastMsgIdCache=new AC({validityMs:s.seenTTL})),this.msgIdToStrFn=null!==(i=o.msgIdToStrFn)&&void 0!==i?i:JA,this.mcache=o.messageCache||new KA(s.mcacheGossip,s.mcacheLength,this.msgIdToStrFn),o.dataTransform&&(this.dataTransform=o.dataTransform),o.metricsRegister){if(!o.metricsTopicStrToLabel)throw Error("Must set metricsTopicStrToLabel with metrics");const e=Math.max(...Object.values(s.scoreParams.topics).map((e=>e.meshMessageDeliveriesWindow)),1e3),t=function(e,t,r){return{protocolsEnabled:e.gauge({name:"gossipsub_protocol",help:"Status of enabled protocols",labelNames:["protocol"]}),topicSubscriptionStatus:e.gauge({name:"gossipsub_topic_subscription_status",help:"Status of our subscription to this topic",labelNames:["topicStr"]}),topicPeersCount:e.gauge({name:"gossipsub_topic_peer_count",help:"Number of peers subscribed to each topic",labelNames:["topicStr"]}),meshPeerCounts:e.gauge({name:"gossipsub_mesh_peer_count",help:"Number of peers in our mesh",labelNames:["topicStr"]}),meshPeerInclusionEvents:e.gauge({name:"gossipsub_mesh_peer_inclusion_events_total",help:"Number of times we include peers in a topic mesh for different reasons",labelNames:["topic","reason"]}),meshPeerChurnEvents:e.gauge({name:"gossipsub_peer_churn_events_total",help:"Number of times we remove peers in a topic mesh for different reasons",labelNames:["topic","reason"]}),peersPerProtocol:e.gauge({name:"gossipsub_peers_per_protocol_count",help:"Peers connected for each topic",labelNames:["protocol"]}),heartbeatDuration:e.histogram({name:"gossipsub_heartbeat_duration_seconds",help:"The time it takes to complete one iteration of the heartbeat",buckets:[.01,.1,1]}),heartbeatSkipped:e.gauge({name:"gossipsub_heartbeat_skipped",help:"Heartbeat run took longer than heartbeat interval so next is skipped"}),asyncValidationResult:e.gauge({name:"gossipsub_async_validation_result_total",help:"Message validation result for each topic",labelNames:["topic","acceptance"]}),asyncValidationMcacheHit:e.gauge({name:"gossipsub_async_validation_mcache_hit_total",help:"Async validation result reported by the user layer",labelNames:["hit"]}),peerReadStreamError:e.gauge({name:"gossipsub_peer_read_stream_err_count_total",help:"Peer read stream error"}),rpcRecvBytes:e.gauge({name:"gossipsub_rpc_recv_bytes_total",help:"RPC recv"}),rpcRecvCount:e.gauge({name:"gossipsub_rpc_recv_count_total",help:"RPC recv"}),rpcRecvSubscription:e.gauge({name:"gossipsub_rpc_recv_subscription_total",help:"RPC recv"}),rpcRecvMessage:e.gauge({name:"gossipsub_rpc_recv_message_total",help:"RPC recv"}),rpcRecvControl:e.gauge({name:"gossipsub_rpc_recv_control_total",help:"RPC recv"}),rpcRecvIHave:e.gauge({name:"gossipsub_rpc_recv_ihave_total",help:"RPC recv"}),rpcRecvIWant:e.gauge({name:"gossipsub_rpc_recv_iwant_total",help:"RPC recv"}),rpcRecvGraft:e.gauge({name:"gossipsub_rpc_recv_graft_total",help:"RPC recv"}),rpcRecvPrune:e.gauge({name:"gossipsub_rpc_recv_prune_total",help:"RPC recv"}),rpcDataError:e.gauge({name:"gossipsub_rpc_data_err_count_total",help:"RPC data error"}),rpcRecvError:e.gauge({name:"gossipsub_rpc_recv_err_count_total",help:"RPC recv error"}),rpcRecvNotAccepted:e.gauge({name:"gossipsub_rpc_rcv_not_accepted_total",help:"Total count of RPC dropped because acceptFrom() == false"}),rpcSentBytes:e.gauge({name:"gossipsub_rpc_sent_bytes_total",help:"RPC sent"}),rpcSentCount:e.gauge({name:"gossipsub_rpc_sent_count_total",help:"RPC sent"}),rpcSentSubscription:e.gauge({name:"gossipsub_rpc_sent_subscription_total",help:"RPC sent"}),rpcSentMessage:e.gauge({name:"gossipsub_rpc_sent_message_total",help:"RPC sent"}),rpcSentControl:e.gauge({name:"gossipsub_rpc_sent_control_total",help:"RPC sent"}),rpcSentIHave:e.gauge({name:"gossipsub_rpc_sent_ihave_total",help:"RPC sent"}),rpcSentIWant:e.gauge({name:"gossipsub_rpc_sent_iwant_total",help:"RPC sent"}),rpcSentGraft:e.gauge({name:"gossipsub_rpc_sent_graft_total",help:"RPC sent"}),rpcSentPrune:e.gauge({name:"gossipsub_rpc_sent_prune_total",help:"RPC sent"}),msgPublishCount:e.gauge({name:"gossipsub_msg_publish_count_total",help:"Total count of msg published by topic",labelNames:["topic"]}),msgPublishPeers:e.gauge({name:"gossipsub_msg_publish_peers_total",help:"Total count of peers that we publish a msg to",labelNames:["topic"]}),msgPublishPeersByGroup:e.gauge({name:"gossipsub_msg_publish_peers_by_group",help:"Total count of peers (by group) that we publish a msg to",labelNames:["topic","peerGroup"]}),msgPublishBytes:e.gauge({name:"gossipsub_msg_publish_bytes_total",help:"Total count of msg publish data.length bytes",labelNames:["topic"]}),msgForwardCount:e.gauge({name:"gossipsub_msg_forward_count_total",help:"Total count of msg forwarded by topic",labelNames:["topic"]}),msgForwardPeers:e.gauge({name:"gossipsub_msg_forward_peers_total",help:"Total count of peers that we forward a msg to",labelNames:["topic"]}),msgReceivedPreValidation:e.gauge({name:"gossipsub_msg_received_prevalidation_total",help:"Total count of recv msgs before any validation",labelNames:["topic"]}),msgReceivedError:e.gauge({name:"gossipsub_msg_received_error_total",help:"Total count of recv msgs error",labelNames:["topic"]}),msgReceivedStatus:e.gauge({name:"gossipsub_msg_received_status_total",help:"Tracks distribution of recv msgs by duplicate, invalid, valid",labelNames:["topic","status"]}),msgReceivedInvalid:e.gauge({name:"gossipsub_msg_received_invalid_total",help:"Tracks specific reason of invalid",labelNames:["topic","error"]}),duplicateMsgDeliveryDelay:e.histogram({name:"gossisub_duplicate_msg_delivery_delay_seconds",help:"Time since the 1st duplicated message validated",labelNames:["topic"],buckets:[.25*r.maxMeshMessageDeliveriesWindowSec,.5*r.maxMeshMessageDeliveriesWindowSec,1*r.maxMeshMessageDeliveriesWindowSec,2*r.maxMeshMessageDeliveriesWindowSec,4*r.maxMeshMessageDeliveriesWindowSec]}),duplicateMsgLateDelivery:e.gauge({name:"gossisub_duplicate_msg_late_delivery_total",help:"Total count of late duplicate message delivery by topic, which triggers P3 penalty",labelNames:["topic"]}),duplicateMsgIgnored:e.gauge({name:"gossisub_ignored_published_duplicate_msgs_total",help:"Total count of published duplicate message ignored by topic",labelNames:["topic"]}),scoreFnCalls:e.gauge({name:"gossipsub_score_fn_calls_total",help:"Total times score() is called"}),scoreFnRuns:e.gauge({name:"gossipsub_score_fn_runs_total",help:"Total times score() call actually computed computeScore(), no cache"}),scoreCachedDelta:e.histogram({name:"gossipsub_score_cache_delta",help:"Delta of score between cached values that expired",buckets:[10,100,1e3]}),peersByScoreThreshold:e.gauge({name:"gossipsub_peers_by_score_threshold_count",help:"Current count of peers by score threshold",labelNames:["threshold"]}),score:e.avgMinMax({name:"gossipsub_score",help:"Avg min max of gossip scores",labelNames:["topic","p"]}),scoreWeights:e.avgMinMax({name:"gossipsub_score_weights",help:"Separate score weights",labelNames:["topic","p"]}),scorePerMesh:e.avgMinMax({name:"gossipsub_score_per_mesh",help:"Histogram of the scores for each mesh topic",labelNames:["topic"]}),scoringPenalties:e.gauge({name:"gossipsub_scoring_penalties_total",help:"A counter of the kind of penalties being applied to peers",labelNames:["penalty"]}),behaviourPenalty:e.histogram({name:"gossipsub_peer_stat_behaviour_penalty",help:"Current peer stat behaviour_penalty at each scrape",buckets:[.25*r.behaviourPenaltyThreshold,.5*r.behaviourPenaltyThreshold,1*r.behaviourPenaltyThreshold,2*r.behaviourPenaltyThreshold,4*r.behaviourPenaltyThreshold]}),ihaveRcvIgnored:e.gauge({name:"gossipsub_ihave_rcv_ignored_total",help:"Total received IHAVE messages that we ignore for some reason",labelNames:["reason"]}),ihaveRcvMsgids:e.gauge({name:"gossipsub_ihave_rcv_msgids_total",help:"Total received IHAVE messages by topic",labelNames:["topic"]}),ihaveRcvNotSeenMsgids:e.gauge({name:"gossipsub_ihave_rcv_not_seen_msgids_total",help:"Total messages per topic we do not have, not actual requests",labelNames:["topic"]}),iwantRcvMsgids:e.gauge({name:"gossipsub_iwant_rcv_msgids_total",help:"Total received IWANT messages by topic",labelNames:["topic"]}),iwantRcvDonthaveMsgids:e.gauge({name:"gossipsub_iwant_rcv_dont_have_msgids_total",help:"Total requested messageIDs that we do not have"}),iwantPromiseStarted:e.gauge({name:"gossipsub_iwant_promise_sent_total",help:"Total count of started IWANT promises"}),iwantPromiseResolved:e.gauge({name:"gossipsub_iwant_promise_resolved_total",help:"Total count of resolved IWANT promises"}),iwantPromiseResolvedFromDuplicate:e.gauge({name:"gossipsub_iwant_promise_resolved_from_duplicate_total",help:"Total count of resolved IWANT promises from duplicate messages"}),iwantPromiseResolvedPeers:e.gauge({name:"gossipsub_iwant_promise_resolved_peers",help:"Total count of peers we have asked IWANT promises that are resolved"}),iwantPromiseBroken:e.gauge({name:"gossipsub_iwant_promise_broken",help:"Total count of broken IWANT promises"}),iwantMessagePruned:e.gauge({name:"gossipsub_iwant_message_pruned",help:"Total count of pruned IWANT messages"}),iwantPromiseDeliveryTime:e.histogram({name:"gossipsub_iwant_promise_delivery_seconds",help:"Histogram of delivery time of resolved IWANT promises",buckets:[.5*r.gossipPromiseExpireSec,1*r.gossipPromiseExpireSec,2*r.gossipPromiseExpireSec,4*r.gossipPromiseExpireSec]}),iwantPromiseUntracked:e.gauge({name:"gossip_iwant_promise_untracked",help:"Total count of untracked IWANT promise"}),cacheSize:e.gauge({name:"gossipsub_cache_size",help:"Unbounded cache sizes",labelNames:["cache"]}),mcacheSize:e.gauge({name:"gossipsub_mcache_size",help:"Current mcache msg count"}),mcacheNotValidatedCount:e.gauge({name:"gossipsub_mcache_not_validated_count",help:"Current mcache msg count not validated"}),fastMsgIdCacheCollision:e.gauge({name:"gossipsub_fastmsgid_cache_collision_total",help:"Total count of key collisions on fastmsgid cache put"}),newConnectionCount:e.gauge({name:"gossipsub_new_connection_total",help:"Total new connection by status",labelNames:["status"]}),topicStrToLabel:t,toTopic(e){var t;return null!==(t=this.topicStrToLabel.get(e))&&void 0!==t?t:e},onJoin(e){this.topicSubscriptionStatus.set({topicStr:e},1),this.meshPeerCounts.set({topicStr:e},0)},onLeave(e){this.topicSubscriptionStatus.set({topicStr:e},0),this.meshPeerCounts.set({topicStr:e},0)},onAddToMesh(e,t,r){const n=this.toTopic(e);this.meshPeerInclusionEvents.inc({topic:n,reason:t},r)},onRemoveFromMesh(e,t,r){const n=this.toTopic(e);this.meshPeerChurnEvents.inc({topic:n,reason:t},r)},onReportValidationMcacheHit(e){this.asyncValidationMcacheHit.inc({hit:e?"hit":"miss"})},onReportValidation(e,t){const r=this.toTopic(e);this.asyncValidationResult.inc({topic:r,acceptance:t})},onScorePenalty(e){this.scoringPenalties.inc({penalty:e},1)},onIhaveRcv(e,t,r){const n=this.toTopic(e);this.ihaveRcvMsgids.inc({topic:n},t),this.ihaveRcvNotSeenMsgids.inc({topic:n},r)},onIwantRcv(e,t){for(const[r,n]of e){const e=this.toTopic(r);this.iwantRcvMsgids.inc({topic:e},n)}this.iwantRcvDonthaveMsgids.inc(t)},onForwardMsg(e,t){const r=this.toTopic(e);this.msgForwardCount.inc({topic:r},1),this.msgForwardPeers.inc({topic:r},t)},onPublishMsg(e,t,r,n){const i=this.toTopic(e);this.msgPublishCount.inc({topic:i},1),this.msgPublishBytes.inc({topic:i},r*n),this.msgPublishPeers.inc({topic:i},r),this.msgPublishPeersByGroup.inc({topic:i,peerGroup:"direct"},t.direct),this.msgPublishPeersByGroup.inc({topic:i,peerGroup:"floodsub"},t.floodsub),this.msgPublishPeersByGroup.inc({topic:i,peerGroup:"mesh"},t.mesh),this.msgPublishPeersByGroup.inc({topic:i,peerGroup:"fanout"},t.fanout)},onMsgRecvPreValidation(e){const t=this.toTopic(e);this.msgReceivedPreValidation.inc({topic:t},1)},onMsgRecvError(e){const t=this.toTopic(e);this.msgReceivedError.inc({topic:t},1)},onMsgRecvResult(e,t){const r=this.toTopic(e);this.msgReceivedStatus.inc({topic:r,status:t})},onMsgRecvInvalid(e,t){const r=this.toTopic(e),n=t.reason===nC.Error?t.error:t.reason;this.msgReceivedInvalid.inc({topic:r,error:n},1)},onDuplicateMsgDelivery(e,t,r){if(this.duplicateMsgDeliveryDelay.observe(t/1e3),r){const t=this.toTopic(e);this.duplicateMsgLateDelivery.inc({topic:t},1)}},onPublishDuplicateMsg(e){const t=this.toTopic(e);this.duplicateMsgIgnored.inc({topic:t},1)},onPeerReadStreamError(){this.peerReadStreamError.inc(1)},onRpcRecvError(){this.rpcRecvError.inc(1)},onRpcDataError(){this.rpcDataError.inc(1)},onRpcRecv(e,t){this.rpcRecvBytes.inc(t),this.rpcRecvCount.inc(1),e.subscriptions&&this.rpcRecvSubscription.inc(e.subscriptions.length),e.messages&&this.rpcRecvMessage.inc(e.messages.length),e.control&&(this.rpcRecvControl.inc(1),e.control.ihave&&this.rpcRecvIHave.inc(e.control.ihave.length),e.control.iwant&&this.rpcRecvIWant.inc(e.control.iwant.length),e.control.graft&&this.rpcRecvGraft.inc(e.control.graft.length),e.control.prune&&this.rpcRecvPrune.inc(e.control.prune.length))},onRpcSent(e,t){if(this.rpcSentBytes.inc(t),this.rpcSentCount.inc(1),e.subscriptions&&this.rpcSentSubscription.inc(e.subscriptions.length),e.messages&&this.rpcSentMessage.inc(e.messages.length),e.control){var r,n,i,o,s,a,c,l;const t=null!==(r=null===(n=e.control.ihave)||void 0===n?void 0:n.length)&&void 0!==r?r:0,u=null!==(i=null===(o=e.control.iwant)||void 0===o?void 0:o.length)&&void 0!==i?i:0,h=null!==(s=null===(a=e.control.graft)||void 0===a?void 0:a.length)&&void 0!==s?s:0,d=null!==(c=null===(l=e.control.prune)||void 0===l?void 0:l.length)&&void 0!==c?c:0;t>0&&this.rpcSentIHave.inc(t),u>0&&this.rpcSentIWant.inc(u),h>0&&this.rpcSentGraft.inc(h),d>0&&this.rpcSentPrune.inc(d),(t>0||u>0||h>0||d>0)&&this.rpcSentControl.inc(1)}},registerScores(e,t){let r=0,n=0,i=0,o=0;for(const s of e)s>=t.graylistThreshold&&r++,s>=t.publishThreshold&&n++,s>=t.gossipThreshold&&i++,s>=0&&o++;this.peersByScoreThreshold.set({threshold:PC.graylist},r),this.peersByScoreThreshold.set({threshold:PC.publish},n),this.peersByScoreThreshold.set({threshold:PC.gossip},i),this.peersByScoreThreshold.set({threshold:PC.mesh},o),this.score.set(e)},registerScoreWeights(e){for(const[t,r]of e.byTopic)this.scoreWeights.set({topic:t,p:"p1"},r.p1w),this.scoreWeights.set({topic:t,p:"p2"},r.p2w),this.scoreWeights.set({topic:t,p:"p3"},r.p3w),this.scoreWeights.set({topic:t,p:"p3b"},r.p3bw),this.scoreWeights.set({topic:t,p:"p4"},r.p4w);this.scoreWeights.set({p:"p5"},e.p5w),this.scoreWeights.set({p:"p6"},e.p6w),this.scoreWeights.set({p:"p7"},e.p7w)},registerScorePerMesh(e,t){const r=new Map;e.forEach(((e,t)=>{var n;const i=null!==(n=this.topicStrToLabel.get(t))&&void 0!==n?n:"unknown";let o=r.get(i);o||(o=new Set,r.set(i,o)),e.forEach((e=>{var t;return null===(t=o)||void 0===t?void 0:t.add(e)}))}));for(const[n,i]of r){const e=[];i.forEach((r=>{var n;e.push(null!==(n=t.get(r))&&void 0!==n?n:0)})),this.scorePerMesh.set({topic:n},e)}}}}(o.metricsRegister,o.metricsTopicStrToLabel,{gossipPromiseExpireSec:this.opts.gossipsubIWantFollowupMs/1e3,behaviourPenaltyThreshold:s.scoreParams.behaviourPenaltyThreshold,maxMeshMessageDeliveriesWindowSec:e/1e3});t.mcacheSize.addCollect((()=>this.onScrapeMetrics(t)));for(const r of this.multicodecs)t.protocolsEnabled.set({protocol:r},1);this.metrics=t}else this.metrics=null;this.gossipTracer=new SC(this.opts.gossipsubIWantFollowupMs,this.msgIdToStrFn,this.metrics),this.score=new _C(this.opts.scoreParams,this.metrics,{scoreCacheValidityMs:s.heartbeatInterval}),this.maxInboundStreams=o.maxInboundStreams,this.maxOutboundStreams=o.maxOutboundStreams,this.allowedTopics=s.allowedTopics?new Set(s.allowedTopics):null}getPeers(){return[...this.peers.keys()].map((e=>LS(e)))}isStarted(){return this.status.code===$C.started}async start(){if(this.isStarted())return;this.log("starting"),this.publishConfig=await async function(e,t){switch(e){case $A:{if(!t)throw Error("Must provide PeerId");if(null==t.privateKey)throw Error("Cannot sign message, no private key present");if(null==t.publicKey)throw Error("Cannot sign message, no public key present");const e=await yh(t.privateKey);return{type:rC.Signing,author:t,key:t.publicKey,privateKey:e}}case ZA:return{type:rC.Anonymous};default:throw new Error('Unknown signature policy "'.concat(e,'"'))}}(this.globalSignaturePolicy,this.components.peerId),this.outboundInflightQueue=$s({objectMode:!0}),la(this.outboundInflightQueue,(async e=>{for await(const{peerId:t,connection:r}of e)await this.createOutboundStream(t,r)})).catch((e=>this.log.error("outbound inflight queue error",e))),await Promise.all(this.opts.directPeers.map((async e=>{await this.components.peerStore.addressBook.add(e.id,e.addrs)})));const e=this.components.registrar;await Promise.all(this.multicodecs.map((t=>e.handle(t,this.onIncomingStream.bind(this),{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams}))));const t=(r={onConnect:this.onPeerConnected.bind(this),onDisconnect:this.onPeerDisconnected.bind(this)},new zA(r));var r;const n=await Promise.all(this.multicodecs.map((r=>e.register(r,t)))),i=setTimeout(this.runHeartbeat,100);this.status={code:$C.started,registrarTopologyIds:n,heartbeatTimeout:i,hearbeatStartMs:Date.now()+100},this.score.start(),this.directPeerInitial=setTimeout((()=>{Promise.resolve().then((async()=>{await Promise.all(Array.from(this.direct).map((async e=>await this.connect(e))))})).catch((e=>{this.log(e)}))}),1e3),this.log("started")}async stop(){if(this.log("stopping"),this.status.code!==$C.started)return;const{registrarTopologyIds:e}=this.status;this.status={code:$C.stopped};const t=this.components.registrar;e.forEach((e=>t.unregister(e))),this.outboundInflightQueue.end();for(const r of this.streamsOutbound.values())r.close();this.streamsOutbound.clear();for(const r of this.streamsInbound.values())r.close();this.streamsInbound.clear(),this.peers.clear(),this.subscriptions.clear(),this.heartbeatTimer&&(this.heartbeatTimer.cancel(),this.heartbeatTimer=null),this.score.stop(),this.mesh.clear(),this.fanout.clear(),this.fanoutLastpub.clear(),this.gossip.clear(),this.control.clear(),this.peerhave.clear(),this.iasked.clear(),this.backoff.clear(),this.outbound.clear(),this.gossipTracer.clear(),this.seenCache.clear(),this.fastMsgIdCache&&this.fastMsgIdCache.clear(),this.directPeerInitial&&clearTimeout(this.directPeerInitial),this.log("stopped")}dumpPeerScoreStats(){return this.score.dumpPeerScoreStats()}onIncomingStream(e){let{stream:t,connection:r}=e;if(!this.isStarted())return;const n=r.remotePeer;this.addPeer(n,r.stat.direction,r.remoteAddr),this.createInboundStream(n,t),this.outboundInflightQueue.push({peerId:n,connection:r})}onPeerConnected(e,t){var r;null===(r=this.metrics)||void 0===r||r.newConnectionCount.inc({status:t.stat.status}),this.isStarted()&&"OPEN"===t.stat.status&&(this.addPeer(e,t.stat.direction,t.remoteAddr),this.outboundInflightQueue.push({peerId:e,connection:t}))}onPeerDisconnected(e){this.log("connection ended %p",e),this.removePeer(e)}async createOutboundStream(e,t){if(!this.isStarted())return;const r=e.toString();if(this.peers.has(r)&&!this.streamsOutbound.has(r))try{var n;const i=new UC(await t.newStream(this.multicodecs),(e=>this.log.error("outbound pipe error",e)),{maxBufferSize:this.opts.maxOutboundBufferSize});this.log("create outbound stream %p",e),this.streamsOutbound.set(r,i);const o=i.protocol;o===GA&&this.floodsubPeers.add(r),null===(n=this.metrics)||void 0===n||n.peersPerProtocol.inc({protocol:o},1),this.subscriptions.size>0&&(this.log("send subscriptions to",r),this.sendSubscriptions(r,Array.from(this.subscriptions),!0))}catch(i){this.log.error("createOutboundStream error",i)}}async createInboundStream(e,t){if(!this.isStarted())return;const r=e.toString();if(!this.peers.has(r))return;const n=this.streamsInbound.get(r);void 0!==n&&(this.log("replacing existing inbound steam %s",r),n.close()),this.log("create inbound stream %s",r);const i=new FC(t,{maxDataLength:this.opts.maxInboundDataLength});this.streamsInbound.set(r,i),this.pipePeerReadStream(e,i.source).catch((e=>this.log(e)))}addPeer(e,t,r){const n=e.toString();if(!this.peers.has(n)){this.log("new peer %p",e),this.peers.add(n),this.score.addPeer(n);const i=function(e){for(const t of e.tuples())switch(t[0]){case JC.ip4:case JC.ip6:return oA(t[0],t[1])}return null}(r);null!==i?this.score.addIP(n,i):this.log("Added peer has no IP in current address %s %s",n,r.toString()),this.outbound.has(n)||this.outbound.set(n,"outbound"===t)}}removePeer(e){const t=e.toString();if(!this.peers.has(t))return;this.log("delete peer %p",e),this.peers.delete(t);const r=this.streamsOutbound.get(t),n=this.streamsInbound.get(t);var i;r&&(null===(i=this.metrics)||void 0===i||i.peersPerProtocol.inc({protocol:r.protocol},-1));null===r||void 0===r||r.close(),null===n||void 0===n||n.close(),this.streamsOutbound.delete(t),this.streamsInbound.delete(t);for(const s of this.topics.values())s.delete(t);for(const[s,a]of this.mesh){var o;if(!0===a.delete(t))null===(o=this.metrics)||void 0===o||o.onRemoveFromMesh(s,TC.Dc,1)}for(const s of this.fanout.values())s.delete(t);this.floodsubPeers.delete(t),this.gossip.delete(t),this.control.delete(t),this.outbound.delete(t),this.score.removePeer(t),this.acceptFromWhitelist.delete(t)}get started(){return this.status.code===$C.started}getMeshPeers(e){const t=this.mesh.get(e);return t?Array.from(t):[]}getSubscribers(e){const t=this.topics.get(e);return(t?Array.from(t):[]).map((e=>LS(e)))}getTopics(){return Array.from(this.subscriptions)}async pipePeerReadStream(e,t){try{await la(t,(async t=>{for await(const a of t)try{var r;const t=a.subarray(),i=zC(t,this.decodeRpcLimits);if(null===(r=this.metrics)||void 0===r||r.onRpcRecv(i,t.length),this.opts.awaitRpcHandler)try{await this.handleReceivedRpc(e,i)}catch(o){var n;null===(n=this.metrics)||void 0===n||n.onRpcRecvError(),this.log(o)}else this.handleReceivedRpc(e,i).catch((e=>{var t;null===(t=this.metrics)||void 0===t||t.onRpcRecvError(),this.log(e)}))}catch(s){var i;null===(i=this.metrics)||void 0===i||i.onRpcDataError(),this.log(s)}}))}catch(n){var r;null===(r=this.metrics)||void 0===r||r.onPeerReadStreamError(),this.handlePeerReadStreamError(n,e)}}handlePeerReadStreamError(e,t){this.log.error(e),this.onPeerDisconnected(t)}async handleReceivedRpc(e,t){var r;if(!this.acceptFrom(e.toString()))return this.log("received message from unacceptable peer %p",e),void(null===(r=this.metrics)||void 0===r||r.rpcRecvNotAccepted.inc());const n=t.subscriptions?t.subscriptions.length:0,i=t.messages?t.messages.length:0;let o=0,s=0,a=0,c=0;if(t.control&&(t.control.ihave&&(o=t.control.ihave.length),t.control.iwant&&(s=t.control.iwant.length),t.control.graft&&(a=t.control.graft.length),t.control.prune&&(c=t.control.prune.length)),this.log("rpc.from ".concat(e.toString()," subscriptions ").concat(n," messages ").concat(i," ihave ").concat(o," iwant ").concat(s," graft ").concat(a," prune ").concat(c)),t.subscriptions&&t.subscriptions.length>0){const r=[];t.subscriptions.forEach((t=>{const n=t.topic,i=!0===t.subscribe;if(null!=n){if(this.allowedTopics&&!this.allowedTopics.has(n))return;this.handleReceivedSubscription(e,n,i),r.push({topic:n,subscribe:i})}})),this.dispatchEvent(new gy("subscription-change",{detail:{peerId:e,subscriptions:r}}))}if(t.messages)for(const l of t.messages){if(this.allowedTopics&&!this.allowedTopics.has(l.topic))continue;const t=this.handleReceivedMessage(e,l).catch((e=>{var t;null===(t=this.metrics)||void 0===t||t.onMsgRecvError(l.topic),this.log(e)}));this.opts.awaitRpcMessageHandler&&await t}t.control&&await this.handleControlMessage(e.toString(),t.control)}handleReceivedSubscription(e,t,r){this.log("subscription update from %p topic %s",e,t);let n=this.topics.get(t);null==n&&(n=new Set,this.topics.set(t,n)),r?n.add(e.toString()):n.delete(e.toString())}async handleReceivedMessage(e,t){var r,n,i;null===(r=this.metrics)||void 0===r||r.onMsgRecvPreValidation(t.topic);const o=await this.validateReceivedMessage(e,t);switch(null===(n=this.metrics)||void 0===n||n.onMsgRecvResult(t.topic,o.code),o.code){case oC.duplicate:return this.score.duplicateMessage(e.toString(),o.msgIdStr,t.topic),this.gossipTracer.deliverMessage(o.msgIdStr,!0),void this.mcache.observeDuplicate(o.msgIdStr,e.toString());case oC.invalid:if(o.msgIdStr){const r=o.msgIdStr;this.score.rejectMessage(e.toString(),r,t.topic,o.reason),this.gossipTracer.rejectMessage(r,o.reason)}else this.score.rejectInvalidMessage(e.toString(),t.topic);return void(null===(i=this.metrics)||void 0===i||i.onMsgRecvInvalid(t.topic,o));case oC.valid:if(this.score.validateMessage(o.messageId.msgIdStr),this.gossipTracer.deliverMessage(o.messageId.msgIdStr),this.mcache.put(o.messageId,t,!this.opts.asyncValidation),this.subscriptions.has(t.topic)){this.components.peerId.equals(e)&&!this.opts.emitSelf||(super.dispatchEvent(new gy("gossipsub:message",{detail:{propagationSource:e,msgId:o.messageId.msgIdStr,msg:o.msg}})),super.dispatchEvent(new gy("message",{detail:o.msg})))}this.opts.asyncValidation||this.forwardMessage(o.messageId.msgIdStr,t,e.toString())}}async validateReceivedMessage(e,t){var r,n;const i=null===(r=this.fastMsgIdFn)||void 0===r?void 0:r.call(this,t),o=void 0!==i?null===(n=this.fastMsgIdCache)||void 0===n?void 0:n.get(i):void 0;if(o)return{code:oC.duplicate,msgIdStr:o};const s=await async function(e,t){var r;switch(e){case ZA:return null!=t.signature?{valid:!1,error:iC.SignaturePresent}:null!=t.seqno?{valid:!1,error:iC.SeqnoPresent}:null!=t.key?{valid:!1,error:iC.FromPresent}:{valid:!0,message:{type:"unsigned",topic:t.topic,data:null!==(r=t.data)&&void 0!==r?r:new Uint8Array(0)}};case $A:{var n,i;if(null==t.seqno)return{valid:!1,error:iC.InvalidSeqno};if(8!==t.seqno.length)return{valid:!1,error:iC.InvalidSeqno};if(null==t.signature)return{valid:!1,error:iC.InvalidSignature};if(null==t.from)return{valid:!1,error:iC.InvalidPeerId};let e,r;try{e=xS(t.from)}catch(o){return{valid:!1,error:iC.InvalidPeerId}}if(t.key){if(r=fh(t.key),void 0!==e.publicKey&&!Nt(r.bytes,e.publicKey))return{valid:!1,error:iC.InvalidPeerId}}else{if(null==e.publicKey)return{valid:!1,error:iC.InvalidPeerId};r=fh(e.publicKey)}const s={from:t.from,data:t.data,seqno:t.seqno,topic:t.topic,signature:void 0,key:void 0},a=ln([xC,HA.Message.encode(s).finish()]);return await r.verify(a,t.signature)?{valid:!0,message:{type:"signed",from:e,data:null!==(n=t.data)&&void 0!==n?n:new Uint8Array(0),sequenceNumber:BigInt("0x".concat(an(t.seqno,"base16"))),topic:t.topic,signature:t.signature,key:null!==(i=t.key)&&void 0!==i?i:gh(r)}}:{valid:!1,error:iC.InvalidSignature}}}}(this.globalSignaturePolicy,t);if(!s.valid)return{code:oC.invalid,reason:nC.Error,error:s.error};const a=s.message;try{this.dataTransform&&(a.data=this.dataTransform.inboundTransform(t.topic,a.data))}catch(p){return this.log("Invalid message, transform failed",p),{code:oC.invalid,reason:nC.Error,error:iC.TransformFailed}}const c=await this.msgIdFn(a),l=this.msgIdToStrFn(c),u={msgId:c,msgIdStr:l};if(void 0!==i&&this.fastMsgIdCache){var h;if(this.fastMsgIdCache.put(i,l))null===(h=this.metrics)||void 0===h||h.fastMsgIdCacheCollision.inc()}if(this.seenCache.has(l))return{code:oC.duplicate,msgIdStr:l};this.seenCache.put(l);const d=this.topicValidators.get(t.topic);if(null!=d){let t;try{t=await d(e,a)}catch(p){const e=p.code;"ERR_TOPIC_VALIDATOR_IGNORE"===e&&(t=eC.Ignore),t="ERR_TOPIC_VALIDATOR_REJECT"===e?eC.Reject:eC.Ignore}if(t!==eC.Accept)return{code:oC.invalid,reason:sC(t),msgIdStr:l}}return{code:oC.valid,messageId:u,msg:a}}getScore(e){return this.score.score(e)}sendSubscriptions(e,t,r){this.sendRpc(e,{subscriptions:t.map((e=>({topic:e,subscribe:r})))})}async handleControlMessage(e,t){var r;if(void 0===t)return;const n=t.ihave?this.handleIHave(e,t.ihave):[],i=t.iwant?this.handleIWant(e,t.iwant):[],o=t.graft?await this.handleGraft(e,t.graft):[];if(t.prune&&await this.handlePrune(e,t.prune),!n.length&&!i.length&&!o.length)return;const s=this.sendRpc(e,{messages:i,control:{iwant:n,prune:o}}),a=null===(r=n[0])||void 0===r?void 0:r.messageIDs;var c;a&&(s?this.gossipTracer.addPromise(e,a):null===(c=this.metrics)||void 0===c||c.iwantPromiseUntracked.inc(1))}acceptFrom(e){if(this.direct.has(e))return!0;const t=Date.now(),r=this.acceptFromWhitelist.get(e);if(r&&r.messagesAccepted<128&&r.acceptUntil>=t)return r.messagesAccepted+=1,!0;const n=this.score.score(e);return n>=0?this.acceptFromWhitelist.set(e,{messagesAccepted:0,acceptUntil:t+1e3}):this.acceptFromWhitelist.delete(e),n>=this.opts.scoreThresholds.graylistThreshold}handleIHave(e,t){var r,n;if(!t.length)return[];const i=this.score.score(e);var o;if(i<this.opts.scoreThresholds.gossipThreshold)return this.log("IHAVE: ignoring peer %s with score below threshold [ score = %d ]",e,i),null===(o=this.metrics)||void 0===o||o.ihaveRcvIgnored.inc({reason:RC.LowScore}),[];const s=(null!==(r=this.peerhave.get(e))&&void 0!==r?r:0)+1;var a;if(this.peerhave.set(e,s),s>10)return this.log("IHAVE: peer %s has advertised too many times (%d) within this heartbeat interval; ignoring",e,s),null===(a=this.metrics)||void 0===a||a.ihaveRcvIgnored.inc({reason:RC.MaxIhave}),[];const c=null!==(n=this.iasked.get(e))&&void 0!==n?n:0;var l;if(c>=YA)return this.log("IHAVE: peer %s has already advertised too many messages (%d); ignoring",e,c),null===(l=this.metrics)||void 0===l||l.ihaveRcvIgnored.inc({reason:RC.MaxIasked}),[];const u=new Map;if(t.forEach((e=>{var t;let{topicID:r,messageIDs:n}=e;if(!r||!n||!this.mesh.has(r))return;let i=0;n.forEach((e=>{const t=this.msgIdToStrFn(e);this.seenCache.has(t)||(u.set(t,e),i++)})),null===(t=this.metrics)||void 0===t||t.onIhaveRcv(r,n.length,i)})),!u.size)return[];let h=u.size;h+c>YA&&(h=YA-c),this.log("IHAVE: Asking for %d out of %d messages from %s",h,u.size,e);let d=Array.from(u.values());return XA(d),d=d.slice(0,h),this.iasked.set(e,c+h),[{messageIDs:d}]}handleIWant(e,t){var r;if(!t.length)return[];const n=this.score.score(e);if(n<this.opts.scoreThresholds.gossipThreshold)return this.log("IWANT: ignoring peer %s with score below threshold [score = %d]",e,n),[];const i=new Map,o=new Map;let s=0;return t.forEach((t=>{let{messageIDs:r}=t;r&&r.forEach((t=>{var r;const n=this.msgIdToStrFn(t),a=this.mcache.getWithIWantCount(n,e);null!=a?(o.set(a.msg.topic,1+(null!==(r=o.get(a.msg.topic))&&void 0!==r?r:0)),a.count>3?this.log("IWANT: Peer %s has asked for message %s too many times: ignoring request",e,t):i.set(n,a.msg)):s++}))})),null===(r=this.metrics)||void 0===r||r.onIwantRcv(o,s),i.size?(this.log("IWANT: Sending %d messages to %s",i.size,e),Array.from(i.values())):(this.log("IWANT: Could not provide any wanted messages to %s",e),[])}async handleGraft(e,t){const r=[],n=this.score.score(e),i=Date.now();let o=this.opts.doPX;return t.forEach((t=>{var s,a;let{topicID:c}=t;if(!c)return;const l=this.mesh.get(c);if(!l)return void(o=!1);if(l.has(e))return;if(this.direct.has(e))return this.log("GRAFT: ignoring request from direct peer %s",e),r.push(c),void(o=!1);const u=null===(s=this.backoff.get(c))||void 0===s?void 0:s.get(e);if("number"===typeof u&&i<u){this.log("GRAFT: ignoring backed off peer %s",e),this.score.addPenalty(e,1,kC.GraftBackoff),o=!1;const t=u+this.opts.graftFloodThreshold-this.opts.pruneBackoff;return i<t&&this.score.addPenalty(e,1,kC.GraftBackoff),this.addBackoff(e,c),void r.push(c)}return n<0?(this.log("GRAFT: ignoring peer %s with negative score: score=%d, topic=%s",e,n,c),r.push(c),o=!1,void this.addBackoff(e,c)):l.size>=this.opts.Dhi&&!this.outbound.get(e)?(r.push(c),void this.addBackoff(e,c)):(this.log("GRAFT: Add mesh link from %s in %s",e,c),this.score.graft(e,c),l.add(e),void(null===(a=this.metrics)||void 0===a||a.onAddToMesh(c,IC.Subscribed,1)))})),r.length?await Promise.all(r.map((t=>this.makePrune(e,t,o)))):[]}async handlePrune(e,t){const r=this.score.score(e);for(const{topicID:i,backoff:o,peers:s}of t){if(null==i)continue;const t=this.mesh.get(i);if(!t)return;var n;if(this.log("PRUNE: Remove mesh link to %s in %s",e,i),this.score.prune(e,i),t.has(e))t.delete(e),null===(n=this.metrics)||void 0===n||n.onRemoveFromMesh(i,TC.Unsub,1);if("number"===typeof o&&o>0?this.doAddBackoff(e,i,1e3*o):this.addBackoff(e,i),s&&s.length){if(r<this.opts.scoreThresholds.acceptPXThreshold){this.log("PRUNE: ignoring PX from peer %s with insufficient score [score = %d, topic = %s]",e,r,i);continue}await this.pxConnect(s)}}}addBackoff(e,t){this.doAddBackoff(e,t,this.opts.pruneBackoff)}doAddBackoff(e,t,r){var n;let i=this.backoff.get(t);i||(i=new Map,this.backoff.set(t,i));const o=Date.now()+r;(null!==(n=i.get(e))&&void 0!==n?n:0)<o&&i.set(e,o)}applyIwantPenalties(){this.gossipTracer.getBrokenPromises().forEach(((e,t)=>{this.log("peer %s didn't follow up in %d IWANT requests; adding penalty",t,e),this.score.addPenalty(t,e,kC.BrokenPromise)}))}clearBackoff(){if(this.heartbeatTicks%15!==0)return;const e=Date.now();this.backoff.forEach(((t,r)=>{t.forEach(((r,n)=>{r<e&&t.delete(n)})),0===t.size&&this.backoff.delete(r)}))}async directConnect(){const e=[];this.direct.forEach((t=>{this.streamsOutbound.has(t)||e.push(t)})),await Promise.all(e.map((async e=>await this.connect(e))))}async pxConnect(e){e.length>this.opts.prunePeers&&(XA(e),e=e.slice(0,this.opts.prunePeers));const t=[];await Promise.all(e.map((async e=>{if(!e.peerID)return;const r=xS(e.peerID).toString();if(!this.peers.has(r))if(e.signedPeerRecord)try{const n=await YS.openAndCertify(e.signedPeerRecord,"libp2p-peer-record"),i=n.peerId;if(!n.peerId.equals(r))return void this.log("bogus peer record obtained through px: peer ID %p doesn't match expected peer %p",i,r);if(!await this.components.peerStore.addressBook.consumePeerRecord(n))return void this.log("bogus peer record obtained through px: could not add peer record to address book");t.push(r)}catch(n){this.log("bogus peer record obtained through px: invalid signature or not a peer record")}else t.push(r)}))),t.length&&await Promise.all(t.map((async e=>await this.connect(e))))}async connect(e){this.log("Initiating connection with %s",e);const t=LS(e),r=await this.components.connectionManager.openConnection(t);for(const n of this.multicodecs)for(const e of this.components.registrar.getTopologies(n))e.onConnect(t,r)}subscribe(e){if(this.status.code!==$C.started)throw new Error("Pubsub has not started");if(!this.subscriptions.has(e)){this.subscriptions.add(e);for(const t of this.peers.keys())this.sendSubscriptions(t,[e],!0)}this.join(e)}unsubscribe(e){if(this.status.code!==$C.started)throw new Error("Pubsub is not started");const t=this.subscriptions.delete(e);if(this.log("unsubscribe from %s - am subscribed %s",e,t),t)for(const r of this.peers.keys())this.sendSubscriptions(r,[e],!1);this.leave(e)}join(e){var t;if(this.status.code!==$C.started)throw new Error("Gossipsub has not started");if(this.mesh.has(e))return;this.log("JOIN %s",e),null===(t=this.metrics)||void 0===t||t.onJoin(e);const r=new Set,n=this.fanout.get(e);var i;n&&(this.fanout.delete(e),this.fanoutLastpub.delete(e),n.forEach((e=>{!this.direct.has(e)&&this.score.score(e)>=0&&r.add(e)})),null===(i=this.metrics)||void 0===i||i.onAddToMesh(e,IC.Fanout,r.size));if(r.size<this.opts.D){var o;const t=r.size;this.getRandomGossipPeers(e,this.opts.D,(e=>!r.has(e)&&!this.direct.has(e)&&this.score.score(e)>=0)).forEach((e=>{r.add(e)})),null===(o=this.metrics)||void 0===o||o.onAddToMesh(e,IC.Random,r.size-t)}this.mesh.set(e,r),r.forEach((t=>{this.log("JOIN: Add mesh link to %s in %s",t,e),this.sendGraft(t,e)}))}leave(e){var t;if(this.status.code!==$C.started)throw new Error("Gossipsub has not started");this.log("LEAVE %s",e),null===(t=this.metrics)||void 0===t||t.onLeave(e);const r=this.mesh.get(e);r&&(Promise.all(Array.from(r).map((async t=>(this.log("LEAVE: Remove mesh link to %s in %s",t,e),await this.sendPrune(t,e))))).catch((e=>{this.log("Error sending prunes to mesh peers",e)})),this.mesh.delete(e))}selectPeersToForward(e,t,r){const n=new Set,i=this.topics.get(e);i&&(this.direct.forEach((e=>{!i.has(e)||t===e||null!==r&&void 0!==r&&r.has(e)||n.add(e)})),this.floodsubPeers.forEach((e=>{i.has(e)&&t!==e&&(null===r||void 0===r||!r.has(e))&&this.score.score(e)>=this.opts.scoreThresholds.publishThreshold&&n.add(e)})));const o=this.mesh.get(e);return o&&o.size>0&&o.forEach((e=>{t===e||null!==r&&void 0!==r&&r.has(e)||n.add(e)})),n}selectPeersToPublish(e){const t=new Set,r={direct:0,floodsub:0,mesh:0,fanout:0},n=this.topics.get(e);if(n)if(this.opts.floodPublish)n.forEach((e=>{this.direct.has(e)?(t.add(e),r.direct++):this.score.score(e)>=this.opts.scoreThresholds.publishThreshold&&(t.add(e),r.floodsub++)}));else{this.direct.forEach((e=>{n.has(e)&&(t.add(e),r.direct++)})),this.floodsubPeers.forEach((e=>{n.has(e)&&this.score.score(e)>=this.opts.scoreThresholds.publishThreshold&&(t.add(e),r.floodsub++)}));const i=this.mesh.get(e);if(i&&i.size>0)i.forEach((e=>{t.add(e),r.mesh++}));else{const n=this.fanout.get(e);if(n&&n.size>0)n.forEach((e=>{t.add(e),r.fanout++}));else{const n=this.getRandomGossipPeers(e,this.opts.D,(e=>this.score.score(e)>=this.opts.scoreThresholds.publishThreshold));n.size>0&&(this.fanout.set(e,n),n.forEach((e=>{t.add(e),r.fanout++})))}this.fanoutLastpub.set(e,Date.now())}}return{tosend:t,tosendCount:r}}forwardMessage(e,t,r,n){var i;r&&this.score.deliverMessage(r,e,t.topic);const o=this.selectPeersToForward(t.topic,r,n);o.forEach((e=>{this.sendRpc(e,{messages:[t]})})),null===(i=this.metrics)||void 0===i||i.onForwardMsg(t.topic,o.size)}async publish(e,t,r){var n,i,o;const s=this.dataTransform?this.dataTransform.outboundTransform(e,t):t;if(null==this.publishConfig)throw Error("PublishError.Uninitialized");const{raw:a,msg:c}=await async function(e,t,r,n){switch(e.type){case rC.Signing:{const i={from:e.author.toBytes(),data:n,seqno:Gu(8),topic:t,signature:void 0,key:void 0},o=ln([xC,HA.Message.encode(i).finish()]);return i.signature=await e.privateKey.sign(o),i.key=e.key,{raw:i,msg:{type:"signed",from:e.author,data:r,sequenceNumber:BigInt("0x".concat(an(i.seqno,"base16"))),topic:t,signature:i.signature,key:i.key}}}case rC.Anonymous:return{raw:{from:void 0,data:n,seqno:void 0,topic:t,signature:void 0,key:void 0},msg:{type:"unsigned",data:r,topic:t}}}}(this.publishConfig,e,t,s),l=await this.msgIdFn(c),u=this.msgIdToStrFn(l),h=null!==(n=null===r||void 0===r?void 0:r.ignoreDuplicatePublishError)&&void 0!==n?n:this.opts.ignoreDuplicatePublishError;if(this.seenCache.has(u)){var d;if(h)return null===(d=this.metrics)||void 0===d||d.onPublishDuplicateMsg(e),{recipients:[]};throw Error("PublishError.Duplicate")}const{tosend:p,tosendCount:f}=this.selectPeersToPublish(e),g=!0===this.opts.emitSelf&&this.subscriptions.has(e),y=null!==(i=null===r||void 0===r?void 0:r.allowPublishToZeroPeers)&&void 0!==i?i:this.opts.allowPublishToZeroPeers;if(0===p.size&&!y&&!g)throw Error("PublishError.InsufficientPeers");this.seenCache.put(u),this.mcache.put({msgId:l,msgIdStr:u},a,!0),this.publishedMessageIds.put(u);for(const m of p){this.sendRpc(m,{messages:[a]})||p.delete(m)}return null===(o=this.metrics)||void 0===o||o.onPublishMsg(e,f,p.size,null!=a.data?a.data.length:0),g&&(p.add(this.components.peerId.toString()),super.dispatchEvent(new gy("gossipsub:message",{detail:{propagationSource:this.components.peerId,msgId:u,msg:c}})),super.dispatchEvent(new gy("message",{detail:c}))),{recipients:Array.from(p.values()).map((e=>LS(e)))}}reportMessageValidationResult(e,t,r){if(r===eC.Accept){var n;const o=this.mcache.validate(e);if(null===(n=this.metrics)||void 0===n||n.onReportValidationMcacheHit(null!==o),null!=o){var i;const{message:n,originatingPeers:s}=o;this.score.deliverMessage(t.toString(),e,n.topic),this.forwardMessage(e,o.message,t.toString(),s),null===(i=this.metrics)||void 0===i||i.onReportValidation(n.topic,r)}}else{var o;const n=this.mcache.remove(e);if(null===(o=this.metrics)||void 0===o||o.onReportValidationMcacheHit(null!==n),n){var s;const i=sC(r),{message:o,originatingPeers:a}=n;this.score.rejectMessage(t.toString(),e,o.topic,i);for(const t of a)this.score.rejectMessage(t,e,o.topic,i);null===(s=this.metrics)||void 0===s||s.onReportValidation(o.topic,r)}}}sendGraft(e,t){const r=[{topicID:t}];this.sendRpc(e,{control:{graft:r}})}async sendPrune(e,t){const r=[await this.makePrune(e,t,this.opts.doPX)];this.sendRpc(e,{control:{prune:r}})}sendRpc(e,t){var r;const n=this.streamsOutbound.get(e);if(!n)return this.log("Cannot send RPC to ".concat(e," as there is no open stream to it available")),!1;const i=this.control.get(e);i&&(this.piggybackControl(e,t,i),this.control.delete(e));const o=this.gossip.get(e);o&&(this.piggybackGossip(e,t,o),this.gossip.delete(e));const s=HA.encode(t).finish();try{n.push(s)}catch(a){return this.log.error("Cannot send rpc to ".concat(e),a),i&&this.control.set(e,i),o&&this.gossip.set(e,o),!1}return null===(r=this.metrics)||void 0===r||r.onRpcSent(t,s.length),!0}piggybackControl(e,t,r){if(r.graft){t.control||(t.control={}),t.control.graft||(t.control.graft=[]);for(const i of r.graft){var n;i.topicID&&null!==(n=this.mesh.get(i.topicID))&&void 0!==n&&n.has(e)&&t.control.graft.push(i)}}if(r.prune){t.control||(t.control={}),t.control.prune||(t.control.prune=[]);for(const n of r.prune){var i;!n.topicID||null!==(i=this.mesh.get(n.topicID))&&void 0!==i&&i.has(e)||t.control.prune.push(n)}}}piggybackGossip(e,t,r){t.control||(t.control={}),t.control.ihave=r}async sendGraftPrune(e,t,r){const n=this.opts.doPX;for(const[i,o]of e){const e=o.map((e=>({topicID:e})));let s=[];const a=t.get(i);a&&(s=await Promise.all(a.map((async e=>{var t;return await this.makePrune(i,e,n&&!(null!==(t=r.get(i))&&void 0!==t&&t))}))),t.delete(i)),this.sendRpc(i,{control:{graft:e,prune:s}})}for(const[i,o]of t){const e=await Promise.all(o.map((async e=>{var t;return await this.makePrune(i,e,n&&!(null!==(t=r.get(i))&&void 0!==t&&t))})));this.sendRpc(i,{control:{prune:e}})}}emitGossip(e){const t=this.mcache.getGossipIDs(new Set(e.keys()));for(const[n,i]of e){var r;this.doEmitGossip(n,i,null!==(r=t.get(n))&&void 0!==r?r:[])}}doEmitGossip(e,t,r){if(!r.length)return;if(XA(r),r.length>YA&&this.log("too many messages for gossip; will truncate IHAVE list (%d messages)",r.length),!t.size)return;let n=this.opts.Dlazy;const i=.25*t.size;let o=t;i>n&&(n=i),n>o.size?n=o.size:o=XA(Array.from(o)).slice(0,n),o.forEach((t=>{let n=r;r.length>YA&&(n=XA(n.slice()).slice(0,YA)),this.pushGossip(t,{topicID:e,messageIDs:n})}))}flush(){for(const[e,t]of this.gossip.entries())this.gossip.delete(e),this.sendRpc(e,{control:{ihave:t}});for(const[e,t]of this.control.entries())this.control.delete(e),this.sendRpc(e,{control:{graft:t.graft,prune:t.prune}})}pushGossip(e,t){this.log("Add gossip to %s",e);const r=this.gossip.get(e)||[];this.gossip.set(e,r.concat(t))}async makePrune(e,t,r){if(this.score.prune(e,t),this.streamsOutbound.get(e).protocol===WA)return{topicID:t,peers:[]};const n=this.opts.pruneBackoff/1e3;if(!r)return{topicID:t,peers:[],backoff:n};const i=this.getRandomGossipPeers(t,this.opts.prunePeers,(t=>t!==e&&this.score.score(t)>=0)),o=await Promise.all(Array.from(i).map((async e=>{const t=LS(e);return{peerID:t.toBytes(),signedPeerRecord:await this.components.peerStore.addressBook.getRawEnvelope(t)}})));return{topicID:t,peers:o,backoff:n}}async heartbeat(){var e,t;const{D:r,Dlo:n,Dhi:i,Dscore:o,Dout:s,fanoutTTL:a}=this.opts;this.heartbeatTicks++;const c=new Map,l=e=>{let t=c.get(e);return void 0===t&&(t=this.score.score(e),c.set(e,t)),t},u=new Map,h=new Map,d=new Map;this.clearBackoff(),this.peerhave.clear(),null===(e=this.metrics)||void 0===e||e.cacheSize.set({cache:"iasked"},this.iasked.size),this.iasked.clear(),this.applyIwantPenalties(),this.heartbeatTicks%this.opts.directConnectTicks===0&&await this.directConnect(),null===(t=this.fastMsgIdCache)||void 0===t||t.prune(),this.seenCache.prune(),this.gossipTracer.prune(),this.publishedMessageIds.prune();const p=new Map;this.mesh.forEach(((e,t)=>{const a=this.topics.get(t),c=new Set,f=new Set;if(p.set(t,f),a){const r=XA(Array.from(a)),n=this.backoff.get(t);for(const t of r){const r=this.streamsOutbound.get(t);if(r&&this.multicodecs.includes(r.protocol)&&!e.has(t)&&!this.direct.has(t)){const e=l(t);n&&n.has(t)||!(e>=0)||c.add(t),e>=this.opts.scoreThresholds.gossipThreshold&&f.add(t)}}}const g=(r,n)=>{var i;this.log("HEARTBEAT: Remove mesh link to %s in %s",r,t),this.addBackoff(r,t),e.delete(r),l(r)>=this.opts.scoreThresholds.gossipThreshold&&f.add(r),null===(i=this.metrics)||void 0===i||i.onRemoveFromMesh(t,n,1);const o=h.get(r);o?o.push(t):h.set(r,[t])},y=(r,n)=>{var i;this.log("HEARTBEAT: Add mesh link to %s in %s",r,t),this.score.graft(r,t),e.add(r),f.delete(r),null===(i=this.metrics)||void 0===i||i.onAddToMesh(t,n,1);const o=u.get(r);o?o.push(t):u.set(r,[t])};if(e.forEach((e=>{const r=l(e);r<0&&(this.log("HEARTBEAT: Prune peer %s with negative score: score=%d, topic=%s",e,r,t),g(e,TC.BadScore),d.set(e,!0))})),e.size<n){const t=function(e,t){return bC(e,t,(()=>!0))}(c,r-e.size);t.forEach((e=>{y(e,IC.NotEnough)}))}if(e.size>i){let t=Array.from(e);t.sort(((e,t)=>l(t)-l(e))),t=t.slice(0,o).concat(XA(t.slice(o)));let n=0;if(t.slice(0,r).forEach((e=>{this.outbound.get(e)&&n++})),n<s){const e=e=>{const r=t[e];for(let n=e;n>0;n--)t[n]=t[n-1];t[0]=r};if(n>0){let i=n;for(let n=1;n<r&&i>0;n++)this.outbound.get(t[n])&&(e(n),i--)}let i=r-n;for(let n=r;n<t.length&&i>0;n++)this.outbound.get(t[n])&&(e(n),i--)}t.slice(r).forEach((e=>{g(e,TC.Excess)}))}if(e.size>=n){let t=0;if(e.forEach((e=>{this.outbound.get(e)&&t++})),t<s){bC(c,s-t,(e=>!0===this.outbound.get(e))).forEach((e=>{y(e,IC.Outbound)}))}}if(this.heartbeatTicks%this.opts.opportunisticGraftTicks===0&&e.size>1){const r=Array.from(e).sort(((e,t)=>l(e)-l(t))),n=Math.floor(e.size/2),i=l(r[n]);if(i<this.opts.scoreThresholds.opportunisticGraftThreshold){const e=bC(c,this.opts.opportunisticGraftPeers,(e=>l(e)>i));for(const r of e)this.log("HEARTBEAT: Opportunistically graft peer %s on topic %s",r,t),y(r,IC.Opportunistic)}}}));const f=Date.now();this.fanoutLastpub.forEach(((e,t)=>{e+a<f&&(this.fanout.delete(t),this.fanoutLastpub.delete(t))})),this.fanout.forEach(((e,t)=>{const n=this.topics.get(t);e.forEach((t=>{(!n.has(t)||l(t)<this.opts.scoreThresholds.publishThreshold)&&e.delete(t)}));const i=this.topics.get(t),o=[],s=new Set;if(p.set(t,s),i){const t=XA(Array.from(i));for(const r of t){const t=this.streamsOutbound.get(r);if(t&&this.multicodecs.includes(t.protocol)&&!e.has(r)&&!this.direct.has(r)){const e=l(r);e>=this.opts.scoreThresholds.publishThreshold&&o.push(r),e>=this.opts.scoreThresholds.gossipThreshold&&s.add(r)}}}if(e.size<r){const t=r-e.size;o.slice(0,t).forEach((t=>{e.add(t),null===s||void 0===s||s.delete(t)}))}})),this.emitGossip(p),await this.sendGraftPrune(u,h,d),this.flush(),this.mcache.shift(),this.dispatchEvent(new gy("gossipsub:heartbeat"))}getRandomGossipPeers(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>!0;const n=this.topics.get(e);if(!n)return new Set;let i=[];return n.forEach((e=>{const t=this.streamsOutbound.get(e);t&&this.multicodecs.includes(t.protocol)&&r(e)&&i.push(e)})),i=XA(i),t>0&&i.length>t&&(i=i.slice(0,t)),new Set(i)}onScrapeMetrics(e){var t,r;e.mcacheSize.set(this.mcache.size),e.mcacheNotValidatedCount.set(this.mcache.notValidatedCount),e.cacheSize.set({cache:"direct"},this.direct.size),e.cacheSize.set({cache:"seenCache"},this.seenCache.size),e.cacheSize.set({cache:"fastMsgIdCache"},null!==(t=null===(r=this.fastMsgIdCache)||void 0===r?void 0:r.size)&&void 0!==t?t:0),e.cacheSize.set({cache:"publishedMessageIds"},this.publishedMessageIds.size),e.cacheSize.set({cache:"mcache"},this.mcache.size),e.cacheSize.set({cache:"score"},this.score.size),e.cacheSize.set({cache:"gossipTracer.promises"},this.gossipTracer.size),e.cacheSize.set({cache:"gossipTracer.requests"},this.gossipTracer.requestMsByMsgSize),e.cacheSize.set({cache:"topics"},this.topics.size),e.cacheSize.set({cache:"subscriptions"},this.subscriptions.size),e.cacheSize.set({cache:"mesh"},this.mesh.size),e.cacheSize.set({cache:"fanout"},this.fanout.size),e.cacheSize.set({cache:"peers"},this.peers.size),e.cacheSize.set({cache:"streamsOutbound"},this.streamsOutbound.size),e.cacheSize.set({cache:"streamsInbound"},this.streamsInbound.size),e.cacheSize.set({cache:"acceptFromWhitelist"},this.acceptFromWhitelist.size),e.cacheSize.set({cache:"gossip"},this.gossip.size),e.cacheSize.set({cache:"control"},this.control.size),e.cacheSize.set({cache:"peerhave"},this.peerhave.size),e.cacheSize.set({cache:"outbound"},this.outbound.size);let n=0;for(const l of this.backoff.values())n+=l.size;e.cacheSize.set({cache:"backoff"},n);for(const[l,u]of this.topics)e.topicPeersCount.set({topicStr:l},u.size);for(const[l,u]of this.mesh)e.meshPeerCounts.set({topicStr:l},u.size);const i=[],o=new Map;e.behaviourPenalty.reset();for(const l of this.peers.keys()){var s,a;const t=this.score.score(l);i.push(t),o.set(l,t),e.behaviourPenalty.observe(null!==(s=null===(a=this.score.peerStats.get(l))||void 0===a?void 0:a.behaviourPenalty)&&void 0!==s?s:0)}e.registerScores(i,this.opts.scoreThresholds),e.registerScorePerMesh(this.mesh,o);const c=function(e,t,r,n,i){const o={byTopic:new Map,p5w:[],p6w:[],p7w:[],score:[]};for(const s of e){const e=t.get(s);if(e){const t=MC(s,e,r,n,i);for(const[e,r]of t.byTopic){let t=o.byTopic.get(e);t||(t={p1w:[],p2w:[],p3w:[],p3bw:[],p4w:[]},o.byTopic.set(e,t)),t.p1w.push(r.p1w),t.p2w.push(r.p2w),t.p3w.push(r.p3w),t.p3bw.push(r.p3bw),t.p4w.push(r.p4w)}o.p5w.push(t.p5w),o.p6w.push(t.p6w),o.p7w.push(t.p7w),o.score.push(t.score)}else o.p5w.push(0),o.p6w.push(0),o.p7w.push(0),o.score.push(0)}return o}(this.peers.keys(),this.score.peerStats,this.score.params,this.score.peerIPs,e.topicStrToLabel);e.registerScoreWeights(c)}}ZC.multicodec=QA;const eI=Ui("waku:keep-alive");class tI{constructor(e,t){Ce(this,"pingKeepAliveTimers",void 0),Ce(this,"relayKeepAliveTimers",void 0),Ce(this,"options",void 0),Ce(this,"relay",void 0),this.pingKeepAliveTimers=new Map,this.relayKeepAliveTimers=new Map,this.options=e,this.relay=t}start(e,t){this.stop(e);const{pingKeepAlive:r,relayKeepAlive:n}=this.options,i=e.toString();if(0!==r){const n=setInterval((()=>{t(e).catch((e=>{eI("Ping failed (".concat(i,")"),e)}))}),1e3*r);this.pingKeepAliveTimers.set(i,n)}const o=this.relay;if(o&&0!==n){const t=function(e){let{contentTopic:t,ephemeral:r,metaSetter:n}=e;return new oI(t,r,n)}({contentTopic:"/relay-ping/1/ping/null",ephemeral:!0}),r=setInterval((()=>{eI("Sending Waku Relay ping message"),o.send(t,{payload:new Uint8Array([1])}).catch((e=>eI("Failed to send relay ping",e)))}),1e3*n);this.relayKeepAliveTimers.set(e,r)}}stop(e){const t=e.toString();this.pingKeepAliveTimers.has(t)&&(clearInterval(this.pingKeepAliveTimers.get(t)),this.pingKeepAliveTimers.delete(t)),this.relayKeepAliveTimers.has(e)&&(clearInterval(this.relayKeepAliveTimers.get(e)),this.relayKeepAliveTimers.delete(e))}stopAll(){for(const e of[...Object.values(this.pingKeepAliveTimers),...Object.values(this.relayKeepAliveTimers)])clearInterval(e);this.pingKeepAliveTimers.clear(),this.relayKeepAliveTimers.clear()}}const rI=Ui("waku:connection-manager");class nI{static create(e,t,r,n,i){let o=nI.instances.get(e);return o||(o=new nI(t,r,n,i),nI.instances.set(e,o)),o}constructor(e,t,r,n){Ce(this,"keepAliveManager",void 0),Ce(this,"options",void 0),Ce(this,"libp2pComponents",void 0),Ce(this,"dialAttemptsForPeer",new Map),Ce(this,"dialErrorsForPeer",new Map),Ce(this,"currentActiveDialCount",0),Ce(this,"pendingPeerDialQueue",[]),Ce(this,"onEventHandlers",{"peer:discovery":async e=>{const{id:t}=e.detail;this.attemptDial(t).catch((e=>rI("Error dialing peer ".concat(t.toString()," : ").concat(e))))},"peer:connect":async e=>{const{remotePeer:t}=e.detail;this.keepAliveManager.start(t,this.libp2pComponents.ping.bind(this));if((await this.getTagNamesForPeer(t)).includes(Di.BOOTSTRAP)){this.libp2pComponents.getConnections().filter((e=>e.tags.includes(Di.BOOTSTRAP))).length>this.options.maxBootstrapPeersAllowed&&await this.dropConnection(t)}},"peer:disconnect":()=>e=>{this.keepAliveManager.stop(e.detail.remotePeer)}}),this.libp2pComponents=e,this.options={maxDialAttemptsForPeer:3,maxBootstrapPeersAllowed:1,maxParallelDials:3,...n},this.keepAliveManager=new tI(t,r),this.run().then((()=>rI("Connection Manager is now running"))).catch((e=>rI("Unexpected error while running service",e))),this.dialPeerStorePeers()}async dialPeerStorePeers(){const e=await this.libp2pComponents.peerStore.all(),t=[];for(const n of e)this.libp2pComponents.getConnections().find((e=>e.remotePeer===n.id))||t.push(this.attemptDial(n.id));try{await Promise.all(t)}catch(r){rI("Unexpected error while dialing peer store peers",r)}}async run(){this.startPeerDiscoveryListener(),this.startPeerConnectionListener(),this.startPeerDisconnectionListener()}stop(){this.keepAliveManager.stopAll(),this.libp2pComponents.removeEventListener("peer:connect",this.onEventHandlers["peer:connect"]),this.libp2pComponents.removeEventListener("peer:disconnect",this.onEventHandlers["peer:disconnect"]),this.libp2pComponents.removeEventListener("peer:discovery",this.onEventHandlers["peer:discovery"])}async dialPeer(e){this.currentActiveDialCount+=1;let t=0;for(;t<=this.options.maxDialAttemptsForPeer;)try{rI("Dialing peer ".concat(e.toString())),await this.libp2pComponents.dial(e);const t=await this.getTagNamesForPeer(e);return this.libp2pComponents.getConnections(e).forEach((e=>e.tags=Array.from(new Set([...e.tags,...t])))),void this.dialAttemptsForPeer.delete(e.toString())}catch(n){var r;const i=n;this.dialErrorsForPeer.set(e.toString(),i),rI("Error dialing peer ".concat(e.toString()," - ").concat(i.errors)),t=null!==(r=this.dialAttemptsForPeer.get(e.toString()))&&void 0!==r?r:1,this.dialAttemptsForPeer.set(e.toString(),t+1),t<=this.options.maxDialAttemptsForPeer&&rI("Reattempting dial (".concat(t,")"))}try{return rI("Deleting undialable peer ".concat(e.toString()," from peer store. Error: ").concat(JSON.stringify(this.dialErrorsForPeer.get(e.toString()).errors[0]),"\n }")),this.dialErrorsForPeer.delete(e.toString()),await this.libp2pComponents.peerStore.delete(e)}catch(i){throw"Error deleting undialable peer ".concat(e.toString()," from peer store - ").concat(i)}finally{this.currentActiveDialCount-=1,this.processDialQueue()}}async dropConnection(e){try{await this.libp2pComponents.hangUp(e),rI("Dropped connection with peer ".concat(e.toString()))}catch(t){rI("Error dropping connection with peer ".concat(e.toString()," - ").concat(t))}}async processDialQueue(){if(this.pendingPeerDialQueue.length>0&&this.currentActiveDialCount<this.options.maxParallelDials){const e=this.pendingPeerDialQueue.shift();if(!e)return;this.attemptDial(e).catch((e=>{rI(e)}))}}startPeerDiscoveryListener(){this.libp2pComponents.peerStore.addEventListener("peer",this.onEventHandlers["peer:discovery"])}startPeerConnectionListener(){this.libp2pComponents.addEventListener("peer:connect",this.onEventHandlers["peer:connect"])}startPeerDisconnectionListener(){this.libp2pComponents.addEventListener("peer:disconnect",this.onEventHandlers["peer:disconnect"])}async attemptDial(e){this.currentActiveDialCount>=this.options.maxParallelDials?this.pendingPeerDialQueue.push(e):await this.shouldDialPeer(e)&&this.dialPeer(e).catch((t=>{throw"Error dialing peer ".concat(e.toString()," : ").concat(t)}))}async shouldDialPeer(e){if(this.libp2pComponents.getConnections(e).length>0)return!1;if(!(await this.getTagNamesForPeer(e)).some((e=>e===Di.BOOTSTRAP)))return!0;if(this.libp2pComponents.getConnections().filter((e=>{e.tags.find((e=>e===Di.BOOTSTRAP))})).length<this.options.maxBootstrapPeersAllowed)return!0;return!1}async getTagNamesForPeer(e){return(await this.libp2pComponents.peerStore.getTags(e)).map((e=>e.name))}}Ce(nI,"instances",new Map);Ui("waku:waku");Ui("waku:message:version-0");const iI=BigInt(1e6);class oI{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0;if(Ce(this,"contentTopic",void 0),Ce(this,"ephemeral",void 0),Ce(this,"metaSetter",void 0),this.contentTopic=e,this.ephemeral=t,this.metaSetter=r,!e||""===e)throw new Error("Content topic must be specified")}async toWire(e){return no.encode(await this.toProtoObj(e))}async toProtoObj(e){var t;const r=null!==(t=e.timestamp)&&void 0!==t?t:new Date,n={payload:e.payload,version:0,contentTopic:this.contentTopic,timestamp:BigInt(r.valueOf())*iI,meta:void 0,rateLimitProof:e.rateLimitProof,ephemeral:this.ephemeral};if(this.metaSetter){const e=this.metaSetter(n);return{...n,meta:e}}return n}}function sI(e){return null!=e[Symbol.asyncIterator]}const aI=e=>{const t=is.encodingLength(e),r=tn(t);return is.encode(e,r),aI.bytes=t,r};aI.bytes=0;var cI;!function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"}(cI||(cI={}));const lI=e=>{const t=is.decode(e);return lI.bytes=is.encodingLength(t),t};function uI(e,t){var r,n,i;const o=new Ho;let s=cI.LENGTH,a=-1;const c=null!==(r=null===t||void 0===t?void 0:t.lengthDecoder)&&void 0!==r?r:lI,l=null!==(n=null===t||void 0===t?void 0:t.maxLengthLength)&&void 0!==n?n:8,u=null!==(i=null===t||void 0===t?void 0:t.maxDataLength)&&void 0!==i?i:4194304;function*h(){for(;o.byteLength>0;){if(s===cI.LENGTH)try{if(a=c(o),a<0)throw as(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(a>u)throw as(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");const e=c.bytes;o.consume(e),null!=(null===t||void 0===t?void 0:t.onLength)&&t.onLength(a),s=cI.DATA}catch(e){if(e instanceof RangeError){if(o.byteLength>l)throw as(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw e}if(s===cI.DATA){if(o.byteLength<a)break;const e=o.sublist(0,a);o.consume(a),null!=(null===t||void 0===t?void 0:t.onData)&&t.onData(e),yield e,s=cI.LENGTH}}}return sI(e)?async function*(){for await(const t of e)o.append(t),yield*h();if(o.byteLength>0)throw as(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(const t of e)o.append(t),yield*h();if(o.byteLength>0)throw as(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}lI.bytes=0,uI.fromReader=(e,t)=>{let r=1;return uI(async function*(){for(;;)try{const{done:t,value:n}=await e.next(r);if(!0===t)return;null!=n&&(yield n)}catch(t){if("ERR_UNDER_READ"===t.code)return{done:!0,value:null};throw t}finally{r=1}}(),{...null!==t&&void 0!==t?t:{},onLength:e=>{r=e}})};new Uint8Array;Ui("waku:filter");Ui("waku:filter:v2");Ui("waku:light-push");BigInt(1e6);var hI;!function(e){e.BACKWARD="backward",e.FORWARD="forward"}(hI||(hI={}));Co.HistoryError;Ui("waku:store");Ui("waku:wait-for-remote-peer");function dI(e){return new Promise((t=>{setTimeout(t,e)}))}const pI=["/vac/waku/relay/2.0.0"],fI=Ui("waku:relay");function gI(e,t){const r=performance.now();fI("validating message from ".concat(e," received on ").concat(t.topic));let n=eC.Accept;try{const e=no.decode(t.data);e.contentTopic&&e.contentTopic.length&&e.payload&&e.payload.length||(n=eC.Reject)}catch(o){n=eC.Reject}const i=performance.now();return fI("Validation time (must be <100ms): ".concat(i-r,"ms")),n}const yI=Ui("waku:message:topic-only");class mI{constructor(e,t){Ce(this,"pubSubTopic",void 0),Ce(this,"proto",void 0),Ce(this,"payload",new Uint8Array),Ce(this,"rateLimitProof",void 0),Ce(this,"timestamp",void 0),Ce(this,"meta",void 0),Ce(this,"ephemeral",void 0),this.pubSubTopic=e,this.proto=t}get contentTopic(){return this.proto.contentTopic}}class vI{constructor(){Ce(this,"contentTopic","")}fromWireToProtoObj(e){const t=lo.decode(e);return yI("Message decoded",t),Promise.resolve({contentTopic:t.contentTopic,payload:new Uint8Array,rateLimitProof:void 0,timestamp:void 0,meta:void 0,version:void 0,ephemeral:void 0})}async fromProtoObj(e,t){return new mI(e,t)}}const bI=Ui("waku:relay");class wI{constructor(e,t){var r;if(Ce(this,"pubSubTopic",void 0),Ce(this,"defaultDecoder",void 0),Ce(this,"gossipSub",void 0),Ce(this,"observers",void 0),!this.isRelayPubSub(e.pubsub))throw Error("Failed to initialize Relay. libp2p.pubsub does not support ".concat(wI.multicodec));this.gossipSub=e.pubsub,this.pubSubTopic=null!==(r=null===t||void 0===t?void 0:t.pubSubTopic)&&void 0!==r?r:"/waku/2/default-waku/proto",this.gossipSub.isStarted()&&this.gossipSubSubscribe(this.pubSubTopic),this.observers=new Map,this.defaultDecoder=new vI}async start(){if(this.gossipSub.isStarted())throw Error("GossipSub already started.");await this.gossipSub.start(),this.gossipSubSubscribe(this.pubSubTopic)}async send(e,t){if(t.payload.length/1048576>1)return bI("Failed to send waku relay: message is bigger that 1MB"),{recipients:[],error:Ri.SIZE_TOO_BIG};const r=await e.toWire(t);return r?this.gossipSub.publish(this.pubSubTopic,r):(bI("Failed to encode message, aborting publish"),{recipients:[],error:Ri.ENCODE_FAILED})}subscribe(e,t){const r=Array.isArray(e)?EI(e,t):EI([e],t);for(const n of r.keys()){const e=this.observers.get(n)||new Set,t=r.get(n)||new Set;this.observers.set(n,_I(e,t))}return()=>{for(const e of r.keys()){const t=SI(this.observers.get(e)||new Set,r.get(e)||new Set);t.size?this.observers.set(e,t):this.observers.delete(e)}}}toSubscriptionIterator(e,t){return async function(e,t,r,n){var i,o;const s=null!==(i=null===n||void 0===n?void 0:n.iteratorDelay)&&void 0!==i?i:60,a=[];let c;c=await e.subscribe(t,(e=>{a.push(e)}),r);const l=Number.isInteger(null===n||void 0===n?void 0:n.timeoutMs),u=null!==(o=null===n||void 0===n?void 0:n.timeoutMs)&&void 0!==o?o:0,h=Date.now();return{iterator:async function*(){for(;;){if(l&&Date.now()-h>=u)return;await dI(s);const e=a.shift();if(!c&&0===a.length)return e;!e&&c||(yield e)}}(),async stop(){c&&(await c(),c=void 0)}}}(this,e,t)}getActiveSubscriptions(){const e=new Map;return e.set(this.pubSubTopic,this.observers.keys()),e}getMeshPeers(e){return this.gossipSub.getMeshPeers(null!==e&&void 0!==e?e:this.pubSubTopic)}async processIncomingMessage(e,t){const r=await this.defaultDecoder.fromWireToProtoObj(t);if(!r||!r.contentTopic)return void bI("Message does not have a content topic, skipping");const n=this.observers.get(r.contentTopic);n&&await Promise.all(Array.from(n).map((async n=>{let{decoder:i,callback:o}=n;const s=await i.fromWireToProtoObj(t);if(!s)return void bI("Internal error: message previously decoded failed on 2nd pass.");const a=await i.fromProtoObj(e,s);a?o(a):bI("Failed to decode messages on",r.contentTopic)})))}gossipSubSubscribe(e){this.gossipSub.addEventListener("gossipsub:message",(async t=>{t.detail.msg.topic===e&&(bI("Message received on ".concat(e)),this.processIncomingMessage(t.detail.msg.topic,t.detail.msg.data).catch((e=>bI("Failed to process incoming message",e))))})),this.gossipSub.topicValidators.set(e,gI),this.gossipSub.subscribe(e)}isRelayPubSub(e){var t;return(null===e||void 0===e||null===(t=e.multicodecs)||void 0===t?void 0:t.includes(wI.multicodec))||!1}}function EI(e,t){const r=Array.from(function(e){const t=new Map;return e.forEach((e=>{let r=t.get(e.contentTopic);r||(t.set(e.contentTopic,[]),r=t.get(e.contentTopic)),r.push(e)})),t}(e).entries()).map((e=>{let[r,n]=e;return[r,new Set(n.map((e=>({decoder:e,callback:t}))))]}));return new Map(r)}function _I(e,t){for(const r of t.values())e.add(r);return e}function SI(e,t){for(const r of t.values())e.has(r)&&e.delete(r);return e}function AI(e){return null!=e&&"function"===typeof e.start&&"function"===typeof e.stop}Ce(wI,"multicodec",pI[0]);const CI=Gn,II=Wn,TI=function(e){let t=0;if(e=e.toString().trim(),CI(e)){const r=new Uint8Array(t+4);return e.split(/\./g).forEach((e=>{r[t++]=255&parseInt(e,10)})),r}if(II(e)){const r=e.split(":",8);let n;for(n=0;n<r.length;n++){let e;CI(r[n])&&(e=TI(r[n]),r[n]=an(e.slice(0,2),"base16")),null!=e&&++n<8&&r.splice(n,0,an(e.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++);const e=[n,1];for(n=9-r.length;n>0;n--)e.push("0");r.splice.apply(r,e)}const i=new Uint8Array(t+16);for(n=0;n<r.length;n++){const e=parseInt(r[n],16);i[t++]=e>>8&255,i[t++]=255&e}return i}throw new Error("invalid ip address")},kI=-1,RI={},PI={};function DI(e){if("number"===typeof e){if(null!=PI[e])return PI[e];throw new Error("no protocol with code: ".concat(e))}if("string"===typeof e){if(null!=RI[e])return RI[e];throw new Error("no protocol with name: ".concat(e))}throw new Error("invalid protocol id type: ".concat(typeof e))}function NI(e,t){switch(DI(e).code){case 4:case 41:return function(e){const t=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;r=~~r,n=null!==(t=n)&&void 0!==t?t:e.length-r;const i=new DataView(e.buffer);if(4===n){const t=[];for(let i=0;i<n;i++)t.push(e[r+i]);return t.join(".")}if(16===n){const e=[];for(let t=0;t<n;t+=2)e.push(i.getUint16(r+t).toString(16));return e.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""}(e,0,e.length);if(null==t)throw new Error("ipBuff is required");if(!Qn(t))throw new Error("invalid ip address");return t}(t);case 42:case 53:case 54:case 55:case 56:case 400:case 449:case 777:return VI(t);case 6:case 273:case 33:case 132:return UI(t).toString();case 421:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return an(r,"base58btc")}(t);case 444:case 445:return jI(t);case 466:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+an(r,"base64url")}(t);default:return an(t,"base16")}}function LI(e,t){switch(DI(e).code){case 4:case 41:return BI(t);case 42:case 53:case 54:case 55:case 56:case 400:case 449:case 777:return FI(t);case 6:case 273:case 33:case 132:return MI(parseInt(t,10));case 421:return function(e){let t;t="Q"===e[0]||"1"===e[0]?ut(He.decode("z".concat(e))).bytes:At.parse(e).multihash.bytes;const r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);case 444:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(16!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion address."));const r=dt.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)");const i=MI(n);return ln([r,i],r.length+i.length)}(t);case 445:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(56!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion3 address."));const r=dt.decode("b".concat(t[0])),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");const i=MI(n);return ln([r,i],r.length+i.length)}(t);case 466:return function(e){const t=OI.decode(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);default:return Hn(t,"base16")}}[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,kI,"ip6zone"],[43,8,"ipcidr"],[53,kI,"dns",!0],[54,kI,"dns4",!0],[55,kI,"dns6",!0],[56,kI,"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"],[281,0,"webrtc-w3c"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,kI,"unix",!1,!0],[421,kI,"ipfs"],[421,kI,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,kI,"garlic64"],[448,0,"tls"],[449,kI,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,kI,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,kI,"memory"]].forEach((e=>{const t=function(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:Boolean(n),path:Boolean(i)}}(...e);PI[t.code]=t,RI[t.name]=t}));const xI=Object.values(qn).map((e=>e.decoder)),OI=function(){let e=xI[0].or(xI[1]);return xI.slice(2).forEach((t=>e=e.or(t))),e}();function BI(e){if(!Qn(e))throw new Error("invalid ip address");return TI(e)}function MI(e){const t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function UI(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function FI(e){const t=Hn(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}function VI(e){const t=cn.decode(e);if((e=e.slice(cn.decode.bytes)).length!==t)throw new Error("inconsistent lengths");return an(e)}function jI(e){const t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=an(t,"base32"),i=UI(r);return"".concat(n,":").concat(i)}function zI(e){return e.map((e=>{const t=$I(e);return null!=e[1]?[t.code,NI(t.code,e[1])]:[t.code]}))}function KI(e){return QI(ln(e.map((e=>{const t=$I(e);let r=Uint8Array.from(cn.encode(t.code));return e.length>1&&null!=e[1]&&(r=ln([r,e[1]])),r}))))}function qI(e,t){if(e.size>0)return e.size/8;if(0===e.size)return 0;var r;return cn.decode(t)+(null!==(r=cn.decode.bytes)&&void 0!==r?r:0)}function HI(e){const t=[];let r=0;for(;r<e.length;){var n;const i=cn.decode(e,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0,s=qI(DI(i),e.slice(r+o));if(0===s){t.push([i]),r+=o;continue}const a=e.slice(r+o,r+o+s);if(r+=s+o,r>e.length)throw JI("Invalid address Uint8Array: "+an(e,"base16"));t.push([i,a])}return t}function GI(e){return function(e){const t=[];return e.map((e=>{const r=$I(e);return t.push(r.name),e.length>1&&null!=e[1]&&t.push(e[1]),null})),XI(t.join("/"))}(zI(HI(e)))}function WI(e){const t=function(e){const t=[],r=e.split("/").slice(1);if(1===r.length&&""===r[0])return[];for(let n=0;n<r.length;n++){const i=r[n],o=DI(i);if(0!==o.size){if(n++,n>=r.length)throw JI("invalid address: "+e);if(!0===o.path){t.push([i,XI(r.slice(n).join("/"))]);break}t.push([i,r[n]])}else t.push([i])}return t}(e=XI(e));return KI(t.map((e=>{Array.isArray(e)||(e=[e]);const t=$I(e);return e.length>1?[t.code,LI(t.code,e[1])]:[t.code]})))}function QI(e){const t=YI(e);if(null!=t)throw t;return Uint8Array.from(e)}function YI(e){try{HI(e)}catch(t){return t}}function XI(e){return"/"+e.trim().split("/").filter((e=>e)).join("/")}function JI(e){return new Error("Error parsing address: "+e)}function $I(e){return DI(e[0])}var ZI,eT,tT,rT,nT=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},iT=function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"===typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r};const oT=Symbol.for("nodejs.util.inspect.custom"),sT=[DI("dns").code,DI("dns4").code,DI("dns6").code,DI("dnsaddr").code],aT=new Map,cT=Symbol.for("@multiformats/js-multiaddr/multiaddr");function lT(e,t){if(null==e)throw new Error("requires node address object");if(null==t)throw new Error("requires transport protocol");let r,n=e.address;switch(e.family){case 4:r="ip4";break;case 6:if(r="ip6",n.includes("%")){const e=n.split("%");if(2!==e.length)throw Error("Multiple ip6 zones in multiaddr");n=e[0];const t=e[1];r="/ip6zone/".concat(t,"/ip6")}break;default:throw Error("Invalid addr family, should be 4 or 6.")}return new hT("/"+[r,n,t,e.port].join("/"))}function uT(e){return Boolean(null===e||void 0===e?void 0:e[cT])}class hT{constructor(e){if(ZI.set(this,void 0),eT.set(this,void 0),tT.set(this,void 0),this[rT]=!0,null==e&&(e=""),e instanceof Uint8Array)this.bytes=QI(e);else if("string"===typeof e){if(e.length>0&&"/"!==e.charAt(0))throw new Error('multiaddr "'.concat(e,'" must start with a "/"'));this.bytes=WI(e)}else{if(!uT(e))throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=QI(e.bytes)}}toString(){return null==nT(this,ZI,"f")&&iT(this,ZI,GI(this.bytes),"f"),nT(this,ZI,"f")}toJSON(){return this.toString()}toOptions(){let e,t,r,n,i="";const o=DI("tcp"),s=DI("udp"),a=DI("ip4"),c=DI("ip6"),l=DI("dns6"),u=DI("ip6zone");for(const[h,d]of this.stringTuples())h===u.code&&(i="%".concat(null!==d&&void 0!==d?d:"")),sT.includes(h)&&(t=o.name,n=443,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===l.code?6:4),h!==o.code&&h!==s.code||(t=DI(h).name,n=parseInt(null!==d&&void 0!==d?d:"")),h!==a.code&&h!==c.code||(t=DI(h).name,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===c.code?6:4);if(null==e||null==t||null==r||null==n)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:r,transport:t,port:n}}protos(){return this.protoCodes().map((e=>Object.assign({},DI(e))))}protoCodes(){const e=[],t=this.bytes;let r=0;for(;r<t.length;){var n;const i=cn.decode(t,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0;r+=qI(DI(i),t.slice(r+o))+o,e.push(i)}return e}protoNames(){return this.protos().map((e=>e.name))}tuples(){return null==nT(this,eT,"f")&&iT(this,eT,HI(this.bytes),"f"),nT(this,eT,"f")}stringTuples(){return null==nT(this,tT,"f")&&iT(this,tT,zI(this.tuples()),"f"),nT(this,tT,"f")}encapsulate(e){return e=new hT(e),new hT(this.toString()+e.toString())}decapsulate(e){const t=e.toString(),r=this.toString(),n=r.lastIndexOf(t);if(n<0)throw new Error("Address ".concat(this.toString()," does not contain subaddress: ").concat(e.toString()));return new hT(r.slice(0,n))}decapsulateCode(e){const t=this.tuples();for(let r=t.length-1;r>=0;r--)if(t[r][0]===e)return new hT(KI(t.slice(0,r)));return this}getPeerId(){try{const e=this.stringTuples().filter((e=>e[0]===RI.ipfs.code)),t=e.pop();if(null!=(null===t||void 0===t?void 0:t[1])){const e=t[1];return"Q"===e[0]||"1"===e[0]?an(He.decode("z".concat(e)),"base58btc"):an(At.parse(e).multihash.bytes,"base58btc")}return null}catch(e){return null}}getPath(){let e=null;try{e=this.stringTuples().filter((e=>!0===DI(e[0]).path))[0][1],null==e&&(e=null)}catch{e=null}return e}equals(e){return Nt(this.bytes,e.bytes)}async resolve(e){const t=this.protos().find((e=>e.resolvable));if(null==t)return[this];const r=aT.get(t.name);if(null==r)throw as(new Error("no available resolver for ".concat(t.name)),"ERR_NO_AVAILABLE_RESOLVER");return(await r(this,e)).map((e=>new hT(e)))}nodeAddress(){const e=this.toOptions();if("tcp"!==e.transport&&"udp"!==e.transport)throw new Error('multiaddr must have a valid format - no protocol with name: "'.concat(e.transport,'". Must have a valid transport protocol: "{tcp, udp}"'));return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){const t=(null!==e&&void 0!==e?e:this).protos();return 2===t.length&&((4===t[0].code||41===t[0].code)&&(6===t[1].code||273===t[1].code))}[(ZI=new WeakMap,eT=new WeakMap,tT=new WeakMap,rT=cT,oT)](){return"Multiaddr(".concat(GI(this.bytes),")")}}function dT(e){return new hT(e)}const pT=(e,t)=>async function*(){const r=await async function(e){const t=[];for await(const r of e)t.push(r);return t}(e);yield*r.sort(t)}();async function fT(e){for await(const t of e);}async function*gT(e,t){for await(const r of e)await t(r)&&(yield r)}async function*yT(e,t){let r=0;if(!(t<1))for await(const n of e)if(yield n,r++,r===t)return}class mT{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(e,t,r){return Promise.reject(new Error(".put is not implemented"))}get(e,t){return Promise.reject(new Error(".get is not implemented"))}has(e,t){return Promise.reject(new Error(".has is not implemented"))}delete(e,t){return Promise.reject(new Error(".delete is not implemented"))}putMany(e){try{var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return async function*(){for await(const{key:n,value:i}of e)await t.put(n,i,r),yield{key:n,value:i}}()}catch(r){return Promise.reject(r)}}getMany(e){try{var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return async function*(){for await(const n of e)yield t.get(n,r)}()}catch(r){return Promise.reject(r)}}deleteMany(e){try{var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return async function*(){for await(const n of e)await t.delete(n,r),yield n}()}catch(r){return Promise.reject(r)}}batch(){let e=[],t=[];return{put(t,r){e.push({key:t,value:r})},delete(e){t.push(e)},commit:async r=>{await fT(this.putMany(e,r)),e=[],await fT(this.deleteMany(t,r)),t=[]}}}async*_all(e,t){throw new Error("._all is not implemented")}async*_allKeys(e,t){throw new Error("._allKeys is not implemented")}query(e,t){let r=this._all(e,t);if(null!=e.prefix&&(r=gT(r,(t=>t.key.toString().startsWith(e.prefix)))),Array.isArray(e.filters)&&(r=e.filters.reduce(((e,t)=>gT(e,t)),r)),Array.isArray(e.orders)&&(r=e.orders.reduce(((e,t)=>pT(e,t)),r)),null!=e.offset){let t=0;r=gT(r,(()=>t++>=e.offset))}return null!=e.limit&&(r=yT(r,e.limit)),r}queryKeys(e,t){let r=this._allKeys(e,t);if(null!=e.prefix&&(r=gT(r,(t=>t.toString().startsWith(e.prefix)))),Array.isArray(e.filters)&&(r=e.filters.reduce(((e,t)=>gT(e,t)),r)),Array.isArray(e.orders)&&(r=e.orders.reduce(((e,t)=>pT(e,t)),r)),null!=e.offset){let t=0;r=gT(r,(()=>t++>=e.offset))}return null!=e.limit&&(r=yT(r,e.limit)),r}}let vT=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:21;return crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+=(t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_"),"")};const bT="/",wT=(new TextEncoder).encode(bT),ET=wT[0];class _T{constructor(e,t){if("string"===typeof e)this._buf=Hn(e);else{if(!(e instanceof Uint8Array))throw new Error("Invalid key, should be String of Uint8Array");this._buf=e}if(null==t&&(t=!0),t&&this.clean(),0===this._buf.byteLength||this._buf[0]!==ET)throw new Error("Invalid key")}toString(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"utf8";return an(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return"Key(".concat(this.toString(),")")}static withNamespaces(e){return new _T(e.join(bT))}static random(){return new _T(vT().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||"string"===typeof e?new _T(e):"function"===typeof e.uint8Array?new _T(e.uint8Array()):null}clean(){if(null!=this._buf&&0!==this._buf.byteLength||(this._buf=wT),this._buf[0]!==ET){const e=new Uint8Array(this._buf.byteLength+1);e.fill(ET,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===ET;)this._buf=this._buf.subarray(0,-1)}less(e){const t=this.list(),r=e.list();for(let n=0;n<t.length;n++){if(r.length<n+1)return!1;const e=t[n],i=r[n];if(e<i)return!0;if(e>i)return!1}return t.length<r.length}reverse(){return _T.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){const e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(bT).slice(1)}type(){return function(e){const t=e.split(":");if(t.length<2)return"";return t.slice(0,-1).join(":")}(this.baseNamespace())}name(){return function(e){const t=e.split(":");return t[t.length-1]}(this.baseNamespace())}instance(e){return new _T(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(bT)||(e+=bT),e+=this.type(),new _T(e)}parent(){const e=this.list();return 1===e.length?new _T(bT):new _T(e.slice(0,-1).join(bT))}child(e){return this.toString()===bT?e:e.toString()===bT?this:new _T(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()!==this.toString()&&e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()!==this.toString()&&this.toString().startsWith(e.toString())}isTopLevel(){return 1===this.list().length}concat(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return _T.withNamespaces([...this.namespaces(),...(n=t.map((e=>e.namespaces())),[].concat(...n))]);var n}}class ST extends mT{constructor(){super(),this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(e,t){this.data[e.toString()]=t}async get(e){if(!await this.has(e))throw t=t||new Error("Not Found"),as(t,"ERR_NOT_FOUND");var t;return this.data[e.toString()]}async has(e){return void 0!==this.data[e.toString()]}async delete(e){delete this.data[e.toString()]}async*_all(){yield*Object.entries(this.data).map((e=>{let[t,r]=e;return{key:new _T(t),value:r}}))}async*_allKeys(){yield*Object.entries(this.data).map((e=>{let[t]=e;return new _T(t)}))}}var AT,CT;async function*IT(e,t){yield*async function*(e,t){for await(const r of e)yield t(r)}(e,(async e=>(await t.addressBook.add(e.id,e.multiaddrs),e)))}function TT(e){const t=new Set;return gT(e,(e=>!t.has(e.id.toString())&&(t.add(e.id.toString()),!0)))}function kT(e){try{let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return async function*(){let r=0;for await(const t of e)r++,yield t;if(r<t)throw as(new Error("not found"),"NOT_FOUND")}()}catch(t){return Promise.reject(t)}}!function(e){e.NOT_STARTED_YET="The libp2p node is not started yet",e.DHT_DISABLED="DHT is not available",e.PUBSUB_DISABLED="PubSub is not available",e.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",e.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",e.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",e.NOT_FOUND="Not found"}(AT||(AT={})),function(e){e.DHT_DISABLED="ERR_DHT_DISABLED",e.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",e.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",e.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",e.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",e.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",e.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",e.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",e.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",e.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",e.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",e.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",e.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",e.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",e.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",e.ERR_DIALED_SELF="ERR_DIALED_SELF",e.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",e.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",e.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",e.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",e.ERR_INVALID_KEY="ERR_INVALID_KEY",e.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_INVALID_PEER="ERR_INVALID_PEER",e.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",e.ERR_NOT_FOUND="ERR_NOT_FOUND",e.ERR_TIMEOUT="ERR_TIMEOUT",e.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",e.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",e.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",e.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",e.ERR_FIND_SELF="ERR_FIND_SELF",e.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",e.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",e.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",e.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",e.ERR_INVALID_CMS="ERR_INVALID_CMS",e.ERR_MISSING_KEYS="ERR_MISSING_KEYS",e.ERR_NO_KEY="ERR_NO_KEY",e.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",e.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",e.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",e.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",e.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",e.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",e.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",e.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",e.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",e.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",e.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",e.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",e.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",e.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",e.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",e.ERR_INVALID_RECORD="ERR_INVALID_RECORD",e.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",e.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED"}(CT||(CT={}));var RT=__webpack_require__(4275);async function PT(e){for await(const t of e)return t}var DT=__webpack_require__(3461),NT=__webpack_require__(8041);const LT=nd("libp2p:peer-routing");class xT{constructor(e,t){var r,n;this.components=e,this.routers=null!==(r=t.routers)&&void 0!==r?r:[],this.refreshManagerInit=null!==(n=t.refreshManager)&&void 0!==n?n:{},this.started=!1,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}isStarted(){return this.started}async start(){this.started||0===this.routers.length||null!=this.timeoutId||!1===this.refreshManagerInit.enabled||(this.timeoutId=(0,DT.setDelayedInterval)(this._findClosestPeersTask,this.refreshManagerInit.interval,this.refreshManagerInit.bootDelay),this.started=!0)}async _findClosestPeersTask(){if(null==this.abortController)try{var e;this.abortController=new RT.TimeoutController(null!==(e=this.refreshManagerInit.timeout)&&void 0!==e?e:1e4);try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,this.abortController.signal)}catch{}await fT(this.getClosestPeers(this.components.peerId.toBytes(),{signal:this.abortController.signal}))}catch(r){LT.error(r)}finally{var t;null===(t=this.abortController)||void 0===t||t.clear(),this.abortController=void 0}}async stop(){var e;(0,DT.clearDelayedInterval)(this.timeoutId),null===(e=this.abortController)||void 0===e||e.abort(),this.started=!1}async findPeer(e,t){if(0===this.routers.length)throw as(new Error("No peer routers available"),CT.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw as(new Error("Should not try to find self"),CT.ERR_FIND_SELF);const r=await la(ia(...this.routers.map((r=>async function*(){try{yield await r.findPeer(e,t)}catch(n){LT.error(n)}}()))),(e=>gT(e,Boolean)),(e=>IT(e,this.components.peerStore)),(async e=>await PT(e)));if(null!=r)return r;throw as(new Error(AT.NOT_FOUND),CT.ERR_NOT_FOUND)}async*getClosestPeers(e,t){if(0===this.routers.length)throw as(new Error("No peer routers available"),CT.ERR_NO_ROUTERS_AVAILABLE);yield*la(ia(...this.routers.map((r=>r.getClosestPeers(e,t)))),(e=>IT(e,this.components.peerStore)),(e=>TT(e)),(e=>kT(e)))}}class OT{constructor(e,t){var r;this.routers=null!==(r=t.routers)&&void 0!==r?r:[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}findProviders(e){try{var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return async function*(){if(0===t.routers.length)throw as(new Error("No content this.routers available"),CT.ERR_NO_ROUTERS_AVAILABLE);yield*la(ia(...t.routers.map((t=>t.findProviders(e,r)))),(e=>IT(e,t.components.peerStore)),(e=>TT(e)),(e=>kT(e)))}()}catch(r){return Promise.reject(r)}}async provide(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(0===this.routers.length)throw as(new Error("No content routers available"),CT.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map((async r=>await r.provide(e,t))))}async put(e,t,r){if(!this.isStarted())throw as(new Error(AT.NOT_STARTED_YET),CT.DHT_NOT_STARTED);const n=this.components.dht;null!=n&&await fT(n.put(e,t,r))}async get(e,t){if(!this.isStarted())throw as(new Error(AT.NOT_STARTED_YET),CT.DHT_NOT_STARTED);const r=this.components.dht;if(null!=r)for await(const n of r.get(e,t))if("VALUE"===n.name)return n.value;throw as(new Error(AT.NOT_FOUND),CT.ERR_NOT_FOUND)}async*getMany(e,t,r){if(!this.isStarted())throw as(new Error(AT.NOT_STARTED_YET),CT.DHT_NOT_STARTED);if(null==t||0===t)return;let n=0;const i=this.components.dht;if(null!=i)for await(const o of i.get(e,r))if("VALUE"===o.name&&(yield{from:o.from,val:o.value},n++,n===t))break;if(0===n)throw as(new Error(AT.NOT_FOUND),CT.ERR_NOT_FOUND)}}const BT=e=>e;class MT extends py{constructor(e,t){var r;super();const{listen:n=[],announce:i=[]}=t;this.components=e,this.listen=n.map((e=>e.toString())),this.announce=new Set(i.map((e=>e.toString()))),this.observed=new Set,this.announceFilter=null!==(r=t.announceFilter)&&void 0!==r?r:BT}getListenAddrs(){return Array.from(this.listen).map((e=>dT(e)))}getAnnounceAddrs(){return Array.from(this.announce).map((e=>dT(e)))}getObservedAddrs(){return Array.from(this.observed).map((e=>dT(e)))}confirmObservedAddr(e){}removeObservedAddr(e){}addObservedAddr(e){let t=dT(e);const r=t.getPeerId();if(null!=r){Ih(r).equals(this.components.peerId)&&(t=t.decapsulate(dT("/p2p/".concat(this.components.peerId.toString()))))}const n=t.toString();this.observed.has(n)||(this.observed.add(n),this.dispatchEvent(new gy("change:addresses")))}getAddresses(){let e=this.getAnnounceAddrs().map((e=>e.toString()));0===e.length&&(e=this.components.transportManager.getAddrs().map((e=>e.toString()))),e=e.concat(this.getObservedAddrs().map((e=>e.toString())));const t=new Set(e);return this.announceFilter(Array.from(t).map((e=>dT(e)))).map((e=>{var t;return!0===(null===(t=e.protos().pop())||void 0===t?void 0:t.path)||e.getPeerId()===this.components.peerId.toString()?e:e.encapsulate("/p2p/".concat(this.components.peerId.toString()))}))}}const UT=__webpack_require__(308),FT=nd("libp2p:connection-manager:latency-monitor:visibility-change-emitter");class VT extends py{constructor(){super(),this.hidden="hidden",this.visibilityChange="visibilityChange",null!=globalThis.document&&(this._initializeVisibilityVarNames(),this._addVisibilityChangeListener())}_initializeVisibilityVarNames(){let e="hidden",t="visibilitychange";"undefined"!==typeof globalThis.document.hidden?(e="hidden",t="visibilitychange"):"undefined"!==typeof globalThis.document.mozHidden?(e="mozHidden",t="mozvisibilitychange"):"undefined"!==typeof globalThis.document.msHidden?(e="msHidden",t="msvisibilitychange"):"undefined"!==typeof globalThis.document.webkitHidden&&(e="webkitHidden",t="webkitvisibilitychange"),this.hidden=e,this.visibilityChange=t}_addVisibilityChangeListener(){"undefined"===typeof globalThis.document.addEventListener||"undefined"===typeof document[this.hidden]?FT("Checking page visibility requires a browser that supports the Page Visibility API."):globalThis.document.addEventListener(this.visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(void 0!==this.hidden&&void 0!==document[this.hidden])return null==document[this.hidden]}_handleVisibilityChange(){const e=!1===globalThis.document[this.hidden];FT(e?"Page Visible":"Page Hidden"),this.dispatchEvent(new gy("visibilityChange",{detail:e}))}}const jT=nd("libp2p:connection-manager:latency-monitor");class zT extends py{constructor(){var e,t;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super();const{latencyCheckIntervalMs:n,dataEmitIntervalMs:i,asyncTestFn:o,latencyRandomPercentage:s}=r;this.latencyCheckIntervalMs=null!==n&&void 0!==n?n:500,this.latencyRandomPercentage=null!==s&&void 0!==s?s:10,this.latencyCheckMultiply=this.latencyRandomPercentage/100*2*this.latencyCheckIntervalMs,this.latencyCheckSubtract=this.latencyCheckMultiply/2,this.dataEmitIntervalMs=null===i||0===i?void 0:null!==i&&void 0!==i?i:5e3,jT("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",this.latencyCheckIntervalMs,this.dataEmitIntervalMs),null!=this.dataEmitIntervalMs?jT("Expecting ~%s events per summary",this.latencyCheckIntervalMs/this.dataEmitIntervalMs):jT("Not emitting summaries"),this.asyncTestFn=o,null!=(null===(e=globalThis.process)||void 0===e?void 0:e.hrtime)?(jT("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=e=>{const t=this.now(e);return 1e3*t[0]+t[1]/1e6}):"undefined"!==typeof window&&null!=(null===(t=window.performance)||void 0===t?void 0:t.now)?(jT("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=e=>Math.round(this.now()-e)):(jT("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=e=>this.now()-e),this.latencyData=this.initLatencyData()}start(){var e;"undefined"!==typeof globalThis.window&&(this.visibilityChangeEmitter=new VT,this.visibilityChangeEmitter.addEventListener("visibilityChange",(e=>{const{detail:t}=e;t?this._startTimers():(this._emitSummary(),this._stopTimers())}))),!0===(null===(e=this.visibilityChangeEmitter)||void 0===e?void 0:e.isVisible())&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){null==this.checkLatencyID&&(this.checkLatency(),null!=this.dataEmitIntervalMs&&(this.emitIntervalID=setInterval((()=>this._emitSummary()),this.dataEmitIntervalMs),"function"===typeof this.emitIntervalID.unref&&this.emitIntervalID.unref()))}_stopTimers(){null!=this.checkLatencyID&&(clearTimeout(this.checkLatencyID),this.checkLatencyID=void 0),null!=this.emitIntervalID&&(clearInterval(this.emitIntervalID),this.emitIntervalID=void 0)}_emitSummary(){const e=this.getSummary();e.events>0&&this.dispatchEvent(new gy("data",{detail:e}))}getSummary(){const e={events:this.latencyData.events,minMs:this.latencyData.minMs,maxMs:this.latencyData.maxMs,avgMs:this.latencyData.events>0?this.latencyData.totalMs/this.latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this.latencyData.startTime)};return this.latencyData=this.initLatencyData(),jT.trace("Summary: %O",e),e}checkLatency(){const e=Math.random()*this.latencyCheckMultiply-this.latencyCheckSubtract,t={deltaOffset:Math.ceil(this.latencyCheckIntervalMs+e),startTime:this.now()},r=()=>{if(null==this.checkLatencyID)return;const e=this.getDeltaMS(t.startTime)-t.deltaOffset;this.checkLatency(),this.latencyData.events++,this.latencyData.minMs=Math.min(this.latencyData.minMs,e),this.latencyData.maxMs=Math.max(this.latencyData.maxMs,e),this.latencyData.totalMs+=e,jT.trace("MS: %s Data: %O",e,this.latencyData)};jT.trace("localData: %O",t),this.checkLatencyID=setTimeout((()=>{null!=this.asyncTestFn?(t.deltaOffset=0,t.startTime=this.now(),this.asyncTestFn(r)):(t.deltaOffset-=1,r())}),t.deltaOffset),"function"===typeof this.checkLatencyID.unref&&this.checkLatencyID.unref()}initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}}const KT="OPEN",qT="CLOSING",HT="CLOSED";function GT(e,t){const r={[Symbol.iterator]:()=>r,next:()=>{const r=e.next(),n=r.value;if(!0===r.done||null==n){return{done:!0,value:void 0}}return{done:!1,value:t(n)}}};return r}let WT,QT,YT;WT=Symbol.iterator;class XT{constructor(e){if(Ce(this,"map",void 0),this.map=new Map,null!=e)for(const[t,r]of e.entries())this.map.set(t.toString(),r)}[WT](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return GT(this.map.entries(),(e=>[Ih(e[0]),e[1]]))}forEach(e){this.map.forEach(((t,r)=>{e(t,Ih(r),this)}))}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,t){this.map.set(e.toString(),t)}keys(){return GT(this.map.keys(),(e=>Ih(e)))}values(){return this.map.values()}get size(){return this.map.size}}QT=Symbol.iterator;class JT{constructor(e){if(Ce(this,"set",void 0),this.set=new Set,null!=e)for(const t of e)this.set.add(t.toString())}get size(){return this.set.size}[QT](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return GT(this.set.entries(),(e=>{const t=Ih(e[0]);return[t,t]}))}forEach(e){this.set.forEach((t=>{const r=Ih(t);e(r,r,this)}))}has(e){return this.set.has(e.toString())}values(){return GT(this.set.values(),(e=>Ih(e)))}intersection(e){const t=new JT;for(const r of e)this.has(r)&&t.add(r);return t}difference(e){const t=new JT;for(const r of this)e.has(r)||t.add(r);return t}union(e){const t=new JT;for(const r of e)t.add(r);for(const r of this)t.add(r);return t}}YT=Symbol.iterator;function $T(e){if(Te(e))return{peerId:e};if(uT(e)){const t=e.getPeerId();return{multiaddr:e,peerId:null==t?void 0:Ih(t)}}throw as(new Error("".concat(e," is not a PeerId or a Multiaddr")),CT.ERR_INVALID_MULTIADDR)}const ZT=nd("libp2p:connection-manager"),ek={maxConnections:1/0,minConnections:0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,inboundConnectionThreshold:5,maxIncomingPendingConnections:10};class tk extends py{constructor(e,t){var r,n,i,o;if(super(),this.opts=UT.call({ignoreUndefined:!0},ek,t),this.opts.maxConnections<this.opts.minConnections)throw as(new Error("Connection Manager maxConnections must be greater than minConnections"),CT.ERR_INVALID_PARAMETERS);ZT("options: %o",this.opts),this.components=e,this.connections=new Map,this.started=!1,null!=t.maxEventLoopDelay&&t.maxEventLoopDelay>0&&t.maxEventLoopDelay!==1/0&&(this.latencyMonitor=new zT({latencyCheckIntervalMs:t.pollInterval,dataEmitIntervalMs:t.pollInterval}));try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,this)}catch{}this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.startupReconnectTimeout=null!==(r=t.startupReconnectTimeout)&&void 0!==r?r:6e4,this.dialTimeout=null!==(n=t.dialTimeout)&&void 0!==n?n:3e4,this.allow=(null!==(i=t.allow)&&void 0!==i?i:[]).map((e=>dT(e))),this.deny=(null!==(o=t.deny)&&void 0!==o?o:[]).map((e=>dT(e))),this.inboundConnectionRateLimiter=new Od.RateLimiterMemory({points:this.opts.inboundConnectionThreshold,duration:1}),this.incomingPendingConnections=0}isStarted(){return this.started}async start(){var e,t,r,n,i;null===(e=this.components.metrics)||void 0===e||e.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{const e={inbound:0,outbound:0};for(const t of this.connections.values())for(const r of t)"inbound"===r.stat.direction?e.inbound++:e.outbound++;return e}}),null===(t=this.components.metrics)||void 0===t||t.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{const e={};for(const n of this.connections.values())for(const i of n)for(const n of i.streams){var t,r;const i="".concat(n.stat.direction," ").concat(null!==(t=n.stat.protocol)&&void 0!==t?t:"unnegotiated");e[i]=(null!==(r=e[i])&&void 0!==r?r:0)+1}return e}}),null===(r=this.components.metrics)||void 0===r||r.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{const e={};for(const o of this.connections.values())for(const i of o){const o={};for(const e of i.streams){var t,r;const n="".concat(e.stat.direction," ").concat(null!==(t=e.stat.protocol)&&void 0!==t?t:"unnegotiated");o[n]=(null!==(r=o[n])&&void 0!==r?r:0)+1}for(const[t,r]of Object.entries(o)){var n;e[t]=null!==(n=e[t])&&void 0!==n?n:[],e[t].push(r)}}const i={};for(let[o,s]of Object.entries(e)){s=s.sort(((e,t)=>e-t));const e=Math.floor(.9*s.length);i[o]=s[e]}return i}}),null===(n=this.latencyMonitor)||void 0===n||n.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),null===(i=this.latencyMonitor)||void 0===i||i.addEventListener("data",this._onLatencyMeasure),this.started=!0,ZT("started")}async afterStart(){this.components.upgrader.addEventListener("connection",this.onConnect),this.components.upgrader.addEventListener("connectionEnd",this.onDisconnect),Promise.resolve().then((async()=>{var e;const t=[];for(const r of await this.components.peerStore.all()){(await this.components.peerStore.getTags(r.id)).filter((e=>"keep-alive"===e.name)).length>0&&t.push(r.id)}null===(e=this.connectOnStartupController)||void 0===e||e.clear(),this.connectOnStartupController=new RT.TimeoutController(this.startupReconnectTimeout);try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,this.connectOnStartupController.signal)}catch{}await Promise.all(t.map((async e=>{var t;await this.openConnection(e,{signal:null===(t=this.connectOnStartupController)||void 0===t?void 0:t.signal}).catch((e=>{ZT.error(e)}))})))})).catch((e=>{ZT.error(e)})).finally((()=>{var e;null===(e=this.connectOnStartupController)||void 0===e||e.clear()}))}async beforeStop(){var e;null===(e=this.connectOnStartupController)||void 0===e||e.abort(),this.components.upgrader.removeEventListener("connection",this.onConnect),this.components.upgrader.removeEventListener("connectionEnd",this.onDisconnect)}async stop(){var e,t;null===(e=this.latencyMonitor)||void 0===e||e.removeEventListener("data",this._onLatencyMeasure),null===(t=this.latencyMonitor)||void 0===t||t.stop(),this.started=!1,await this._close(),ZT("stopped")}async _close(){const e=[];for(const t of this.connections.values())for(const r of t)e.push((async()=>{try{await r.close()}catch(e){ZT.error(e)}})());ZT("closing %d connections",e.length),await Promise.all(e),this.connections.clear()}onConnect(e){this._onConnect(e).catch((e=>{ZT.error(e)}))}async _onConnect(e){const{detail:t}=e;if(!this.started)return void await t.close();const r=t.remotePeer,n=r.toString(),i=this.connections.get(n);null!=i?i.push(t):this.connections.set(n,[t]),null!=r.publicKey&&await this.components.peerStore.keyBook.set(r,r.publicKey);const o=this.getConnections().length,s=o-this.opts.maxConnections;await this._checkMaxLimit("maxConnections",o,s),this.dispatchEvent(new gy("peer:connect",{detail:t}))}onDisconnect(e){const{detail:t}=e;if(!this.started)return;const r=t.remotePeer.toString();let n=this.connections.get(r);null!=n&&n.length>1?(n=n.filter((e=>e.id!==t.id)),this.connections.set(r,n)):null!=n&&(this.connections.delete(r),this.dispatchEvent(new gy("peer:disconnect",{detail:t})))}getConnections(e){var t;if(null!=e)return null!==(t=this.connections.get(e.toString()))&&void 0!==t?t:[];let r=[];for(const n of this.connections.values())r=r.concat(n);return r}async openConnection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{peerId:r,multiaddr:n}=$T(e);if(null==r&&null==n)throw as(new TypeError("Can only open connections to PeerIds or Multiaddrs"),CT.ERR_INVALID_PARAMETERS);if(null!=r){ZT("dial to",r);const e=this.getConnections(r);if(e.length>0)return ZT("had an existing connection to %p",r),e[0]}let i;if(null==(null===t||void 0===t?void 0:t.signal)){i=new RT.TimeoutController(this.dialTimeout),t.signal=i.signal;try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,i.signal)}catch{}}try{const r=await this.components.dialer.dial(e,t);let n=this.connections.get(r.remotePeer.toString());null==n&&(n=[],this.connections.set(r.remotePeer.toString(),n));let o=!1;for(const e of n)e.id===r.id&&(o=!0);return o||n.push(r),r}finally{null!=i&&i.clear()}}async closeConnections(e){var t;const r=null!==(t=this.connections.get(e.toString()))&&void 0!==t?t:[];await Promise.all(r.map((async e=>await e.close())))}getAll(e){if(!Te(e))throw as(new Error("peerId must be an instance of peer-id"),CT.ERR_INVALID_PARAMETERS);const t=e.toString(),r=this.connections.get(t);return null!=r?r.filter((e=>e.stat.status===KT)):[]}_onLatencyMeasure(e){const{detail:t}=e;this._checkMaxLimit("maxEventLoopDelay",t.avgMs,1).catch((e=>{ZT.error(e)}))}async _checkMaxLimit(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n=this.opts[e];null!=n?(ZT.trace("checking limit of %s. current value: %d of %d",e,t,n),t>n&&(ZT("%s: limit exceeded: %p, %d/%d, pruning %d connection(s)",this.components.peerId,e,t,n,r),await this._pruneConnections(r))):ZT.trace("limit %s was not set so it cannot be applied",e)}async _pruneConnections(e){const t=this.getConnections(),r=new XT;for(const o of t){const e=o.remotePeer;if(r.has(e))continue;const t=await this.components.peerStore.getTags(e);r.set(e,t.reduce(((e,t)=>e+t.value),0))}const n=t.sort(((e,t)=>{var n,i;const o=null!==(n=r.get(e.remotePeer))&&void 0!==n?n:0,s=null!==(i=r.get(t.remotePeer))&&void 0!==i?i:0;if(o>s)return 1;if(o<s)return-1;const a=e.stat.timeline.open,c=t.stat.timeline.open;return a<c?1:a>c?-1:0})),i=[];for(const o of n)if(ZT("too many connections open - closing a connection to %p",o.remotePeer),i.push(o),i.length===e)break;await Promise.all(i.map((async e=>{try{await e.close()}catch(t){ZT.error(t)}this.onDisconnect(new gy("connectionEnd",{detail:e}))})))}async acceptIncomingConnection(e){if(this.deny.some((t=>e.remoteAddr.toString().startsWith(t.toString()))))return ZT("connection from %s refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some((t=>e.remoteAddr.toString().startsWith(t.toString()))))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.opts.maxIncomingPendingConnections)return ZT("connection from %s refused - incomingPendingConnections exceeded by peer %s",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){const t=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(t,1)}catch{return ZT("connection from %s refused - inboundConnectionThreshold exceeded by host %s",t,e.remoteAddr),!1}}return this.getConnections().length<this.opts.maxConnections?(this.incomingPendingConnections++,!0):(ZT("connection from %s refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}}var rk=__webpack_require__(9965);async function nk(e){const t=[];for await(const r of e)t.push(r);return t}async function*ik(e,t){const r=await async function(e){const t=[];for await(const r of e)t.push(r);return t}(e);yield*r.sort(t)}const ok=nd("libp2p:connection-manager:auto-dialler"),sk={enabled:!0,minConnections:0,autoDialInterval:1e4};class ak{constructor(e,t){this.components=e,this.options=UT.call({ignoreUndefined:!0},sk,t),this.running=!1,this._autoDial=this._autoDial.bind(this),ok("options: %j",this.options)}isStarted(){return this.running}async start(){this.options.enabled?(this.running=!0,this._autoDial().catch((e=>{ok.error("could start autodial",e)})),ok("started")):ok("not enabled")}async stop(){this.options.enabled?(this.running=!1,null!=this.autoDialTimeout&&this.autoDialTimeout.clear(),ok("stopped")):ok("not enabled")}async _autoDial(){null!=this.autoDialTimeout&&this.autoDialTimeout.clear();const e=this.options.minConnections;if(this.components.connectionManager.getConnections().length>=e)return void(this.autoDialTimeout=rk(this._autoDial,this.options.autoDialInterval));const t=await this.components.peerStore.all(),r=await la(t.sort((()=>Math.random()>.5?1:-1)),(e=>gT(e,(e=>!e.id.equals(this.components.peerId)))),(e=>ik(e,((e,t)=>t.protocols.length>e.protocols.length||null!=t.id.publicKey&&null==e.id.publicKey?1:-1))),(async e=>await nk(e)));for(let i=0;this.running&&i<r.length&&this.components.connectionManager.getConnections().length<e;i++){if(!this.running)return;const e=r[i];if(0===this.components.connectionManager.getConnections(e.id).length){ok("connecting to a peerStore stored peer %p",e.id);try{await this.components.connectionManager.openConnection(e.id)}catch(n){ok.error("could not connect to peerStore stored peer",n)}}}this.running&&(this.autoDialTimeout=rk(this._autoDial,this.options.autoDialInterval))}}Wi._configure(),Hi._configure(Gi),Qi._configure(Yi);const ck=["uint64","int64","sint64","fixed64","sfixed64"];function lk(e){return function(e){for(const t of ck){if(null==e[t])continue;const r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}(new Hi(e))}function uk(){return function(e){for(const t of ck){if(null==e[t])continue;const r=e[t];e[t]=function(e){return r.call(this,e.toString())}}return e}(Qi.create())}function hk(e,t){const r=lk(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function dk(e,t){const r=uk();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var pk,fk;function gk(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function yk(e){function t(t){if(null==e[t.toString()])throw new Error("Invalid enum value");return e[t]}return gk("enum",pk.VARINT,(function(e,r){const n=t(e);r.int32(n)}),(function(e){return t(e.int32())}))}function mk(e,t){return gk("message",pk.LENGTH_DELIMITED,e,t)}!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"}(pk||(pk={})),function(e){let t,r,n,i,o,s;!function(e){e.SUCCESS="SUCCESS",e.HOP_SRC_ADDR_TOO_LONG="HOP_SRC_ADDR_TOO_LONG",e.HOP_DST_ADDR_TOO_LONG="HOP_DST_ADDR_TOO_LONG",e.HOP_SRC_MULTIADDR_INVALID="HOP_SRC_MULTIADDR_INVALID",e.HOP_DST_MULTIADDR_INVALID="HOP_DST_MULTIADDR_INVALID",e.HOP_NO_CONN_TO_DST="HOP_NO_CONN_TO_DST",e.HOP_CANT_DIAL_DST="HOP_CANT_DIAL_DST",e.HOP_CANT_OPEN_DST_STREAM="HOP_CANT_OPEN_DST_STREAM",e.HOP_CANT_SPEAK_RELAY="HOP_CANT_SPEAK_RELAY",e.HOP_CANT_RELAY_TO_SELF="HOP_CANT_RELAY_TO_SELF",e.STOP_SRC_ADDR_TOO_LONG="STOP_SRC_ADDR_TOO_LONG",e.STOP_DST_ADDR_TOO_LONG="STOP_DST_ADDR_TOO_LONG",e.STOP_SRC_MULTIADDR_INVALID="STOP_SRC_MULTIADDR_INVALID",e.STOP_DST_MULTIADDR_INVALID="STOP_DST_MULTIADDR_INVALID",e.STOP_RELAY_REFUSED="STOP_RELAY_REFUSED",e.MALFORMED_MESSAGE="MALFORMED_MESSAGE"}(t=e.Status||(e.Status={})),function(e){e[e.SUCCESS=100]="SUCCESS",e[e.HOP_SRC_ADDR_TOO_LONG=220]="HOP_SRC_ADDR_TOO_LONG",e[e.HOP_DST_ADDR_TOO_LONG=221]="HOP_DST_ADDR_TOO_LONG",e[e.HOP_SRC_MULTIADDR_INVALID=250]="HOP_SRC_MULTIADDR_INVALID",e[e.HOP_DST_MULTIADDR_INVALID=251]="HOP_DST_MULTIADDR_INVALID",e[e.HOP_NO_CONN_TO_DST=260]="HOP_NO_CONN_TO_DST",e[e.HOP_CANT_DIAL_DST=261]="HOP_CANT_DIAL_DST",e[e.HOP_CANT_OPEN_DST_STREAM=262]="HOP_CANT_OPEN_DST_STREAM",e[e.HOP_CANT_SPEAK_RELAY=270]="HOP_CANT_SPEAK_RELAY",e[e.HOP_CANT_RELAY_TO_SELF=280]="HOP_CANT_RELAY_TO_SELF",e[e.STOP_SRC_ADDR_TOO_LONG=320]="STOP_SRC_ADDR_TOO_LONG",e[e.STOP_DST_ADDR_TOO_LONG=321]="STOP_DST_ADDR_TOO_LONG",e[e.STOP_SRC_MULTIADDR_INVALID=350]="STOP_SRC_MULTIADDR_INVALID",e[e.STOP_DST_MULTIADDR_INVALID=351]="STOP_DST_MULTIADDR_INVALID",e[e.STOP_RELAY_REFUSED=390]="STOP_RELAY_REFUSED",e[e.MALFORMED_MESSAGE=400]="MALFORMED_MESSAGE"}(r||(r={})),function(e){e.codec=()=>yk(r)}(t=e.Status||(e.Status={})),function(e){e.HOP="HOP",e.STOP="STOP",e.STATUS="STATUS",e.CAN_HOP="CAN_HOP"}(n=e.Type||(e.Type={})),function(e){e[e.HOP=1]="HOP",e[e.STOP=2]="STOP",e[e.STATUS=3]="STATUS",e[e.CAN_HOP=4]="CAN_HOP"}(i||(i={})),function(e){e.codec=()=>yk(i)}(n=e.Type||(e.Type={})),function(e){let t;e.codec=()=>(null==t&&(t=mk((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==r.lengthDelimited&&t.fork(),(!0===r.writeDefaults||null!=e.id&&e.id.byteLength>0)&&(t.uint32(10),t.bytes(e.id)),null!=e.addrs)for(const n of e.addrs)t.uint32(18),t.bytes(n);!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={id:new Uint8Array(0),addrs:[]},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.id=e.bytes();break;case 2:r.addrs.push(e.bytes());break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>dk(t,e.codec()),e.decode=t=>hk(t,e.codec())}(o=e.Peer||(e.Peer={})),e.codec=()=>(null==s&&(s=mk((function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==n.lengthDelimited&&r.fork(),null!=t.type&&(r.uint32(8),e.Type.codec().encode(t.type,r)),null!=t.srcPeer&&(r.uint32(18),e.Peer.codec().encode(t.srcPeer,r,{writeDefaults:!1})),null!=t.dstPeer&&(r.uint32(26),e.Peer.codec().encode(t.dstPeer,r,{writeDefaults:!1})),null!=t.code&&(r.uint32(32),e.Status.codec().encode(t.code,r)),!1!==n.lengthDelimited&&r.ldelim()}),((t,r)=>{const n={},i=null==r?t.len:t.pos+r;for(;t.pos<i;){const r=t.uint32();switch(r>>>3){case 1:n.type=e.Type.codec().decode(t);break;case 2:n.srcPeer=e.Peer.codec().decode(t,t.uint32());break;case 3:n.dstPeer=e.Peer.codec().decode(t,t.uint32());break;case 4:n.code=e.Status.codec().decode(t);break;default:t.skipType(7&r)}}return n}))),s),e.encode=t=>dk(t,e.codec()),e.decode=t=>hk(t,e.codec())}(fk||(fk={}));const vk=nd("libp2p:stream:converter");function bk(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{stream:r,remoteAddr:n}=e,{sink:i,source:o}=r,s=async function*(){for await(const e of o)yield*e}(),a={async sink(e){null!=t.signal&&(e=gd(e,t.signal));try{await i(e),await c()}catch(r){"aborted"!==r.type&&vk(r)}},source:null!=t.signal?gd(s,t.signal):s,remoteAddr:n,timeline:{open:Date.now(),close:void 0},async close(){await i(async function*(){yield new Uint8Array(0)}()),await c()}};async function c(){return null==a.timeline.close&&(a.timeline.close=Date.now()),await Promise.resolve()}return a}const wk="/libp2p/circuit/relay/0.1.0";function Ek(e,t){e.write({type:fk.Type.STATUS,code:t})}function _k(e,t){try{var r;null!=(null===(r=e.dstPeer)||void 0===r?void 0:r.addrs)&&e.dstPeer.addrs.forEach((e=>dT(e)))}catch(i){throw Ek(t,e.type===fk.Type.HOP?fk.Status.HOP_DST_MULTIADDR_INVALID:fk.Status.STOP_DST_MULTIADDR_INVALID),i}try{var n;null!=(null===(n=e.srcPeer)||void 0===n?void 0:n.addrs)&&e.srcPeer.addrs.forEach((e=>dT(e)))}catch(i){throw Ek(t,e.type===fk.Type.HOP?fk.Status.HOP_SRC_MULTIADDR_INVALID:fk.Status.STOP_SRC_MULTIADDR_INVALID),i}}function Sk(e){const t=$s(),r=function(e){const t=async function*(){let t=yield,r=new Ho;for await(const n of e)if(null!=t)for(r.append(n);r.length>=t;){const e=r.sublist(0,t);if(r.consume(t),t=yield e,null==t){r.length>0&&(t=yield r,r=new Ho);break}}else r.append(n),t=yield r,r=new Ho;if(null!=t)throw Object.assign(new Error("stream ended before ".concat(t," bytes became available")),{code:"ERR_UNDER_READ",buffer:r})}();return t.next(),t}(e.source),n=ra();let i;const o=e.sink(async function*(){yield*t;const e=await n.promise;yield*e}());o.catch((e=>{i=e}));return{reader:r,writer:t,stream:{sink:async e=>null!=i?await Promise.reject(i):(n.resolve(e),await o),source:r},rest:()=>t.end(),write:t.push,read:async()=>{const e=await r.next();if(null!=e.value)return e.value}}}const Ak=nd("libp2p:circuit:stream-handler");class Ck{constructor(e){const{stream:t,maxLength:r=4096}=e;this.stream=t,this.shake=Sk(this.stream),this.decoder=fa.fromReader(this.shake.reader,{maxDataLength:r})}async read(){const e=await this.decoder.next();if(null!=e.value){const t=fk.decode(e.value);return Ak("read message type",t.type),t}Ak("read received no value, closing stream"),this.close()}write(e){Ak("write message type %s",e.type),this.shake.write(ha.single(fk.encode(e)))}rest(){return this.shake.rest(),this.shake.stream}end(e){this.write(e),this.close()}close(){Ak("closing the stream"),this.rest().sink([]).catch((e=>{Ak.error(e)}))}}const Ik=nd("libp2p:circuit:stop");const Tk=nd("libp2p:circuit:hop");async function kk(e){const{connection:t,request:r,streamHandler:n,circuit:i,connectionManager:o}=e;if(!i.hopEnabled())return Tk("HOP request received but we are not acting as a relay"),n.end({type:fk.Type.STATUS,code:fk.Status.HOP_CANT_SPEAK_RELAY});try{_k(r,n)}catch(h){return void Tk.error("invalid hop request via peer %p %o",t.remotePeer,h)}if(null==r.dstPeer)return void Tk("HOP request received but we do not receive a dstPeer");const s=Th(r.dstPeer.id),a=o.getConnections(s);if(0===a.length&&!i.hopActive())return Tk("HOP request received but we are not connected to the destination peer"),n.end({type:fk.Type.STATUS,code:fk.Status.HOP_NO_CONN_TO_DST});if(0===a.length)return Tk("did not have connection to remote peer"),n.end({type:fk.Type.STATUS,code:fk.Status.HOP_NO_CONN_TO_DST});const c={type:fk.Type.STOP,dstPeer:r.dstPeer,srcPeer:r.srcPeer};let l;try{Tk("performing STOP request");const e=await async function(e){const{connection:t,request:r,signal:n}=e,i=await t.newStream(wk,{signal:n});Ik("starting stop request to %p",t.remotePeer);const o=new Ck({stream:i});o.write(r);const s=await o.read();if(null!=s){if(s.code===fk.Status.SUCCESS)return Ik("stop request to %p was successful",t.remotePeer),o.rest();Ik("stop request failed with code %d",s.code),o.close()}else o.close()}({connection:a[0],request:c});if(null==e)throw new Error("Could not stop");l=e}catch(h){return void Tk.error(h)}Tk("hop request from %p is valid",t.remotePeer),n.write({type:fk.Type.STATUS,code:fk.Status.SUCCESS});const u=n.rest();return Tk("creating related connections"),await la(u,l,u)}const Rk=nd("libp2p:circuit");class Pk{constructor(e,t){this._init=t,this.components=e,this._started=!1}isStarted(){return this._started}async start(){this._started||(this._started=!0,await this.components.registrar.handle(wk,(e=>{this._onProtocol(e).catch((e=>{Rk.error(e)}))}),{...this._init}).catch((e=>{Rk.error(e)})))}async stop(){await this.components.registrar.unhandle(wk)}hopEnabled(){return!0}hopActive(){return!0}get[iy](){return!0}get[Symbol.toStringTag](){return"libp2p/circuit-relay-v1"}async _onProtocol(e){const{connection:t,stream:r}=e,n=new RT.TimeoutController(this._init.hop.timeout);try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,n.signal)}catch{}try{const e=md(r,n.signal),s=new Ck({stream:{...r,...e}}),a=await s.read();if(null==a)return Rk("request was invalid, could not read from stream"),s.write({type:fk.Type.STATUS,code:fk.Status.MALFORMED_MESSAGE}),void s.close();let c;switch(a.type){case fk.Type.CAN_HOP:Rk("received CAN_HOP request from %p",t.remotePeer),await function(e){const{connection:t,streamHandler:r,circuit:n}=e,i=n.hopEnabled();Tk("can hop (%s) request from %p",i,t.remotePeer),r.end({type:fk.Type.STATUS,code:i?fk.Status.SUCCESS:fk.Status.HOP_CANT_SPEAK_RELAY})}({circuit:this,connection:t,streamHandler:s});break;case fk.Type.HOP:Rk("received HOP request from %p",t.remotePeer),await kk({connection:t,request:a,streamHandler:s,circuit:this,connectionManager:this.components.connectionManager});break;case fk.Type.STOP:Rk("received STOP request from %p",t.remotePeer),c=await function(e){const{connection:t,request:r,streamHandler:n}=e;try{_k(r,n)}catch(i){return void Ik.error("invalid stop request via peer %p %o",t.remotePeer,i)}return Ik("stop request is valid"),n.write({type:fk.Type.STATUS,code:fk.Status.SUCCESS}),n.rest()}({connection:t,request:a,streamHandler:s});break;default:return Rk("Request of type %s not supported",a.type),s.write({type:fk.Type.STATUS,code:fk.Status.MALFORMED_MESSAGE}),void s.close()}if(null!=c){var i,o;const e=t.remoteAddr.encapsulate("/p2p-circuit").encapsulate(dT(null===(i=a.dstPeer)||void 0===i?void 0:i.addrs[0])),r=bk({stream:c,remoteAddr:e,localAddr:dT(null===(o=a.srcPeer)||void 0===o?void 0:o.addrs[0])}),n=a.type===fk.Type.HOP?"relay":"inbound";Rk("new %s connection %s",n,r.remoteAddr);const s=await this.components.upgrader.upgradeInbound(r);Rk("%s connection %s upgraded",n,r.remoteAddr),null!=this.handler&&this.handler(s)}}finally{n.clear()}}async dial(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=e.toString().split("/p2p-circuit"),n=dT(r[0]),i=dT(r[r.length-1]),o=n.getPeerId(),s=i.getPeerId();if(null==o||null==s){const e="Circuit relay dial failed as addresses did not have peer id";throw Rk.error(e),as(new Error(e),CT.ERR_RELAYED_DIAL)}const a=Ih(o),c=Ih(s);let l=!1;let u=this.components.connectionManager.getConnections(a)[0];null==u&&(await this.components.peerStore.addressBook.add(a,[n]),u=await this.components.connectionManager.openConnection(a,t),l=!0);try{const r=await async function(e){var t;const{connection:r,request:n,signal:i}=e,o=await r.newStream(wk,{signal:i}),s=new Ck({stream:o});s.write(n);const a=await s.read();if(null==a)throw as(new Error("HOP request had no response"),CT.ERR_HOP_REQUEST_FAILED);if(a.code===fk.Status.SUCCESS)return Tk("hop request was successful"),s.rest();throw Tk("hop request failed with code %d, closing stream",a.code),s.close(),as(new Error('HOP request failed with code "'.concat(null!==(t=a.code)&&void 0!==t?t:"unknown",'"')),CT.ERR_HOP_REQUEST_FAILED)}({...t,connection:u,request:{type:fk.Type.HOP,srcPeer:{id:this.components.peerId.toBytes(),addrs:this.components.addressManager.getAddresses().map((e=>e.bytes))},dstPeer:{id:c.toBytes(),addrs:[dT(i).bytes]}}}),o=bk({stream:r,remoteAddr:e,localAddr:n.encapsulate("/p2p-circuit/p2p/".concat(this.components.peerId.toString()))});return Rk("new outbound connection %s",o.remoteAddr),await this.components.upgrader.upgradeOutbound(o)}catch(h){throw Rk.error("Circuit relay dial failed",h),l&&await u.close(),h}}createListener(e){return this.handler=e.handler,function(e){const t=new Map,r=Object.assign(new py,{close:async()=>await Promise.resolve(),listen:async function(n){const i=dT(n.toString().split("/p2p-circuit").find((e=>""!==e))),o=i.getPeerId();if(null==o)throw new Error("Could not determine relay peer from multiaddr");const s=Ih(o);await e.peerStore.addressBook.add(s,[i]);const a=await e.connectionManager.openConnection(s),c=a.remoteAddr.encapsulate("/p2p-circuit");t.set(a.remotePeer.toString(),c),r.dispatchEvent(new gy("listening"))},getAddrs:function(){const e=[];for(const r of t.values())e.push(r);return e}});return e.connectionManager.addEventListener("peer:disconnect",(e=>{const{detail:n}=e;t.delete(n.remotePeer.toString())&&r.dispatchEvent(new gy("close"))})),r}({connectionManager:this.components.connectionManager,peerStore:this.components.peerStore})}filter(e){return(e=Array.isArray(e)?e:[e]).filter((e=>$g.matches(e)))}}async function Dk(e){const t=(new TextEncoder).encode(e),r=await Pn.digest(t);return At.createV0(r)}const Nk="hop_relay",Lk="true",xk="/libp2p/relay";var Ok=__webpack_require__(5181);const Bk="[a-fA-F\\d:]",Mk=e=>e&&e.includeBoundaries?"(?:(?<=\\s|^)(?=".concat(Bk,")|(?<=").concat(Bk,")(?=\\s|$))"):"",Uk="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Fk="[a-fA-F\\d]{1,4}",Vk="\n(?:\n(?:".concat(Fk,":){7}(?:").concat(Fk,"|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:").concat(Fk,":){6}(?:").concat(Uk,"|:").concat(Fk,"|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\n(?:").concat(Fk,":){5}(?::").concat(Uk,"|(?::").concat(Fk,"){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\n(?:").concat(Fk,":){4}(?:(?::").concat(Fk,"){0,1}:").concat(Uk,"|(?::").concat(Fk,"){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\n(?:").concat(Fk,":){3}(?:(?::").concat(Fk,"){0,2}:").concat(Uk,"|(?::").concat(Fk,"){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\n(?:").concat(Fk,":){2}(?:(?::").concat(Fk,"){0,3}:").concat(Uk,"|(?::").concat(Fk,"){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\n(?:").concat(Fk,":){1}(?:(?::").concat(Fk,"){0,4}:").concat(Uk,"|(?::").concat(Fk,"){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::").concat(Fk,"){0,5}:").concat(Uk,"|(?::").concat(Fk,"){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\n").replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),jk=new RegExp("(?:^".concat(Uk,"$)|(?:^").concat(Vk,"$)")),zk=new RegExp("^".concat(Uk,"$")),Kk=new RegExp("^".concat(Vk,"$")),qk=e=>e&&e.exact?jk:new RegExp("(?:".concat(Mk(e)).concat(Uk).concat(Mk(e),")|(?:").concat(Mk(e)).concat(Vk).concat(Mk(e),")"),"g");qk.v4=e=>e&&e.exact?zk:new RegExp("".concat(Mk(e)).concat(Uk).concat(Mk(e)),"g"),qk.v6=e=>e&&e.exact?Kk:new RegExp("".concat(Mk(e)).concat(Vk).concat(Mk(e)),"g");const Hk=qk;var Gk=__webpack_require__(7967);const{isValid:Wk,parse:Qk}=Gk,Yk=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"].map((e=>new Ok.Netmask(e)));function Xk(e){return/^::$/.test(e)||/^::1$/.test(e)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(e)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(e)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(e)||/^ff([0-9a-fA-F]{2,2}):/i.test(e)}const Jk=e=>{if(Wk(e)){const t=Qk(e);if("ipv4"===t.kind())return function(e){for(let t of Yk)if(t.contains(e))return!0;return!1}(t.toNormalizedString());if("ipv6"===t.kind())return Xk(e)}else if(Qn(e)&&Hk.v6().test(e))return Xk(e)};function $k(e){const{address:t}=e.nodeAddress();return Boolean(Jk(t))}function Zk(e,t){const r=$k(e.multiaddr),n=$k(t.multiaddr);return r&&!n?1:!r&&n||e.isCertified&&!t.isCertified?-1:!e.isCertified&&t.isCertified?1:0}const eR=nd("libp2p:auto-relay"),tR=()=>{};class rR{constructor(e,t){var r,n,i;this.components=e,this.addressSorter=null!==(r=t.addressSorter)&&void 0!==r?r:Zk,this.maxListeners=null!==(n=t.maxListeners)&&void 0!==n?n:1,this.listenRelays=new Set,this.onError=null!==(i=t.onError)&&void 0!==i?i:tR,this._onProtocolChange=this._onProtocolChange.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this),this.components.peerStore.addEventListener("change:protocols",(e=>{this._onProtocolChange(e).catch((e=>{eR.error(e)}))})),this.components.connectionManager.addEventListener("peer:disconnect",this._onPeerDisconnected)}async _onProtocolChange(e){const{peerId:t,protocols:r}=e.detail,n=t.toString();if(null!=r.find((e=>e===wk))){if(!this.listenRelays.has(n))try{const e=this.components.connectionManager.getConnections(t);if(0===e.length)return;const r=e[0];if(r.remoteAddr.protoCodes().includes(290))return void eR("relayed connection to ".concat(n," will not be used to hop on"));const i=await async function(e){const{connection:t,signal:r}=e,n=await t.newStream(wk,{signal:r}),i=new Ck({stream:n});i.write({type:fk.Type.CAN_HOP});const o=await i.read();return await i.close(),null!=o&&o.code===fk.Status.SUCCESS}({connection:r});i&&(await this.components.peerStore.metadataBook.setValue(t,Nk,Hn(Lk)),await this._addListenRelay(r,n))}catch(i){this.onError(i)}}else this.listenRelays.has(n)&&await this._removeListenRelay(n)}_onPeerDisconnected(e){const t=e.detail.remotePeer.toString();this.listenRelays.has(t)&&this._removeListenRelay(t).catch((e=>{eR.error(e)}))}async _addListenRelay(e,t){try{if(this.listenRelays.size>=this.maxListeners)return;const r=await la(await this.components.peerStore.addressBook.get(e.remotePeer),(e=>ik(e,this.addressSorter)),(async e=>await nk(e)));(await Promise.all(r.map((async t=>{try{let r=t.multiaddr;return null==r.getPeerId()&&(r=r.encapsulate("/p2p/".concat(e.remotePeer.toString()))),r=r.encapsulate("/p2p-circuit"),await this.components.transportManager.listen([r]),!0}catch(r){eR.error("error listening on circuit address",r),this.onError(r)}return!1})))).includes(!0)&&this.listenRelays.add(t)}catch(r){this.onError(r),this.listenRelays.delete(t)}}async _removeListenRelay(e){this.listenRelays.delete(e)&&await this._listenOnAvailableHopRelays([e])}async _listenOnAvailableHopRelays(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(this.listenRelays.size>=this.maxListeners)return;const t=[],r=await this.components.peerStore.all();for(const{id:i,metadata:o}of r){const r=i.toString();if(this.listenRelays.has(r))continue;if(e.includes(r))continue;const n=o.get(Nk);if(null==n||an(n)!==Lk)continue;const s=this.components.connectionManager.getConnections(i);if(0!==s.length){if(await this._addListenRelay(s[0],r),this.listenRelays.size>=this.maxListeners)return}else t.push(i)}for(const i of t)if(await this._tryToListenOnRelay(i),this.listenRelays.size>=this.maxListeners)return;try{const e=await Dk(xk);for await(const t of this.components.contentRouting.findProviders(e)){if(0===t.multiaddrs.length)continue;const e=t.id;if(!e.equals(this.components.peerId)&&(await this.components.peerStore.addressBook.add(e,t.multiaddrs),await this._tryToListenOnRelay(e),this.listenRelays.size>=this.maxListeners))return}}catch(n){this.onError(n)}}async _tryToListenOnRelay(e){try{const t=await this.components.connectionManager.openConnection(e);await this._addListenRelay(t,e.toString())}catch(t){eR.error("Could not use %p as relay",e,t),this.onError(t,"could not connect and listen on known hop relay ".concat(e.toString()))}}}const nR=nd("libp2p:relay");class iR{constructor(e,t){var r;this.components=e,this.autoRelay=!1!==(null===(r=t.autoRelay)||void 0===r?void 0:r.enabled)?new rR(e,{addressSorter:t.addressSorter,...t.autoRelay}):void 0,this.started=!1,this.init=t,this._advertiseService=this._advertiseService.bind(this)}isStarted(){return this.started}async start(){!1!==this.init.hop.enabled&&!1!==this.init.advertise.enabled&&(this.timeout=(0,DT.setDelayedInterval)(this._advertiseService,this.init.advertise.ttl,this.init.advertise.bootDelay)),this.started=!0}async stop(){null!=this.timeout&&(0,DT.clearDelayedInterval)(this.timeout),this.started=!1}async _advertiseService(){try{const e=await Dk(xk);await this.components.contentRouting.provide(e)}catch(e){e.code===CT.ERR_NO_ROUTERS_AVAILABLE?(nR.error("a content router, such as a DHT, must be provided in order to advertise the relay service",e),await this.stop()):nR.error(e)}}}var oR=__webpack_require__(9593);__webpack_require__(108),__webpack_require__(2911);const sR=Ra.pki;const aR=nd("libp2p:keychain:cms"),cR=new WeakMap;class lR{constructor(e,t){if(null==e)throw as(new Error("keychain is required"),CT.ERR_KEYCHAIN_REQUIRED);this.keychain=e,cR.set(this,{dek:t})}async encrypt(e,t){if(!(t instanceof Uint8Array))throw as(new Error("Plain data must be a Uint8Array"),CT.ERR_INVALID_PARAMETERS);const r=await this.keychain.findKeyByName(e),n=await this.keychain.getPrivateKey(e),i=cR.get(this);if(null==i)throw as(new Error("dek missing"),CT.ERR_INVALID_PARAMETERS);const o=i.dek,s=Ra.pki.decryptRsaPrivateKey(n,o),a=await((e,t)=>{const r=sR.rsa.setPublicKey(t.n,t.e),n=sR.createCertificate();n.publicKey=r,n.serialNumber="01",n.validity.notBefore=new Date,n.validity.notAfter=new Date,n.validity.notAfter.setFullYear(n.validity.notBefore.getFullYear()+10);const i=[{name:"organizationName",value:"ipfs"},{shortName:"OU",value:"keystore"},{name:"commonName",value:e.id}];return n.setSubject(i),n.setIssuer(i),n.setExtensions([{name:"basicConstraints",cA:!0},{name:"keyUsage",keyCertSign:!0,digitalSignature:!0,nonRepudiation:!0,keyEncipherment:!0,dataEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0,codeSigning:!0,emailProtection:!0,timeStamping:!0},{name:"nsCertType",client:!0,server:!0,email:!0,objsign:!0,sslCA:!0,emailCA:!0,objCA:!0}]),n.sign(t),n})(r,s),c=Ra.pkcs7.createEnvelopedData();c.addRecipient(a),c.content=Ra.util.createBuffer(t),c.encrypt();return Hn(Ra.asn1.toDer(c.toAsn1()).getBytes(),"ascii")}async decrypt(e){if(!(e instanceof Uint8Array))throw as(new Error("CMS data is required"),CT.ERR_INVALID_PARAMETERS);let t;try{const r=Ra.util.createBuffer(an(e,"ascii")),n=Ra.asn1.fromDer(r);t=Ra.pkcs7.messageFromAsn1(n)}catch(l){throw aR.error(l),as(new Error("Invalid CMS"),CT.ERR_INVALID_CMS)}const r=t.recipients.filter((e=>e.issuer.find((e=>"O"===e.shortName&&"ipfs"===e.value)))).filter((e=>e.issuer.find((e=>"CN"===e.shortName)))).map((e=>({recipient:e,keyId:e.issuer.find((e=>"CN"===e.shortName)).value}))),n=await async function(e,t){const r=e.map(t);return e[(await Promise.all(r)).findIndex((e=>e))]}(r,(async e=>{try{if(null!=await this.keychain.findKeyById(e.keyId))return!0}catch(l){return!1}return!1}));if(null==n){const e=r.map((e=>e.keyId));throw as(new Error("Decryption needs one of the key(s): ".concat(e.join(", "))),CT.ERR_MISSING_KEYS,{missingKeys:e})}const i=await this.keychain.findKeyById(n.keyId);if(null==i)throw as(new Error("No key available to decrypto"),CT.ERR_NO_KEY);const o=await this.keychain.getPrivateKey(i.name),s=cR.get(this);if(null==s)throw as(new Error("dek missing"),CT.ERR_INVALID_PARAMETERS);const a=s.dek,c=Ra.pki.decryptRsaPrivateKey(o,a);return t.decrypt(n.recipient,c),Hn(t.content.getBytes(),"ascii")}}const uR=nd("libp2p:keychain"),hR="/info/",dR=new WeakMap,pR=14,fR=16,gR=1e3,yR={dek:{keyLength:64,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function mR(e){return null!=e&&("string"===typeof e&&(e===oR(e.trim())&&e.length>0))}async function vR(){const e=800*Math.random()+200;await new Promise((t=>setTimeout(t,e)))}function bR(e){return new _T("/pkcs8/"+e)}function wR(e){return new _T(hR+e)}class ER{constructor(e,t){var r,n,i,o,s,a,c,l,u,h;if(this.components=e,this.init=UT(yR,t),null!=this.init.pass&&(null===(r=this.init.pass)||void 0===r?void 0:r.length)<20)throw new Error("pass must be least 20 characters");if(null!=(null===(n=this.init.dek)||void 0===n?void 0:n.keyLength)&&this.init.dek.keyLength<pR)throw new Error("dek.keyLength must be least ".concat(pR," bytes"));if(null!=(null===(i=this.init.dek)||void 0===i||null===(o=i.salt)||void 0===o?void 0:o.length)&&this.init.dek.salt.length<fR)throw new Error("dek.saltLength must be least ".concat(fR," bytes"));if(null!=(null===(s=this.init.dek)||void 0===s?void 0:s.iterationCount)&&this.init.dek.iterationCount<gR)throw new Error("dek.iterationCount must be least ".concat(gR));const d=null!=this.init.pass&&null!=(null===(a=this.init.dek)||void 0===a?void 0:a.salt)?LC(this.init.pass,null===(c=this.init.dek)||void 0===c?void 0:c.salt,null===(l=this.init.dek)||void 0===l?void 0:l.iterationCount,null===(u=this.init.dek)||void 0===u?void 0:u.keyLength,null===(h=this.init.dek)||void 0===h?void 0:h.hash):"";dR.set(this,{dek:d}),this.started=!1}isStarted(){return this.started}async start(){const e=wR("self");await this.components.datastore.has(e)||await this.importPeer("self",this.components.peerId),this.started=!0}stop(){this.started=!1}get cms(){const e=dR.get(this);if(null==e)throw as(new Error("dek missing"),CT.ERR_INVALID_PARAMETERS);const t=e.dek;return new lR(this,t)}static generateOptions(){const e=Object.assign({},yR),t=3*Math.ceil(fR/3);return e.dek.salt=an(Gu(t),"base64"),e}static get options(){return yR}async createKey(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2048;if(!mR(e)||"self"===e)throw await vR(),as(new Error("Invalid key name"),CT.ERR_INVALID_KEY_NAME);if("string"!==typeof t)throw await vR(),as(new Error("Invalid key type"),CT.ERR_INVALID_KEY_TYPE);const n=bR(e);if(await this.components.datastore.has(n))throw await vR(),as(new Error("Key name already exists"),CT.ERR_KEY_ALREADY_EXISTS);if("rsa"===t.toLowerCase())if(!Number.isSafeInteger(r)||r<2048)throw await vR(),as(new Error("Invalid RSA key size"),CT.ERR_INVALID_KEY_SIZE);let i;try{const o=await ph(t,r),s=await o.id(),a=dR.get(this);if(null==a)throw as(new Error("dek missing"),CT.ERR_INVALID_PARAMETERS);const c=a.dek,l=await o.export(c);i={name:e,id:s};const u=this.components.datastore.batch();u.put(n,Hn(l)),u.put(wR(e),Hn(JSON.stringify(i))),await u.commit()}catch(o){throw await vR(),o}return i}async listKeys(){const e={prefix:hR},t=[];for await(const r of this.components.datastore.query(e))t.push(JSON.parse(an(r.value)));return t}async findKeyById(e){try{return(await this.listKeys()).find((t=>t.id===e))}catch(t){throw await vR(),t}}async findKeyByName(e){if(!mR(e))throw await vR(),as(new Error("Invalid key name '".concat(e,"'")),CT.ERR_INVALID_KEY_NAME);const t=wR(e);try{const e=await this.components.datastore.get(t);return JSON.parse(an(e))}catch(r){throw await vR(),uR.error(r),as(new Error("Key '".concat(e,"' does not exist.")),CT.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!mR(e)||"self"===e)throw await vR(),as(new Error("Invalid key name '".concat(e,"'")),CT.ERR_INVALID_KEY_NAME);const t=bR(e),r=await this.findKeyByName(e),n=this.components.datastore.batch();return n.delete(t),n.delete(wR(e)),await n.commit(),r}async renameKey(e,t){if(!mR(e)||"self"===e)throw await vR(),as(new Error("Invalid old key name '".concat(e,"'")),CT.ERR_OLD_KEY_NAME_INVALID);if(!mR(t)||"self"===t)throw await vR(),as(new Error("Invalid new key name '".concat(t,"'")),CT.ERR_NEW_KEY_NAME_INVALID);const r=bR(e),n=bR(t),i=wR(e),o=wR(t);if(await this.components.datastore.has(n))throw await vR(),as(new Error("Key '".concat(t,"' already exists")),CT.ERR_KEY_ALREADY_EXISTS);try{const e=await this.components.datastore.get(r),s=await this.components.datastore.get(i),a=JSON.parse(an(s));a.name=t;const c=this.components.datastore.batch();return c.put(n,e),c.put(o,Hn(JSON.stringify(a))),c.delete(r),c.delete(i),await c.commit(),a}catch(s){throw await vR(),s}}async exportKey(e,t){if(!mR(e))throw await vR(),as(new Error("Invalid key name '".concat(e,"'")),CT.ERR_INVALID_KEY_NAME);if(null==t)throw await vR(),as(new Error("Password is required"),CT.ERR_PASSWORD_REQUIRED);const r=bR(e);try{const e=an(await this.components.datastore.get(r)),n=dR.get(this);if(null==n)throw as(new Error("dek missing"),CT.ERR_INVALID_PARAMETERS);const i=n.dek,o=await mh(e,i);return await o.export(t)}catch(n){throw await vR(),n}}async exportPeerId(e){const t="temporary-password",r=await this.exportKey(e,t),n=await mh(r,t);return await kh(n.public.bytes,n.bytes)}async importKey(e,t,r){if(!mR(e)||"self"===e)throw await vR(),as(new Error("Invalid key name '".concat(e,"'")),CT.ERR_INVALID_KEY_NAME);if(null==t)throw await vR(),as(new Error("PEM encoded key is required"),CT.ERR_PEM_REQUIRED);const n=bR(e);if(await this.components.datastore.has(n))throw await vR(),as(new Error("Key '".concat(e,"' already exists")),CT.ERR_KEY_ALREADY_EXISTS);let i,o;try{i=await mh(t,r)}catch(c){throw await vR(),as(new Error("Cannot read the key, most likely the password is wrong"),CT.ERR_CANNOT_READ_KEY)}try{o=await i.id();const e=dR.get(this);if(null==e)throw as(new Error("dek missing"),CT.ERR_INVALID_PARAMETERS);const r=e.dek;t=await i.export(r)}catch(c){throw await vR(),c}const s={name:e,id:o},a=this.components.datastore.batch();return a.put(n,Hn(t)),a.put(wR(e),Hn(JSON.stringify(s))),await a.commit(),s}async importPeer(e,t){try{if(!mR(e))throw as(new Error("Invalid key name '".concat(e,"'")),CT.ERR_INVALID_KEY_NAME);if(null==t)throw as(new Error("PeerId is required"),CT.ERR_MISSING_PRIVATE_KEY);if(null==t.privateKey)throw as(new Error("PeerId.privKey is required"),CT.ERR_MISSING_PRIVATE_KEY);const r=await yh(t.privateKey),n=bR(e);if(await this.components.datastore.has(n))throw await vR(),as(new Error("Key '".concat(e,"' already exists")),CT.ERR_KEY_ALREADY_EXISTS);const i=dR.get(this);if(null==i)throw as(new Error("dek missing"),CT.ERR_INVALID_PARAMETERS);const o=i.dek,s=await r.export(o),a={name:e,id:t.toString()},c=this.components.datastore.batch();return c.put(n,Hn(s)),c.put(wR(e),Hn(JSON.stringify(a))),await c.commit(),a}catch(r){throw await vR(),r}}async getPrivateKey(e){if(!mR(e))throw await vR(),as(new Error("Invalid key name '".concat(e,"'")),CT.ERR_INVALID_KEY_NAME);try{const t=bR(e);return an(await this.components.datastore.get(t))}catch(t){throw await vR(),uR.error(t),as(new Error("Key '".concat(e,"' does not exist.")),CT.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,t){var r,n,i,o;if("string"!==typeof e)throw await vR(),as(new Error("Invalid old pass type '".concat(typeof e,"'")),CT.ERR_INVALID_OLD_PASS_TYPE);if("string"!==typeof t)throw await vR(),as(new Error("Invalid new pass type '".concat(typeof t,"'")),CT.ERR_INVALID_NEW_PASS_TYPE);if(t.length<20)throw await vR(),as(new Error("Invalid pass length ".concat(t.length)),CT.ERR_INVALID_PASS_LENGTH);uR("recreating keychain");const s=dR.get(this);if(null==s)throw as(new Error("dek missing"),CT.ERR_INVALID_PARAMETERS);const a=s.dek;this.init.pass=t;const c=null!=t&&null!=(null===(r=this.init.dek)||void 0===r?void 0:r.salt)?LC(t,this.init.dek.salt,null===(n=this.init.dek)||void 0===n?void 0:n.iterationCount,null===(i=this.init.dek)||void 0===i?void 0:i.keyLength,null===(o=this.init.dek)||void 0===o?void 0:o.hash):"";dR.set(this,{dek:c});const l=await this.listKeys();for(const u of l){const e=an(await this.components.datastore.get(bR(u.name))),t=await mh(e,a),r=c.toString(),n=await t.export(r),i=this.components.datastore.batch(),o={name:u.name,id:u.id};i.put(bR(u.name),Hn(n)),i.put(wR(u.name),Hn(JSON.stringify(o))),await i.commit()}uR("keychain reconstructed")}}async function _R(e){try{return{status:"fulfilled",value:await e,isFulfilled:!0,isRejected:!1}}catch(t){return{status:"rejected",reason:t,isFulfilled:!1,isRejected:!0}}}let SR;class AR{constructor(e){Ce(this,"value",void 0),Ce(this,"next",void 0),this.value=e}}var CR=new WeakMap,IR=new WeakMap,TR=new WeakMap;SR=Symbol.iterator;class kR{constructor(){ke(this,CR,{writable:!0,value:void 0}),ke(this,IR,{writable:!0,value:void 0}),ke(this,TR,{writable:!0,value:void 0}),this.clear()}enqueue(e){var t;const r=new AR(e);De(this,CR)?(De(this,IR).next=r,Pe(this,IR,r)):(Pe(this,CR,r),Pe(this,IR,r)),Pe(this,TR,(t=De(this,TR),t++,t))}dequeue(){var e;const t=De(this,CR);if(t)return Pe(this,CR,De(this,CR).next),Pe(this,TR,(e=De(this,TR),e--,e)),t.value}clear(){Pe(this,CR,void 0),Pe(this,IR,void 0),Pe(this,TR,0)}get size(){return De(this,TR)}*[SR](){let e=De(this,CR);for(;e;)yield e.value,e=e.next}}function RR(e){if(!Number.isInteger(e)&&e!==Number.POSITIVE_INFINITY||!(e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=new kR;let r=0;const n=async(e,n,i)=>{r++;const o=(async()=>e(...i))();n(o);try{await o}catch{}r--,t.size>0&&t.dequeue()()},i=(i,o,s)=>{t.enqueue(n.bind(void 0,i,o,s)),(async()=>{await Promise.resolve(),r<e&&t.size>0&&t.dequeue()()})()},o=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return new Promise((t=>{i(e,t,r)}))};return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),o}async function PR(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{concurrency:r=Number.POSITIVE_INFINITY}=t,n=RR(r);return Promise.all(e.map((e=>e&&"function"===typeof e.then?_R(e):_R("function"===typeof e?n((()=>e())):Promise.resolve(e)))))}class DR extends Map{constructor(e){super(),Ce(this,"metric",void 0);const{name:t,metrics:r}=e;this.metric=r.registerMetric(t),this.updateComponentMetric()}set(e,t){return super.set(e,t),this.updateComponentMetric(),this}delete(e){const t=super.delete(e);return this.updateComponentMetric(),t}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}}function NR(e){const{name:t,metrics:r}=e;let n;return n=null!=r?new DR({name:t,metrics:r}):new Map,n}const LR=nd("libp2p:transports");class xR extends py{constructor(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this.components=e,this.started=!1,this.transports=new Map,this.listeners=NR({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=null!==(t=r.faultTolerance)&&void 0!==t?t:oy.FATAL_ALL}add(e){const t=e[Symbol.toStringTag];if(null==t)throw as(new Error("Transport must have a valid tag"),CT.ERR_INVALID_KEY);if(this.transports.has(t))throw as(new Error("There is already a transport with this tag"),CT.ERR_DUPLICATE_TRANSPORT);LR("adding transport %s",t),this.transports.set(t,e),this.listeners.has(t)||this.listeners.set(t,[])}isStarted(){return this.started}async start(){const e=this.components.addressManager.getListenAddrs();await this.listen(e),this.started=!0}async stop(){const e=[];for(const[t,r]of this.listeners)for(LR("closing listeners for %s",t);r.length>0;){const t=r.pop();null!=t&&e.push(t.close())}await Promise.all(e),LR("all listeners closed");for(const t of this.listeners.keys())this.listeners.set(t,[]);this.started=!1}async dial(e,t){const r=this.transportForMultiaddr(e);if(null==r)throw as(new Error("No transport available for address ".concat(String(e))),CT.ERR_TRANSPORT_UNAVAILABLE);try{return await r.dial(e,{...t,upgrader:this.components.upgrader})}catch(n){throw null==n.code&&(n.code=CT.ERR_TRANSPORT_DIAL_FAILED),n}}getAddrs(){let e=[];for(const t of this.listeners.values())for(const r of t)e=[...e,...r.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}transportForMultiaddr(e){for(const t of this.transports.values()){if(t.filter([e]).length>0)return t}}async listen(e){if(null==e||0===e.length)return void LR("no addresses were provided for listening, this node is dial only");const t=[];for(const[r,n]of this.transports.entries()){const i=n.filter(e),o=[];for(const e of i){LR("creating listener for %s on %s",r,e);const t=n.createListener({upgrader:this.components.upgrader});let i=this.listeners.get(r);null==i&&(i=[],this.listeners.set(r,i)),i.push(t),t.addEventListener("listening",(()=>{this.dispatchEvent(new gy("listener:listening",{detail:t}))})),t.addEventListener("close",(()=>{this.dispatchEvent(new gy("listener:close",{detail:t}))})),o.push(t.listen(e))}if(0===o.length){t.push(r);continue}if(null==(await PR(o)).find((e=>e.isFulfilled))&&this.faultTolerance!==oy.NO_FATAL)throw as(new Error("Transport (".concat(r,") could not listen on any available address")),CT.ERR_NO_VALID_ADDRESSES)}if(t.length===this.transports.size){const e="no valid addresses were provided for transports [".concat(t.join(", "),"]");if(this.faultTolerance===oy.FATAL_ALL)throw as(new Error(e),CT.ERR_NO_VALID_ADDRESSES);LR("libp2p in dial mode only: ".concat(e))}}async remove(e){LR("removing %s",e);for(const r of null!==(t=this.listeners.get(e))&&void 0!==t?t:[]){var t;await r.close()}this.transports.delete(e),this.listeners.delete(e)}async removeAll(){const e=[];for(const t of this.transports.keys())e.push(this.remove(t));await Promise.all(e)}}const OR="/multistream/1.0.0",BR=nd("libp2p:mss"),MR=Hn("\n");function UR(e){const t=new Ho(e,MR);return ha.single(t)}function FR(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=UR(t);!0===r.writeBytes?e.push(n.subarray()):e.push(n)}function VR(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=new Ho;for(const i of t)n.append(UR(i));!0===r.writeBytes?e.push(n.subarray()):e.push(n)}async function jR(e,t){const r=await async function(e,t){let r=1;const n={[Symbol.asyncIterator]:()=>n,next:async()=>await e.next(r)};let i=n;null!=(null===t||void 0===t?void 0:t.signal)&&(i=gd(n,t.signal));const o=await la(i,fa({onLength:e=>{r=e},maxDataLength:1024}),(async e=>await PT(e)));if(null==o||0===o.length)throw as(new Error("no buffer returned"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==MR[0])throw BR.error("Invalid mss message - missing newline - %s",o.subarray()),as(new Error("missing newline"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}(e,t);return an(r.subarray())}const zR=nd("libp2p:mss:select");async function KR(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t=Array.isArray(t)?[...t]:[t];const{reader:n,writer:i,rest:o,stream:s}=Sk(e),a=t.shift();if(null==a)throw new Error("At least one protocol must be specified");zR('select: write ["%s", "%s"]',OR,a);const c=Hn(OR),l=Hn(a);VR(i,[c,l],r);let u=await jR(n,r);if(zR('select: read "%s"',u),u===OR&&(u=await jR(n,r),zR('select: read "%s"',u)),u===a)return o(),{stream:s,protocol:a};for(const h of t){zR('select: write "%s"',h),FR(i,Hn(h),r);const e=await jR(n,r);if(zR('select: read "%s" for "%s"',e,h),e===h)return o(),{stream:s,protocol:h}}throw o(),as(new Error("protocol selection failed"),"ERR_UNSUPPORTED_PROTOCOL")}const qR=nd("libp2p:mss:handle");async function HR(e,t,r){t=Array.isArray(t)?t:[t];const{writer:n,reader:i,rest:o,stream:s}=Sk(e);for(;;){const e=await jR(i,r);if(qR('read "%s"',e),e!==OR){if(t.includes(e))return FR(n,Hn(e),r),qR('respond with "%s" for "%s"',e,e),o(),{stream:s,protocol:e};"ls"!==e?(FR(n,Hn("na"),r),qR('respond with "na" for "%s"',e)):(FR(n,new Ho(...t.map((e=>UR(Hn(e))))),r),qR('respond with "%s" for %s',t,e))}else qR('respond with "%s" for "%s"',OR,e),FR(n,Hn(OR),r)}}const GR=Symbol.for("@libp2p/connection");const WR=nd("libp2p:connection");class QR{constructor(e){const{remoteAddr:t,remotePeer:r,newStream:n,close:i,getStreams:o,stat:s}=e;this.id="".concat(parseInt(String(1e9*Math.random())).toString(36)).concat(Date.now()),this.remoteAddr=t,this.remotePeer=r,this.stat={...s,status:KT},this._newStream=n,this._close=i,this._getStreams=o,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[GR](){return!0}get streams(){return this._getStreams()}async newStream(e,t){if(this.stat.status===qT)throw as(new Error("the connection is being closed"),"ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===HT)throw as(new Error("the connection is closed"),"ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);const r=await this._newStream(e,t);return r.stat.direction="outbound",r}addStream(e){e.stat.direction="inbound"}removeStream(e){}async close(){if(this.stat.status!==HT&&!this._closing){this.stat.status=qT;try{this.streams.forEach((e=>e.close()))}catch(e){WR.error(e)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=HT}}}const YR=nd("libp2p:registrar");class XR{constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onProtocolChange=this._onProtocolChange.bind(this),this._onConnect=this._onConnect.bind(this),this.components.connectionManager.addEventListener("peer:disconnect",this._onDisconnect),this.components.connectionManager.addEventListener("peer:connect",this._onConnect),this.components.peerStore.addEventListener("change:protocols",this._onProtocolChange)}getProtocols(){return Array.from(new Set([...this.topologies.keys(),...this.handlers.keys()])).sort()}getHandler(e){const t=this.handlers.get(e);if(null==t)throw as(new Error("No handler registered for protocol ".concat(e)),CT.ERR_NO_HANDLER_FOR_PROTOCOL);return t}getTopologies(e){const t=this.topologies.get(e);return null==t?[]:[...t.values()]}async handle(e,t,r){if(this.handlers.has(e))throw as(new Error("Handler already registered for protocol ".concat(e)),CT.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);const n=UT.bind({ignoreUndefined:!0})({maxInboundStreams:32,maxOutboundStreams:64},r);this.handlers.set(e,{handler:t,options:n}),await this.components.peerStore.protoBook.add(this.components.peerId,[e])}async unhandle(e){const t=Array.isArray(e)?e:[e];t.forEach((e=>{this.handlers.delete(e)})),await this.components.peerStore.protoBook.remove(this.components.peerId,t)}async register(e,t){if(null==(r=t)||!Boolean(r[FA]))throw YR.error("topology must be an instance of interfaces/topology"),as(new Error("topology must be an instance of interfaces/topology"),CT.ERR_INVALID_PARAMETERS);var r;const n="".concat((1e9*Math.random()).toString(36)).concat(Date.now());let i=this.topologies.get(e);return null==i&&(i=new Map,this.topologies.set(e,i)),i.set(n,t),await t.setRegistrar(this),n}unregister(e){for(const[t,r]of this.topologies.entries())r.has(e)&&(r.delete(e),0===r.size&&this.topologies.delete(t))}_onDisconnect(e){const t=e.detail;this.components.peerStore.protoBook.get(t.remotePeer).then((e=>{for(const r of e){const e=this.topologies.get(r);if(null!=e)for(const r of e.values())r.onDisconnect(t.remotePeer)}})).catch((e=>{YR.error(e)}))}_onConnect(e){const t=e.detail;this.components.peerStore.protoBook.get(t.remotePeer).then((e=>{for(const r of e){const e=this.topologies.get(r);if(null!=e)for(const r of e.values())r.onConnect(t.remotePeer,t)}})).catch((e=>{YR.error(e)}))}_onProtocolChange(e){const{peerId:t,protocols:r,oldProtocols:n}=e.detail,i=n.filter((e=>!r.includes(e))),o=r.filter((e=>!n.includes(e)));for(const s of i){const e=this.topologies.get(s);if(null!=e)for(const r of e.values())r.onDisconnect(t)}for(const s of o){const e=this.topologies.get(s);if(null!=e)for(const r of e.values()){const e=this.components.connectionManager.getConnections(t)[0];null!=e&&r.onConnect(t,e)}}}}const JR=nd("libp2p:upgrader");function $R(e,t){try{const{options:r}=t.getHandler(e);return r.maxOutboundStreams}catch(r){if(r.code!==CT.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return 64}function ZR(e,t,r){let n=0;return r.streams.forEach((r=>{r.stat.direction===t&&r.stat.protocol===e&&n++})),n}class eP extends py{constructor(e,t){super(),this.components=e,this.connectionEncryption=new Map,t.connectionEncryption.forEach((e=>{this.connectionEncryption.set(e.protocol,e)})),this.muxers=new Map,t.muxers.forEach((e=>{this.muxers.set(e.protocol,e)})),this.inboundUpgradeTimeout=t.inboundUpgradeTimeout}async upgradeInbound(e,t){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw as(new Error("connection denied"),CT.ERR_CONNECTION_DENIED);let r,n,i,o,s;const a=new RT.TimeoutController(this.inboundUpgradeTimeout);try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,a.signal)}catch{}try{var c;const u=md(e,a.signal);if(e.source=u.source,e.sink=u.sink,await this.components.connectionGater.denyInboundConnection(e))throw as(new Error("The multiaddr connection is blocked by gater.acceptConnection"),CT.ERR_CONNECTION_INTERCEPTED);null===(c=this.components.metrics)||void 0===c||c.trackMultiaddrConnection(e),JR("starting the inbound connection upgrade");let h=e;if(!0!==(null===t||void 0===t?void 0:t.skipProtection)){const t=this.components.connectionProtector;null!=t&&(JR("protecting the inbound connection"),h=await t.protect(e))}try{if(r=h,!0!==(null===t||void 0===t?void 0:t.skipEncryption)){if(({conn:r,remotePeer:n,protocol:s}=await this._encryptInbound(h)),await this.components.connectionGater.denyInboundEncryptedConnection(n,{...h,...r}))throw as(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),CT.ERR_CONNECTION_INTERCEPTED)}else{const t=e.remoteAddr.getPeerId();if(null==t)throw as(new Error("inbound connection that skipped encryption must have a peer id"),CT.ERR_INVALID_MULTIADDR);const r=Ih(t);s="native",n=r}if(i=r,null!=(null===t||void 0===t?void 0:t.muxerFactory))o=t.muxerFactory;else if(this.muxers.size>0){const e=await this._multiplexInbound({...h,...r},this.muxers);o=e.muxerFactory,i=e.stream}}catch(l){throw JR.error("Failed to upgrade inbound connection",l),l}if(await this.components.connectionGater.denyInboundUpgradedConnection(n,{...h,...r}))throw as(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),CT.ERR_CONNECTION_INTERCEPTED);return JR("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:s,direction:"inbound",maConn:e,upgradedConn:i,muxerFactory:o,remotePeer:n})}finally{this.components.connectionManager.afterUpgradeInbound(),a.clear()}}async upgradeOutbound(e,t){var r;const n=e.remoteAddr.getPeerId();let i,o,s,a,c,l;if(null!=n&&(i=Ih(n),await this.components.connectionGater.denyOutboundConnection(i,e)))throw as(new Error("The multiaddr connection is blocked by connectionGater.denyOutboundConnection"),CT.ERR_CONNECTION_INTERCEPTED);null===(r=this.components.metrics)||void 0===r||r.trackMultiaddrConnection(e),JR("Starting the outbound connection upgrade");let u=e;if(!0!==(null===t||void 0===t?void 0:t.skipProtection)){const t=this.components.connectionProtector;null!=t&&(u=await t.protect(e))}try{if(o=u,!0!==(null===t||void 0===t?void 0:t.skipEncryption)){if(({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(u,i)),await this.components.connectionGater.denyOutboundEncryptedConnection(s,{...u,...o}))throw as(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),CT.ERR_CONNECTION_INTERCEPTED)}else{if(null==i)throw as(new Error("Encryption was skipped but no peer id was passed"),CT.ERR_INVALID_PEER);c="native",s=i}if(a=o,null!=(null===t||void 0===t?void 0:t.muxerFactory))l=t.muxerFactory;else if(this.muxers.size>0){const e=await this._multiplexOutbound({...u,...o},this.muxers);l=e.muxerFactory,a=e.stream}}catch(h){throw JR.error("Failed to upgrade outbound connection",h),await e.close(h),h}if(await this.components.connectionGater.denyOutboundUpgradedConnection(s,{...u,...o}))throw as(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),CT.ERR_CONNECTION_INTERCEPTED);return JR("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:l,remotePeer:s})}_createConnection(e){var t,r,n=this;const{cryptoProtocol:i,direction:o,maConn:s,upgradedConn:a,remotePeer:c,muxerFactory:l}=e;let u,h,d;null!=l&&(u=l.createStreamMuxer({direction:o,onIncomingStream:e=>{null!=d&&Promise.resolve().then((async()=>{var t;const r=this.components.registrar.getProtocols(),{stream:n,protocol:i}=await HR(e,r);if(JR("%s: incoming stream opened on %s",o,i),null==d)return;const s=function(e,t){try{const{options:r}=t.getHandler(e);return r.maxInboundStreams}catch(r){if(r.code!==CT.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return 32}(i,this.components.registrar);ZR(i,"inbound",d)!==s?(e.source=n.source,e.sink=n.sink,e.stat.protocol=i,this.components.peerStore.protoBook.add(c,[i]).catch((e=>JR.error(e))),d.addStream(e),null===(t=this.components.metrics)||void 0===t||t.trackProtocolStream(e,d),this._onStream({connection:d,stream:e,protocol:i})):e.abort(as(new Error('Too many inbound protocol streams for protocol "'.concat(i,'" - limit ').concat(s)),CT.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS))})).catch((t=>{JR.error(t),null==e.stat.timeline.close&&e.close()}))},onStreamEnd:e=>{var t;null===(t=d)||void 0===t||t.removeStream(e.id)}}),h=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null==u)throw as(new Error("Stream is not multiplexed"),CT.ERR_MUXER_UNAVAILABLE);JR("%s: starting new stream on %s",o,e);const r=await u.newStream();let i;try{var s;if(null==t.signal){JR("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",e),i=new RT.TimeoutController(3e4),t.signal=i.signal;try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,i.signal)}catch{}}const{stream:o,protocol:a}=await KR(r,e,t),l=$R(a,n.components.registrar);if(ZR(a,"outbound",d)===l){const e=as(new Error('Too many outbound protocol streams for protocol "'.concat(a,'" - limit ').concat(l)),CT.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw r.abort(e),e}return n.components.peerStore.protoBook.add(c,[a]).catch((e=>JR.error(e))),r.source=o.source,r.sink=o.sink,r.stat.protocol=a,null===(s=n.components.metrics)||void 0===s||s.trackProtocolStream(r,d),r}catch(a){if(JR.error("could not create new stream",a),null==r.stat.timeline.close&&r.close(),null!=a.code)throw a;throw as(a,CT.ERR_UNSUPPORTED_PROTOCOL)}finally{null!=i&&i.clear()}},Promise.all([u.sink(a.source),a.sink(u.source)]).catch((e=>{JR.error(e)})));const p=s.timeline;s.timeline=new Proxy(p,{set:function(){return null!=d&&"close"===(arguments.length<=1?void 0:arguments[1])&&null!=(arguments.length<=2?void 0:arguments[2])&&null==p.close&&(async()=>{try{"OPEN"===d.stat.status&&await d.close()}catch(e){JR.error(e)}finally{n.dispatchEvent(new gy("connectionEnd",{detail:d}))}})().catch((e=>{JR.error(e)})),Reflect.set(...arguments)}}),s.timeline.upgraded=Date.now();const f=()=>{throw as(new Error("connection is not multiplexed"),CT.ERR_CONNECTION_NOT_MULTIPLEXED)};var g;return g={remoteAddr:s.remoteAddr,remotePeer:c,stat:{status:"OPEN",direction:o,timeline:s.timeline,multiplexer:null===(t=u)||void 0===t?void 0:t.protocol,encryption:i},newStream:null!==(r=h)&&void 0!==r?r:f,getStreams:()=>null!=u?u.streams:f(),close:async()=>{await s.close(),null!=u&&u.close()}},d=new QR(g),this.dispatchEvent(new gy("connection",{detail:d})),d}_onStream(e){const{connection:t,stream:r,protocol:n}=e,{handler:i}=this.components.registrar.getHandler(n);i({connection:t,stream:r})}async _encryptInbound(e){const t=Array.from(this.connectionEncryption.keys());JR("handling inbound crypto protocol selection",t);try{const{stream:r,protocol:n}=await HR(e,t,{writeBytes:!0}),i=this.connectionEncryption.get(n);if(null==i)throw new Error("no crypto module found for ".concat(n));return JR("encrypting inbound connection..."),{...await i.secureInbound(this.components.peerId,r),protocol:n}}catch(r){throw as(r,CT.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,t){const r=Array.from(this.connectionEncryption.keys());JR("selecting outbound crypto protocol",r);try{const{stream:n,protocol:i}=await KR(e,r,{writeBytes:!0}),o=this.connectionEncryption.get(i);if(null==o)throw new Error("no crypto module found for ".concat(i));return JR("encrypting outbound connection to %p",t),{...await o.secureOutbound(this.components.peerId,n,t),protocol:i}}catch(n){throw as(n,CT.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,t){const r=Array.from(t.keys());JR("outbound selecting muxer %s",r);try{const{stream:n,protocol:i}=await KR(e,r,{writeBytes:!0});JR("%s selected as muxer protocol",i);return{stream:n,muxerFactory:t.get(i)}}catch(n){throw JR.error("error multiplexing outbound stream",n),as(n,CT.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,t){const r=Array.from(t.keys());JR("inbound handling muxers %s",r);try{const{stream:n,protocol:i}=await HR(e,r,{writeBytes:!0});return{stream:n,muxerFactory:t.get(i)}}catch(n){throw JR.error("error multiplexing inbound stream",n),as(n,CT.ERR_MUXER_UNAVAILABLE)}}}var tP;!function(e){let t;e.codec=()=>(null==t&&(t=mk((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==r.lengthDelimited&&t.fork(),null!=e.protocolVersion&&(t.uint32(42),t.string(e.protocolVersion)),null!=e.agentVersion&&(t.uint32(50),t.string(e.agentVersion)),null!=e.publicKey&&(t.uint32(10),t.bytes(e.publicKey)),null!=e.listenAddrs)for(const n of e.listenAddrs)t.uint32(18),t.bytes(n);if(null!=e.observedAddr&&(t.uint32(34),t.bytes(e.observedAddr)),null!=e.protocols)for(const n of e.protocols)t.uint32(26),t.string(n);null!=e.signedPeerRecord&&(t.uint32(66),t.bytes(e.signedPeerRecord)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={listenAddrs:[],protocols:[]},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 5:r.protocolVersion=e.string();break;case 6:r.agentVersion=e.string();break;case 1:r.publicKey=e.bytes();break;case 2:r.listenAddrs.push(e.bytes());break;case 4:r.observedAddr=e.bytes();break;case 3:r.protocols.push(e.string());break;case 8:r.signedPeerRecord=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>dk(t,e.codec()),e.decode=t=>hk(t,e.codec())}(tP||(tP={}));const rP="ERR_SIGNATURE_NOT_VALID";Wi._configure(),Hi._configure(Gi),Qi._configure(Yi);const nP=["uint64","int64","sint64","fixed64","sfixed64"];function iP(e){return function(e){for(const t of nP){if(null==e[t])continue;const r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}(new Hi(e))}function oP(){return function(e){for(const t of nP){if(null==e[t])continue;const r=e[t];e[t]=function(e){return r.call(this,e.toString())}}return e}(Qi.create())}function sP(e,t){const r=iP(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function aP(e,t){const r=oP();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var cP,lP;function uP(e,t){return function(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}("message",cP.LENGTH_DELIMITED,e,t)}!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"}(cP||(cP={})),function(e){let t;e.codec=()=>(null==t&&(t=uP((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.publicKey&&e.publicKey.byteLength>0&&(t.uint32(10),t.bytes(e.publicKey)),null!=e.payloadType&&e.payloadType.byteLength>0&&(t.uint32(18),t.bytes(e.payloadType)),null!=e.payload&&e.payload.byteLength>0&&(t.uint32(26),t.bytes(e.payload)),null!=e.signature&&e.signature.byteLength>0&&(t.uint32(42),t.bytes(e.signature)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.publicKey=e.bytes();break;case 2:r.payloadType=e.bytes();break;case 3:r.payload=e.bytes();break;case 5:r.signature=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>aP(t,e.codec()),e.decode=t=>sP(t,e.codec())}(lP||(lP={}));class hP{constructor(e){Ce(this,"peerId",void 0),Ce(this,"payloadType",void 0),Ce(this,"payload",void 0),Ce(this,"signature",void 0),Ce(this,"marshaled",void 0);const{peerId:t,payloadType:r,payload:n,signature:i}=e;this.peerId=t,this.payloadType=r,this.payload=n,this.signature=i}marshal(){if(null==this.peerId.publicKey)throw new Error("Missing public key");return null==this.marshaled&&(this.marshaled=lP.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Nt(this.marshal(),e.marshal())}async validate(e){const t=dP(e,this.payloadType,this.payload);if(null==this.peerId.publicKey)throw new Error("Missing public key");return fh(this.peerId.publicKey).verify(t.subarray(),this.signature)}}Ce(hP,"createFromProtobuf",(async e=>{const t=lP.decode(e),r=await kh(t.publicKey);return new hP({peerId:r,payloadType:t.payloadType,payload:t.payload,signature:t.signature})})),Ce(hP,"seal",(async(e,t)=>{if(null==t.privateKey)throw new Error("Missing private key");const r=e.domain,n=e.codec,i=e.marshal(),o=dP(r,n,i),s=await yh(t.privateKey),a=await s.sign(o.subarray());return new hP({peerId:t,payloadType:n,payload:i,signature:a})})),Ce(hP,"openAndCertify",(async(e,t)=>{const r=await hP.createFromProtobuf(e);if(!await r.validate(t))throw new Le("envelope signature is not valid for the given domain",rP);return r}));const dP=(e,t,r)=>{const n=Hn(e),i=is.encode(n.byteLength),o=is.encode(t.length),s=is.encode(r.length);return new Ho(i,n,o,t,s,r)},pP=Uint8Array.from([3,1]);var fP;!function(e){let t,r;!function(e){let t;e.codec=()=>(null==t&&(t=uP((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.multiaddr&&e.multiaddr.byteLength>0&&(t.uint32(10),t.bytes(e.multiaddr)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={multiaddr:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)r.multiaddr=e.bytes();else e.skipType(7&t)}return r}))),t),e.encode=t=>aP(t,e.codec()),e.decode=t=>sP(t,e.codec())}(t=e.AddressInfo||(e.AddressInfo={})),e.codec=()=>(null==r&&(r=uP((function(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==n.lengthDelimited&&r.fork(),null!=t.peerId&&t.peerId.byteLength>0&&(r.uint32(10),r.bytes(t.peerId)),null!=t.seq&&0n!==t.seq&&(r.uint32(16),r.uint64(t.seq)),null!=t.addresses)for(const i of t.addresses)r.uint32(26),e.AddressInfo.codec().encode(i,r);!1!==n.lengthDelimited&&r.ldelim()}),((t,r)=>{const n={peerId:new Uint8Array(0),seq:0n,addresses:[]},i=null==r?t.len:t.pos+r;for(;t.pos<i;){const r=t.uint32();switch(r>>>3){case 1:n.peerId=t.bytes();break;case 2:n.seq=t.uint64();break;case 3:n.addresses.push(e.AddressInfo.codec().decode(t,t.uint32()));break;default:t.skipType(7&r)}}return n}))),r),e.encode=t=>aP(t,e.codec()),e.decode=t=>sP(t,e.codec())}(fP||(fP={}));class gP{constructor(e){Ce(this,"peerId",void 0),Ce(this,"multiaddrs",void 0),Ce(this,"seqNumber",void 0),Ce(this,"domain",gP.DOMAIN),Ce(this,"codec",gP.CODEC),Ce(this,"marshaled",void 0);const{peerId:t,multiaddrs:r,seqNumber:n}=e;this.peerId=t,this.multiaddrs=null!==r&&void 0!==r?r:[],this.seqNumber=null!==n&&void 0!==n?n:BigInt(Date.now())}marshal(){return null==this.marshaled&&(this.marshaled=fP.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map((e=>({multiaddr:e.bytes})))})),this.marshaled}equals(e){return e instanceof gP&&(!!this.peerId.equals(e.peerId)&&(this.seqNumber===e.seqNumber&&!!JS(this.multiaddrs,e.multiaddrs)))}}Ce(gP,"createFromProtobuf",(e=>{var t;const r=fP.decode(e),n=Th(r.peerId),i=(null!==(t=r.addresses)&&void 0!==t?t:[]).map((e=>Mi(e.multiaddr))),o=r.seq;return new gP({peerId:n,multiaddrs:i,seqNumber:o})})),Ce(gP,"DOMAIN","libp2p-peer-record"),Ce(gP,"CODEC",pP);const yP="0.0.0",mP="js-libp2p/".concat(yP),vP=nd("libp2p:identify");class bP{constructor(e,t){this.components=e,this.started=!1,this.init=t,this.identifyProtocolStr="/".concat(t.protocolPrefix,"/").concat("id","/").concat("1.0.0"),this.identifyPushProtocolStr="/".concat(t.protocolPrefix,"/").concat("id/push","/").concat("1.0.0"),this.host={protocolVersion:"".concat(t.protocolPrefix,"/").concat("0.1.0"),...t.host},this.components.connectionManager.addEventListener("peer:connect",(e=>{const t=e.detail;this.identify(t).catch(vP.error)})),this.components.peerStore.addEventListener("change:multiaddrs",(e=>{const{peerId:t}=e.detail;this.components.peerId.equals(t)&&this.pushToPeerStore().catch((e=>vP.error(e)))})),this.components.peerStore.addEventListener("change:protocols",(e=>{const{peerId:t}=e.detail;this.components.peerId.equals(t)&&this.pushToPeerStore().catch((e=>vP.error(e)))}))}isStarted(){return this.started}async start(){this.started||(await this.components.peerStore.metadataBook.setValue(this.components.peerId,"AgentVersion",Hn(this.host.agentVersion)),await this.components.peerStore.metadataBook.setValue(this.components.peerId,"ProtocolVersion",Hn(this.host.protocolVersion)),await this.components.registrar.handle(this.identifyProtocolStr,(e=>{this._handleIdentify(e).catch((e=>{vP.error(e)}))}),{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),await this.components.registrar.handle(this.identifyPushProtocolStr,(e=>{this._handlePush(e).catch((e=>{vP.error(e)}))}),{maxInboundStreams:this.init.maxPushIncomingStreams,maxOutboundStreams:this.init.maxPushOutgoingStreams}),this.started=!0)}async stop(){await this.components.registrar.unhandle(this.identifyProtocolStr),await this.components.registrar.unhandle(this.identifyPushProtocolStr),this.started=!1}async push(e){const t=await this.components.peerStore.addressBook.getRawEnvelope(this.components.peerId),r=this.components.addressManager.getAddresses().map((e=>e.bytes)),n=await this.components.peerStore.protoBook.get(this.components.peerId),i=e.map((async e=>{let i;const o=new RT.TimeoutController(this.init.timeout);try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,o.signal)}catch{}try{i=await e.newStream([this.identifyPushProtocolStr],{signal:o.signal});const s=md(i,o.signal);await s.sink(la([tP.encode({listenAddrs:r,signedPeerRecord:t,protocols:n})],ha()))}catch(s){vP.error("could not push identify update to peer",s)}finally{null!=i&&i.close(),o.clear()}}));await Promise.all(i)}async pushToPeerStore(){if(!this.isStarted())return;const e=[];for(const t of this.components.connectionManager.getConnections()){const r=t.remotePeer;(await this.components.peerStore.get(r)).protocols.includes(this.identifyPushProtocolStr)&&e.push(t)}await this.push(e)}async _identify(e){let t,r,n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).signal;if(null==n){t=new RT.TimeoutController(this.init.timeout),n=t.signal;try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,t.signal)}catch{}}try{var i;r=await e.newStream([this.identifyProtocolStr],{signal:n});const s=md(r,n),a=await la([],s,fa({maxDataLength:null!==(i=this.init.maxIdentifyMessageSize)&&void 0!==i?i:8192}),(async e=>await PT(e)));if(null==a)throw as(new Error("No data could be retrieved"),CT.ERR_CONNECTION_ENDED);try{return tP.decode(a)}catch(o){throw as(o,CT.ERR_INVALID_MESSAGE)}}finally{null!=t&&t.clear(),null!=r&&r.close()}}async identify(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=await this._identify(e,t),{publicKey:n,listenAddrs:i,protocols:o,observedAddr:s,signedPeerRecord:a,agentVersion:c,protocolVersion:l}=r;if(null==n)throw as(new Error("public key was missing from identify message"),CT.ERR_MISSING_PUBLIC_KEY);const u=await kh(n);if(!e.remotePeer.equals(u))throw as(new Error("identified peer does not match the expected peer"),CT.ERR_INVALID_PEER);if(this.components.peerId.equals(u))throw as(new Error("identified peer is our own peer id?"),CT.ERR_INVALID_PEER);const h=bP.getCleanMultiaddr(s);if(null!=a){vP("received signed peer record from %p",u);try{const e=await hP.openAndCertify(a,gP.DOMAIN);if(!e.peerId.equals(u))throw as(new Error("identified peer does not match the expected peer"),CT.ERR_INVALID_PEER);if(await this.components.peerStore.addressBook.consumePeerRecord(e))return await this.components.peerStore.protoBook.set(u,o),null!=c&&await this.components.peerStore.metadataBook.setValue(u,"AgentVersion",Hn(c)),null!=l&&await this.components.peerStore.metadataBook.setValue(u,"ProtocolVersion",Hn(l)),void vP("identify completed for peer %p and protocols %o",u,o)}catch(d){vP("received invalid envelope, discard it and fallback to listenAddrs is available",d)}}else vP("no signed peer record received from %p",u);vP("falling back to legacy addresses from %p",u);try{await this.components.peerStore.addressBook.set(u,i.map((e=>dT(e))))}catch(d){vP.error("received invalid addrs",d)}await this.components.peerStore.protoBook.set(u,o),null!=c&&await this.components.peerStore.metadataBook.setValue(u,"AgentVersion",Hn(c)),null!=l&&await this.components.peerStore.metadataBook.setValue(u,"ProtocolVersion",Hn(l)),vP("identify completed for peer %p and protocols %o",u,o),vP("received observed address of %s",null===h||void 0===h?void 0:h.toString())}async _handleIdentify(e){const{connection:t,stream:r}=e,n=new RT.TimeoutController(this.init.timeout);try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,n.signal)}catch{}try{var i;const e=null!==(i=this.components.peerId.publicKey)&&void 0!==i?i:new Uint8Array(0),o=await this.components.peerStore.get(this.components.peerId),s=this.components.addressManager.getAddresses().map((e=>e.decapsulateCode(DI("p2p").code)));let a=o.peerRecordEnvelope;if(s.length>0&&null==a){const e=new gP({peerId:this.components.peerId,multiaddrs:s}),t=await hP.seal(e,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(t),a=t.marshal().subarray()}const c=tP.encode({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:e,listenAddrs:s.map((e=>e.bytes)),signedPeerRecord:a,observedAddr:t.remoteAddr.bytes,protocols:o.protocols}),l=md(r,n.signal),u=la([c],ha());await l.sink(u)}catch(o){vP.error("could not respond to identify request",o)}finally{r.close(),n.clear()}}async _handlePush(e){const{connection:t,stream:r}=e,n=new RT.TimeoutController(this.init.timeout);try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,n.signal)}catch{}let i;try{var o;const e=md(r,n.signal),t=await la([],e,fa({maxDataLength:null!==(o=this.init.maxIdentifyMessageSize)&&void 0!==o?o:8192}),(async e=>await PT(e)));null!=t&&(i=tP.decode(t))}catch(a){return vP.error("received invalid message",a)}finally{r.close(),n.clear()}if(null==i)return vP.error("received invalid message");const s=t.remotePeer;if(this.components.peerId.equals(s))vP("received push from ourselves?");else{if(vP("received push from %p",s),null!=i.signedPeerRecord){vP("received signedPeerRecord in push");try{const e=await hP.openAndCertify(i.signedPeerRecord,gP.DOMAIN);if(await this.components.peerStore.addressBook.consumePeerRecord(e))return vP("consumed signedPeerRecord sent in push"),void await this.components.peerStore.protoBook.set(s,i.protocols);vP("failed to consume signedPeerRecord sent in push")}catch(a){vP("received invalid envelope, discard it and fallback to listenAddrs is available",a)}}else vP("did not receive signedPeerRecord in push");try{await this.components.peerStore.addressBook.set(s,i.listenAddrs.map((e=>dT(e))))}catch(a){vP.error("received invalid addrs",a)}try{await this.components.peerStore.protoBook.set(s,i.protocols)}catch(a){vP.error("received invalid protocols",a)}vP("handled push from %p",s)}}static getCleanMultiaddr(e){if(null!=e&&e.length>0)try{return dT(e)}catch{}}}var wP,EP;!function(e){let t;e.codec=()=>(null==t&&(t=mk((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),!0!==r.writeDefaults&&""===e.identifier||(t.uint32(10),t.string(e.identifier)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={identifier:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)r.identifier=e.string();else e.skipType(7&t)}return r}))),t),e.encode=t=>dk(t,e.codec()),e.decode=t=>hk(t,e.codec())}(wP||(wP={})),function(e){let t,r,n;!function(e){e.OK="OK",e.NOT_FOUND="NOT_FOUND",e.ERROR="ERROR"}(t=e.StatusCode||(e.StatusCode={})),function(e){e[e.OK=0]="OK",e[e.NOT_FOUND=1]="NOT_FOUND",e[e.ERROR=2]="ERROR"}(r||(r={})),function(e){e.codec=()=>yk(r)}(t=e.StatusCode||(e.StatusCode={})),e.codec=()=>(null==n&&(n=mk((function(t,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==i.lengthDelimited&&n.fork(),(!0===i.writeDefaults||null!=t.status&&0!==r[t.status])&&(n.uint32(8),e.StatusCode.codec().encode(t.status,n)),(!0===i.writeDefaults||null!=t.data&&t.data.byteLength>0)&&(n.uint32(18),n.bytes(t.data)),!1!==i.lengthDelimited&&n.ldelim()}),((r,n)=>{const i={status:t.OK,data:new Uint8Array(0)},o=null==n?r.len:r.pos+n;for(;r.pos<o;){const t=r.uint32();switch(t>>>3){case 1:i.status=e.StatusCode.codec().decode(r);break;case 2:i.data=r.bytes();break;default:r.skipType(7&t)}}return i}))),n),e.encode=t=>dk(t,e.codec()),e.decode=t=>hk(t,e.codec())}(EP||(EP={}));const _P=nd("libp2p:fetch");class SP{constructor(e,t){var r;this.started=!1,this.components=e,this.protocol="/".concat(null!==(r=t.protocolPrefix)&&void 0!==r?r:"libp2p","/").concat("fetch","/").concat("0.0.1"),this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=t}async start(){await this.components.registrar.handle(this.protocol,(e=>{this.handleMessage(e).catch((e=>{_P.error(e)})).finally((()=>{e.stream.close()}))}),{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};_P("dialing %s to %p",this.protocol,e);const n=await this.components.connectionManager.openConnection(e,r);let i,o,s=r.signal;if(null==s){_P("using default timeout of %d ms",this.init.timeout),i=new RT.TimeoutController(this.init.timeout),s=i.signal;try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,i.signal)}catch{}}try{o=await n.newStream(this.protocol,{signal:s});const e=md(o,s);_P("fetch %s",t);const r=await la([wP.encode({identifier:t})],ha(),e,fa(),(async function(e){const r=await PT(e);if(null==r)throw as(new Error("No data received"),CT.ERR_INVALID_MESSAGE);const n=EP.decode(r);switch(n.status){case EP.StatusCode.OK:return _P("received status for %s ok",t),n.data;case EP.StatusCode.NOT_FOUND:return _P("received status for %s not found",t),null;case EP.StatusCode.ERROR:{_P("received status for %s error",t);const e=an(n.data);throw as(new Error("Error in fetch protocol response: "+e),CT.ERR_INVALID_PARAMETERS)}default:throw _P("received status for %s unknown",t),as(new Error("Unknown response status"),CT.ERR_INVALID_MESSAGE)}}));return null!==r&&void 0!==r?r:null}finally{null!=i&&i.clear(),null!=o&&o.close()}}async handleMessage(e){const{stream:t}=e,r=this;await la(t,fa(),(async function*(e){const t=await PT(e);if(null==t)throw as(new Error("No data received"),CT.ERR_INVALID_MESSAGE);const n=wP.decode(t);let i;const o=r._getLookupFunction(n.identifier);if(null!=o){_P("look up data with identifier %s",n.identifier);const e=await o(n.identifier);null!=e?(_P("sending status for %s ok",n.identifier),i={status:EP.StatusCode.OK,data:e}):(_P("sending status for %s not found",n.identifier),i={status:EP.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{_P("sending status for %s error",n.identifier);const e=Hn("No lookup function registered for key: ".concat(n.identifier));i={status:EP.StatusCode.ERROR,data:e}}yield EP.encode(i)}),ha(),t)}_getLookupFunction(e){for(const t of this.lookupFunctions.keys())if(e.startsWith(t))return this.lookupFunctions.get(t)}registerLookupFunction(e,t){if(this.lookupFunctions.has(e))throw as(new Error("Fetch protocol handler for key prefix '"+e+"' already registered"),CT.ERR_KEY_ALREADY_EXISTS);this.lookupFunctions.set(e,t)}unregisterLookupFunction(e,t){if(null!=t){if(this.lookupFunctions.get(e)!==t)return}this.lookupFunctions.delete(e)}}const AP=nd("libp2p:ping");class CP{constructor(e,t){this.components=e,this.started=!1,this.protocol="/".concat(t.protocolPrefix,"/").concat("ping","/").concat("1.0.0"),this.init=t}async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}handleMessage(e){const{stream:t}=e;la(t,t).catch((e=>{AP.error(e)}))}async ping(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};AP("dialing %s to %p",this.protocol,e);const r=Date.now(),n=Gu(32),i=await this.components.connectionManager.openConnection(e,t);let o,s,a=t.signal;if(null==a){o=new RT.TimeoutController(this.init.timeout),a=o.signal;try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,o.signal)}catch{}}try{s=await i.newStream([this.protocol],{signal:a});const e=md(s,a),t=await la([n],e,(async e=>await PT(e))),c=Date.now();if(null==t||!Nt(n,t.subarray()))throw as(new Error("Received wrong ping ack"),CT.ERR_WRONG_PING_ACK);return c-r}finally{null!=o&&o.clear(),null!=s&&s.close()}}}function IP(e){const{address:t}=e.nodeAddress();return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(r=t)||/^::1$/.test(r);var r}const TP=nd("libp2p:nat"),kP=7200;function RP(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1024,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:65535;return Math.floor(Math.random()*(t-e+1)+e)}class PP{constructor(e,t){var r,n,i;if(this.components=e,this.started=!1,this.enabled=t.enabled,this.externalAddress=t.externalAddress,this.localAddress=t.localAddress,this.description=null!==(r=t.description)&&void 0!==r?r:"".concat("libp2p","@").concat(yP," ").concat(this.components.peerId.toString()),this.ttl=null!==(n=t.ttl)&&void 0!==n?n:kP,this.keepAlive=null===(i=t.keepAlive)||void 0===i||i,this.gateway=t.gateway,this.ttl<kP)throw as(new Error("NatManager ttl should be at least ".concat(kP," seconds")),CT.ERR_INVALID_PARAMETERS)}isStarted(){return this.started}start(){}afterStart(){Eg||!this.enabled||this.started||(this.started=!0,this._start().catch((e=>{TP.error(e)})))}async _start(){const e=this.components.transportManager.getAddrs();for(const r of e){var t;const{family:e,host:n,port:i,transport:o}=r.toOptions();if(!r.isThinWaistAddress()||"tcp"!==o)continue;if(IP(r))continue;if(4!==e)continue;const s=await this._getClient(),a=null!==(t=this.externalAddress)&&void 0!==t?t:await s.externalIp(),c=Jk(a);if(!0===c)throw new Error("".concat(a," is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT"));if(null==c)throw new Error("".concat(a," is not an IP address"));const l=RP();TP("opening uPnP connection from ".concat(a,":").concat(l," to ").concat(n,":").concat(i)),await s.map({publicPort:l,localPort:i,localAddress:this.localAddress,protocol:"TCP"===o.toUpperCase()?"TCP":"UDP"}),this.components.addressManager.addObservedAddr(lT({family:4,address:a,port:l},o))}}async _getClient(){return null!=this.client||(this.client=await async function(){throw new Error("Not supported in browsers")}((this.description,this.ttl,this.keepAlive,this.gateway))),this.client}async stop(){if(!Eg&&null!=this.client)try{await this.client.close(),this.client=void 0}catch(e){TP.error(e)}}}const DP=nd("libp2p:peer-record-updater");class NP{constructor(e){this.components=e,this.started=!1,this.update=this.update.bind(this)}isStarted(){return this.started}async start(){this.started=!0,this.components.transportManager.addEventListener("listener:listening",this.update),this.components.transportManager.addEventListener("listener:close",this.update),this.components.addressManager.addEventListener("change:addresses",this.update)}async stop(){this.started=!1,this.components.transportManager.removeEventListener("listener:listening",this.update),this.components.transportManager.removeEventListener("listener:close",this.update),this.components.addressManager.removeEventListener("change:addresses",this.update)}update(){Promise.resolve().then((async()=>{const e=new gP({peerId:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map((e=>e.decapsulateCode(DI("p2p").code)))}),t=await hP.seal(e,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(t)})).catch((e=>{DP.error("Could not update self peer record: %o",e)}))}}class LP{constructor(e){this.dht=e}async findPeer(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for await(const r of this.dht.findPeer(e,t))if("FINAL_PEER"===r.name)return r.peer;throw as(new Error(AT.NOT_FOUND),CT.ERR_NOT_FOUND)}getClosestPeers(e){try{var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return async function*(){for await(const n of t.dht.getClosestPeers(e,r))"FINAL_PEER"===n.name&&(yield n.peer)}()}catch(r){return Promise.reject(r)}}}const xP=Gn,OP=Wn,BP=function(e){let t=0;if(e=e.toString().trim(),xP(e)){const r=new Uint8Array(t+4);return e.split(/\./g).forEach((e=>{r[t++]=255&parseInt(e,10)})),r}if(OP(e)){const r=e.split(":",8);let n;for(n=0;n<r.length;n++){let e;xP(r[n])&&(e=BP(r[n]),r[n]=an(e.slice(0,2),"base16")),null!=e&&++n<8&&r.splice(n,0,an(e.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++);const e=[n,1];for(n=9-r.length;n>0;n--)e.push("0");r.splice.apply(r,e)}const i=new Uint8Array(t+16);for(n=0;n<r.length;n++){const e=parseInt(r[n],16);i[t++]=e>>8&255,i[t++]=255&e}return i}throw new Error("invalid ip address")},MP=-1,UP={},FP={};function VP(e){if("number"===typeof e){if(null!=FP[e])return FP[e];throw new Error("no protocol with code: ".concat(e))}if("string"===typeof e){if(null!=UP[e])return UP[e];throw new Error("no protocol with name: ".concat(e))}throw new Error("invalid protocol id type: ".concat(typeof e))}function jP(e,t){switch(VP(e).code){case 4:case 41:return function(e){const t=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0;r=~~r,n=null!==(t=n)&&void 0!==t?t:e.length-r;const i=new DataView(e.buffer);if(4===n){const t=[];for(let i=0;i<n;i++)t.push(e[r+i]);return t.join(".")}if(16===n){const e=[];for(let t=0;t<n;t+=2)e.push(i.getUint16(r+t).toString(16));return e.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""}(e,0,e.length);if(null==t)throw new Error("ipBuff is required");if(!Qn(t))throw new Error("invalid ip address");return t}(t);case 42:case 53:case 54:case 55:case 56:case 400:case 449:case 777:return YP(t);case 6:case 273:case 33:case 132:return WP(t).toString();case 421:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return an(r,"base58btc")}(t);case 444:case 445:return XP(t);case 466:return function(e){const t=cn.decode(e),r=e.slice(cn.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+an(r,"base64url")}(t);default:return an(t,"base16")}}function zP(e,t){switch(VP(e).code){case 4:case 41:return HP(t);case 42:case 53:case 54:case 55:case 56:case 400:case 449:case 777:return QP(t);case 6:case 273:case 33:case 132:return GP(parseInt(t,10));case 421:return function(e){let t;t="Q"===e[0]||"1"===e[0]?ut(He.decode("z".concat(e))).bytes:At.parse(e).multihash.bytes;const r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);case 444:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(16!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion address."));const r=dt.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)");const i=GP(n);return ln([r,i],r.length+i.length)}(t);case 445:return function(e){const t=e.split(":");if(2!==t.length)throw new Error("failed to parse onion addr: [\"'".concat(t.join('", "'),"'\"]' does not contain a port number"));if(56!==t[0].length)throw new Error("failed to parse onion addr: ".concat(t[0]," not a Tor onion3 address."));const r=dt.decode("b".concat(t[0])),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");const i=GP(n);return ln([r,i],r.length+i.length)}(t);case 466:return function(e){const t=qP.decode(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}(t);default:return Hn(t,"base16")}}[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,MP,"ip6zone"],[43,8,"ipcidr"],[53,MP,"dns",!0],[54,MP,"dns4",!0],[55,MP,"dns6",!0],[56,MP,"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"],[281,0,"webrtc-w3c"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,MP,"unix",!1,!0],[421,MP,"ipfs"],[421,MP,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,MP,"garlic64"],[448,0,"tls"],[449,MP,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,MP,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,MP,"memory"]].forEach((e=>{const t=function(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:Boolean(n),path:Boolean(i)}}(...e);FP[t.code]=t,UP[t.name]=t}));const KP=Object.values(qn).map((e=>e.decoder)),qP=function(){let e=KP[0].or(KP[1]);return KP.slice(2).forEach((t=>e=e.or(t))),e}();function HP(e){if(!Qn(e))throw new Error("invalid ip address");return BP(e)}function GP(e){const t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function WP(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function QP(e){const t=Hn(e),r=Uint8Array.from(cn.encode(t.length));return ln([r,t],r.length+t.length)}function YP(e){const t=cn.decode(e);if((e=e.slice(cn.decode.bytes)).length!==t)throw new Error("inconsistent lengths");return an(e)}function XP(e){const t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=an(t,"base32"),i=WP(r);return"".concat(n,":").concat(i)}function JP(e){return e.map((e=>{const t=aD(e);return null!=e[1]?[t.code,jP(t.code,e[1])]:[t.code]}))}function $P(e){return nD(ln(e.map((e=>{const t=aD(e);let r=Uint8Array.from(cn.encode(t.code));return e.length>1&&null!=e[1]&&(r=ln([r,e[1]])),r}))))}function ZP(e,t){if(e.size>0)return e.size/8;if(0===e.size)return 0;var r;return cn.decode(t)+(null!==(r=cn.decode.bytes)&&void 0!==r?r:0)}function eD(e){const t=[];let r=0;for(;r<e.length;){var n;const i=cn.decode(e,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0,s=ZP(VP(i),e.slice(r+o));if(0===s){t.push([i]),r+=o;continue}const a=e.slice(r+o,r+o+s);if(r+=s+o,r>e.length)throw sD("Invalid address Uint8Array: "+an(e,"base16"));t.push([i,a])}return t}function tD(e){return function(e){const t=[];return e.map((e=>{const r=aD(e);return t.push(r.name),e.length>1&&null!=e[1]&&t.push(e[1]),null})),oD(t.join("/"))}(JP(eD(e)))}function rD(e){const t=function(e){const t=[],r=e.split("/").slice(1);if(1===r.length&&""===r[0])return[];for(let n=0;n<r.length;n++){const i=r[n],o=VP(i);if(0!==o.size){if(n++,n>=r.length)throw sD("invalid address: "+e);if(!0===o.path){t.push([i,oD(r.slice(n).join("/"))]);break}t.push([i,r[n]])}else t.push([i])}return t}(e=oD(e));return $P(t.map((e=>{Array.isArray(e)||(e=[e]);const t=aD(e);return e.length>1?[t.code,zP(t.code,e[1])]:[t.code]})))}function nD(e){const t=iD(e);if(null!=t)throw t;return Uint8Array.from(e)}function iD(e){try{eD(e)}catch(t){return t}}function oD(e){return"/"+e.trim().split("/").filter((e=>e)).join("/")}function sD(e){return new Error("Error parsing address: "+e)}function aD(e){return VP(e[0])}var cD,lD,uD,hD,dD=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},pD=function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"===typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r};const fD=Symbol.for("nodejs.util.inspect.custom"),gD=[VP("dns").code,VP("dns4").code,VP("dns6").code,VP("dnsaddr").code],yD=new Map,mD=Symbol.for("@multiformats/js-multiaddr/multiaddr");function vD(e){return Boolean(null===e||void 0===e?void 0:e[mD])}class bD{constructor(e){if(cD.set(this,void 0),lD.set(this,void 0),uD.set(this,void 0),this[hD]=!0,null==e&&(e=""),e instanceof Uint8Array)this.bytes=nD(e);else if("string"===typeof e){if(e.length>0&&"/"!==e.charAt(0))throw new Error('multiaddr "'.concat(e,'" must start with a "/"'));this.bytes=rD(e)}else{if(!vD(e))throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=nD(e.bytes)}}toString(){return null==dD(this,cD,"f")&&pD(this,cD,tD(this.bytes),"f"),dD(this,cD,"f")}toJSON(){return this.toString()}toOptions(){let e,t,r,n,i="";const o=VP("tcp"),s=VP("udp"),a=VP("ip4"),c=VP("ip6"),l=VP("dns6"),u=VP("ip6zone");for(const[h,d]of this.stringTuples())h===u.code&&(i="%".concat(null!==d&&void 0!==d?d:"")),gD.includes(h)&&(t=o.name,n=443,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===l.code?6:4),h!==o.code&&h!==s.code||(t=VP(h).name,n=parseInt(null!==d&&void 0!==d?d:"")),h!==a.code&&h!==c.code||(t=VP(h).name,r="".concat(null!==d&&void 0!==d?d:"").concat(i),e=h===c.code?6:4);if(null==e||null==t||null==r||null==n)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:r,transport:t,port:n}}protos(){return this.protoCodes().map((e=>Object.assign({},VP(e))))}protoCodes(){const e=[],t=this.bytes;let r=0;for(;r<t.length;){var n;const i=cn.decode(t,r),o=null!==(n=cn.decode.bytes)&&void 0!==n?n:0;r+=ZP(VP(i),t.slice(r+o))+o,e.push(i)}return e}protoNames(){return this.protos().map((e=>e.name))}tuples(){return null==dD(this,lD,"f")&&pD(this,lD,eD(this.bytes),"f"),dD(this,lD,"f")}stringTuples(){return null==dD(this,uD,"f")&&pD(this,uD,JP(this.tuples()),"f"),dD(this,uD,"f")}encapsulate(e){return e=new bD(e),new bD(this.toString()+e.toString())}decapsulate(e){const t=e.toString(),r=this.toString(),n=r.lastIndexOf(t);if(n<0)throw new Error("Address ".concat(this.toString()," does not contain subaddress: ").concat(e.toString()));return new bD(r.slice(0,n))}decapsulateCode(e){const t=this.tuples();for(let r=t.length-1;r>=0;r--)if(t[r][0]===e)return new bD($P(t.slice(0,r)));return this}getPeerId(){try{const e=this.stringTuples().filter((e=>e[0]===UP.ipfs.code)),t=e.pop();if(null!=(null===t||void 0===t?void 0:t[1])){const e=t[1];return"Q"===e[0]||"1"===e[0]?an(He.decode("z".concat(e)),"base58btc"):an(At.parse(e).multihash.bytes,"base58btc")}return null}catch(e){return null}}getPath(){let e=null;try{e=this.stringTuples().filter((e=>!0===VP(e[0]).path))[0][1],null==e&&(e=null)}catch{e=null}return e}equals(e){return Nt(this.bytes,e.bytes)}async resolve(e){const t=this.protos().find((e=>e.resolvable));if(null==t)return[this];const r=yD.get(t.name);if(null==r)throw as(new Error("no available resolver for ".concat(t.name)),"ERR_NO_AVAILABLE_RESOLVER");return(await r(this,e)).map((e=>new bD(e)))}nodeAddress(){const e=this.toOptions();if("tcp"!==e.transport&&"udp"!==e.transport)throw new Error('multiaddr must have a valid format - no protocol with name: "'.concat(e.transport,'". Must have a valid transport protocol: "{tcp, udp}"'));return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){const t=(null!==e&&void 0!==e?e:this).protos();return 2===t.length&&((4===t[0].code||41===t[0].code)&&(6===t[1].code||273===t[1].code))}[(cD=new WeakMap,lD=new WeakMap,uD=new WeakMap,hD=mD,fD)](){return"Multiaddr(".concat(tD(this.bytes),")")}}function wD(e){return new bD(e)}const ED="ERR_INVALID_PARAMETERS",_D="ERR_NOT_FOUND",SD=nd("libp2p:peer-store:address-book"),AD="change:multiaddrs";async function CD(){return!0}class ID{constructor(e,t,r){this.dispatchEvent=e,this.store=t,this.addressFilter=null!==r&&void 0!==r?r:CD}async consumePeerRecord(e){SD.trace("consumePeerRecord await write lock");const t=await this.store.lock.writeLock();let r,n,i;SD.trace("consumePeerRecord got write lock");try{let s;try{s=gP.createFromProtobuf(e.payload)}catch(o){return SD.error("invalid peer record received"),!1}r=s.peerId;const a=s.multiaddrs;if(!r.equals(e.peerId))return SD("signing key does not match PeerId in the PeerRecord"),!1;if(null==a||0===a.length)return!1;if(await this.store.has(r)&&(n=await this.store.load(r),null!=n.peerRecordEnvelope)){const e=await hP.createFromProtobuf(n.peerRecordEnvelope),t=gP.createFromProtobuf(e.payload);if(t.seqNumber>=s.seqNumber)return SD("sequence number was lower or equal to existing sequence number - stored: %d received: %d",t.seqNumber,s.seqNumber),!1}const c=await TD(r,a,this.addressFilter,!0);i=await this.store.patchOrCreate(r,{addresses:c,peerRecordEnvelope:e.marshal().subarray()}),SD("stored provided peer record for %p",s.peerId)}finally{SD.trace("consumePeerRecord release write lock"),t()}return this.dispatchEvent(new gy(AD,{detail:{peerId:r,multiaddrs:i.addresses.map((e=>{let{multiaddr:t}=e;return t})),oldMultiaddrs:null==n?[]:n.addresses.map((e=>{let{multiaddr:t}=e;return t}))}})),!0}async getRawEnvelope(e){SD.trace("getRawEnvelope await read lock");const t=await this.store.lock.readLock();SD.trace("getRawEnvelope got read lock");try{return(await this.store.load(e)).peerRecordEnvelope}catch(r){if(r.code!==_D)throw r}finally{SD.trace("getRawEnvelope release read lock"),t()}}async getPeerRecord(e){const t=await this.getRawEnvelope(e);if(null!=t)return await hP.createFromProtobuf(t)}async get(e){e=Ch(e),SD.trace("get wait for read lock");const t=await this.store.lock.readLock();SD.trace("get got read lock");try{return(await this.store.load(e)).addresses}catch(r){if(r.code!==_D)throw r}finally{SD.trace("get release read lock"),t()}return[]}async set(e,t){if(e=Ch(e),!Array.isArray(t))throw SD.error("multiaddrs must be an array of Multiaddrs"),new Le("multiaddrs must be an array of Multiaddrs",ED);SD.trace("set await write lock");const r=await this.store.lock.writeLock();SD.trace("set got write lock");let n,i,o=!1;try{const a=await TD(e,t,this.addressFilter);if(0===a.length)return;try{if(n=await this.store.load(e),o=!0,new Set([...a.map((e=>{let{multiaddr:t}=e;return t.toString()})),...n.addresses.map((e=>{let{multiaddr:t}=e;return t.toString()}))]).size===n.addresses.length&&a.length===n.addresses.length)return}catch(s){if(s.code!==_D)throw s}i=await this.store.patchOrCreate(e,{addresses:a}),SD("set multiaddrs for %p",e)}finally{SD.trace("set multiaddrs for %p",e),SD("set release write lock"),r()}this.dispatchEvent(new gy(AD,{detail:{peerId:e,multiaddrs:i.addresses.map((e=>e.multiaddr)),oldMultiaddrs:null==n?[]:n.addresses.map((e=>{let{multiaddr:t}=e;return t}))}})),o||this.dispatchEvent(new gy("peer",{detail:{id:e,multiaddrs:i.addresses.map((e=>e.multiaddr)),protocols:i.protocols}}))}async add(e,t){if(e=Ch(e),!Array.isArray(t))throw SD.error("multiaddrs must be an array of Multiaddrs"),new Le("multiaddrs must be an array of Multiaddrs",ED);SD.trace("add await write lock");const r=await this.store.lock.writeLock();let n,i,o;SD.trace("add got write lock");try{const a=await TD(e,t,this.addressFilter);if(0===a.length)return;try{if(i=await this.store.load(e),n=!0,new Set([...a.map((e=>{let{multiaddr:t}=e;return t.toString()})),...i.addresses.map((e=>{let{multiaddr:t}=e;return t.toString()}))]).size===i.addresses.length)return}catch(s){if(s.code!==_D)throw s}o=await this.store.mergeOrCreate(e,{addresses:a}),SD("added multiaddrs for %p",e)}finally{SD.trace("set release write lock"),r()}this.dispatchEvent(new gy(AD,{detail:{peerId:e,multiaddrs:o.addresses.map((e=>e.multiaddr)),oldMultiaddrs:null==i?[]:i.addresses.map((e=>{let{multiaddr:t}=e;return t}))}})),!0===n&&this.dispatchEvent(new gy("peer",{detail:{id:e,multiaddrs:o.addresses.map((e=>e.multiaddr)),protocols:o.protocols}}))}async delete(e){e=Ch(e),SD.trace("delete await write lock");const t=await this.store.lock.writeLock();let r;SD.trace("delete got write lock");try{try{r=await this.store.load(e)}catch(n){if(n.code!==_D)throw n}await this.store.patchOrCreate(e,{addresses:[]})}finally{SD.trace("delete release write lock"),t()}null!=r&&this.dispatchEvent(new gy(AD,{detail:{peerId:e,multiaddrs:[],oldMultiaddrs:null==r?[]:r.addresses.map((e=>{let{multiaddr:t}=e;return t}))}}))}}async function TD(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const i=[];return await Promise.all(t.map((async t=>{if(!vD(t))throw SD.error("multiaddr must be an instance of Multiaddr"),new Le("multiaddr must be an instance of Multiaddr",ED);await r(e,t)&&i.push({multiaddr:t,isCertified:n})}))),i}const kD=nd("libp2p:peer-store:key-book"),RD="change:pubkey";class PD{constructor(e,t){this.dispatchEvent=e,this.store=t}async set(e,t){if(e=Ch(e),!(t instanceof Uint8Array))throw kD.error("publicKey must be an instance of Uint8Array to store data"),new Le("publicKey must be an instance of PublicKey",ED);kD.trace("set await write lock");const r=await this.store.lock.writeLock();kD.trace("set got write lock");let n,i=!1;try{try{if(n=await this.store.load(e),null!=n.pubKey&&Nt(n.pubKey,t))return}catch(o){if(o.code!==_D)throw o}await this.store.patchOrCreate(e,{pubKey:t}),i=!0}finally{kD.trace("set release write lock"),r()}i&&this.dispatchEvent(new gy(RD,{detail:{peerId:e,publicKey:t,oldPublicKey:null==n?void 0:n.pubKey}}))}async get(e){e=Ch(e),kD.trace("get await write lock");const t=await this.store.lock.readLock();kD.trace("get got write lock");try{return(await this.store.load(e)).pubKey}catch(r){if(r.code!==_D)throw r}finally{kD("get release write lock"),t()}}async delete(e){e=Ch(e),kD.trace("delete await write lock");const t=await this.store.lock.writeLock();let r;kD.trace("delete got write lock");try{try{r=await this.store.load(e)}catch(n){if(n.code!==_D)throw n}await this.store.patchOrCreate(e,{pubKey:void 0})}catch(n){if(n.code!==_D)throw n}finally{kD.trace("delete release write lock"),t()}this.dispatchEvent(new gy(RD,{detail:{peerId:e,publicKey:void 0,oldPublicKey:null==r?void 0:r.pubKey}}))}}const DD=nd("libp2p:peer-store:metadata-book"),ND="change:metadata";class LD{constructor(e,t){this.dispatchEvent=e,this.store=t}async get(e){e=Ch(e),DD.trace("get await read lock");const t=await this.store.lock.readLock();DD.trace("get got read lock");try{return(await this.store.load(e)).metadata}catch(r){if(r.code!==_D)throw r}finally{DD.trace("get release read lock"),t()}return new Map}async getValue(e,t){e=Ch(e),DD.trace("getValue await read lock");const r=await this.store.lock.readLock();DD.trace("getValue got read lock");try{return(await this.store.load(e)).metadata.get(t)}catch(n){if(n.code!==_D)throw n}finally{DD.trace("getValue release write lock"),r()}}async set(e,t){if(e=Ch(e),!(t instanceof Map))throw DD.error("valid metadata must be provided to store data"),new Le("valid metadata must be provided",ED);DD.trace("set await write lock");const r=await this.store.lock.writeLock();let n;DD.trace("set got write lock");try{try{n=await this.store.load(e)}catch(i){if(i.code!==_D)throw i}await this.store.mergeOrCreate(e,{metadata:t})}finally{DD.trace("set release write lock"),r()}this.dispatchEvent(new gy(ND,{detail:{peerId:e,metadata:t,oldMetadata:null==n?new Map:n.metadata}}))}async setValue(e,t,r){if(e=Ch(e),"string"!==typeof t||!(r instanceof Uint8Array))throw DD.error("valid key and value must be provided to store data"),new Le("valid key and value must be provided",ED);DD.trace("setValue await write lock");const n=await this.store.lock.writeLock();let i,o;DD.trace("setValue got write lock");try{try{i=await this.store.load(e);const n=i.metadata.get(t);if(null!=n&&Nt(r,n))return}catch(s){if(s.code!==_D)throw s}o=await this.store.mergeOrCreate(e,{metadata:new Map([[t,r]])})}finally{DD.trace("setValue release write lock"),n()}this.dispatchEvent(new gy(ND,{detail:{peerId:e,metadata:o.metadata,oldMetadata:null==i?new Map:i.metadata}}))}async delete(e){e=Ch(e),DD.trace("delete await write lock");const t=await this.store.lock.writeLock();let r;DD.trace("delete got write lock");try{try{r=await this.store.load(e)}catch(n){if(n.code!==_D)throw n}null!=r&&await this.store.patch(e,{metadata:new Map})}finally{DD.trace("delete release write lock"),t()}null!=r&&this.dispatchEvent(new gy(ND,{detail:{peerId:e,metadata:new Map,oldMetadata:r.metadata}}))}async deleteValue(e,t){e=Ch(e),DD.trace("deleteValue await write lock");const r=await this.store.lock.writeLock();let n,i;DD.trace("deleteValue got write lock");try{i=await this.store.load(e),n=i.metadata,n.delete(t),await this.store.patch(e,{metadata:n})}catch(o){if(o.code!==_D)throw o}finally{DD.trace("deleteValue release write lock"),r()}null!=n&&this.dispatchEvent(new gy(ND,{detail:{peerId:e,metadata:n,oldMetadata:null==i?new Map:i.metadata}}))}}const xD=nd("libp2p:peer-store:proto-book"),OD="change:protocols";class BD{constructor(e,t){this.dispatchEvent=e,this.store=t}async get(e){xD.trace("get wait for read lock");const t=await this.store.lock.readLock();xD.trace("get got read lock");try{return(await this.store.load(e)).protocols}catch(r){if(r.code!==_D)throw r}finally{xD.trace("get release read lock"),t()}return[]}async set(e,t){if(e=Ch(e),!Array.isArray(t))throw xD.error("protocols must be provided to store data"),new Le("protocols must be provided",ED);xD.trace("set await write lock");const r=await this.store.lock.writeLock();let n,i;xD.trace("set got write lock");try{try{if(n=await this.store.load(e),new Set([...t]).size===n.protocols.length)return}catch(o){if(o.code!==_D)throw o}i=await this.store.patchOrCreate(e,{protocols:t}),xD("stored provided protocols for %p",e)}finally{xD.trace("set release write lock"),r()}this.dispatchEvent(new gy(OD,{detail:{peerId:e,protocols:i.protocols,oldProtocols:null==n?[]:n.protocols}}))}async add(e,t){if(e=Ch(e),!Array.isArray(t))throw xD.error("protocols must be provided to store data"),new Le("protocols must be provided",ED);xD.trace("add await write lock");const r=await this.store.lock.writeLock();let n,i;xD.trace("add got write lock");try{try{if(n=await this.store.load(e),new Set([...n.protocols,...t]).size===n.protocols.length)return}catch(o){if(o.code!==_D)throw o}i=await this.store.mergeOrCreate(e,{protocols:t}),xD("added provided protocols for %p",e)}finally{xD.trace("add release write lock"),r()}this.dispatchEvent(new gy(OD,{detail:{peerId:e,protocols:i.protocols,oldProtocols:null==n?[]:n.protocols}}))}async remove(e,t){if(e=Ch(e),!Array.isArray(t))throw xD.error("protocols must be provided to store data"),new Le("protocols must be provided",ED);xD.trace("remove await write lock");const r=await this.store.lock.writeLock();let n,i;xD.trace("remove got write lock");try{try{n=await this.store.load(e);const r=new Set(n.protocols);for(const e of t)r.delete(e);if(n.protocols.length===r.size)return;t=Array.from(r)}catch(o){if(o.code!==_D)throw o}i=await this.store.patchOrCreate(e,{protocols:t})}finally{xD.trace("remove release write lock"),r()}this.dispatchEvent(new gy(OD,{detail:{peerId:e,protocols:i.protocols,oldProtocols:null==n?[]:n.protocols}}))}async delete(e){e=Ch(e),xD.trace("delete await write lock");const t=await this.store.lock.writeLock();let r;xD.trace("delete got write lock");try{try{r=await this.store.load(e)}catch(n){if(n.code!==_D)throw n}await this.store.patchOrCreate(e,{protocols:[]})}finally{xD.trace("delete release write lock"),t()}null!=r&&this.dispatchEvent(new gy(OD,{detail:{peerId:e,protocols:[],oldProtocols:r.protocols}}))}}Wi._configure(),Hi._configure(Gi),Qi._configure(Yi);const MD=["uint64","int64","sint64","fixed64","sfixed64"];function UD(e){return function(e){for(const t of MD){if(null==e[t])continue;const r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}(new Hi(e))}function FD(){return function(e){for(const t of MD){if(null==e[t])continue;const r=e[t];e[t]=function(e){return r.call(this,e.toString())}}return e}(Qi.create())}function VD(e,t){const r=UD(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function jD(e,t){const r=FD();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var zD,KD,qD,HD;function GD(e,t){return function(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}("message",zD.LENGTH_DELIMITED,e,t)}!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"}(zD||(zD={})),function(e){let t;e.codec=()=>(null==t&&(t=GD((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==r.lengthDelimited&&t.fork(),null!=e.addresses)for(const n of e.addresses)t.uint32(10),qD.codec().encode(n,t);if(null!=e.protocols)for(const n of e.protocols)t.uint32(18),t.string(n);if(null!=e.metadata)for(const n of e.metadata)t.uint32(26),HD.codec().encode(n,t);null!=e.pubKey&&(t.uint32(34),t.bytes(e.pubKey)),null!=e.peerRecordEnvelope&&(t.uint32(42),t.bytes(e.peerRecordEnvelope)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={addresses:[],protocols:[],metadata:[]},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.addresses.push(qD.codec().decode(e,e.uint32()));break;case 2:r.protocols.push(e.string());break;case 3:r.metadata.push(HD.codec().decode(e,e.uint32()));break;case 4:r.pubKey=e.bytes();break;case 5:r.peerRecordEnvelope=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>jD(t,e.codec()),e.decode=t=>VD(t,e.codec())}(KD||(KD={})),function(e){let t;e.codec=()=>(null==t&&(t=GD((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.multiaddr&&e.multiaddr.byteLength>0&&(t.uint32(10),t.bytes(e.multiaddr)),null!=e.isCertified&&(t.uint32(16),t.bool(e.isCertified)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={multiaddr:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.multiaddr=e.bytes();break;case 2:r.isCertified=e.bool();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>jD(t,e.codec()),e.decode=t=>VD(t,e.codec())}(qD||(qD={})),function(e){let t;e.codec=()=>(null==t&&(t=GD((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.key&&""!==e.key&&(t.uint32(10),t.string(e.key)),null!=e.value&&e.value.byteLength>0&&(t.uint32(18),t.bytes(e.value)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={key:"",value:new Uint8Array(0)},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.key=e.string();break;case 2:r.value=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>jD(t,e.codec()),e.decode=t=>VD(t,e.codec())}(HD||(HD={}));var WD=__webpack_require__(548);class QD extends Error{constructor(e){super(e),this.name="TimeoutError"}}class YD extends Error{constructor(e){super(),this.name="AbortError",this.message=e}}const XD=e=>void 0===globalThis.DOMException?new YD(e):new DOMException(e),JD=e=>{const t=void 0===e.reason?XD("This operation was aborted."):e.reason;return t instanceof Error?t:XD(t)};var $D,ZD=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};class eN{constructor(){$D.set(this,[])}enqueue(e,t){const r={priority:(t={priority:0,...t}).priority,run:e};if(this.size&&ZD(this,$D,"f")[this.size-1].priority>=t.priority)return void ZD(this,$D,"f").push(r);const n=function(e,t,r){let n=0,i=e.length;for(;i>0;){const o=Math.trunc(i/2);let s=n+o;r(e[s],t)<=0?(n=++s,i-=o+1):i=o}return n}(ZD(this,$D,"f"),r,((e,t)=>t.priority-e.priority));ZD(this,$D,"f").splice(n,0,r)}dequeue(){const e=ZD(this,$D,"f").shift();return null===e||void 0===e?void 0:e.run}filter(e){return ZD(this,$D,"f").filter((t=>t.priority===e.priority)).map((e=>e.run))}get size(){return ZD(this,$D,"f").length}}$D=new WeakMap;var tN,rN,nN,iN,oN,sN,aN,cN,lN,uN,hN,dN,pN,fN,gN,yN,mN,vN,bN,wN,EN,_N,SN,AN,CN,IN,TN=function(e,t,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"===typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},kN=function(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"===typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};const RN=new QD;class PN extends Error{}class DN extends WD{constructor(e){var t,r,n,i;if(super(),tN.add(this),rN.set(this,void 0),nN.set(this,void 0),iN.set(this,0),oN.set(this,void 0),sN.set(this,void 0),aN.set(this,0),cN.set(this,void 0),lN.set(this,void 0),uN.set(this,void 0),hN.set(this,void 0),dN.set(this,0),pN.set(this,void 0),fN.set(this,void 0),gN.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),!("number"===typeof(e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:eN,...e}).intervalCap&&e.intervalCap>=1))throw new TypeError("Expected `intervalCap` to be a number from 1 and up, got `".concat(null!==(r=null===(t=e.intervalCap)||void 0===t?void 0:t.toString())&&void 0!==r?r:"","` (").concat(typeof e.intervalCap,")"));if(void 0===e.interval||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError("Expected `interval` to be a finite number >= 0, got `".concat(null!==(i=null===(n=e.interval)||void 0===n?void 0:n.toString())&&void 0!==i?i:"","` (").concat(typeof e.interval,")"));TN(this,rN,e.carryoverConcurrencyCount,"f"),TN(this,nN,e.intervalCap===Number.POSITIVE_INFINITY||0===e.interval,"f"),TN(this,oN,e.intervalCap,"f"),TN(this,sN,e.interval,"f"),TN(this,uN,new e.queueClass,"f"),TN(this,hN,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,TN(this,gN,!0===e.throwOnTimeout,"f"),TN(this,fN,!1===e.autoStart,"f")}get concurrency(){return kN(this,pN,"f")}set concurrency(e){if(!("number"===typeof e&&e>=1))throw new TypeError("Expected `concurrency` to be a number from 1 and up, got `".concat(e,"` (").concat(typeof e,")"));TN(this,pN,e,"f"),kN(this,tN,"m",CN).call(this)}async add(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise(((r,n)=>{kN(this,uN,"f").enqueue((async()=>{var i,o,s;TN(this,dN,(o=kN(this,dN,"f"),++o),"f"),TN(this,iN,(s=kN(this,iN,"f"),++s),"f");try{if(null===(i=t.signal)||void 0===i?void 0:i.aborted)return void n(new PN("The task was aborted."));const o=void 0===this.timeout&&void 0===t.timeout?e({signal:t.signal}):function(e,t,r,n){let i;const o=new Promise(((o,s)=>{if("number"!==typeof t||1!==Math.sign(t))throw new TypeError("Expected `milliseconds` to be a positive number, got `".concat(t,"`"));if(t!==Number.POSITIVE_INFINITY){if((n={customTimers:{setTimeout:setTimeout,clearTimeout:clearTimeout},...n}).signal){const{signal:e}=n;e.aborted&&s(JD(e)),e.addEventListener("abort",(()=>{s(JD(e))}))}i=n.customTimers.setTimeout.call(void 0,(()=>{if("function"===typeof r){try{o(r())}catch(a){s(a)}return}const n="string"===typeof r?r:"Promise timed out after ".concat(t," milliseconds"),i=r instanceof Error?r:new QD(n);"function"===typeof e.cancel&&e.cancel(),s(i)}),t),(async()=>{try{o(await e)}catch(t){s(t)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()}else o(e)}));return o.clear=()=>{clearTimeout(i),i=void 0},o}(Promise.resolve(e({signal:t.signal})),void 0===t.timeout?this.timeout:t.timeout,(()=>{(void 0===t.throwOnTimeout?kN(this,gN,"f"):t.throwOnTimeout)&&n(RN)})),s=await o;r(s),this.emit("completed",s)}catch(a){n(a),this.emit("error",a)}kN(this,tN,"m",vN).call(this)}),t),kN(this,tN,"m",_N).call(this),this.emit("add")}))}async addAll(e,t){return Promise.all(e.map((async e=>this.add(e,t))))}start(){return kN(this,fN,"f")?(TN(this,fN,!1,"f"),kN(this,tN,"m",CN).call(this),this):this}pause(){TN(this,fN,!0,"f")}clear(){TN(this,uN,new(kN(this,hN,"f")),"f")}async onEmpty(){0!==kN(this,uN,"f").size&&await kN(this,tN,"m",IN).call(this,"empty")}async onSizeLessThan(e){kN(this,uN,"f").size<e||await kN(this,tN,"m",IN).call(this,"next",(()=>kN(this,uN,"f").size<e))}async onIdle(){0===kN(this,dN,"f")&&0===kN(this,uN,"f").size||await kN(this,tN,"m",IN).call(this,"idle")}get size(){return kN(this,uN,"f").size}sizeBy(e){return kN(this,uN,"f").filter(e).length}get pending(){return kN(this,dN,"f")}get isPaused(){return kN(this,fN,"f")}}rN=new WeakMap,nN=new WeakMap,iN=new WeakMap,oN=new WeakMap,sN=new WeakMap,aN=new WeakMap,cN=new WeakMap,lN=new WeakMap,uN=new WeakMap,hN=new WeakMap,dN=new WeakMap,pN=new WeakMap,fN=new WeakMap,gN=new WeakMap,tN=new WeakSet,yN=function(){return kN(this,nN,"f")||kN(this,iN,"f")<kN(this,oN,"f")},mN=function(){return kN(this,dN,"f")<kN(this,pN,"f")},vN=function(){var e;TN(this,dN,(e=kN(this,dN,"f"),--e),"f"),kN(this,tN,"m",_N).call(this),this.emit("next")},bN=function(){this.emit("empty"),0===kN(this,dN,"f")&&this.emit("idle")},wN=function(){kN(this,tN,"m",AN).call(this),kN(this,tN,"m",SN).call(this),TN(this,lN,void 0,"f")},EN=function(){const e=Date.now();if(void 0===kN(this,cN,"f")){const t=kN(this,aN,"f")-e;if(!(t<0))return void 0===kN(this,lN,"f")&&TN(this,lN,setTimeout((()=>{kN(this,tN,"m",wN).call(this)}),t),"f"),!0;TN(this,iN,kN(this,rN,"f")?kN(this,dN,"f"):0,"f")}return!1},_N=function(){if(0===kN(this,uN,"f").size)return kN(this,cN,"f")&&clearInterval(kN(this,cN,"f")),TN(this,cN,void 0,"f"),kN(this,tN,"m",bN).call(this),!1;if(!kN(this,fN,"f")){const e=!kN(this,tN,"a",EN);if(kN(this,tN,"a",yN)&&kN(this,tN,"a",mN)){const t=kN(this,uN,"f").dequeue();return!!t&&(this.emit("active"),t(),e&&kN(this,tN,"m",SN).call(this),!0)}}return!1},SN=function(){kN(this,nN,"f")||void 0!==kN(this,cN,"f")||(TN(this,cN,setInterval((()=>{kN(this,tN,"m",AN).call(this)}),kN(this,sN,"f")),"f"),TN(this,aN,Date.now()+kN(this,sN,"f"),"f"))},AN=function(){0===kN(this,iN,"f")&&0===kN(this,dN,"f")&&kN(this,cN,"f")&&(clearInterval(kN(this,cN,"f")),TN(this,cN,void 0,"f")),TN(this,iN,kN(this,rN,"f")?kN(this,dN,"f"):0,"f"),kN(this,tN,"m",CN).call(this)},CN=function(){for(;kN(this,tN,"m",_N).call(this););},IN=async function(e,t){return new Promise((r=>{const n=()=>{t&&!t()||(this.off(e,n),r())};this.on(e,n)}))};const NN="lock:worker:request-read",LN="lock:worker:release-read",xN="lock:master:grant-read",ON="lock:worker:request-write",BN="lock:worker:release-write",MN="lock:master:grant-write",UN={},FN=e=>{e.addEventListener("message",(t=>{FN.dispatchEvent("message",e,t)})),null!=e.port&&e.port.addEventListener("message",(t=>{FN.dispatchEvent("message",e,t)}))};FN.addEventListener=(e,t)=>{null==UN[e]&&(UN[e]=[]),UN[e].push(t)},FN.removeEventListener=(e,t)=>{null!=UN[e]&&(UN[e]=UN[e].filter((e=>e===t)))},FN.dispatchEvent=function(e,t,r){null!=UN[e]&&UN[e].forEach((e=>e(t,r)))};const VN=FN,jN=(e,t,r,n,i)=>(o,s)=>{if(s.data.type!==r)return;const a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};e.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>(o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise((e=>{const t=r=>{if(null==r||null==r.data)return;const i=r.data.type,s=(r.data.name,r.data.identifier);i===n&&s===a.identifier&&(o.removeEventListener("message",t),e())};o.addEventListener("message",t)})))}}))},zN=(e,t,r,n)=>async()=>{const i=vT();return globalThis.postMessage({type:t,identifier:i,name:e}),await new Promise((t=>{const o=s=>{if(null==s||null==s.data)return;const a=s.data.type,c=s.data.identifier;a===r&&c===i&&(globalThis.removeEventListener("message",o),t((()=>{globalThis.postMessage({type:n,identifier:i,name:e})})))};globalThis.addEventListener("message",o)}))},KN={singleProcess:!1},qN={};let HN;async function GN(e,t){let r;const n=new Promise((e=>{r=e}));return e.add((async()=>await Dg((async()=>await new Promise((e=>{r((()=>{e()}))})))(),{milliseconds:t.timeout}))),await n}const WN={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function QN(e){const t=Object.assign({},WN,e);return null==HN&&(HN=(e=>{if(e=Object.assign({},KN,e),Boolean(globalThis.document)||e.singleProcess){const e=new EventTarget;return VN.addEventListener("message",jN(e,"requestReadLock",NN,LN,xN)),VN.addEventListener("message",jN(e,"requestWriteLock",ON,BN,MN)),e}return{isWorker:!0,readLock:e=>zN(e,NN,xN,LN),writeLock:e=>zN(e,ON,MN,BN)}})(t),!0!==HN.isWorker&&(HN.addEventListener("requestReadLock",(e=>{null!=qN[e.data.name]&&qN[e.data.name].readLock().then((async t=>await e.data.handler().finally((()=>t()))))})),HN.addEventListener("requestWriteLock",(async e=>{null!=qN[e.data.name]&&qN[e.data.name].writeLock().then((async t=>await e.data.handler().finally((()=>t()))))})))),null==qN[t.name]&&(qN[t.name]=((e,t)=>{if(!0===HN.isWorker)return{readLock:HN.readLock(e,t),writeLock:HN.writeLock(e,t)};const r=new DN({concurrency:1});let n;return{async readLock(){if(null!=n)return await GN(n,t);n=new DN({concurrency:t.concurrency,autoStart:!1});const e=n,i=GN(n,t);return r.add((async()=>(e.start(),await e.onIdle().then((()=>{n===e&&(n=null)}))))),await i},writeLock:async()=>(n=null,await GN(r,t))}})(t.name,t)),qN[t.name]}const YN=nd("libp2p:peer-store:store"),XN="/peers/";class JN{constructor(e){this.components=e,this.lock=QN({name:"peer-store",singleProcess:!0})}_peerIdToDatastoreKey(e){if(null==e.type)throw YN.error("peerId must be an instance of peer-id to store data"),new Le("peerId must be an instance of peer-id",ED);const t=e.toCID().toString();return new _T("".concat(XN).concat(t))}async has(e){return await this.components.datastore.has(this._peerIdToDatastoreKey(e))}async delete(e){await this.components.datastore.delete(this._peerIdToDatastoreKey(e))}async load(e){var t,r;const n=await this.components.datastore.get(this._peerIdToDatastoreKey(e)),i=KD.decode(n),o=new Map;for(const s of i.metadata)o.set(s.key,s.value);return{...i,id:e,addresses:i.addresses.map((e=>{let{multiaddr:t,isCertified:r}=e;return{multiaddr:wD(t),isCertified:null!==r&&void 0!==r&&r}})),metadata:o,pubKey:null!==(t=i.pubKey)&&void 0!==t?t:void 0,peerRecordEnvelope:null!==(r=i.peerRecordEnvelope)&&void 0!==r?r:void 0}}async save(e){if(null!=e.pubKey&&null!=e.id.publicKey&&!Nt(e.pubKey,e.id.publicKey))throw YN.error("peer publicKey bytes do not match peer id publicKey bytes"),new Le("publicKey bytes do not match peer id publicKey bytes",ED);const t=new Set,r=e.addresses.filter((e=>!t.has(e.multiaddr.toString())&&(t.add(e.multiaddr.toString()),!0))).sort(((e,t)=>e.multiaddr.toString().localeCompare(t.multiaddr.toString()))).map((e=>{let{multiaddr:t,isCertified:r}=e;return{multiaddr:t.bytes,isCertified:r}})),n=[];[...e.metadata.keys()].sort().forEach((t=>{const r=e.metadata.get(t);null!=r&&n.push({key:t,value:r})}));const i=KD.encode({addresses:r,protocols:e.protocols.sort(),pubKey:e.pubKey,metadata:n,peerRecordEnvelope:e.peerRecordEnvelope});return await this.components.datastore.put(this._peerIdToDatastoreKey(e.id),i.subarray()),await this.load(e.id)}async patch(e,t){const r=await this.load(e);return await this._patch(e,t,r)}async patchOrCreate(e,t){let r;try{r=await this.load(e)}catch(n){if(n.code!==_D)throw n;r={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._patch(e,t,r)}async _patch(e,t,r){return await this.save({...r,...t,id:e})}async merge(e,t){const r=await this.load(e);return await this._merge(e,t,r)}async mergeOrCreate(e,t){let r;try{r=await this.load(e)}catch(n){if(n.code!==_D)throw n;r={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._merge(e,t,r)}async _merge(e,t,r){var n,i,o,s,a,c,l,u,h;const d=new Map;return r.addresses.forEach((e=>{d.set(e.multiaddr.toString(),e.isCertified)})),(null!==(n=t.addresses)&&void 0!==n?n:[]).forEach((e=>{const t=e.multiaddr.toString(),r=Boolean(d.get(t))||e.isCertified;d.set(t,r)})),await this.save({id:e,addresses:Array.from(d.entries()).map((e=>{let[t,r]=e;return{multiaddr:wD(t),isCertified:r}})),protocols:Array.from(new Set([...null!==(i=r.protocols)&&void 0!==i?i:[],...null!==(o=t.protocols)&&void 0!==o?o:[]])),metadata:new Map([...null!==(s=null===(a=r.metadata)||void 0===a?void 0:a.entries())&&void 0!==s?s:[],...null!==(c=null===(l=t.metadata)||void 0===l?void 0:l.entries())&&void 0!==c?c:[]]),pubKey:null!==(u=t.pubKey)&&void 0!==u?u:null!=r?r.pubKey:void 0,peerRecordEnvelope:null!==(h=t.peerRecordEnvelope)&&void 0!==h?h:null!=r?r.peerRecordEnvelope:void 0})}async*all(){for await(const e of this.components.datastore.queryKeys({prefix:XN})){const t=e.toString().split("/")[2],r=dt.decode(t);yield this.load(Th(r))}}}var $N,ZN;!function(e){let t;e.codec=()=>(null==t&&(t=GD((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!1!==r.lengthDelimited&&t.fork(),null!=e.tags)for(const n of e.tags)t.uint32(10),ZN.codec().encode(n,t);!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={tags:[]},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();if(t>>>3===1)r.tags.push(ZN.codec().decode(e,e.uint32()));else e.skipType(7&t)}return r}))),t),e.encode=t=>jD(t,e.codec()),e.decode=t=>VD(t,e.codec())}($N||($N={})),function(e){let t;e.codec=()=>(null==t&&(t=GD((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.name&&""!==e.name&&(t.uint32(10),t.string(e.name)),null!=e.value&&(t.uint32(16),t.uint32(e.value)),null!=e.expiry&&(t.uint32(24),t.uint64(e.expiry)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={name:""},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.name=e.string();break;case 2:r.value=e.uint32();break;case 3:r.expiry=e.uint64();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>jD(t,e.codec()),e.decode=t=>VD(t,e.codec())}(ZN||(ZN={}));const eL=nd("libp2p:peer-store");class tL extends py{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this.components=e,this.store=new JN(e),this.addressBook=new ID(this.dispatchEvent.bind(this),this.store,t.addressFilter),this.keyBook=new PD(this.dispatchEvent.bind(this),this.store),this.metadataBook=new LD(this.dispatchEvent.bind(this),this.store),this.protoBook=new BD(this.dispatchEvent.bind(this),this.store)}async forEach(e){eL.trace("getPeers await read lock");const t=await this.store.lock.readLock();eL.trace("getPeers got read lock");try{for await(const t of this.store.all())t.id.equals(this.components.peerId)||e(t)}finally{eL.trace("getPeers release read lock"),t()}}async all(){const e=[];return await this.forEach((t=>{e.push(t)})),e}async delete(e){eL.trace("delete await write lock");const t=await this.store.lock.writeLock();eL.trace("delete got write lock");try{await this.store.delete(e)}finally{eL.trace("delete release write lock"),t()}}async get(e){eL.trace("get await read lock");const t=await this.store.lock.readLock();eL.trace("get got read lock");try{return await this.store.load(e)}finally{eL.trace("get release read lock"),t()}}async has(e){eL.trace("has await read lock");const t=await this.store.lock.readLock();eL.trace("has got read lock");try{return await this.store.has(e)}finally{eL.trace("has release read lock"),t()}}async tagPeer(e,t){var r,n;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=null!==(r=i.value)&&void 0!==r?r:0,s=Math.round(o),a=null!==(n=i.ttl)&&void 0!==n?n:void 0;if(s!==o||s<0||s>100)throw new Le("Tag value must be between 0-100","ERR_TAG_VALUE_OUT_OF_BOUNDS");const c=await this.metadataBook.getValue(e,"tags");let l=[];null!=c&&(l=$N.decode(c).tags),l=l.filter((e=>e.name!==t)),l.push({name:t,value:s,expiry:null==a?void 0:BigInt(Date.now()+a)}),await this.metadataBook.setValue(e,"tags",$N.encode({tags:l}).subarray())}async unTagPeer(e,t){const r=await this.metadataBook.getValue(e,"tags");let n=[];null!=r&&(n=$N.decode(r).tags),n=n.filter((e=>e.name!==t)),await this.metadataBook.setValue(e,"tags",$N.encode({tags:n}).subarray())}async getTags(e){const t=await this.metadataBook.getValue(e,"tags");let r=[];null!=t&&(r=$N.decode(t).tags);const n=BigInt(Date.now()),i=r.filter((e=>null==e.expiry||e.expiry>n));return i.length!==r.length&&await this.metadataBook.setValue(e,"tags",$N.encode({tags:i}).subarray()),i.map((e=>{var t;return{name:e.name,value:null!==(t=e.value)&&void 0!==t?t:0}}))}}class rL{constructor(e){this.dht=e}async provide(e){await fT(this.dht.provide(e))}findProviders(e){try{var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return async function*(){for await(const n of t.dht.findProviders(e,r))"PROVIDER"===n.name&&(yield*n.providers)}()}catch(r){return Promise.reject(r)}}async put(e,t,r){await fT(this.dht.put(e,t,r))}async get(e,t){for await(const r of this.dht.get(e,t))if("VALUE"===r.name)return r.value;throw as(new Error("Not found"),"ERR_NOT_FOUND")}}class nL{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._started=!1,this._peerId=e.peerId,this._addressManager=e.addressManager,this._peerStore=e.peerStore,this._upgrader=e.upgrader,this._metrics=e.metrics,this._registrar=e.registrar,this._connectionManager=e.connectionManager,this._transportManager=e.transportManager,this._connectionGater=e.connectionGater,this._contentRouting=e.contentRouting,this._peerRouting=e.peerRouting,this._datastore=e.datastore,this._connectionProtector=e.connectionProtector,this._dht=e.dht,this._pubsub=e.pubsub,this._dialer=e.dialer}isStarted(){return this._started}async beforeStart(){await Promise.all(Object.values(this).filter((e=>AI(e))).map((async e=>{null!=e.beforeStart&&await e.beforeStart()})))}async start(){await Promise.all(Object.values(this).filter((e=>AI(e))).map((async e=>{await e.start()}))),this._started=!0}async afterStart(){await Promise.all(Object.values(this).filter((e=>AI(e))).map((async e=>{null!=e.afterStart&&await e.afterStart()})))}async beforeStop(){await Promise.all(Object.values(this).filter((e=>AI(e))).map((async e=>{null!=e.beforeStop&&await e.beforeStop()})))}async stop(){await Promise.all(Object.values(this).filter((e=>AI(e))).map((async e=>{await e.stop()}))),this._started=!1}async afterStop(){await Promise.all(Object.values(this).filter((e=>AI(e))).map((async e=>{null!=e.afterStop&&await e.afterStop()})))}get peerId(){if(null==this._peerId)throw as(new Error("peerId not set"),"ERR_SERVICE_MISSING");return this._peerId}set peerId(e){this._peerId=e}get addressManager(){if(null==this._addressManager)throw as(new Error("addressManager not set"),"ERR_SERVICE_MISSING");return this._addressManager}set addressManager(e){this._addressManager=e}get peerStore(){if(null==this._peerStore)throw as(new Error("peerStore not set"),"ERR_SERVICE_MISSING");return this._peerStore}set peerStore(e){this._peerStore=e}get upgrader(){if(null==this._upgrader)throw as(new Error("upgrader not set"),"ERR_SERVICE_MISSING");return this._upgrader}set upgrader(e){this._upgrader=e}get registrar(){if(null==this._registrar)throw as(new Error("registrar not set"),"ERR_SERVICE_MISSING");return this._registrar}set registrar(e){this._registrar=e}get connectionManager(){if(null==this._connectionManager)throw as(new Error("connectionManager not set"),"ERR_SERVICE_MISSING");return this._connectionManager}set connectionManager(e){this._connectionManager=e}get transportManager(){if(null==this._transportManager)throw as(new Error("transportManager not set"),"ERR_SERVICE_MISSING");return this._transportManager}set transportManager(e){this._transportManager=e}get connectionGater(){if(null==this._connectionGater)throw as(new Error("connectionGater not set"),"ERR_SERVICE_MISSING");return this._connectionGater}set connectionGater(e){this._connectionGater=e}get contentRouting(){if(null==this._contentRouting)throw as(new Error("contentRouting not set"),"ERR_SERVICE_MISSING");return this._contentRouting}set contentRouting(e){this._contentRouting=e}get peerRouting(){if(null==this._peerRouting)throw as(new Error("peerRouting not set"),"ERR_SERVICE_MISSING");return this._peerRouting}set peerRouting(e){this._peerRouting=e}get datastore(){if(null==this._datastore)throw as(new Error("datastore not set"),"ERR_SERVICE_MISSING");return this._datastore}set datastore(e){this._datastore=e}get connectionProtector(){return this._connectionProtector}set connectionProtector(e){this._connectionProtector=e}get dialer(){if(null==this._dialer)throw as(new Error("dialer not set"),"ERR_SERVICE_MISSING");return this._dialer}set dialer(e){this._dialer=e}get metrics(){return this._metrics}set metrics(e){this._metrics=e}get dht(){return this._dht}set dht(e){this._dht=e}get pubsub(){return this._pubsub}set pubsub(e){this._pubsub=e}}var iL=__webpack_require__(7326);const oL=globalThis.fetch,sL=globalThis.Headers;globalThis.Request,globalThis.Response;function aL(e,t,r){return"".concat(e,"?name=").concat(t,"&type=").concat(r)}async function cL(e,t){const r=await oL(e,{headers:new sL({accept:"application/dns-json"}),signal:t});return await r.json()}function lL(e,t){return"".concat(t,"_").concat(e)}const uL=Object.assign(Ui("dns-over-http-resolver"),{error:Ui("dns-over-http-resolver:error")});const hL=class{constructor(){var e,t,r;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._cache=new iL({max:null!==(e=null===n||void 0===n?void 0:n.maxCache)&&void 0!==e?e:100}),this._TXTcache=new iL({max:null!==(t=null===n||void 0===n?void 0:n.maxCache)&&void 0!==t?t:100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=null!==(r=n.request)&&void 0!==r?r:cL,this._abortControllers=[]}cancel(){this._abortControllers.forEach((e=>e.abort()))}getServers(){return this._servers}_getShuffledServers(){const e=[...this._servers];for(let t=e.length-1;t>0;t--){const r=Math.floor(Math.random()*t),n=e[t];e[t]=e[r],e[r]=n}return e}setServers(e){this._servers=e}async resolve(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"A";switch(t){case"A":return await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error("".concat(t," is not supported"))}}async resolve4(e){const t="A",r=this._cache.get(lL(e,t));if(null!=r)return r;let n=!1;for(const o of this._getShuffledServers()){const r=new AbortController;this._abortControllers.push(r);try{const n=await this._request(aL(o,e,t),r.signal),i=n.Answer.map((e=>e.data)),s=Math.min(...n.Answer.map((e=>e.TTL)));return this._cache.set(lL(e,t),i,{ttl:s}),i}catch(i){r.signal.aborted&&(n=!0),uL.error("".concat(o," could not resolve ").concat(e," record ").concat(t))}finally{this._abortControllers=this._abortControllers.filter((e=>e!==r))}}if(n)throw Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"});throw new Error("Could not resolve ".concat(e," record ").concat(t))}async resolve6(e){const t="AAAA",r=this._cache.get(lL(e,t));if(null!=r)return r;let n=!1;for(const o of this._getShuffledServers()){const r=new AbortController;this._abortControllers.push(r);try{const n=await this._request(aL(o,e,t),r.signal),i=n.Answer.map((e=>e.data)),s=Math.min(...n.Answer.map((e=>e.TTL)));return this._cache.set(lL(e,t),i,{ttl:s}),i}catch(i){r.signal.aborted&&(n=!0),uL.error("".concat(o," could not resolve ").concat(e," record ").concat(t))}finally{this._abortControllers=this._abortControllers.filter((e=>e!==r))}}if(n)throw Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"});throw new Error("Could not resolve ".concat(e," record ").concat(t))}async resolveTxt(e){const t="TXT",r=this._TXTcache.get(lL(e,t));if(null!=r)return r;let n=!1;for(const o of this._getShuffledServers()){const r=new AbortController;this._abortControllers.push(r);try{const n=await this._request(aL(o,e,t),r.signal),i=n.Answer.map((e=>[e.data.replace(/['"]+/g,"")])),s=Math.min(...n.Answer.map((e=>e.TTL)));return this._TXTcache.set(lL(e,t),i,{ttl:s}),i}catch(i){r.signal.aborted&&(n=!0),uL.error("".concat(o," could not resolve ").concat(e," record ").concat(t))}finally{this._abortControllers=this._abortControllers.filter((e=>e!==r))}}if(n)throw Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"});throw new Error("Could not resolve ".concat(e," record ").concat(t))}clearCache(){this._cache.clear(),this._TXTcache.clear()}},dL=hL,{code:pL}=DI("dnsaddr");const fL={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:e=>e},connectionManager:{maxConnections:300,minConnections:50,autoDial:!0,autoDialInterval:1e4,maxParallelDials:100,maxDialsPerPeer:4,dialTimeout:3e4,inboundUpgradeTimeout:3e4,resolvers:{dnsaddr:async function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=new dL;null!=r.signal&&r.signal.addEventListener("abort",(()=>{n.cancel()}));const i=e.getPeerId(),[,o]=null!==(t=e.stringTuples().find((e=>{let[t]=e;return t===pL})))&&void 0!==t?t:[];if(null==o)throw new Error("No hostname found in multiaddr");const s=await n.resolveTxt("_dnsaddr.".concat(o));let a=s.flat().map((e=>e.split("=")[1])).filter(Boolean);return null!=i&&(a=a.filter((e=>e.includes(i)))),a}},addressSorter:Zk},connectionGater:{},transportManager:{faultTolerance:oy.FATAL_ALL},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},nat:{enabled:!0,ttl:7200,keepAlive:!0},relay:{enabled:!0,advertise:{bootDelay:9e5,enabled:!1,ttl:18e5},hop:{enabled:!1,active:!1,timeout:3e4},autoRelay:{enabled:!1,maxListeners:2}},identify:{protocolPrefix:"ipfs",host:{agentVersion:mP},timeout:6e4,maxInboundStreams:1,maxOutboundStreams:1,maxPushIncomingStreams:1,maxPushOutgoingStreams:1},ping:{protocolPrefix:"ipfs",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4},fetch:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4}};Wi._configure(),Hi._configure(Gi),Qi._configure(Yi);const gL=["uint64","int64","sint64","fixed64","sfixed64"];function yL(e){return function(e){for(const t of gL){if(null==e[t])continue;const r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}(new Hi(e))}function mL(){return function(e){for(const t of gL){if(null==e[t])continue;const r=e[t];e[t]=function(e){return r.call(this,e.toString())}}return e}(Qi.create())}var vL,bL;!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"}(vL||(vL={})),function(e){let t;e.codec=()=>(null==t&&(t=function(e,t){return function(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}("message",vL.LENGTH_DELIMITED,e,t)}((function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};!1!==r.lengthDelimited&&t.fork(),null!=e.id&&(t.uint32(10),t.bytes(e.id)),null!=e.pubKey&&(t.uint32(18),t.bytes(e.pubKey)),null!=e.privKey&&(t.uint32(26),t.bytes(e.privKey)),!1!==r.lengthDelimited&&t.ldelim()}),((e,t)=>{const r={},n=null==t?e.len:e.pos+t;for(;e.pos<n;){const t=e.uint32();switch(t>>>3){case 1:r.id=e.bytes();break;case 2:r.pubKey=e.bytes();break;case 3:r.privKey=e.bytes();break;default:e.skipType(7&t)}}return r}))),t),e.encode=t=>function(e,t){const r=mL();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}(t,e.codec()),e.decode=t=>function(e,t){const r=yL(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}(t,e.codec())}(bL||(bL={}));async function wL(e){return kh(gh(e.public),function(e,t){var r;return dh(t=(null!==(r=t)&&void 0!==r?r:"rsa").toLowerCase()),e.bytes}(e))}class EL extends py{get[ly](){return!0}get[Symbol.toStringTag](){return"@libp2p/dummy-dht"}get wan(){throw as(new Error(AT.DHT_DISABLED),CT.DHT_DISABLED)}get lan(){throw as(new Error(AT.DHT_DISABLED),CT.DHT_DISABLED)}get(){throw as(new Error(AT.DHT_DISABLED),CT.DHT_DISABLED)}findProviders(){throw as(new Error(AT.DHT_DISABLED),CT.DHT_DISABLED)}findPeer(){throw as(new Error(AT.DHT_DISABLED),CT.DHT_DISABLED)}getClosestPeers(){throw as(new Error(AT.DHT_DISABLED),CT.DHT_DISABLED)}provide(){throw as(new Error(AT.DHT_DISABLED),CT.DHT_DISABLED)}put(){throw as(new Error(AT.DHT_DISABLED),CT.DHT_DISABLED)}async getMode(){throw as(new Error(AT.DHT_DISABLED),CT.DHT_DISABLED)}async setMode(){throw as(new Error(AT.DHT_DISABLED),CT.DHT_DISABLED)}async refreshRoutingTable(){throw as(new Error(AT.DHT_DISABLED),CT.DHT_DISABLED)}}class _L extends py{constructor(){super(...arguments),this.topicValidators=new Map}isStarted(){return!1}start(){}stop(){}get globalSignaturePolicy(){throw as(new Error(AT.PUBSUB_DISABLED),CT.ERR_PUBSUB_DISABLED)}get multicodecs(){throw as(new Error(AT.PUBSUB_DISABLED),CT.ERR_PUBSUB_DISABLED)}getPeers(){throw as(new Error(AT.PUBSUB_DISABLED),CT.ERR_PUBSUB_DISABLED)}getTopics(){throw as(new Error(AT.PUBSUB_DISABLED),CT.ERR_PUBSUB_DISABLED)}subscribe(){throw as(new Error(AT.PUBSUB_DISABLED),CT.ERR_PUBSUB_DISABLED)}unsubscribe(){throw as(new Error(AT.PUBSUB_DISABLED),CT.ERR_PUBSUB_DISABLED)}getSubscribers(){throw as(new Error(AT.PUBSUB_DISABLED),CT.ERR_PUBSUB_DISABLED)}async publish(){throw as(new Error(AT.PUBSUB_DISABLED),CT.ERR_PUBSUB_DISABLED)}}var SL=__webpack_require__(4780);const AL=nd("libp2p:dialer:dial-request");class CL{constructor(e){const{addrs:t,dialAction:r,dialer:n}=e;this.addrs=t,this.dialer=n,this.dialAction=r}async run(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=this.dialer.getTokens(this.addrs.length);if(t.length<1)throw as(new Error("No dial tokens available"),CT.ERR_NO_DIAL_TOKENS);const r=new SL;for(const s of t)r.push(s).catch((e=>{AL.error(e)}));const n=this.addrs.map((()=>{const e=new AbortController;try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,e.signal)}catch{}return e}));if(null!=e.signal)try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,e.signal)}catch{}let i=0,o=!1;try{return await Promise.any(this.addrs.map((async(s,a)=>{const c=await r.shift();if(o)throw this.dialer.releaseToken(t.splice(t.indexOf(c),1)[0]),as(new Error("dialAction already succeeded"),CT.ERR_ALREADY_SUCCEEDED);const l=n[a];if(null==l)throw as(new Error("dialAction did not come with an AbortController"),CT.ERR_INVALID_PARAMETERS);let u;try{const o=l.signal;u=await this.dialAction(s,{...e,signal:null!=e.signal?(0,Nd.anySignal)([o,e.signal]):o}),n[a]=void 0}finally{i++,this.addrs.length-i>=t.length?r.push(c).catch((e=>{AL.error(e)})):this.dialer.releaseToken(t.splice(t.indexOf(c),1)[0])}if(null==u)throw as(new Error("dialAction led to empty object"),CT.ERR_TRANSPORT_DIAL_FAILED);return o=!0,u})))}finally{n.forEach((e=>{void 0!==e&&e.abort()})),t.forEach((e=>this.dialer.releaseToken(e)))}}}const IL=nd("libp2p:dialer");class TL{constructor(e){var t,r,n,i,o;let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.started=!1,this.addressSorter=null!==(t=s.addressSorter)&&void 0!==t?t:Zk,this.maxAddrsToDial=null!==(r=s.maxAddrsToDial)&&void 0!==r?r:25,this.timeout=null!==(n=s.dialTimeout)&&void 0!==n?n:3e4,this.maxDialsPerPeer=null!==(i=s.maxDialsPerPeer)&&void 0!==i?i:4,this.tokens=[...new Array(null!==(o=s.maxParallelDials)&&void 0!==o?o:100)].map(((e,t)=>t)),this.components=e,this.pendingDials=NR({name:"libp2p_dialler_pending_dials",metrics:e.metrics}),this.pendingDialTargets=NR({name:"libp2p_dialler_pending_dial_targets",metrics:e.metrics});for(const[c,l]of Object.entries(null!==(a=s.resolvers)&&void 0!==a?a:{})){var a;aT.set(c,l)}}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1;for(const t of this.pendingDials.values())try{t.controller.abort()}catch(e){IL.error(e)}this.pendingDials.clear();for(const t of this.pendingDialTargets.values())t.abort();this.pendingDialTargets.clear()}async dial(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{peerId:n,multiaddr:i}=$T(e);if(null!=n){if(this.components.peerId.equals(n))throw as(new Error("Tried to dial self"),CT.ERR_DIALED_SELF);if(null!=i&&(IL("storing multiaddrs %p",n,i),await this.components.peerStore.addressBook.add(n,[i])),await this.components.connectionGater.denyDialPeer(n))throw as(new Error("The dial request is blocked by gater.allowDialPeer"),CT.ERR_PEER_DIAL_INTERCEPTED)}IL("creating dial target for %p",n);const o=new AbortController,s=RL();this.pendingDialTargets.set(s,o);let a,c=o.signal;null!=r.signal&&(c=(0,Nd.anySignal)([c,r.signal]));try{a=await this._createDialTarget({peerId:n,multiaddr:i},{...r,signal:c})}finally{this.pendingDialTargets.delete(s)}if(0===a.addrs.length)throw as(new Error("The dial request has no valid addresses"),CT.ERR_NO_VALID_ADDRESSES);const l=null!==(t=this.pendingDials.get(a.id))&&void 0!==t?t:this._createPendingDial(a,r);try{const e=await l.promise;return IL("dial succeeded to %s",a.id),e}catch(u){throw IL("dial failed to %s",a.id,u),l.controller.signal.aborted&&(u.code=CT.ERR_TIMEOUT),IL.error(u),u}finally{l.destroy()}}async _createDialTarget(e,t){let r=[];if(uT(e.multiaddr)&&r.push(e.multiaddr),!uT(e.multiaddr)&&Te(e.peerId)&&r.push(...await this._loadAddresses(e.peerId)),r=(await Promise.all(r.map((async e=>await this._resolve(e,t))))).flat().filter((e=>Boolean(this.components.transportManager.transportForMultiaddr(e)))),r=[...new Set(r.map((e=>e.toString())))].map((e=>dT(e))),r.length>this.maxAddrsToDial)throw as(new Error("dial with more addresses than allowed"),CT.ERR_TOO_MANY_ADDRESSES);const n=Te(e.peerId)?e.peerId:void 0;if(null!=n){const e="/p2p/".concat(n.toString());r=r.map((t=>{const r=t.getPeerId();return null!=r&&n.equals(r)?t:t.encapsulate(e)}))}return{id:null==n?RL():n.toString(),addrs:r}}async _loadAddresses(e){const t=await this.components.peerStore.addressBook.get(e);return(await Promise.all(t.map((async t=>!await this.components.connectionGater.denyDialMultiaddr(e,t.multiaddr)&&t)))).filter(kL).sort(this.addressSorter).map((e=>e.multiaddr))}_createPendingDial(e){var t=this;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=new CL({addrs:e.addrs,dialAction:async function(e){var r;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!0===(null===(r=n.signal)||void 0===r?void 0:r.aborted))throw as(new Error("already aborted"),CT.ERR_ALREADY_ABORTED);return await t.components.transportManager.dial(e,n).catch((t=>{throw IL.error("dial to %s failed",e,t),t}))},dialer:this}),i=new RT.TimeoutController(this.timeout),o=[i.signal];null!=r.signal&&o.push(r.signal);const s=(0,Nd.anySignal)(o);try{null===NT.setMaxListeners||void 0===NT.setMaxListeners||(0,NT.setMaxListeners)(1/0,s)}catch{}const a={dialRequest:n,controller:i,promise:n.run({...r,signal:s}),destroy:()=>{i.clear(),this.pendingDials.delete(e.id)}};return this.pendingDials.set(e.id,a),a}getTokens(e){const t=Math.min(e,this.maxDialsPerPeer,this.tokens.length),r=this.tokens.splice(0,t);return IL("%d tokens request, returning %d, %d remaining",e,t,this.tokens.length),r}releaseToken(e){this.tokens.includes(e)||(IL("token %d released",e),this.tokens.push(e))}async _resolve(e,t){if(!e.protoNames().includes("dnsaddr"))return[e];const r=await this._resolveRecord(e,t);return(await Promise.all(r.map((async e=>await this._resolve(e,t))))).flat().reduce(((e,t)=>(null==e.find((e=>e.equals(t)))&&e.push(t),e)),[])}async _resolveRecord(e,t){try{e=dT(e.toString());return await e.resolve(t)}catch(r){return IL.error("multiaddr ".concat(e.toString()," could not be resolved"),r),[]}}}function kL(e){return Boolean(e)}function RL(){return"".concat(parseInt(String(1e9*Math.random()),10).toString()).concat(Date.now())}const PL=nd("libp2p");class DL extends py{constructor(e){var t,r,n,i,o;super(),this.started=!1,this.peerId=e.peerId;const s=this.components=new nL({peerId:e.peerId,datastore:null!==(t=e.datastore)&&void 0!==t?t:new ST,connectionGater:{denyDialPeer:async()=>await Promise.resolve(!1),denyDialMultiaddr:async()=>await Promise.resolve(!1),denyInboundConnection:async()=>await Promise.resolve(!1),denyOutboundConnection:async()=>await Promise.resolve(!1),denyInboundEncryptedConnection:async()=>await Promise.resolve(!1),denyOutboundEncryptedConnection:async()=>await Promise.resolve(!1),denyInboundUpgradedConnection:async()=>await Promise.resolve(!1),denyOutboundUpgradedConnection:async()=>await Promise.resolve(!1),filterMultiaddrForPeer:async()=>await Promise.resolve(!0),...e.connectionGater}});s.peerStore=new tL(s,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore}),this.services=[s],null!=e.metrics&&(this.metrics=this.components.metrics=this.configureComponent(e.metrics(this.components))),this.peerStore=this.components.peerStore,this.peerStore.addEventListener("peer",(e=>{const{detail:t}=e;this.dispatchEvent(new gy("peer:discovery",{detail:t}))})),null!=e.connectionProtector&&(this.components.connectionProtector=e.connectionProtector(s)),this.components.upgrader=new eP(this.components,{connectionEncryption:(null!==(r=e.connectionEncryption)&&void 0!==r?r:[]).map((e=>this.configureComponent(e(this.components)))),muxers:(null!==(n=e.streamMuxers)&&void 0!==n?n:[]).map((e=>this.configureComponent(e(this.components)))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.components.dialer=new TL(this.components,e.connectionManager),this.connectionManager=this.components.connectionManager=new tk(this.components,e.connectionManager),this.components.connectionManager.addEventListener("peer:disconnect",(e=>{this.dispatchEvent(new gy("peer:disconnect",{detail:e.detail}))})),this.components.connectionManager.addEventListener("peer:connect",(e=>{this.dispatchEvent(new gy("peer:connect",{detail:e.detail}))})),this.registrar=this.components.registrar=new XR(this.components),this.components.transportManager=new xR(this.components,e.transportManager),this.components.addressManager=new MT(this.components,e.addresses),this.configureComponent(new NP(this.components)),this.configureComponent(new ak(this.components,{enabled:e.connectionManager.autoDial,minConnections:e.connectionManager.minConnections,autoDialInterval:e.connectionManager.autoDialInterval}));const a=ER.generateOptions();this.keychain=this.configureComponent(new ER(this.components,{...a,...e.keychain})),this.services.push(new PP(this.components,e.nat)),e.transports.forEach((e=>{this.components.transportManager.add(this.configureComponent(e(this.components)))})),this.identifyService=new bP(this.components,{...e.identify}),this.configureComponent(this.identifyService),null!=e.dht?this.dht=this.components.dht=e.dht(this.components):this.dht=new EL,null!=e.pubsub?this.pubsub=this.components.pubsub=e.pubsub(this.components):this.pubsub=new _L;const c=(null!==(i=e.peerRouters)&&void 0!==i?i:[]).map((e=>this.configureComponent(e(this.components))));null!=e.dht&&(c.push(this.configureComponent(new LP(this.dht))),this.dht.addEventListener("peer",(e=>{this.onDiscoveryPeer(e)}))),this.peerRouting=this.components.peerRouting=this.configureComponent(new xT(this.components,{...e.peerRouting,routers:c}));const l=(null!==(o=e.contentRouters)&&void 0!==o?o:[]).map((e=>this.configureComponent(e(this.components))));null!=e.dht&&l.push(this.configureComponent(new rL(this.dht))),this.contentRouting=this.components.contentRouting=this.configureComponent(new OT(this.components,{routers:l})),e.relay.enabled&&(this.components.transportManager.add(this.configureComponent(new Pk(this.components,e.relay))),this.configureComponent(new iR(this.components,{addressSorter:e.connectionManager.addressSorter,...e.relay}))),this.fetchService=this.configureComponent(new SP(this.components,{...e.fetch})),this.pingService=this.configureComponent(new CP(this.components,{...e.ping}));for(const h of null!==(u=e.peerDiscovery)&&void 0!==u?u:[]){var u;this.configureComponent(h(this.components)).addEventListener("peer",(e=>{this.onDiscoveryPeer(e)}))}}configureComponent(e){return AI(e)&&this.services.push(e),e}async start(){if(!this.started){this.started=!0,PL("libp2p is starting");try{await Promise.all(this.services.map((async e=>{null!=e.beforeStart&&await e.beforeStart()}))),await Promise.all(this.services.map((e=>e.start()))),await Promise.all(this.services.map((async e=>{null!=e.afterStart&&await e.afterStart()}))),PL("libp2p has started")}catch(e){throw PL.error("An error occurred starting libp2p",e),await this.stop(),e}}}async stop(){this.started&&(PL("libp2p is stopping"),this.started=!1,await Promise.all(this.services.map((async e=>{null!=e.beforeStop&&await e.beforeStop()}))),await Promise.all(this.services.map((e=>e.stop()))),await Promise.all(this.services.map((async e=>{null!=e.afterStop&&await e.afterStop()}))),PL("libp2p has stopped"))}isStarted(){return this.started}getConnections(e){return this.components.connectionManager.getConnections(e)}getPeers(){const e=new JT;for(const t of this.components.connectionManager.getConnections())e.add(t.remotePeer);return Array.from(e)}async dial(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return await this.components.connectionManager.openConnection(e,t)}async dialProtocol(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==t)throw as(new Error("no protocols were provided to open a stream"),CT.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(0===(t=Array.isArray(t)?t:[t]).length)throw as(new Error("no protocols were provided to open a stream"),CT.ERR_INVALID_PROTOCOLS_FOR_STREAM);const n=await this.dial(e,r);return await n.newStream(t,r)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e){var t;uT(e)&&(e=Ih(null!==(t=e.getPeerId())&&void 0!==t?t:""));await this.components.connectionManager.closeConnections(e)}async getPublicKey(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(PL("getPublicKey %p",e),null!=e.publicKey)return e.publicKey;const r=await this.peerStore.get(e);if(null!=r.pubKey)return r.pubKey;if(null==this.dht)throw as(new Error("Public key was not in the peer store and the DHT is not enabled"),CT.ERR_NO_ROUTERS_AVAILABLE);const n=ln([Hn("/pk/"),e.multihash.digest]);for await(const i of this.dht.get(n,t))if("VALUE"===i.name){const t=fh(i.value);return await this.peerStore.keyBook.set(e,i.value),t.bytes}throw as(new Error("Node not responding with its public key: ".concat(e.toString())),CT.ERR_INVALID_RECORD)}async fetch(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(uT(e)){var n;const t=Ih(null!==(n=e.getPeerId())&&void 0!==n?n:"");await this.components.peerStore.addressBook.add(t,[e]),e=t}return await this.fetchService.fetch(e,t,r)}async ping(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(uT(e)){var r;const t=Ih(null!==(r=e.getPeerId())&&void 0!==r?r:"");await this.components.peerStore.addressBook.add(t,[e]),e=t}return await this.pingService.ping(e,t)}async handle(e,t,r){Array.isArray(e)||(e=[e]),await Promise.all(e.map((async e=>{await this.components.registrar.handle(e,t,r)})))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map((async e=>{await this.components.registrar.unhandle(e)})))}async register(e,t){return await this.registrar.register(e,t)}unregister(e){this.registrar.unregister(e)}onDiscoveryPeer(e){const{detail:t}=e;t.id.toString()!==this.peerId.toString()?(t.multiaddrs.length>0&&this.components.peerStore.addressBook.add(t.id,t.multiaddrs).catch((e=>PL.error(e))),t.protocols.length>0&&this.components.peerStore.protoBook.set(t.id,t.protocols).catch((e=>PL.error(e))),this.dispatchEvent(new gy("peer:discovery",{detail:t}))):PL.error(new Error(CT.ERR_DISCOVERED_SELF))}}async function NL(e){if(null==e.peerId){const n=e.datastore;if(null!=n)try{var t;const r=new ER({datastore:n},{...ER.generateOptions(),...null!==(t=e.keychain)&&void 0!==t?t:{}});e.peerId=await r.exportPeerId("self")}catch(r){if("ERR_NOT_FOUND"!==r.code)throw r}}return null==e.peerId&&(e.peerId=await(async()=>{const e=await ph("Ed25519"),t=await wL(e);if("Ed25519"===t.type)return t;throw new Error('Generated unexpected PeerId type "'.concat(t.type,'"'))})()),new DL(function(e){var t,r;const n=UT(fL,e);if(null==n.transports||n.transports.length<1)throw as(new Error(AT.ERR_TRANSPORTS_REQUIRED),CT.ERR_TRANSPORTS_REQUIRED);if(null==n.connectionEncryption||0===n.connectionEncryption.length)throw as(new Error(AT.CONN_ENCRYPTION_REQUIRED),CT.CONN_ENCRYPTION_REQUIRED);if(null===n.connectionProtector&&null!=(null===(t=globalThis.process)||void 0===t||null===(r=t.env)||void 0===r?void 0:r.LIBP2P_FORCE_PNET))throw as(new Error(AT.ERR_PROTECTOR_REQUIRED),CT.ERR_PROTECTOR_REQUIRED);return n.identify.host.agentVersion===mP&&(Ag||_g?n.identify.host.agentVersion+=" UserAgent=".concat(globalThis.process.version):(Eg||Cg||Sg||Ig)&&(n.identify.host.agentVersion+=" UserAgent=".concat(globalThis.navigator.userAgent))),n}(e))}const LL={lightPush:1,filter:1,store:1};async function xL(e){var t,r;const n=null!==(t=null===e||void 0===e?void 0:e.libp2p)&&void 0!==t?t:{},i=null!==(r=n.peerDiscovery)&&void 0!==r?r:[];null!==e&&void 0!==e&&e.defaultBootstrap&&(i.push(OL()),Object.assign(n,{peerDiscovery:i}));const o=await BL(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t=>{e={...e,msgIdFn:e=>{let{data:t}=e;return ks(t)},globalSignaturePolicy:tC.StrictNoSign,fallbackToFloodsub:!1};const r=new ZC(t,e);return r.multicodecs=pI,r}}(e),n,null===e||void 0===e?void 0:e.userAgent),s=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return t=>new wI(t,e)}(e);return new qi(null!==e&&void 0!==e?e:{},o,void 0,void 0,void 0,s)}function OL(){return e=[qE],t=LL,r=>new GE(r,{enrUrls:e,wantedNodeCapabilityCount:t});var e,t}async function BL(e,t,r){return async function(e){const t=await NL(e);return!1!==e.start&&await t.start(),t}(Object.assign({transports:[cy({filter:ny})],streamMuxers:[Vd()],connectionEncryption:[pd()],identify:{host:{agentVersion:null!==r&&void 0!==r?r:"js-waku"}}},e?{pubsub:e}:{},null!==t&&void 0!==t?t:{}))}var ML=__webpack_require__(6417);const UL="/js-waku-examples/1/chat/proto",FL=Vo({contentTopic:UL}),VL=new jo(UL);const jL=new(_e().Type)("SimpleChatMessage").add(new(_e().Field)("timestamp",1,"uint32")).add(new(_e().Field)("text",2,"string"));const zL=function(){const[e,t]=be.useState(void 0),[r,n]=be.useState("None"),[i,o]=be.useState(0),[s,a]=be.useState([]);be.useEffect((()=>{e||"None"===r&&(n("Starting"),(async()=>{const e=await xL({defaultBootstrap:!0});t(e),await e.start(),n("Connecting"),await js(e,["relay"]),n("Ready")})())}),[e,r]);const c=be.useCallback((e=>{if(console.log("Message received",e),!e.payload)return;const{text:t,timestamp:r}=jL.decode(e.payload),n=new Date;n.setTime(r);const i={text:t,timestamp:n};a((e=>[i].concat(e)))}),[]);return be.useEffect((()=>{if(!e)return;return e.relay.subscribe(VL,c)}),[e,r,c]),(0,ML.jsx)("div",{className:"App",children:(0,ML.jsxs)("header",{className:"App-header",children:[(0,ML.jsx)("p",{children:r}),(0,ML.jsx)("button",{onClick:()=>{"Ready"===r&&(function(e,t,r){const n=r.getTime(),i=jL.create({timestamp:n,text:e}),o=jL.encode(i).finish();return t.relay.send(FL,{payload:o})}("Here is message #".concat(i),e,new Date).then((()=>console.log("Message sent"))),o(i+1))},disabled:"Ready"!==r,children:"Send Message"}),(0,ML.jsx)("ul",{children:s.map((e=>(0,ML.jsx)("li",{children:(0,ML.jsxs)("p",{children:[e.timestamp.toString(),": ",e.text]})},e.timestamp.valueOf())))})]})})};we.createRoot(document.getElementById("root")).render((0,ML.jsx)(be.StrictMode,{children:(0,ML.jsx)(zL,{})}))})()})(); |