@banou/ripple 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{api-Jq4OSTp1-B4uxQLLk.js → api-Jq4OSTp1-BGG3ivUc.js} +3 -3
- package/assets/libtorrent-CnjRmD5O.js +6 -0
- package/assets/worker-cT83ESx9.js +23 -0
- package/{build-DEOZ3A7n.js → build-JdIfVZn7.js} +4 -4
- package/fkn.json +1 -0
- package/index.js +8295 -8404
- package/jassub/fonts.js +1 -1
- package/jassub/jassub-assets.js +1 -0
- package/jassub/jassub-worker.js +1 -1
- package/jassub/worker.js +5 -3
- package/package.json +4 -2
- package/{remote-BLaEXLm6.js → remote-U0iHKFtw.js} +3 -3
- package/sw.js +2 -2
- package/assets/libtorrent-DS_9Yo8M.js +0 -6
- package/assets/worker-BofT0eUK.js +0 -23
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var e=Object.defineProperty,t=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),n=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(e=>{e.global||=e;let t=e.process??={};t.env??={NODE_DEBUG:``},(typeof t.env!=`object`||t.env===null)&&(t.env={NODE_DEBUG:``}),t.version??=``,t.browser??=!0,t.platform??=`browser`,t.nextTick??=(e,...t)=>queueMicrotask(()=>e(...t)),t.emit??=()=>!1,t.on??=()=>t,t.once??=()=>t,t.off??=()=>t,t.removeListener??=()=>t,t.cwd??=()=>`/`})(typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:{});var r=/* @__PURE__ */ t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AddressError=void 0,e.AddressError=class extends Error{constructor(e,t){super(e),this.name=`AddressError`,this.parseMessage=t}}})),i=/* @__PURE__ */ t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isInSubnet=n,e.isCorrect=i,e.prefixLengthFromMask=a,e.numberToPaddedHex=o,e.stringToPaddedHex=s,e.testBit=c;let t=r();function n(e){return this.subnetMask<e.subnetMask?!1:this.mask(e.subnetMask)===e.mask()}function i(e){return function(){return this.addressMinusSuffix===this.correctForm()?this.subnetMask===e&&!this.parsedSubnet||this.parsedSubnet===String(this.subnetMask):!1}}function a(e,n){let r=e.toString(2).padStart(n,`0`);if(r.length>n)throw new t.AddressError(`Invalid subnet mask.`);let i=r.indexOf(`0`);if(i===-1)return n;if(r.slice(i).includes(`1`))throw new t.AddressError(`Invalid subnet mask.`);return i}function o(e){return e.toString(16).padStart(2,`0`)}function s(e){return o(parseInt(e,10))}function c(e,t){let{length:n}=e;if(t>n)return!1;let r=n-t;return e.substring(r,r+1)===`1`}})),a=/* @__PURE__ */ t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RE_SUBNET_STRING=e.RE_ADDRESS=e.GROUPS=e.BITS=void 0,e.BITS=32,e.GROUPS=4,e.RE_ADDRESS=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g,e.RE_SUBNET_STRING=/\/\d{1,2}$/})),o=/* @__PURE__ */ t((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),o=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var i in e)i!=="default"&&Object.prototype.hasOwnProperty.call(e,i)&&t(r,e,i);return n(r,e),r};Object.defineProperty(e,"__esModule",{value:!0}),e.Address4=void 0;let s=o(i()),c=o(a()),l=r(),u=s.isCorrect(c.BITS);var d=class e{constructor(e){this.groups=c.GROUPS,this.parsedAddress=[],this.parsedSubnet=``,this.subnet=`/32`,this.subnetMask=32,this.v4=!0,this.isCorrect=u,this.isInSubnet=s.isInSubnet,this.address=e;let t=c.RE_SUBNET_STRING.exec(e);if(t){if(this.parsedSubnet=t[0].replace(`/`,``),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,this.subnetMask<0||this.subnetMask>c.BITS)throw new l.AddressError(`Invalid subnet mask.`);e=e.replace(c.RE_SUBNET_STRING,``)}this.addressMinusSuffix=e,this.parsedAddress=this.parse(e)}static isValid(t){try{return new e(t),!0}catch{return!1}}parse(e){let t=e.split(`.`);if(!e.match(c.RE_ADDRESS))throw new l.AddressError(`Invalid IPv4 address.`);return t}correctForm(){return this.parsedAddress.map(e=>parseInt(e,10)).join(`.`)}static fromAddressAndMask(t,n){let r=s.prefixLengthFromMask(new e(n).bigInt(),c.BITS);return new e(`${t}/${r}`)}static fromAddressAndWildcardMask(t,n){let r=new e(n).bigInt()^(BigInt(1)<<BigInt(c.BITS))-BigInt(1),i=s.prefixLengthFromMask(r,c.BITS);return new e(`${t}/${i}`)}static fromWildcard(t){let n=t.split(`.`);if(n.length!==c.GROUPS)throw new l.AddressError(`Wildcard pattern must have 4 octets`);let r=-1;for(let e=0;e<n.length;e++)if(n[e]===`*`)r===-1&&(r=e);else if(r!==-1)throw new l.AddressError("Wildcard `*` must only appear in trailing octets (e.g. `192.168.0.*`)");let i=r===-1?0:n.length-r,a=n.map(e=>e===`*`?`0`:e),o=c.BITS-i*8;return new e(`${a.join(`.`)}/${o}`)}static fromHex(t){let n=t.replace(/:/g,``);if(!/^[0-9a-fA-F]{8}$/.test(n))throw new l.AddressError(`IPv4 hex must be exactly 8 hex digits`);let r=[];for(let e=0;e<8;e+=2)r.push(parseInt(n.slice(e,e+2),16));return new e(r.join(`.`))}static fromInteger(t){if(!Number.isInteger(t)||t<0||t>4294967295)throw new l.AddressError(`IPv4 integer must be in the range 0 to 2**32 - 1`);return e.fromHex(t.toString(16).padStart(8,`0`))}static fromArpa(t){let n=t.replace(/(\.in-addr\.arpa)?\.$/,``).split(`.`).reverse().join(`.`);return new e(n)}toHex(){return this.parsedAddress.map(e=>s.stringToPaddedHex(e)).join(`:`)}toArray(){return this.parsedAddress.map(e=>parseInt(e,10))}toGroup6(){let e=[],t=0;for(;t<c.GROUPS;t+=2)e.push(`${s.stringToPaddedHex(this.parsedAddress[t])}${s.stringToPaddedHex(this.parsedAddress[t+1])}`);return e.join(`:`)}bigInt(){return BigInt(`0x${this.parsedAddress.map(e=>s.stringToPaddedHex(e)).join(``)}`)}_startAddress(){return BigInt(`0b${this.mask()+`0`.repeat(c.BITS-this.subnetMask)}`)}startAddress(){return e.fromBigInt(this._startAddress())}startAddressExclusive(){let t=BigInt(`1`);return e.fromBigInt(this._startAddress()+t)}_endAddress(){return BigInt(`0b${this.mask()+`1`.repeat(c.BITS-this.subnetMask)}`)}endAddress(){return e.fromBigInt(this._endAddress())}endAddressExclusive(){let t=BigInt(`1`);return e.fromBigInt(this._endAddress()-t)}subnetMaskAddress(){return e.fromBigInt(BigInt(`0b${`1`.repeat(this.subnetMask)}${`0`.repeat(c.BITS-this.subnetMask)}`))}wildcardMask(){return e.fromBigInt(BigInt(`0b${`0`.repeat(this.subnetMask)}${`1`.repeat(c.BITS-this.subnetMask)}`))}networkForm(){return`${this.startAddress().correctForm()}/${this.subnetMask}`}static fromBigInt(t){if(t<0n||t>4294967295n)throw new l.AddressError(`IPv4 BigInt must be in the range 0 to 2**32 - 1`);return e.fromHex(t.toString(16).padStart(8,`0`))}static fromByteArray(e){if(e.length!==4)throw new l.AddressError(`IPv4 addresses require exactly 4 bytes`);for(let t=0;t<e.length;t++)if(!Number.isInteger(e[t])||e[t]<0||e[t]>255)throw new l.AddressError(`All bytes must be integers between 0 and 255`);return this.fromUnsignedByteArray(e)}static fromUnsignedByteArray(t){if(t.length!==4)throw new l.AddressError(`IPv4 addresses require exactly 4 bytes`);let n=t.join(`.`);return new e(n)}mask(e){return e===void 0&&(e=this.subnetMask),this.getBitsBase2(0,e)}getBitsBase2(e,t){return this.binaryZeroPad().slice(e,t)}reverseForm(e){e||={};let t=this.correctForm().split(`.`).reverse().join(`.`);return e.omitSuffix?t:`${t}.in-addr.arpa.`}isMulticast(){return this.isInSubnet(f)}isPrivate(){return p.some(e=>this.isInSubnet(e))}isLoopback(){return this.isInSubnet(m)}isLinkLocal(){return this.isInSubnet(h)}isUnspecified(){return this.isInSubnet(g)}isBroadcast(){return this.isInSubnet(_)}isCGNAT(){return this.isInSubnet(v)}binaryZeroPad(){return this._binaryZeroPad===void 0&&(this._binaryZeroPad=this.bigInt().toString(2).padStart(c.BITS,`0`)),this._binaryZeroPad}groupForV6(){let e=this.parsedAddress;return this.address.replace(c.RE_ADDRESS,`<span class="hover-group group-v4 group-6">${e.slice(0,2).join(`.`)}</span>.<span class="hover-group group-v4 group-7">${e.slice(2,4).join(`.`)}</span>`)}};e.Address4=d;let f=new d(`224.0.0.0/4`),p=[new d(`10.0.0.0/8`),new d(`172.16.0.0/12`),new d(`192.168.0.0/16`)],m=new d(`127.0.0.0/8`),h=new d(`169.254.0.0/16`),g=new d(`0.0.0.0/32`),_=new d(`255.255.255.255/32`),v=new d(`100.64.0.0/10`)})),s=/* @__PURE__ */ t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.RE_URL_WITH_PORT=e.RE_URL=e.RE_ZONE_STRING=e.RE_SUBNET_STRING=e.RE_BAD_ADDRESS=e.RE_BAD_CHARACTERS=e.TYPES=e.SCOPES=e.GROUPS=e.BITS=void 0,e.BITS=128,e.GROUPS=8,e.SCOPES={0:`Reserved`,1:`Interface local`,2:`Link local`,4:`Admin local`,5:`Site local`,8:`Organization local`,14:`Global`,15:`Reserved`},e.TYPES={"ff01::1/128":`Multicast (All nodes on this interface)`,"ff01::2/128":`Multicast (All routers on this interface)`,"ff02::1/128":`Multicast (All nodes on this link)`,"ff02::2/128":`Multicast (All routers on this link)`,"ff05::2/128":`Multicast (All routers in this site)`,"ff02::5/128":`Multicast (OSPFv3 AllSPF routers)`,"ff02::6/128":`Multicast (OSPFv3 AllDR routers)`,"ff02::9/128":`Multicast (RIP routers)`,"ff02::a/128":`Multicast (EIGRP routers)`,"ff02::d/128":`Multicast (PIM routers)`,"ff02::16/128":`Multicast (MLDv2 reports)`,"ff01::fb/128":`Multicast (mDNSv6)`,"ff02::fb/128":`Multicast (mDNSv6)`,"ff05::fb/128":`Multicast (mDNSv6)`,"ff02::1:2/128":`Multicast (All DHCP servers and relay agents on this link)`,"ff05::1:2/128":`Multicast (All DHCP servers and relay agents in this site)`,"ff02::1:3/128":`Multicast (All DHCP servers on this link)`,"ff05::1:3/128":`Multicast (All DHCP servers in this site)`,"::/128":`Unspecified`,"::1/128":`Loopback`,"ff00::/8":`Multicast`,"fe80::/10":`Link-local unicast`,"fc00::/7":`Unique local`,"2002::/16":`6to4`,"2001:db8::/32":`Documentation`,"64:ff9b::/96":`NAT64 (well-known)`,"64:ff9b:1::/48":`NAT64 (local-use)`},e.RE_BAD_CHARACTERS=/([^0-9a-f:/%])/gi,e.RE_BAD_ADDRESS=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi,e.RE_SUBNET_STRING=/\/\d{1,3}(?=%|$)/,e.RE_ZONE_STRING=/%.*$/,e.RE_URL=/^\[{0,1}([0-9a-f:]+)\]{0,1}/,e.RE_URL_WITH_PORT=/\[([0-9a-f:]+)\]:([0-9]{1,5})/})),c=/* @__PURE__ */ t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.escapeHtml=t,e.spanAllZeroes=n,e.spanAll=r,e.spanLeadingZeroes=a,e.simpleGroup=o;function t(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function n(e){return t(e).replace(/(0+)/g,`<span class="zero">$1</span>`)}function r(e,r=0){return e.split(``).map((e,i)=>`<span class="digit value-${t(e)} position-${i+r}">${n(e)}</span>`).join(``)}function i(e){return t(e).replace(/^(0+)/,`<span class="zero">$1</span>`)}function a(e){return e.split(`:`).map(e=>i(e)).join(`:`)}function o(e,t=0){return e.split(`:`).map((e,n)=>/group-v4/.test(e)?e:`<span class="hover-group group-${n+t}">${i(e)}</span>`)}})),l=/* @__PURE__ */ t((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),r=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var i in e)i!=="default"&&Object.prototype.hasOwnProperty.call(e,i)&&t(r,e,i);return n(r,e),r};Object.defineProperty(e,"__esModule",{value:!0}),e.ADDRESS_BOUNDARY=void 0,e.groupPossibilities=a,e.padGroup=o,e.simpleRegularExpression=c,e.possibleElisions=l;let i=r(s());function a(e){return`(${e.join(`|`)})`}function o(e){return e.length<4?`0{0,${4-e.length}}${e}`:e}e.ADDRESS_BOUNDARY=`[^A-Fa-f0-9:]`;function c(e){let t=[];e.forEach((e,n)=>{parseInt(e,16)===0&&t.push(n)});let n=t.map(t=>e.map((e,n)=>{if(n===t){let t=n===0||n===i.GROUPS-1?`:`:``;return a([o(e),t])}return o(e)}).join(`:`));return n.push(e.map(o).join(`:`)),a(n)}function l(e,t,n){let r=t?``:`:`,i=n?``:`:`,o=[];!t&&!n&&o.push(`::`),t&&n&&o.push(``),(n&&!t||!n&&t)&&o.push(`:`),o.push(`${r}(:0{1,4}){1,${e-1}}`),o.push(`(0{1,4}:){1,${e-1}}${i}`),o.push(`(0{1,4}:){${e-1}}0{1,4}`);for(let t=1;t<e-1;t++)for(let n=1;n<e-t;n++)o.push(`(0{1,4}:){${n}}:(0{1,4}:){${e-n-t-1}}0{1,4}`);return a(o)}})),u=/* @__PURE__ */ t((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),u=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var i in e)i!=="default"&&Object.prototype.hasOwnProperty.call(e,i)&&t(r,e,i);return n(r,e),r};Object.defineProperty(e,"__esModule",{value:!0}),e.Address6=void 0;let d=u(i()),f=u(a()),p=u(s()),m=u(c()),h=o(),g=l(),_=r(),v=i(),y=d.isCorrect(p.BITS);function b(e){if(!e)throw Error(`Assertion failed.`)}function x(e){let t=/(\d+)(\d{3})/;for(;t.test(e);)e=e.replace(t,`$1,$2`);return e}function S(e){return e=e.replace(/^(0{1,})([1-9]+)$/,`<span class="parse-error">$1</span>$2`),e=e.replace(/^(0{1,})(0)$/,`<span class="parse-error">$1</span>$2`),e}function C(e,t){let n=[],r=[],i=0;for(;i<e.length;i++)i<t[0]?n.push(e[i]):i>t[1]&&r.push(e[i]);return n.concat([`compact`]).concat(r)}function w(e){return parseInt(e,16).toString(16).padStart(4,`0`)}function T(e){return e&255}var E=class e{constructor(e,t){this.addressMinusSuffix=``,this.parsedSubnet=``,this.subnet=`/128`,this.subnetMask=128,this.v4=!1,this.zone=``,this.isInSubnet=d.isInSubnet,this.isCorrect=y,this.groups=t===void 0?p.GROUPS:t,this.address=e;let n=p.RE_SUBNET_STRING.exec(e);if(n){if(this.parsedSubnet=n[0].replace(`/`,``),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,Number.isNaN(this.subnetMask)||this.subnetMask<0||this.subnetMask>p.BITS)throw new _.AddressError(`Invalid subnet mask.`);e=e.replace(p.RE_SUBNET_STRING,``)}else if(/\//.test(e))throw new _.AddressError(`Invalid subnet mask.`);let r=p.RE_ZONE_STRING.exec(e);r&&(this.zone=r[0],e=e.replace(p.RE_ZONE_STRING,``)),this.addressMinusSuffix=e,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(t){try{return new e(t),!0}catch{return!1}}static fromBigInt(t){if(t<0n||t>(1n<<BigInt(p.BITS))-1n)throw new _.AddressError(`IPv6 BigInt must be in the range 0 to 2**128 - 1`);let n=t.toString(16).padStart(32,`0`),r=[];for(let e=0;e<p.GROUPS;e++)r.push(n.slice(e*4,(e+1)*4));return new e(r.join(`:`))}static fromURL(t){let n,r=null,i;if(t.indexOf(`[`)!==-1&&t.indexOf(`]:`)!==-1){if(i=p.RE_URL_WITH_PORT.exec(t),i===null)return{error:`failed to parse address with port`,address:null,port:null};n=i[1],r=i[2]}else if(t.indexOf(`/`)!==-1){if(t=t.replace(/^[a-z0-9]+:\/\//,``),i=p.RE_URL.exec(t),i===null)return{error:`failed to parse address from URL`,address:null,port:null};n=i[1]}else n=t;return r?(r=parseInt(r,10),(r<0||r>65536)&&(r=null)):r=null,{address:new e(n),port:r}}static fromAddressAndMask(t,n){let r=d.prefixLengthFromMask(new e(n).bigInt(),p.BITS);return new e(`${t}/${r}`)}static fromAddressAndWildcardMask(t,n){let r=new e(n).bigInt()^(BigInt(1)<<BigInt(p.BITS))-BigInt(1),i=d.prefixLengthFromMask(r,p.BITS);return new e(`${t}/${i}`)}static fromWildcard(t){if(t.includes(`%`)||t.includes(`/`))throw new _.AddressError(`Wildcard pattern must not include a zone or CIDR suffix`);let n=t.split(`::`);if(n.length>2)throw new _.AddressError(`Wildcard pattern cannot contain more than one '::'`);let r;if(n.length===2){let e=n[0]===``?[]:n[0].split(`:`),t=n[1]===``?[]:n[1].split(`:`),i=p.GROUPS-e.length-t.length;if(i<1)throw new _.AddressError(`Wildcard pattern with '::' has too many groups`);r=[...e,...Array(i).fill(`0`),...t]}else r=t.split(`:`);if(r.length!==p.GROUPS)throw new _.AddressError(`Wildcard pattern must have 8 groups`);let i=-1;for(let e=0;e<r.length;e++)if(r[e]===`*`)i===-1&&(i=e);else if(i!==-1)throw new _.AddressError("Wildcard `*` must only appear in trailing groups (e.g. `2001:db8:*:*:*:*:*:*`)");let a=i===-1?0:r.length-i,o=r.map(e=>e===`*`?`0`:e),s=p.BITS-a*16;return new e(`${o.join(`:`)}/${s}`)}static fromAddress4(t){let n=new h.Address4(t),r=p.BITS-(f.BITS-n.subnetMask);return new e(`::ffff:${n.correctForm()}/${r}`)}static fromArpa(t){let n=t.replace(/(\.ip6\.arpa)?\.$/,``);if(n.length!==63)throw new _.AddressError(`Invalid 'ip6.arpa' form.`);let r=n.split(`.`).reverse();for(let e=7;e>0;e--){let t=e*4;r.splice(t,0,`:`)}return n=r.join(``),new e(n)}microsoftTranscription(){return`${this.correctForm().replace(/:/g,`-`)}.ipv6-literal.net`}mask(e=this.subnetMask){return this.getBitsBase2(0,e)}possibleSubnets(e=128){let t=p.BITS-this.subnetMask-Math.abs(e-p.BITS);return t<0?`0`:x((BigInt(`2`)**BigInt(t)).toString(10))}_startAddress(){return BigInt(`0b${this.mask()+`0`.repeat(p.BITS-this.subnetMask)}`)}startAddress(){return e.fromBigInt(this._startAddress())}startAddressExclusive(){let t=BigInt(`1`);return e.fromBigInt(this._startAddress()+t)}_endAddress(){return BigInt(`0b${this.mask()+`1`.repeat(p.BITS-this.subnetMask)}`)}endAddress(){return e.fromBigInt(this._endAddress())}endAddressExclusive(){let t=BigInt(`1`);return e.fromBigInt(this._endAddress()-t)}subnetMaskAddress(){return e.fromBigInt(BigInt(`0b${`1`.repeat(this.subnetMask)}${`0`.repeat(p.BITS-this.subnetMask)}`))}wildcardMask(){return e.fromBigInt(BigInt(`0b${`0`.repeat(this.subnetMask)}${`1`.repeat(p.BITS-this.subnetMask)}`))}networkForm(){return`${this.startAddress().correctForm()}/${this.subnetMask}`}getScope(){let e=this.getType();return e===`Multicast`||e.startsWith(`Multicast `)?p.SCOPES[parseInt(this.getBits(12,16).toString(10),10)]||`Unknown`:e===`Link-local unicast`||e===`Loopback`?`Link local`:e===`Unspecified`?`Unknown`:`Global`}getType(){for(let e=0;e<D.length;e++){let t=D[e];if(this.isInSubnet(t[0]))return t[1]}return`Global unicast`}getBits(e,t){return BigInt(`0b${this.getBitsBase2(e,t)}`)}getBitsBase2(e,t){return this.binaryZeroPad().slice(e,t)}getBitsBase16(e,t){let n=t-e;if(n%4!=0)throw Error(`Length of bits to retrieve must be divisible by four`);return this.getBits(e,t).toString(16).padStart(n/4,`0`)}getBitsPastSubnet(){return this.getBitsBase2(this.subnetMask,p.BITS)}reverseForm(e){e||={};let t=Math.floor(this.subnetMask/4),n=this.canonicalForm().replace(/:/g,``).split(``).slice(0,t).reverse().join(`.`);return t>0?e.omitSuffix?n:`${n}.ip6.arpa.`:e.omitSuffix?``:`ip6.arpa.`}correctForm(){let e,t=[],n=0,r=[];for(e=0;e<this.parsedAddress.length;e++){let t=parseInt(this.parsedAddress[e],16);t===0&&n++,t!==0&&n>0&&(n>1&&r.push([e-n,e-1]),n=0)}n>1&&r.push([this.parsedAddress.length-n,this.parsedAddress.length-1]);let i=r.map(e=>e[1]-e[0]+1);if(r.length>0){let e=i.indexOf(Math.max(...i));t=C(this.parsedAddress,r[e])}else t=this.parsedAddress;for(e=0;e<t.length;e++)t[e]!==`compact`&&(t[e]=parseInt(t[e],16).toString(16));let a=t.join(`:`);return a=a.replace(/^compact$/,`::`),a=a.replace(/(^compact)|(compact$)/,`:`),a=a.replace(/compact/,``),a}binaryZeroPad(){return this._binaryZeroPad===void 0&&(this._binaryZeroPad=this.bigInt().toString(2).padStart(p.BITS,`0`)),this._binaryZeroPad}parse4in6(e){if(e.indexOf(`.`)===-1)return e;let t=e.split(`:`),n=t.slice(-1)[0].match(f.RE_ADDRESS);if(n){this.parsedAddress4=n[0],this.address4=new h.Address4(this.parsedAddress4);for(let e=0;e<this.address4.groups;e++)if(/^0[0-9]+/.test(this.address4.parsedAddress[e])){let e=this.address4.parsedAddress.map(S).join(`.`),n=t.slice(0,-1).map(m.escapeHtml).join(`:`),r=t.length>1?`:`:``;throw new _.AddressError(`IPv4 addresses can't have leading zeroes.`,`${n}${r}${e}`)}this.v4=!0,t[t.length-1]=this.address4.toGroup6(),e=t.join(`:`)}return e}parse(e){e=this.parse4in6(e);let t=e.match(p.RE_BAD_CHARACTERS);if(t)throw new _.AddressError(`Bad character${t.length>1?`s`:``} detected in address: ${t.join(``)}`,e.replace(p.RE_BAD_CHARACTERS,`<span class="parse-error">$1</span>`));let n=e.match(p.RE_BAD_ADDRESS);if(n)throw new _.AddressError(`Address failed regex: ${n.join(``)}`,e.replace(p.RE_BAD_ADDRESS,`<span class="parse-error">$1</span>`));let r=[],i=e.split(`::`);if(i.length===2){let e=i[0].split(`:`),t=i[1].split(`:`);e.length===1&&e[0]===``&&(e=[]),t.length===1&&t[0]===``&&(t=[]);let n=this.groups-(e.length+t.length);if(!n)throw new _.AddressError(`Error parsing groups`);this.elidedGroups=n,this.elisionBegin=e.length,this.elisionEnd=e.length+this.elidedGroups,r=r.concat(e);for(let e=0;e<n;e++)r.push(`0`);r=r.concat(t)}else if(i.length===1)r=e.split(`:`),this.elidedGroups=0;else throw new _.AddressError(`Too many :: groups found`);if(r=r.map(e=>parseInt(e,16).toString(16)),r.length!==this.groups)throw new _.AddressError(`Incorrect number of groups found`);return r}canonicalForm(){return this.parsedAddress.map(w).join(`:`)}decimal(){return this.parsedAddress.map(e=>parseInt(e,16).toString(10).padStart(5,`0`)).join(`:`)}bigInt(){return BigInt(`0x${this.parsedAddress.map(w).join(``)}`)}to4(){let e=this.binaryZeroPad().split(``);return h.Address4.fromHex(BigInt(`0b${e.slice(96,128).join(``)}`).toString(16).padStart(8,`0`))}to4in6(){let t=this.to4(),n=new e(this.parsedAddress.slice(0,6).join(`:`),6).correctForm(),r=``;return/:$/.test(n)||(r=`:`),n+r+t.address}inspectTeredo(){let e=this.getBitsBase16(0,32),t=(this.getBits(80,96)^BigInt(`0xffff`)).toString(),n=h.Address4.fromHex(this.getBitsBase16(32,64)),r=this.getBits(96,128),i=h.Address4.fromHex((r^BigInt(`0xffffffff`)).toString(16).padStart(8,`0`)),a=this.getBitsBase2(64,80),o=(0,v.testBit)(a,15),s=(0,v.testBit)(a,14),c=(0,v.testBit)(a,8),l=(0,v.testBit)(a,9),u=BigInt(`0b${a.slice(2,6)+a.slice(8,16)}`).toString(10);return{prefix:`${e.slice(0,4)}:${e.slice(4,8)}`,server4:n.address,client4:i.address,flags:a,coneNat:o,microsoft:{reserved:s,universalLocal:l,groupIndividual:c,nonce:u},udpPort:t}}inspect6to4(){let e=this.getBitsBase16(0,16),t=h.Address4.fromHex(this.getBitsBase16(16,48));return{prefix:e.slice(0,4),gateway:t.address}}to6to4(){if(!this.is4())return null;let t=[`2002`,this.getBitsBase16(96,112),this.getBitsBase16(112,128),``,`/16`].join(`:`);return new e(t)}static fromAddress4Nat64(t,n=`64:ff9b::/96`){let r=new h.Address4(t),i=new e(n),a=i.subnetMask;if(a!==32&&a!==40&&a!==48&&a!==56&&a!==64&&a!==96)throw new _.AddressError(`NAT64 prefix length must be 32, 40, 48, 56, 64, or 96`);let o=i.binaryZeroPad(),s=r.binaryZeroPad(),c;if(a===96)c=o.slice(0,96)+s;else{let e=64-a;c=o.slice(0,a)+s.slice(0,e)+`00000000`+s.slice(e)+`0`.repeat(56-(32-e))}let l=BigInt(`0b${c}`).toString(16).padStart(32,`0`),u=[];for(let e=0;e<8;e++)u.push(l.slice(e*4,(e+1)*4));return new e(u.join(`:`))}toAddress4Nat64(t=`64:ff9b::/96`){let n=new e(t),r=n.subnetMask;if(r!==32&&r!==40&&r!==48&&r!==56&&r!==64&&r!==96)throw new _.AddressError(`NAT64 prefix length must be 32, 40, 48, 56, 64, or 96`);if(!this.isInSubnet(n))return null;let i=this.binaryZeroPad(),a;if(r===96)a=i.slice(96,128);else{let e=64-r;a=i.slice(r,r+e)+i.slice(72,72+(32-e))}let o=[];for(let e=0;e<4;e++)o.push(parseInt(a.slice(e*8,(e+1)*8),2).toString());return new h.Address4(o.join(`.`))}toByteArray(){let e=this.bigInt().toString(16),t=`${`0`.repeat(e.length%2)}${e}`,n=[];for(let e=0,r=t.length;e<r;e+=2)n.push(parseInt(t.substring(e,e+2),16));return n}toUnsignedByteArray(){return this.toByteArray().map(T)}static fromByteArray(e){return this.fromUnsignedByteArray(e.map(T))}static fromUnsignedByteArray(t){let n=BigInt(`256`),r=BigInt(`0`),i=BigInt(`1`);for(let e=t.length-1;e>=0;e--)r+=i*BigInt(t[e].toString(10)),i*=n;return e.fromBigInt(r)}isCanonical(){return this.addressMinusSuffix===this.canonicalForm()}isLinkLocal(){return this.getBitsBase2(0,64)===`1111111010000000000000000000000000000000000000000000000000000000`}isMulticast(){let e=this.getType();return e===`Multicast`||e.startsWith(`Multicast `)}is4(){return this.v4}isMapped4(){return this.isInSubnet(j)}isTeredo(){return this.isInSubnet(O)}is6to4(){return this.isInSubnet(k)}isLoopback(){return this.getType()===`Loopback`}isULA(){return this.isInSubnet(A)}isUnspecified(){return this.getType()===`Unspecified`}isDocumentation(){return this.isInSubnet(ee)}href(e){return e=e===void 0?``:`:${e}`,`http://[${this.correctForm()}]${e}/`}link(e){e||={},e.className===void 0&&(e.className=``),e.prefix===void 0&&(e.prefix=`/#address=`),e.v4===void 0&&(e.v4=!1);let t=this.correctForm;e.v4&&(t=this.to4in6);let n=t.call(this),r=m.escapeHtml(`${e.prefix}${n}`),i=m.escapeHtml(n);return e.className?`<a href="${r}" class="${m.escapeHtml(e.className)}">${i}</a>`:`<a href="${r}">${i}</a>`}group(){if(this.elidedGroups===0)return m.simpleGroup(this.addressMinusSuffix).join(`:`);b(typeof this.elidedGroups==`number`),b(typeof this.elisionBegin==`number`);let e=[],[t,n]=this.addressMinusSuffix.split(`::`);t.length?e.push(...m.simpleGroup(t)):e.push(``);let r=[`hover-group`];for(let e=this.elisionBegin;e<this.elisionBegin+this.elidedGroups;e++)r.push(`group-${e}`);return e.push(`<span class="${r.join(` `)}"></span>`),n.length?e.push(...m.simpleGroup(n,this.elisionEnd)):e.push(``),this.is4()&&(b(this.address4 instanceof h.Address4),e.pop(),e.push(this.address4.groupForV6())),e.join(`:`)}regularExpressionString(t=!1){let n=[],r=new e(this.correctForm());if(r.elidedGroups===0)n.push((0,g.simpleRegularExpression)(r.parsedAddress));else if(r.elidedGroups===p.GROUPS)n.push((0,g.possibleElisions)(p.GROUPS));else{let e=r.address.split(`::`);e[0].length&&n.push((0,g.simpleRegularExpression)(e[0].split(`:`))),b(typeof r.elidedGroups==`number`),n.push((0,g.possibleElisions)(r.elidedGroups,e[0].length!==0,e[1].length!==0)),e[1].length&&n.push((0,g.simpleRegularExpression)(e[1].split(`:`))),n=[n.join(`:`)]}return t||(n=[`(?=^|`,g.ADDRESS_BOUNDARY,`|[^\\w\\:])(`,...n,`)(?=[^\\w\\:]|`,g.ADDRESS_BOUNDARY,`|$)`]),n.join(``)}regularExpression(e=!1){return new RegExp(this.regularExpressionString(e),`i`)}};e.Address6=E;let D=Object.keys(p.TYPES).map(e=>[new E(e),p.TYPES[e]]),O=new E(`2001::/32`),k=new E(`2002::/16`),A=new E(`fc00::/7`),ee=new E(`2001:db8::/32`),j=new E(`::ffff:0:0/96`)})),d=(/* @__PURE__ */ t((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),i=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var i in e)i!=="default"&&Object.prototype.hasOwnProperty.call(e,i)&&t(r,e,i);return n(r,e),r};Object.defineProperty(e,"__esModule",{value:!0}),e.v6=e.AddressError=e.Address6=e.Address4=void 0;var a=o();Object.defineProperty(e,"Address4",{enumerable:!0,get:function(){return a.Address4}});var s=u();Object.defineProperty(e,"Address6",{enumerable:!0,get:function(){return s.Address6}});var l=r();Object.defineProperty(e,"AddressError",{enumerable:!0,get:function(){return l.AddressError}}),e.v6={helpers:i(c())}})))(),f=new TextEncoder;new TextDecoder;var p=`webvpn-udp-port-ack`,m=e=>d.Address4.isValid(e),h=e=>d.Address6.isValid(e),g=e=>m(e)?4:h(e)?6:0,_=(...e)=>{if(typeof e[0]==`string`)throw Error(`FKN WebVPN does not support IPC connections`);let t=typeof e.at(-1)==`function`?e.at(-1):void 0;return e[0]&&typeof e[0]==`object`?{...e[0],callback:t}:{port:e[0]??0,host:typeof e[1]==`string`?e[1]:void 0,callback:t}},v=(...e)=>{let t=typeof e.at(-1)==`function`?e.at(-1):void 0,n=e[0]??0,r=typeof e[1]==`string`?e[1]:void 0;return typeof e[0]==`object`?{...e[0],address:e[0].address??r,port:e[0].port??n,callback:t}:{address:r,port:n,callback:t}},y=(...e)=>{let t=typeof e.at(-1)==`function`?e.at(-1):void 0,n=e[0];if(typeof e[2]==`number`)return{message:n,hasRange:!0,offset:e[1],length:e[2],port:typeof e[3]==`number`?e[3]:0,address:typeof e[4]==`string`?e[4]:void 0,callback:t};{let r=typeof e[1]==`number`?e[1]:0,i=typeof e[2]==`string`?e[2]:void 0;return{message:n,hasRange:!1,offset:0,length:n.length,port:r,address:i,callback:t}}};new TextEncoder,new TextDecoder;var b=Object.defineProperty,x=(e,t)=>{let n={};for(var r in e)b(n,r,{get:e[r],enumerable:!0});return t||b(n,Symbol.toStringTag,{value:`Module`}),n},S=`__OSRA_KEY__`,C=`__OSRA_DEFAULT_KEY__`,w=`__OSRA_BOX__`,T=()=>globalThis.browser??globalThis.chrome,E=()=>T()?.runtime,D=(e,t)=>oe(e)&&e.__OSRA_KEY__===t,O=(e,t)=>{if(e){if(e.aborted){t();return}e.addEventListener(`abort`,t,{once:!0})}},k=({listener:e,transport:t,remoteName:n,key:r=C,origin:i=`*`,unregisterSignal:a})=>{if(a?.aborted)return;let o=Se(t)?t.receive:t;if(typeof o==`function`){let t=o((t,i)=>{a?.aborted||D(t,r)&&(n&&t.name!==n||e(t,i))});typeof t==`function`&&O(a,t);return}if(ce(o)||le(o)||de(o)||fe(o)){let t=(t,i)=>{let o=(t,a)=>{D(t,r)&&(n&&t.name!==n||e(t,{port:i,sender:a}))};t.addListener(o),O(a,()=>t.removeListener(o))};if(ce(o))t(o.onMessage);else if(de(o)){let e=e=>t(e.onMessage,e);o.addListener(e),O(a,()=>o.removeListener(e))}else fe(o)?t(o):t(o.onMessage);return}let s=ie(o)?o.port:o,c=i!==`*`&&pe(o),l=t=>{let a=t.data;if(typeof a==`string`)try{a=JSON.parse(a)}catch{return}D(a,r)&&(n&&a.name!==n||c&&t.origin&&t.origin!==i||e(a,{receiveTransport:o,source:t.source,origin:t.origin}))};s.addEventListener(`message`,l),s instanceof MessagePort&&s.start(),O(a,()=>s.removeEventListener(`message`,l))},A=/* @__PURE__ */ new WeakSet,ee=e=>String(e?.message??e).includes(`disconnected port`),j=(e,t,n=`*`,r=[])=>{let i=Se(e)?e.emit:e;if(typeof i==`function`)i(t,r);else if(pe(i))i.postMessage(t,n,r);else if(le(i)){if(A.has(i))return;try{i.postMessage(t)}catch(e){if(!ee(e))throw e;A.add(i)}}else if(ce(i))i.sendMessage(t)?.catch?.(e=>{if(!String(e?.message).includes(`Receiving end does not exist`))throw e});else if(L(i)){let e=JSON.stringify(t);i.readyState===WebSocket.CONNECTING?i.addEventListener(`open`,()=>i.send(e),{once:!0}):i.send(e)}else ie(i)?i.port.postMessage(t,r):i.postMessage(t,r)},te=globalThis.Float16Array,M={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float16Array:te,Float32Array,Float64Array,BigInt64Array,BigUint64Array},N=Object.values(M),P=e=>{let t=e.constructor.name;if(t in M)return t;for(let[t,n]of Object.entries(M))if(n&&e instanceof n)return t;throw Error(`Unknown typed array type`)},F=e=>{let t=M[e];if(!t)throw Error(`Unknown typed array type`);return t},I=e=>B(e,N),L=e=>e instanceof WebSocket,R=e=>!!globalThis.ServiceWorkerContainer&&e instanceof ServiceWorkerContainer,z=e=>!!globalThis.ServiceWorker&&e instanceof ServiceWorker,ne=e=>!!globalThis.Worker&&e instanceof Worker,re=e=>{let t=globalThis.DedicatedWorkerGlobalScope;return!!t&&e instanceof t},ie=e=>!!globalThis.SharedWorker&&e instanceof SharedWorker,ae=e=>e instanceof MessagePort,oe=e=>!!e&&typeof e==`object`&&`__OSRA_KEY__`in e&&!!e.__OSRA_KEY__,B=(e,t)=>{if(e===null||typeof e!=`object`&&typeof e!=`function`)return!1;for(let n of t)if(n&&e instanceof n)return!0;return!1},se=e=>B(e,[globalThis.SharedArrayBuffer]),V=e=>B(e,[globalThis.ArrayBuffer,globalThis.MessagePort,globalThis.ReadableStream,globalThis.WritableStream,globalThis.TransformStream,globalThis.ImageBitmap,globalThis.OffscreenCanvas,globalThis.AudioData,globalThis.VideoFrame,globalThis.MediaSourceHandle,globalThis.MediaStreamTrack,globalThis.MIDIAccess,globalThis.RTCDataChannel,globalThis.WebTransportReceiveStream,globalThis.WebTransportSendStream]),ce=e=>{let t=E();return t?e===t:!1},le=(e,t=!1)=>!e||typeof e!=`object`||pe(e)||!(`name`in e)||!(`disconnect`in e)||!(`postMessage`in e)?!1:!t||`sender`in e&&`onMessage`in e&&`onDisconnect`in e,ue=e=>!!e&&typeof e==`object`&&!pe(e)&&`addListener`in e&&`hasListener`in e&&`removeListener`in e,de=e=>{let t=E();return t?e===t.onConnect||e===t.onConnectExternal:!1},fe=e=>ue(e),pe=e=>{if(!e||typeof e!=`object`)return!1;try{return`window`in e&&e.window===e}catch{try{return`closed`in e&&typeof e.closed==`boolean`&&`close`in e&&typeof e.close==`function`}catch{return!1}}},me=e=>L(e)||le(e)||ce(e),he=e=>L(e)||le(e)||de(e)||fe(e)||ce(e),ge=e=>!!e&&typeof e==`object`&&!pe(e)&&`isJson`in e&&e.isJson===!0||me(e)||he(e),_e=e=>pe(e)||me(e)||z(e)||ne(e)||re(e)||ie(e)||ae(e)||be(e),ve=e=>pe(e)||he(e)||R(e)||ne(e)||re(e)||ie(e)||ae(e)||xe(e),ye=e=>{if(!e||typeof e!=`object`||pe(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},be=e=>!ye(e)||!(`emit`in e)?!1:_e(e.emit)||typeof e.emit==`function`,xe=e=>!ye(e)||!(`receive`in e)?!1:ve(e.receive)||typeof e.receive==`function`,Se=e=>be(e)||xe(e),Ce=()=>globalThis.Buffer,we=32768,Te=e=>{let t=e.toBase64;if(typeof t==`function`)return t.call(e);let n=Ce();if(n)return n.from(e).toString(`base64`);let r=``;for(let t=0;t<e.length;t+=we)r+=String.fromCharCode(...e.subarray(t,t+we));return btoa(r)},Ee=e=>{let t=Uint8Array.fromBase64;if(typeof t==`function`)return t(e);let n=Ce();if(n)return new Uint8Array(n.from(e,`base64`));let r=atob(e),i=new Uint8Array(r.length);for(let e=0;e<r.length;e++)i[e]=r.charCodeAt(e);return i},H={[w]:`revivable`},De=e=>!!e&&typeof e==`object`&&`__OSRA_BOX__`in e&&e.__OSRA_BOX__===`revivable`,Oe=(e,t)=>ge(t.transport)?{base64Buffer:Te(new Uint8Array(e))}:{arrayBuffer:e},ke=e=>`arrayBuffer`in e?e.arrayBuffer:Ee(e.base64Buffer).buffer,Ae=/* @__PURE__ */ x({box:()=>Ne,isType:()=>Me,objectsOnly:()=>!0,revive:()=>Pe,type:()=>je}),je=`arrayBuffer`,Me=e=>e instanceof ArrayBuffer,Ne=(e,t)=>({...H,type:je,...Oe(e,t)}),Pe=(e,t)=>ke(e),Fe=/* @__PURE__ */ x({box:()=>Re,isType:()=>Le,objectsOnly:()=>!0,revive:()=>ze,type:()=>Ie}),Ie=`date`,Le=e=>e instanceof Date,Re=(e,t)=>({...H,type:Ie,ISOString:e.toISOString()}),ze=(e,t)=>new Date(e.ISOString),Be=/* @__PURE__ */ x({box:()=>Ue,isType:()=>He,objectsOnly:()=>!0,revive:()=>We,type:()=>Ve}),Ve=`headers`,He=e=>e instanceof Headers,Ue=(e,t)=>({...H,type:Ve,entries:[...e.entries()]}),We=(e,t)=>new Headers(e.entries),Ge=/* @__PURE__ */ x({box:()=>Ye,isType:()=>Je,objectsOnly:()=>!0,revive:()=>Xe,type:()=>Ke}),Ke=`error`,qe={Error,TypeError,RangeError,SyntaxError,ReferenceError,EvalError,URIError},Je=e=>e instanceof Error,Ye=(e,t)=>{let n=`cause`in e&&e.cause!==void 0,r=typeof AggregateError<`u`&&e instanceof AggregateError,i=typeof DOMException<`u`&&e instanceof DOMException;return{...H,type:Ke,name:e.name,message:e.message,stack:e.stack||e.toString(),...n?{cause:U(e.cause,t)}:{},...r?{errors:U(e.errors,t)}:{},...i?{isDOMException:!0}:{}}},Xe=(e,t)=>{let n=e.cause===void 0?void 0:W(e.cause,t),r=n===void 0?void 0:{cause:n};if(e.isDOMException&&typeof DOMException<`u`){let t=new DOMException(e.message,e.name);if(e.stack)try{Object.defineProperty(t,"stack",{value:e.stack,configurable:!0})}catch{}return t}let i;if(e.errors!==void 0&&typeof AggregateError<`u`)i=AggregateError(W(e.errors,t),e.message,r);else{let t=qe[e.name]??Error;i=r===void 0?new t(e.message):new t(e.message,r)}return e.name&&i.name!==e.name&&(i.name=e.name),e.stack&&(i.stack=e.stack),i},Ze=/* @__PURE__ */ x({box:()=>et,isType:()=>$e,objectsOnly:()=>!0,revive:()=>tt,type:()=>Qe}),Qe=`typedArray`,$e=I,et=(e,t)=>{let n=e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);return{...H,type:Qe,typedArrayType:P(e),...Oe(n,t)}},tt=(e,t)=>new(F(e.typedArrayType))(ke(e)),nt=/* @__PURE__ */ new WeakMap,rt=/* @__PURE__ */ new WeakSet,it=(e,t)=>{if(rt.has(e))return t(),()=>{};let n=nt.get(e);return n||nt.set(e,n=/* @__PURE__ */ new Set),n.add(t),()=>n.delete(t)},at=e=>rt.has(e),ot=e=>{if(rt.has(e))return;rt.add(e);let t=nt.get(e);if(t){nt.delete(e);for(let e of t)try{e()}catch{}}},st=/* @__PURE__ */ x({box:()=>yt,forceTransfer:()=>gt,isInTransfer:()=>ht,isType:()=>vt,objectsOnly:()=>!0,outsideTransfer:()=>_t,revive:()=>bt,transfer:()=>pt,type:()=>ct}),ct=`transfer`,lt=Symbol.for(`osra.transfer`),ut=e=>typeof e==`object`&&!!e,dt=e=>ut(e)&< in e&&e[lt]===!0,ft=e=>ut(e)?ArrayBuffer.isView(e)?!0:B(e,[globalThis.ArrayBuffer,globalThis.MessagePort,globalThis.ReadableStream,globalThis.WritableStream,globalThis.TransformStream,globalThis.Request,globalThis.Response,globalThis.ImageBitmap,globalThis.OffscreenCanvas,globalThis.VideoFrame,globalThis.AudioData]):!1,pt=e=>ft(e)?{[lt]:!0,value:e}:e,mt=0,ht=()=>mt>0,gt=e=>ut(e)&&!dt(e)?{[lt]:!0,value:e}:e,_t=e=>{let t=mt;mt=0;try{return e()}finally{mt=t}},vt=e=>dt(e),yt=(e,t)=>{mt++;try{return{...H,type:ct,inner:U(e.value,t),degraded:ge(t.transport)}}finally{mt--}},bt=(e,t)=>W(e.inner,t),xt=e=>B(e,[globalThis.MessagePort,globalThis.ReadableStream,globalThis.WritableStream,globalThis.TransformStream,globalThis.OffscreenCanvas,globalThis.MediaSourceHandle,globalThis.MediaStreamTrack,globalThis.MIDIAccess,globalThis.RTCDataChannel,globalThis.WebTransportReceiveStream,globalThis.WebTransportSendStream]),St=e=>De(e)&&e.type===`transfer`,Ct=e=>{let t=[],n=/* @__PURE__ */ new WeakSet,r=(e,i)=>{if(e&&typeof e==`object`&&!n.has(e)&&(n.add(e),!se(e))){if(St(e)){r(e.inner,i||!e.degraded);return}if(xt(e)){t.push(e);return}if(V(e)){i&&t.push(e);return}if(ArrayBuffer.isView(e)){i&&e instanceof DataView&&!se(e.buffer)&&!n.has(e.buffer)&&(n.add(e.buffer),t.push(e.buffer));return}if(Array.isArray(e)){for(let t of e)r(t,i);return}for(let t of Object.values(e))r(t,i)}};return r(e,!1),t},wt=class{_listeners=/* @__PURE__ */ new Map;addEventListener(e,t,n){if(!t)return;let r=this._listeners.get(e);r||(r=/* @__PURE__ */ new Map,this._listeners.set(e,r)),r.has(t)||r.set(t,typeof n==`object`&&!!n?.once)}removeEventListener(e,t,n){t&&this._listeners.get(e)?.delete(t)}_peer;_queue=[];_started=!1;_closed=!1;_onClose;_onmessage=null;get onmessage(){return this._onmessage}set onmessage(e){this._onmessage=e,e!==null&&this.start()}onmessageerror=null;dispatchEvent(e){e.type===`message`?this._onmessage?.call(this,e):e.type===`messageerror`&&this.onmessageerror?.call(this,e);let t=this._listeners.get(e.type);if(t)for(let[n,r]of[...t])r&&t.delete(n),typeof n==`function`?n.call(this,e):n.handleEvent(e);return!0}postMessage(e,t){let n=this._peer;!n||n._closed||queueMicrotask(()=>{if(n._closed)return;let t=new MessageEvent(`message`,{data:e});n._started?n.dispatchEvent(t):n._queue.push(t)})}start(){if(!this._started){this._started=!0;for(let e of this._queue.splice(0))this.dispatchEvent(e)}}close(){if(this._closed)return;this._closed=!0,this._queue.length=0,this._onClose?.();let e=this._peer;e&&!e._closed&&queueMicrotask(()=>{e._closed||e.dispatchEvent(new Event(`close`))})}},Tt=class{port1;port2;constructor(){let e=new wt,t=new wt;e._peer=t,t._peer=e,this.port1=e,this.port2=t}},Et=new FinalizationRegistry(e=>{try{e()}catch{}}),Dt=(e,t)=>{let n={};return Et.register(e,t,n),()=>Et.unregister(n)},Ot=/* @__PURE__ */ x({box:()=>Xt,createRevivableChannel:()=>tn,init:()=>Bt,isType:()=>Vt,markPortsShipped:()=>$t,objectsOnly:()=>!0,postPreBoxed:()=>Jt,revive:()=>Zt,type:()=>kt}),kt=`messagePort`,At=2048,jt=128,Mt=1024,Nt=/* @__PURE__ */ new WeakMap,Pt=e=>{let t=Nt.get(e);if(!t)throw Error(`osra message-port: connection state missing; did init() run?`);return t},Ft=(e,t)=>{let n=e.ports.get(t);return n||(n={nextSeq:0,buffer:/* @__PURE__ */ new Map,outSeq:0},e.ports.set(t,n),e.pendingPorts++),n},It=(e,t)=>{let n=e.ports.get(t);if(n&&!n.handler&&e.pendingPorts--,e.ports.delete(t),e.tombstones.size>=jt){let t=e.tombstones.values().next().value;t!==void 0&&e.tombstones.delete(t)}e.tombstones.add(t)},Lt=e=>{if(e.handler)for(let t=e.buffer.get(e.nextSeq);t!==void 0;t=e.buffer.get(e.nextSeq))e.buffer.delete(e.nextSeq),e.nextSeq++,e.handler(t)},Rt=(e,t)=>Ft(Pt(e),t).outSeq++,zt=(e,t,n)=>{let r=Pt(e);if(r.tombstones.has(t)){setTimeout(()=>n({type:`message-port-close`,remoteUuid:e.remoteUuid,portId:t}));return}let i=Ft(r,t);i.handler||r.pendingPorts--,i.handler=n,Lt(i)},Bt=e=>{let t={ports:/* @__PURE__ */ new Map,tombstones:/* @__PURE__ */ new Set,pendingPorts:0};Nt.set(e,t),e.eventTarget.addEventListener(`message`,({detail:n})=>{if(n.type!==`message`&&n.type!==`message-port-close`||t.tombstones.has(n.portId))return;let r=t.ports.get(n.portId);if(n.seq===void 0){r?.handler?.(n);return}if(!r){if(t.pendingPorts>=Mt)return;r=Ft(t,n.portId)}if(!(n.seq<r.nextSeq)){if(r.buffer.size>=At&&!(n.seq===r.nextSeq&&r.handler)){r.buffer.clear(),It(t,n.portId),r.handler?.({type:`message-port-close`,remoteUuid:e.remoteUuid,portId:n.portId});return}r.buffer.set(n.seq,n),Lt(r)}}),it(e,()=>{for(let[n,r]of[...t.ports])r.handler?.({type:`message-port-close`,remoteUuid:e.remoteUuid,portId:n});t.ports.clear(),t.tombstones.clear(),t.pendingPorts=0})},Vt=e=>e instanceof MessagePort||e instanceof wt,Ht=(e,t)=>{try{let n=Pt(e).ports.get(t);e.sendMessage({type:`message-port-close`,remoteUuid:e.remoteUuid,portId:t,seq:n?n.outSeq++:0})}catch{}},Ut=(e,t,n)=>{if(n){e.postMessage(t);return}let r=Ct(t);e.postMessage(t,r),$t(r)},Wt=(e,t,n,r)=>{let i;try{i=W(e,t)}catch(e){r(),globalThis.reportError?.(e);return}n(i)},Gt=(e,t,n)=>()=>{let r=e.deref();r&&Ht(r,n);let i=t.deref();i&&It(i,n)},Kt=/* @__PURE__ */ new WeakSet,qt=e=>e!==null&&(typeof e==`object`||typeof e==`function`),Jt=(e,t,n)=>{qt(t)&&Kt.add(t),e.postMessage(t,n??[])},Yt=(e,t)=>qt(e)&&Kt.delete(e)?e:_t(()=>U(e,t)),Xt=(e,t,n)=>{let r=e instanceof wt;if(!r&&!ge(t.transport))return{...H,type:kt,port:e,...n?.autoBox?{autoBox:!0}:{}};let i=Pt(t),a=e,o=globalThis.crypto.randomUUID(),s=new WeakRef(a),c=new WeakRef(t),l=new WeakRef(i),u=!1,d=()=>{if(u)return;u=!0;let e=l.deref();e&&It(e,o),m?.();let t=s.deref();t?.removeEventListener(`message`,p),t instanceof wt&&(t._onClose=void 0)},f=e=>{if(e.type===`message-port-close`){d(),a.dispatchEvent(new Event(`close`)),a.close();return}Wt(e.data,t,e=>Ut(a,e,!1),()=>{})};function p({data:e}){t.sendMessage({type:`message`,remoteUuid:t.remoteUuid,data:Yt(e,t),portId:o,seq:Rt(t,o)})}let m=Dt(a,Gt(c,l,o));return a.addEventListener(`message`,p),a.start(),a instanceof wt&&(a._onClose=()=>{u||(Ht(t,o),d())}),zt(t,o,f),{...H,type:kt,portId:o,synthetic:r}},Zt=(e,t)=>`port`in e?($t([e.port]),e.autoBox?en(e.port,t):e.port):nn(e.portId,t,e.synthetic),Qt=/* @__PURE__ */ new WeakMap,$t=e=>{for(let t of e){let e=Qt.get(t);if(e){Qt.delete(t),e.shipped=!0;for(let t of e.pending.splice(0))t()}}},en=(e,t,n)=>{let r=new EventTarget,i=({data:e})=>{Wt(e,t,e=>r.dispatchEvent(new MessageEvent(`message`,{data:e})),()=>r.dispatchEvent(new Event(`messageerror`)))},a=()=>{r.dispatchEvent(new Event(`messageerror`))},o=()=>{r.dispatchEvent(new Event(`close`))};e.addEventListener(`message`,i),e.addEventListener(`messageerror`,a),e.addEventListener(`close`,o),r.postMessage=(r,i)=>{let a=_t(()=>U(r,t)),o=Ct(a),s=Array.isArray(i)?i:[],c=s.length?[...o,...s]:o,l=()=>{e.postMessage(a,c),$t(c)};if(n&&!n.shipped){n.pending.push(l);return}l()},r.start=()=>e.start();let s=()=>{e.removeEventListener(`message`,i),e.removeEventListener(`messageerror`,a),e.removeEventListener(`close`,o),e.close()};return r.close=()=>{if(n&&!n.shipped){n.pending.push(s);return}s()},r},tn=e=>{if(ge(e.transport)){let{port1:t,port2:n}=new Tt;return{localPort:t,boxedRemote:Xt(n,e)}}let{port1:t,port2:n}=new MessageChannel,r={shipped:!1,pending:[]};return Qt.set(n,r),{localPort:en(t,e,r),boxedRemote:Xt(n,e,{autoBox:!0})}},nn=(e,t,n)=>{let r=Pt(t),{port1:i,port2:a}=n?new Tt:new MessageChannel,o=new WeakRef(i),s=new WeakRef(a),c=!1,l=!1;i instanceof wt||i.addEventListener(`close`,e=>{l&&e.stopImmediatePropagation()});let u=()=>{if(c)return;c=!0,It(r,e);let t=s.deref();t?.removeEventListener(`message`,f),t?.close(),p?.()},d=e=>{if(e.type===`message-port-close`){u();let e=o.deref();e?.dispatchEvent(new Event(`close`)),l=!0,e?.close();return}if(!o.deref()){u();return}let r=s.deref();r&&Wt(e.data,t,e=>Ut(r,e,n),()=>o.deref()?.dispatchEvent(new Event(`messageerror`)))},f=({data:n})=>{t.sendMessage({type:`message`,remoteUuid:t.remoteUuid,data:Yt(n,t),portId:e,seq:Rt(t,e)})},p=Dt(i,()=>{Ht(t,e),u()});return i instanceof wt&&(i._onClose=()=>{c||(Ht(t,e),u())}),a.addEventListener(`message`,f),a.start(),zt(t,e,d),i},rn=/* @__PURE__ */ x({box:()=>ln,isType:()=>cn,objectsOnly:()=>!0,revive:()=>un,type:()=>an}),an=`promise`,on=e=>e instanceof Promise,sn=/* @__PURE__ */ new Set,cn=e=>e instanceof Promise,ln=(e,t)=>{if(!on(e))throw TypeError(`Expected Promise`);let{localPort:n,boxedRemote:r}=tn(t),i=e=>{n.postMessage(e),n.close()};return e.then(e=>i({type:`resolve`,data:e})).catch(e=>i({type:`reject`,error:e})),{...H,type:an,port:r}},un=(e,t)=>{let n=Zt(e.port,t);sn.add(n);let r=`portId`in e.port;return new Promise((e,i)=>{let a,o=()=>{n.close(),sn.delete(n),a?.()};if(r&&at(t)){i(/* @__PURE__ */ Error(`osra: connection closed`)),o();return}a=r?it(t,()=>{i(/* @__PURE__ */ Error(`osra: connection closed`)),o()}):void 0,n.addEventListener(`message`,({data:t})=>{t.type===`resolve`?e(t.data):i(t.error),o()},{once:!0}),n.start()})},dn=/* @__PURE__ */ x({box:()=>gn,isType:()=>hn,objectsOnly:()=>!0,revive:()=>_n,type:()=>fn}),fn=`function`,pn=/* @__PURE__ */ new Set,mn=e=>{e instanceof ReadableStream?e.locked||e.cancel(/* @__PURE__ */ Error(`osra: connection closed`)).catch(()=>{}):typeof WritableStream<`u`&&e instanceof WritableStream&&(e.locked||e.abort(/* @__PURE__ */ Error(`osra: connection closed`)).catch(()=>{}))},hn=e=>typeof e==`function`,gn=(e,t)=>{let{port1:n,port2:r}=new Tt;return n.addEventListener(`message`,({data:n})=>{let[r,i]=n;(async()=>{let n;try{n={type:`return`,value:await e(...i)}}catch(e){n={type:`throw`,error:e}}if(at(t)){n.type===`return`&&mn(n.value);try{r.close()}catch{}return}let a=(()=>{try{return U(n,t)}catch(e){return U({type:`throw`,error:e},t)}})();Jt(r,a),queueMicrotask(()=>{try{r.close()}catch{}})})()}),n.start(),{...H,type:fn,port:Xt(r,t)}},_n=(e,t)=>{let n=Zt(e.port,t);return((...e)=>new Promise((r,i)=>{if(at(t)){i(/* @__PURE__ */ Error(`osra: connection closed`));return}let{port1:a,port2:o}=new Tt;pn.add(a);let s,c=()=>{a.close(),pn.delete(a),s?.()};s=it(t,()=>{i(/* @__PURE__ */ Error(`osra: connection closed`)),c()}),a.addEventListener(`message`,({data:e})=>{let t=e;t.type===`return`?r(t.value):i(t.error),c()},{once:!0}),a.start();let l=_t(()=>U([o,e],t));Jt(n,l)}))},vn=/* @__PURE__ */ x({MAX_CREDIT_WINDOW:()=>64,box:()=>wn,isType:()=>bn,objectsOnly:()=>!0,revive:()=>On,type:()=>yn}),yn=`readableStream`,bn=e=>e instanceof ReadableStream,xn=2,Sn=8,Cn=4194304,wn=(e,t)=>{let{localPort:n,boxedRemote:r}=tn(t),i=e.getReader(),a=ht(),o=0,s=!1,c=!1,l=e=>{c=!0;try{n.postMessage(e)}catch{}n.close()},u=async()=>{if(!(s||c)){for(s=!0;o>0;){let e;try{e=await i.read()}catch(e){c||l({type:`error`,error:e});return}if(c)return;if(e.done){l({type:`end`});return}o--;let t=a?gt(e.value):e.value;try{n.postMessage({type:`chunk`,value:t})}catch(e){l({type:`error`,error:e}),i.cancel(e).catch(()=>{});return}}s=!1}};return n.addEventListener(`message`,({data:e})=>{e instanceof Promise||!(`type`in e)||(e.type===`pull`?n.postMessage(i.read()):e.type===`credit`?(o+=e.n,u()):e.type===`cancel`&&(c=!0,i.cancel(e.reason).catch(()=>{}),n.close()))}),n.addEventListener(`close`,()=>{c||(c=!0,i.cancel(/* @__PURE__ */ Error(`osra: connection closed`)).catch(()=>{}))},{once:!0}),n.start(),{...H,type:yn,credit:!0,port:r}},Tn=e=>ArrayBuffer.isView(e)||e instanceof ArrayBuffer?e.byteLength:typeof e==`string`?e.length*2:typeof Blob<`u`&&e instanceof Blob?e.size:void 0,En=e=>{let t=!1,n=0,r,i=[],a=!1,o=!1,s,c,l=()=>r===void 0?Sn:Math.max(xn,Math.min(64,Math.floor(Cn/r))),u=()=>{let t=l(),r=n+i.length;if(r>t/2)return;let a=t-r;n+=a,e.postMessage({type:`credit`,n:a})},d=()=>{t=!0,queueMicrotask(()=>e.close())},f=e=>{if(o=!0,s=e,!c||i.length)return;let t=c;c=void 0,d(),t.reject(e)};return new ReadableStream({start:()=>{e.addEventListener(`message`,({data:o})=>{if(!(o instanceof Promise||!(`type`in o))){if(o.type===`chunk`){if(t)return;if(n<=0){i.length=0,f(/* @__PURE__ */ Error(`osra: stream exceeded its credit window`)),queueMicrotask(()=>e.close());return}n--;let a=Tn(o.value);if(a!==void 0&&(r=r===void 0?a:r*.875+a*.125),c){let e=c;c=void 0,e.controller.enqueue(o.value),e.resolve()}else i.push(o.value)}else if(o.type===`end`){if(t||(a=!0,!c||i.length))return;let e=c;c=void 0,d(),e.controller.close(),e.resolve()}else if(o.type===`error`){if(t)return;f(o.error)}}}),e.addEventListener(`messageerror`,()=>{t||f(/* @__PURE__ */ Error(`osra: a chunk failed to deserialize on this platform`))}),e.addEventListener(`close`,()=>{t||a||o||f(/* @__PURE__ */ Error(`osra: connection closed`))},{once:!0})},pull:e=>{if(!t){if(i.length){e.enqueue(i.shift()),!a&&!o&&u();return}if(o)return d(),Promise.reject(s);if(a){d(),e.close();return}return u(),new Promise((t,n)=>{c={controller:e,resolve:t,reject:n}})}},cancel:n=>{t=!0,i.length=0;let r=c;c=void 0,r?.resolve(),e.postMessage({type:`cancel`,reason:n}),queueMicrotask(()=>e.close())}})},Dn=e=>{let t=!1;return new ReadableStream({start:n=>{e.addEventListener(`messageerror`,()=>{if(!t){t=!0;try{n.error(/* @__PURE__ */ Error(`osra: a chunk failed to deserialize on this platform`))}catch{}queueMicrotask(()=>e.close())}}),e.addEventListener(`close`,()=>{if(!t){t=!0;try{n.error(/* @__PURE__ */ Error(`osra: connection closed`))}catch{}}},{once:!0})},pull:n=>new Promise((r,i)=>{e.addEventListener(`message`,({data:a})=>{a instanceof Promise&&a.then(i=>{i.done?(t=!0,n.close(),e.postMessage({type:`cancel`}),queueMicrotask(()=>e.close())):n.enqueue(i.value),r()}).catch(e=>{t=!0,i(e)})},{once:!0}),e.postMessage({type:`pull`})}),cancel:n=>{t=!0,e.postMessage({type:`cancel`,reason:n}),queueMicrotask(()=>e.close())}})},On=(e,t)=>{let n=Zt(e.port,t);return n.start(),e.credit?En(n):Dn(n)},kn=/* @__PURE__ */ x({box:()=>Mn,isType:()=>jn,objectsOnly:()=>!0,revive:()=>Nn,type:()=>An}),An=`writableStream`,jn=e=>e instanceof WritableStream,Mn=(e,t)=>{let{localPort:n,boxedRemote:r}=tn(t),i=e.getWriter(),a=!1,o=(e,t)=>e.then(()=>n.postMessage({type:`ack`})).catch(e=>n.postMessage({type:`err`,error:e?.message??String(e)})).then(()=>{t&&(a=!0,queueMicrotask(()=>n.close()))});return n.addEventListener(`message`,({data:e})=>{!e||typeof e!=`object`||!(`type`in e)||(e.type===`write`?o(i.write(e.chunk),!1):e.type===`close`?o(i.close(),!0):e.type===`abort`&&o(i.abort(e.reason),!0))}),n.addEventListener(`messageerror`,()=>{n.postMessage({type:`err`,error:`osra: a chunk failed to deserialize on this platform`})}),n.addEventListener(`close`,()=>{a||(a=!0,i.abort(/* @__PURE__ */ Error(`osra: connection closed`)).catch(()=>{}))},{once:!0}),n.start(),{...H,type:An,port:r,...ht()?{transferChunks:!0}:{}}},Nn=(e,t)=>{let n=Zt(e.port,t);n.start();let r=/* @__PURE__ */ new Set,i=!1;n.addEventListener(`close`,()=>{i=!0;let e=/* @__PURE__ */ Error(`osra: connection closed`);for(let t of[...r])t(e);r.clear()},{once:!0});let a=Promise.resolve(),o=e=>{let t=a.then(()=>new Promise((t,a)=>{if(i){a(/* @__PURE__ */ Error(`osra: connection closed`));return}let o=e=>{r.delete(a),e()};r.add(a),n.addEventListener(`message`,({data:e})=>{!e||typeof e!=`object`||!(`type`in e)||(e.type===`ack`?o(t):e.type===`err`&&o(()=>a(Error(e.error))))},{once:!0}),n.postMessage(e)}));return a=t.catch(()=>{}),t},s=e.transferChunks===!0;return new WritableStream({write:e=>o({type:`write`,chunk:s?gt(e):e}),close:()=>o({type:`close`}),abort:e=>o({type:`abort`,reason:e})})},Pn=/* @__PURE__ */ x({box:()=>Rn,isType:()=>In,objectsOnly:()=>!0,revive:()=>zn,type:()=>Fn}),Fn=`abortSignal`,In=e=>e instanceof AbortSignal,Ln=/* @__PURE__ */ new WeakMap,Rn=(e,t)=>{if(e.aborted)return{...H,type:Fn,aborted:!0,reason:U(e.reason,t)};let{localPort:n,boxedRemote:r}=tn(t),i=()=>{n.postMessage({type:`abort`,reason:e.reason}),n.close(),a()},a=it(t,()=>{e.removeEventListener(`abort`,i),n.close()});return e.addEventListener(`abort`,i,{once:!0}),{...H,type:Fn,aborted:!1,reason:void 0,port:r}},zn=(e,t)=>{let n=new AbortController;if(e.aborted||e.port===void 0)return n.abort(W(e.reason,t)),n.signal;let r=Zt(e.port,t);return Ln.set(n.signal,r),r.start(),r.addEventListener(`message`,({data:e})=>{e.type===`abort`&&(n.abort(W(e.reason,t)),Ln.delete(n.signal),r.close())}),n.signal},Bn=/* @__PURE__ */ x({box:()=>Un,isType:()=>Hn,objectsOnly:()=>!0,revive:()=>Wn,type:()=>Vn}),Vn=`response`,Hn=e=>e instanceof Response,Un=(e,t)=>({...H,type:Vn,status:e.status,statusText:e.statusText,headers:Ue(e.headers,t),body:e.body?wn(e.body,t):null,url:e.url,redirected:e.redirected}),Wn=(e,t)=>{if(e.status===0)return Response.error();let n=We(e.headers,t),r=e.body?On(e.body,t):null,i=e.status===101||e.status===204||e.status===205||e.status===304;r&&i&&r.cancel().catch(()=>{});let a=new Response(i?null:r,{status:e.status,statusText:e.statusText,headers:n});return e.url&&Object.defineProperty(a,"url",{value:e.url,configurable:!0}),e.redirected&&Object.defineProperty(a,"redirected",{value:!0,configurable:!0}),a},Gn=/* @__PURE__ */ x({box:()=>Jn,isType:()=>qn,objectsOnly:()=>!0,revive:()=>Yn,type:()=>Kn}),Kn=`request`,qn=e=>e instanceof Request,Jn=(e,t)=>({...H,type:Kn,method:e.method,url:e.url,headers:Ue(e.headers,t),body:e.body?wn(e.body,t):null,credentials:e.credentials,cache:e.cache,mode:e.mode,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy,integrity:e.integrity,keepalive:e.keepalive,signal:Rn(e.signal,t)}),Yn=(e,t)=>{let n=We(e.headers,t),r={method:e.method,headers:n,credentials:e.credentials,cache:e.cache,redirect:e.redirect,referrer:e.referrer,referrerPolicy:e.referrerPolicy,integrity:e.integrity,keepalive:e.keepalive,signal:zn(e.signal,t)};return e.mode!==`navigate`&&(r.mode=e.mode),e.body&&(r.body=On(e.body,t),r.duplex=`half`),new Request(e.url,r)},Xn=/* @__PURE__ */ x({box:()=>cr,boxByReference:()=>lr,identity:()=>nr,isType:()=>ar,objectsOnly:()=>!0,revive:()=>ur,type:()=>Zn}),Zn=`identity`,Qn=e=>e!==null&&(typeof e==`object`||typeof e==`function`),$n=e=>{if(e===null)return!1;let t=typeof e;return t===`object`||t===`function`||t===`symbol`&&Symbol.keyFor(e)===void 0},er=/* @__PURE__ */ new WeakMap,tr=e=>{let t=er.get(e);if(t!==void 0)return t;let n=globalThis.crypto.randomUUID();return er.set(e,n),n},nr=e=>(Qn(e)&&tr(e),e),rr=/* @__PURE__ */ new WeakMap,ir=e=>{let t=rr.get(e);if(t)return t;let n=/* @__PURE__ */ new Map,r={idToLocal:n,pins:/* @__PURE__ */ new Map,aliasIds:/* @__PURE__ */ new WeakMap,disposeRegistry:new FinalizationRegistry(t=>{if(n.delete(t),!at(e))try{e.sendMessage({type:`identity-dispose`,remoteUuid:e.remoteUuid,id:t})}catch{}})};return rr.set(e,r),e.eventTarget.addEventListener(`message`,({detail:e})=>{e?.type===`identity-dispose`&&(r.pins.delete(e.id),r.idToLocal.delete(e.id))}),it(e,()=>{r.pins.clear(),r.idToLocal.clear()}),r},ar=e=>Qn(e)&&er.has(e),or=(e,t)=>{let n=t.aliasIds.get(e);if(n!==void 0)return n;let r=tr(e),i=t.idToLocal.get(r);if(i===void 0||i.deref()===e)return r;let a=globalThis.crypto.randomUUID();return t.aliasIds.set(e,a),a},sr=(e,t,n)=>{let r=or(e,n);if(n.idToLocal.has(r))return{...H,type:Zn,id:r};let i=t();return n.idToLocal.set(r,new WeakRef(e)),n.disposeRegistry.register(e,r,e),li(()=>{},()=>{n.idToLocal.delete(r),n.disposeRegistry.unregister(e)}),{...H,type:Zn,id:r,inner:i}},cr=(e,t)=>{let n=ir(t),r=()=>hi(e,t,Zn);return $n(e)?sr(e,r,n):{...H,type:Zn,id:globalThis.crypto.randomUUID(),inner:r()}},lr=(e,t,n)=>sr(e,()=>t,ir(n)),ur=(e,t)=>{let n=ir(t);if(n.pins.has(e.id))return n.pins.get(e.id);let r=n.idToLocal.get(e.id)?.deref();if(r!==void 0)return r;if(!(`inner`in e)||e.inner===void 0){try{t.sendMessage({type:`identity-dispose`,remoteUuid:t.remoteUuid,id:e.id})}catch{}throw Error(`osra identity: received id=${e.id} with no inner payload and nothing local to resolve it to`)}let i=W(e.inner,t);return n.pins.set(e.id,i),$n(i)&&(er.has(i)||er.set(i,e.id),n.idToLocal.set(e.id,new WeakRef(i))),i},dr=/* @__PURE__ */ x({box:()=>pr,isType:()=>fr,objectsOnly:()=>!0,revive:()=>mr,type:()=>`map`}),fr=e=>e instanceof Map,pr=(e,t)=>({...H,type:`map`,entries:Array.from(e,([e,n])=>[U(e,t),U(n,t)])}),mr=(e,t)=>new Map(e.entries.map(([e,n])=>[W(e,t),W(n,t)])),hr=/* @__PURE__ */ x({box:()=>_r,isType:()=>gr,objectsOnly:()=>!0,revive:()=>vr,type:()=>`set`}),gr=e=>e instanceof Set,_r=(e,t)=>({...H,type:`set`,values:Array.from(e,e=>U(e,t))}),vr=(e,t)=>new Set(e.values.map(e=>W(e,t))),yr=/* @__PURE__ */ x({box:()=>Sr,isType:()=>xr,revive:()=>Cr,type:()=>br}),br=`bigint`,xr=e=>typeof e==`bigint`,Sr=(e,t)=>({...H,type:br,value:e.toString()}),Cr=(e,t)=>BigInt(e.value),wr=/* @__PURE__ */ x({box:()=>Dr,isType:()=>Er,objectsOnly:()=>!0,revive:()=>Or,type:()=>Tr}),Tr=`event`,Er=e=>e instanceof Event,Dr=(e,t)=>({...H,type:Tr,eventType:e.type,bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed,...e instanceof CustomEvent?{detail:U(e.detail,t)}:{}}),Or=(e,t)=>{let n={bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed};return`detail`in e?new CustomEvent(e.eventType,{...n,detail:W(e.detail,t)}):new Event(e.eventType,n)},kr=/* @__PURE__ */ x({box:()=>Mr,isType:()=>jr,objectsOnly:()=>!0,revive:()=>Ir,type:()=>Ar}),Ar=`eventTarget`,jr=e=>e instanceof EventTarget,Mr=(e,t)=>{let n=[],r=e=>typeof e==`boolean`?e:!!e?.capture;return{...H,type:Ar,addListener:gn((t,i,a)=>{n.push({eventType:t,listener:i,capture:r(a)}),e.addEventListener(t,i,a)},t),removeListener:gn((t,i,a)=>{let o=r(a),s=n.findIndex(e=>e.eventType===t&&e.listener===i&&e.capture===o);s!==-1&&n.splice(s,1),e.removeEventListener(t,i,a)},t),removeAllListeners:gn(()=>{for(let{eventType:t,listener:r,capture:i}of n.splice(0))e.removeEventListener(t,r,{capture:i})},t)}},Nr=/* @__PURE__ */ new WeakMap,Pr=e=>{if(typeof e==`function`)return e;let t=Nr.get(e);return t||Nr.set(e,t=t=>e.handleEvent(t)),t},Fr=(e,t,n,r)=>e.find(e=>e.eventType===t&&e.listener===n&&e.capture===r),Ir=(e,t)=>{let n=_n(e.addListener,t),r=_n(e.removeListener,t),i=_n(e.removeAllListeners,t),a=new EventTarget,o=[],s=e=>{let t=o.indexOf(e);t!==-1&&o.splice(t,1)};return Object.defineProperty(a,"addEventListener",{value:(e,t,r)=>{if(t===null)return;let i=Pr(t),a=typeof r==`boolean`?r:!!r?.capture;if(Fr(o,e,i,a))return;let c=typeof r==`object`&&r?.once?e=>(s(l),i(e)):i,l={eventType:e,listener:i,capture:a,wire:c};o.push(l),(typeof r==`object`?r?.signal:void 0)?.addEventListener(`abort`,()=>s(l),{once:!0}),n(e,nr(c),r).catch(()=>{})}}),Object.defineProperty(a,"removeEventListener",{value:(e,t,n)=>{if(t===null)return;let i=Pr(t),a=typeof n==`boolean`?n:!!n?.capture,c=Fr(o,e,i,a);c&&(s(c),r(e,nr(c.wire),{capture:a}).catch(()=>{}))}}),Dt(a,()=>{i().catch(()=>{})}),a},Lr=/* @__PURE__ */ x({box:()=>Br,isType:()=>zr,revive:()=>Vr,type:()=>Rr}),Rr=`symbol`,zr=e=>typeof e==`symbol`,Br=(e,t)=>{let n=Symbol.keyFor(e);return n===void 0?lr(e,{...H,type:Rr,description:e.description},t):{...H,type:Rr,registryKey:n}},Vr=(e,t)=>`registryKey`in e?Symbol.for(e.registryKey):Symbol(e.description),Hr=/* @__PURE__ */ x({box:()=>Gr,isType:()=>Wr,objectsOnly:()=>!0,revive:()=>Kr,type:()=>Ur}),Ur=`asyncIterator`,Wr=e=>!e||typeof e!=`object`||typeof ReadableStream<`u`&&e instanceof ReadableStream?!1:typeof e[Symbol.asyncIterator]==`function`,Gr=(e,t)=>{let n=e[Symbol.asyncIterator]();return{...H,type:Ur,next:gn((e=>n.next(e)),t),return:gn((e=>n.return?.(e)??Promise.resolve({done:!0,value:e})),t),throw:gn((e=>n.throw?.(e)??Promise.reject(e)),t)}},Kr=(e,t)=>{let n=_n(e.next,t),r=_n(e.return,t),i=_n(e.throw,t),a={next:(...e)=>n(...e),return:e=>r(e),throw:e=>i(e),[Symbol.asyncIterator]:()=>a};return a},qr=[globalThis.File,globalThis.FileList,globalThis.RegExp,globalThis.DataView,globalThis.ImageData,globalThis.FormData,globalThis.DOMException,globalThis.DOMMatrix,globalThis.DOMMatrixReadOnly,globalThis.DOMPoint,globalThis.DOMPointReadOnly,globalThis.DOMQuad,globalThis.DOMRect,globalThis.DOMRectReadOnly,globalThis.CryptoKey,globalThis.FileSystemHandle,globalThis.FileSystemFileHandle,globalThis.FileSystemDirectoryHandle,globalThis.RTCCertificate],Jr=[globalThis.CropTarget,globalThis.EncodedAudioChunk,globalThis.EncodedVideoChunk,globalThis.FencedFrameConfig,globalThis.GPUCompilationInfo,globalThis.GPUCompilationMessage,globalThis.GPUPipelineError,globalThis.RTCEncodedAudioFrame,globalThis.RTCEncodedVideoFrame,globalThis.WebTransportError],Yr={type:`clonable`,capableOnly:!0,objectsOnly:!0,isType:e=>B(e,qr)||B(e,Jr),box:(e,t)=>e,revive:(e,t)=>e},Xr=[globalThis.ImageBitmap,globalThis.OffscreenCanvas,globalThis.WritableStream,globalThis.TransformStream,globalThis.MediaStreamTrack,globalThis.RTCDataChannel],Zr=[globalThis.AudioData,globalThis.VideoFrame,globalThis.MediaSourceHandle,globalThis.MIDIAccess,globalThis.WebTransportReceiveStream,globalThis.WebTransportSendStream],Qr={type:`transferable`,capableOnly:!0,objectsOnly:!0,isType:e=>B(e,Xr)||B(e,Zr),box:(e,t)=>e,revive:(e,t)=>e},$r={type:`blob`,capableOnly:!0,objectsOnly:!0,isType:e=>typeof Blob<`u`&&e instanceof Blob,box:(e,t)=>{if(ge(t.transport))throw TypeError(`osra: Blob is only supported on structured-clone transports, send an ArrayBuffer or Uint8Array instead`);return e},revive:(e,t)=>e},ei=e=>{if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},ti=[st,Xn,Ae,Fe,Be,Ge,Ze,rn,dn,Ot,vn,kn,Pn,Bn,Gn,dr,hr,yr,Lr,wr,Hr,{type:`nonFiniteNumber`,isType:e=>typeof e==`number`&&!Number.isFinite(e),box:(e,t)=>ge(t.transport)?{...H,type:`nonFiniteNumber`,value:String(e)}:e,revive:(e,t)=>Number(e.value)},{type:`undefined`,isType:e=>e===void 0,box:(e,t)=>ge(t.transport)?{...H,type:`undefined`}:e,revive:(e,t)=>void 0},Yr,Qr,$r,kr,{type:`unclonable`,objectsOnly:!0,isType:e=>{if(typeof e!=`object`||!e||Array.isArray(e)||ei(e))return!1;try{return structuredClone(e),!1}catch{return!0}},box:(e,t)=>({...H,type:`unclonable`}),revive:(e,t)=>({})}],ni=(e,t)=>t.find(t=>t.type===e.type),ri=e=>!!e&&typeof e==`object`&&Object.getPrototypeOf(e)===Object.prototype,ii=(e,t)=>Array.isArray(e)?e.map(e=>t(e)):ri(e)?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,t(n)])):e,ai=/* @__PURE__ */ new WeakSet,oi=/* @__PURE__ */ new WeakSet,si=0,ci=[],li=(e,t)=>{if(si===0){e();return}ci.push({commit:e,rollback:t})},ui=e=>{let t=ci;ci=[];for(let n of t)try{e?n.rollback():n.commit()}catch{}},di=e=>e!==null&&(typeof e==`object`||typeof e==`function`),fi=/* @__PURE__ */ new WeakMap,pi=e=>{let t=fi.get(e);if(t)return t;let n=e.filter(e=>!e.objectsOnly);return fi.set(e,n),n},mi=(e,t,n)=>{let r=(e===null||typeof e!=`object`&&typeof e!=`function`?pi(t.revivableModules):t.revivableModules).find(t=>t.type!==n&&t.isType(e));return r?r.box(e,t):ii(e,e=>U(e,t))},U=(e,t)=>{if(De(e))return e;let n=di(e);if(n){if(ai.has(e))throw TypeError(`osra: cannot serialize a circular structure - break the cycle or send the container by reference`);ai.add(e)}si++;let r=!0;try{let n=mi(e,t);return r=!1,n}finally{n&&ai.delete(e),si--,si===0&&ui(r)}},hi=(e,t,n)=>mi(e,t,n),W=(e,t)=>{let n=di(e);if(n){if(oi.has(e))throw TypeError(`osra: cannot revive a circular structure`);oi.add(e)}try{if(De(e)){let n=ni(e,t.revivableModules);if(n)return n.revive(e,t)}return ii(e,e=>W(e,t))}finally{n&&oi.delete(e)}},gi=/* @__PURE__ */ x({init:()=>yi,startBidirectionalConnection:()=>vi,type:()=>_i}),_i=`bidirectional`,vi=({transport:e,value:t,remoteUuid:n,eventTarget:r,send:i,revivableModules:a})=>{let o={transport:e,remoteUuid:n,sendMessage:i,eventTarget:r,revivableModules:a};for(let e of a)e.init?.(o);let{promise:s,resolve:c}=Promise.withResolvers();return r.addEventListener(`message`,function e({detail:t}){t.type===`init`&&(c(t.data),r.removeEventListener(`message`,e))}),i({type:`init`,remoteUuid:n,data:U(t,o)}),{revivableContext:o,remoteValue:s.then(e=>W(e,o))}},yi=e=>{if(!(_e(e.transport)&&ve(e.transport)))return;if(e.protocolEventTarget.addEventListener(`message`,({detail:{message:t,peer:n}})=>{if(t.type===`announce`){if(!t.remoteUuid){e.sendMessage({type:`announce`,remoteUuid:t.uuid});return}if(t.remoteUuid!==e.getUuid()||e.connectionContexts.has(t.uuid))return;e.sendMessage({type:`announce`,remoteUuid:t.uuid});let r=e.createConnectionEventTarget(),i={...n(),abort:()=>e.abortConnection(t.uuid)},a;try{let n=e.valueFor(i);if(e.claimPendingAbort(t.uuid)){e.sendMessage({type:`close`,remoteUuid:t.uuid});return}a=vi({transport:e.transport,value:n,remoteUuid:t.uuid,eventTarget:r,send:t=>e.sendMessage(t),revivableModules:e.revivableModules})}catch(n){e.sendMessage({type:`close`,remoteUuid:t.uuid}),e.rejectRemoteValue(n);return}let o={type:`bidirectional`,eventTarget:r,connection:a};e.connectionContexts.set(t.uuid,o),o.connection.remoteValue.then(t=>e.addConnection(i,t),t=>e.rejectRemoteValue(t));return}if(t.type===`close`){if(t.remoteUuid!==e.getUuid())return;let n=e.connectionContexts.get(t.uuid);if(!n)return;e.connectionContexts.delete(t.uuid),ot(n.connection.revivableContext),e.rejectRemoteValue(/* @__PURE__ */ Error(`osra: peer closed the connection`));return}if(t.remoteUuid!==e.getUuid())return;let r=e.connectionContexts.get(t.uuid);r&&r.eventTarget.dispatchEvent(new CustomEvent(`message`,{detail:t}))}),e.presetRemoteUuid!==void 0){let t=e.presetRemoteUuid,n=e.createConnectionEventTarget(),r,i;try{i={abort:()=>e.abortConnection(t)};let a=e.valueFor(i);if(e.claimPendingAbort(t)){e.sendMessage({type:`close`,remoteUuid:t});return}r=vi({transport:e.transport,value:a,remoteUuid:e.presetRemoteUuid,eventTarget:n,send:t=>e.sendMessage(t),revivableModules:e.revivableModules})}catch(n){e.sendMessage({type:`close`,remoteUuid:t}),e.rejectRemoteValue(n);return}let a={type:`bidirectional`,eventTarget:n,connection:r};e.connectionContexts.set(e.presetRemoteUuid,a),a.connection.remoteValue.then(t=>e.addConnection(i,t),t=>e.rejectRemoteValue(t));return}let t=50,n,r=()=>{if(!(e.unregisterSignal?.aborted||e.connectionContexts.size>0)){try{e.sendMessage({type:`announce`},`*`)}catch{}n=setTimeout(r,t),t=Math.min(t*2,1e3)}};e.unregisterSignal?.addEventListener(`abort`,()=>clearTimeout(n),{once:!0}),r()},bi=()=>new EventTarget,xi=e=>{let t=Se(e),n=t?e.emit:e,r=t?e.receive:e;return{isJson:t&&`isJson`in e&&e.isJson!==void 0?e.isJson:n!==void 0&&ge(n)||r!==void 0&&ge(r),...n===void 0?{}:{emit:n},...r===void 0?{}:{receive:r}}},Si=e=>e?e(ti):ti,Ci=32,wi=()=>{let e=[],t=/* @__PURE__ */ new Set,n=!1,r=()=>({value:void 0,done:!0});return{push:r=>{if(!n){if(t.size===0){e.push(r),e.length>Ci&&e.shift();return}for(let e of t){let t=e.wake;if(t){e.wake=void 0,t({value:r,done:!1});continue}e.buffered.push(r)}}},close:()=>{n=!0;for(let e of t){let t=e.wake;e.wake=void 0,t?.(r())}},iterate:()=>{let i={buffered:[...e]};t.add(i);let a=!1;return{[Symbol.asyncIterator](){return this},next:()=>{if(a)return Promise.resolve(r());let e=i.buffered.shift();return e?Promise.resolve({value:e,done:!1}):n?Promise.resolve(r()):new Promise(e=>{i.wake=e})},return:()=>{a=!0,t.delete(i);let e=i.wake;return i.wake=void 0,e?.(r()),Promise.resolve(r())}}}}},Ti=(e,t,n)=>{let r=e.then(n);r.catch(()=>{});let i=()=>{let e=t.iterate();return{[Symbol.asyncIterator](){return this},next:()=>e.next().then(e=>e.done?{value:void 0,done:!0}:{value:n(e.value),done:!1}),return:()=>e.return?.()??Promise.resolve({value:void 0,done:!0})}};return Object.assign(r,{[Symbol.asyncIterator]:i})},Ei=Symbol.for(`osra.context`),Di=e=>typeof e==`object`&&!!e&&Ei in e,Oi=[gi],ki=(e,{transport:t,name:n,remoteName:r,key:i=C,origin:a=`*`,unregisterSignal:o,revivableModules:s,uuid:c,remoteUuid:l,connection:u=({value:e})=>e})=>{let d=u,f=xi(t);if(!(_e(f)&&ve(f))){let e=wi();e.close();let t=Promise.reject(/* @__PURE__ */ Error(`osra: transport must be able to both emit and receive to establish a connection; pass a bidirectional platform transport or a custom { emit, receive } pair`));return t.catch(()=>{}),Ti(t,e,d)}let p=Si(s),m=/* @__PURE__ */ new Map,h=/* @__PURE__ */ new Set,g=wi(),{promise:_,resolve:v,reject:y}=Promise.withResolvers();_.catch(()=>{});let b=c??globalThis.crypto.randomUUID(),x=(e,t=a)=>{let r={[S]:i,name:n,uuid:b,...e},o=Ct(r);j(f,r,t,o),$t(o)},w=(e,t)=>{o?.aborted||x(e,t)},T=bi(),E={transport:f,valueFor:t=>Di(e)?e[Ei](t):e,revivableModules:p,connectionContexts:m,getUuid:()=>b,presetRemoteUuid:l,sendMessage:w,protocolEventTarget:T,rejectRemoteValue:y,abortConnection:e=>{let t=m.get(e);if(!t){h.add(e);return}m.delete(e),x({type:`close`,remoteUuid:e}),ot(t.connection.revivableContext),y(/* @__PURE__ */ Error(`osra: connection aborted`))},claimPendingAbort:e=>h.delete(e),addConnection:(e,t)=>{let n={value:t,context:e};v(n),g.push(n)},createConnectionEventTarget:bi,unregisterSignal:o};if(k({listener:(e,t)=>{e.uuid!==b&&T.dispatchEvent(new CustomEvent(`message`,{detail:{message:e,peer:()=>({...t.origin?{origin:t.origin}:{},...t.source?{source:t.source}:{},...t.port?{port:t.port}:{},...t.sender?{sender:t.sender}:{}})}}))},transport:f,remoteName:r,key:i,origin:a,unregisterSignal:o}),o?.aborted)return y(o.reason),g.close(),Ti(_,g,d);o?.addEventListener(`abort`,()=>{for(let[e,t]of m)x({type:`close`,remoteUuid:e}),ot(t.connection.revivableContext);m.clear(),g.close(),y(o.reason)},{once:!0});for(let e of Oi)e.init(E);return Ti(_,g,d)},Ai=(e,t)=>ki(e,t),ji=1e4,Mi=16,Ni=e=>{let t;try{t=e.contentWindow}catch{return!0}if(!t)return!0;try{let e=t.location.href;return e!==``&&e!==`about:blank`}catch{return!0}},Pi=(e,t=ji)=>new Promise(n=>{if(Ni(e))return n();let r=()=>{clearInterval(i),clearTimeout(a),e.removeEventListener(`load`,r),n()},i=setInterval(()=>{Ni(e)&&r()},Mi),a=setTimeout(r,t);e.addEventListener(`load`,r)}),Fi=32,Ii=8,Li=120,Ri=typeof CSS<`u`&&CSS.supports(`clip-path`,`path('M0 0H1V1H0Z')`),zi=typeof CSS<`u`&&CSS.supports(`clip-path`,`polygon(nonzero, 0px 0px, 1px 0px, 1px 1px)`),Bi=e=>{let t=e.style;t.setProperty(`display`,`block`,`important`),t.setProperty(`position`,`fixed`,`important`),t.setProperty(`top`,`0`,`important`),t.setProperty(`left`,`0`,`important`),t.setProperty(`width`,`100%`,`important`),t.setProperty(`height`,`100%`,`important`),t.setProperty(`border`,`none`,`important`),t.setProperty(`padding`,`0`,`important`),t.setProperty(`box-sizing`,`border-box`,`important`),t.setProperty(`clip-path`,`inset(100%)`,`important`),t.setProperty(`background`,`transparent`),t.setProperty(`color-scheme`,`normal`),t.setProperty(`z-index`,`2147483647`),e.setAttribute(`title`,`FKN`)},Vi=({x:e,y:t,width:n,height:r,radius:i})=>{if(!i)return`M${e} ${t}h${n}v${r}h${-n}Z`;let a=Math.min(n,r)/2,[o,s,c,l]=i.map(e=>Math.max(0,Math.min(e,a)));return`M${e+o} ${t}h${n-o-s}a${s} ${s} 0 0 1 ${s} ${s}v${r-s-c}a${c} ${c} 0 0 1 ${-c} ${c}h${-(n-c-l)}a${l} ${l} 0 0 1 ${-l} ${-l}v${-(r-l-o)}a${o} ${o} 0 0 1 ${o} ${-o}Z`},Hi=()=>Ri&&zi,Ui=({x:e,y:t,width:n,height:r})=>[[e,t],[e+n,t],[e+n,t+r],[e,t+r],[e,t]],Wi=e=>{let t=e[0];if(!t)return[];let n=Ui(t)[0],r=[];return e.forEach((t,i)=>{r.push(...Ui(t)),i>0&&i<e.length-1&&r.push(n)}),r},Gi=e=>`polygon(nonzero, ${Wi(e).map(([e,t])=>`${e}px ${t}px`).join(`, `)})`,Ki=({x:e,y:t,width:n,height:r,radius:i},a)=>{let o=`${t}px ${a.width-e-n}px ${a.height-t-r}px ${e}px`;return i?`inset(${o} round ${i.map(e=>`${e}px`).join(` `)})`:`inset(${o})`},qi=(e,t,n)=>{if(t)return`none`;if(e.length===0)return`inset(100%)`;let r=e.length===1?e[0]:void 0;return r?Ki(r,n):zi&&e.length<=5&&!e.some(e=>e.radius)?Gi(e):`path('${e.map(Vi).join(``)}')`},Ji=e=>{if(e.length<2)return null;let t=Math.min(...e.map(e=>e.x)),n=Math.min(...e.map(e=>e.y));return{x:t,y:n,width:Math.max(...e.map(e=>e.x+e.width))-t,height:Math.max(...e.map(e=>e.y+e.height))-n}},Yi=(e,t,n)=>t>=e.x&&t<e.x+e.width&&n>=e.y&&n<e.y+e.height,Xi=16,Zi=(e,t,n)=>t===1?e*Xi:t===2?e*n:e,Qi=(e,t,n)=>{let r=getComputedStyle(e);return n!==0&&/auto|scroll/.test(r.overflowY)&&e.scrollHeight>e.clientHeight?!0:t!==0&&/auto|scroll/.test(r.overflowX)&&e.scrollWidth>e.clientWidth},$i=(e,t,n)=>{for(let r=e;r;r=r.parentElement)if(Qi(r,t,n))return r;return document.scrollingElement},ea=null,ta=null,na=e=>({width:e.offsetWidth||window.innerWidth,height:e.offsetHeight||window.innerHeight}),ra=e=>{if(!ta||!ea||!Yi(ta,e.clientX,e.clientY))return;let t=document.elementFromPoint(e.clientX,e.clientY);if(!t||t===ea)return;let n=Zi(e.deltaX,e.deltaMode,window.innerWidth),r=Zi(e.deltaY,e.deltaMode,window.innerHeight),i=$i(t,n,r);i&&(i.scrollBy({left:n,top:r,behavior:`instant`}),e.cancelable&&e.preventDefault())},ia=e=>{let t=ta!==null;ta=e,t!==(e!==null)&&(e?window.addEventListener(`wheel`,ra,{capture:!0,passive:!1}):window.removeEventListener(`wheel`,ra,{capture:!0}))},aa=0,oa=e=>{if(e===aa)return;aa=e;let t=document.documentElement.style;e>0?(t.setProperty(`margin-top`,`${e}px`,`important`),t.setProperty(`--fkn-inset-top`,`${e}px`)):(t.removeProperty(`margin-top`),t.removeProperty(`--fkn-inset-top`))},sa=(e,{modal:t,rects:n,inset:r},i)=>{if(oa(r),!Ri){let r=t||n.length>0;e.style.setProperty(`pointer-events`,r?`auto`:`none`,`important`),e.style.setProperty(`visibility`,r?`visible`:`hidden`,`important`);return}let a=qi(n,t,i),o=a===`none`||CSS.supports(`clip-path`,a)?a:`inset(100%)`;e.style.setProperty(`clip-path`,o,`important`),ia(t||o!==a?null:Ji(n))},ca=e=>{if(typeof e!=`object`||!e)return 0;let{top:t}=e;return typeof t!=`number`||!Number.isFinite(t)||t<=0?0:Math.min(Math.round(t),Li)},la=e=>{if(Array.isArray(e)&&e.length===4&&e.every(e=>typeof e==`number`&&Number.isFinite(e)&&e>=0))return e.some(e=>e>0)?e:void 0},ua=(e,t)=>{if(typeof e!=`object`||!e)return null;let{x:n,y:r,width:i,height:a}=e;if(![n,r,i,a].every(e=>typeof e==`number`&&Number.isFinite(e)))return null;let o=t.width,s=t.height,c=Math.max(0,Math.min(Math.round(n),o)),l=Math.max(0,Math.min(Math.round(r),s)),u=Math.max(c,Math.min(Math.round(n+i),o)),d=Math.max(l,Math.min(Math.round(r+a),s)),f=la(e.radius);return{x:c,y:l,width:u-c,height:d-l,...f?{radius:f}:{}}},da={"not-rendered":`this page is not painting it at all, so it or an ancestor is display:none, or the frame was moved out of the layout`,clipped:`it is clipped away or positioned outside the viewport`,"not-shown":`it is rendered but would not be seen, so either something is drawn over it, or it or an ancestor has opacity below 1, visibility:hidden, or a filter`},fa=e=>Array.isArray(e)?e.slice(0,Ii).flatMap(e=>{if(typeof e!=`object`||!e)return[];let{kind:t,cause:n,level:r}=e;return typeof t!=`string`||t.length>40||typeof n!=`string`||!(n in da)||r!==`full`&&r!==`liveness`?[]:[{kind:t,cause:n,level:r}]}):[],pa=/* @__PURE__ */ new Set,ma=e=>{for(let{kind:t,cause:n,level:r}of e)pa.has(t)||(pa.add(t),console.error(`[FKN] The FKN ${JSON.stringify(t)} is not visible on this page: ${da[n]}. Nobody using this page can see or answer it.
|
|
2
|
+
@fkn/lib draws its UI inside <iframe title="FKN"> and sets display, position, top, left, width, height, border, padding, box-sizing, clip-path and z-index on that element. Leave those as they are, then check for an ancestor with opacity, visibility, display or a clipping transform, and for an element stacked above it.`+(r===`liveness`?`
|
|
3
|
+
This browser reports limited detail, so the cause above is a best guess.`:``)))},ha=(e,t)=>{if(typeof e!=`object`||!e)return null;let n=e,r=(Array.isArray(n.rects)?n.rects.slice(0,Fi):[]).map(e=>ua(e,t)).filter(e=>e!==null&&e.width>0&&e.height>0);return{modal:n.modal===!0,rects:r,hidden:fa(n.hidden),inset:ca(n.inset)}},ga=()=>ea!==null,_a=null,va=null,ya=()=>{if(!ea||_a===null)return;let e=na(ea),t=ha(_a,e);t&&sa(ea,t,e)},ba=e=>{typeof ResizeObserver>`u`||(va??=new ResizeObserver(ya),va.disconnect(),va.observe(e))},xa=e=>{Bi(e),sa(e,{modal:!1,rects:[],hidden:[],inset:0},na(e)),ea=e,ba(e)},Sa=e=>{if(!ea)return;let t=na(ea),n=ha(e,t);n&&(_a=e,sa(ea,n,t),ma(n.hidden))},Ca=`https://fkn.app`,wa=typeof globalThis<`u`&&globalThis.document?globalThis.document:void 0,Ta=typeof globalThis<`u`&&globalThis.crossOriginIsolated===!0,Ea=`${Ca}/api${Ta?`?coi=1`:``}`,Da=`fkn-api-port`,Oa=`fkn-api-port-ack`,ka=2e3,Aa=()=>{if(!wa||typeof window>`u`||window.parent===window)return Promise.resolve(void 0);let e;try{e=window.parent}catch{return Promise.resolve(void 0)}let t=new MessageChannel;return new Promise(n=>{let r=e=>{if(clearTimeout(a),t.port1.removeEventListener(`message`,i),!e)try{t.port1.close()}catch{}n(e)},i=e=>{e.data?.type===Oa&&r(t.port1)},a=setTimeout(()=>r(void 0),ka);t.port1.addEventListener(`message`,i),t.port1.start();try{e.postMessage({type:Da},Ca,[t.port2])}catch{r(void 0)}})},ja,Ma=()=>{if(ja||!wa)return ja;let e=wa.querySelector(`iframe[src="${Ea}"]`);if(e)ja=e;else{let e=wa.createElement(`iframe`);Ta&&e.setAttribute(`allow`,`cross-origin-isolated`),e.src=Ea,wa.body.appendChild(e),ja=e}return xa(ja),ja},Na=(async()=>{if(!wa)return;let e=await Aa();if(e)return{receive:e,emit:e};let t=Ma();if(!t)return;await Pi(t);let n=t.contentWindow;return n?{receive:window,emit:n}:void 0})(),Pa=e=>{let t,n=()=>{},r=new Promise(e=>{n=e}),i=/* @__PURE__ */ new Set,a=/* @__PURE__ */ new Set,o=0,s=0;(async()=>{for await(let r of e){let e=(t?.epoch??0)+1;t={remote:r,epoch:e},e===1&&n(r);let o=[...a];a.clear();let s=/* @__PURE__ */ Error(`FKN: the broker was replaced while this call was pending; retry it`);for(let e of o)try{e(s)}catch{}for(let t of[...i])try{t(r,e)}catch{}}})().catch(()=>{});let c=async(e,n)=>{let i=t?.remote??await r;for(let t of e.slice(0,-1))i=i[t];let c=i[e[e.length-1]??``];o=Date.now(),s+=1;let l=()=>{},u=new Promise((e,t)=>{l=t});a.add(l);try{return await Promise.race([Promise.resolve(c.apply(i,n)),u])}finally{--s,a.delete(l),o=Date.now()}},l=/* @__PURE__ */ new Map,u=e=>{let n=e.join(`\0`),r=l.get(n);if(r)return r;let i=new Proxy(function(){},{get:(n,r)=>{if(typeof r!=`string`||r===`then`)return;let i=t;if(i){let t=i.remote;for(let n of e)t=t?.[n];if(t?.[r]===void 0)return}return u([...e,r])},apply:(t,n,r)=>c(e,r)});return l.set(n,i),i};return{facade:u([]),first:r.then(()=>{}),current:()=>t,onEpoch:e=>{if(i.add(e),t)try{e(t.remote,t.epoch)}catch{}return()=>{i.delete(e)}},lastCall:()=>o,inFlight:()=>s}},Fa=async()=>{if(typeof window<`u`)return Na;if(typeof self<`u`)return{receive:self,emit:self}},Ia=Pa({async*[Symbol.asyncIterator](){let e=await Fa();if(!e){await new Promise(()=>{});return}yield*Ai({},{key:`fkn-api`,transport:e})}}),La=Ia.first.then(()=>Ia.facade),Ra=Ia.onEpoch;Ia.current,Ia.lastCall,Ia.inFlight,Ra(e=>{ga()&&e.overlay.setHost(Sa,{exactClips:Hi()}).catch(()=>{})});var za=/* @__PURE__ */ new Map,Ba=e=>{za.set(e,(za.get(e)??0)+1);let t=!1;return()=>{t||(t=!0,za.set(e,Math.max(0,(za.get(e)??1)-1)))}},Va=/* @__PURE__ */ t(((e,t)=>{var n=typeof Reflect==`object`?Reflect:null,r=n&&typeof n.apply==`function`?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},i=n&&typeof n.ownKeys==`function`?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};function a(e){console&&console.warn&&console.warn(e)}var o=Number.isNaN||function(e){return e!==e};function s(){s.init.call(this)}t.exports=s,t.exports.once=y,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var c=10;function l(e){if(typeof e!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof e)}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return c},set:function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received `+e+`.`);c=e}}),s.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if(typeof e!=`number`||e<0||o(e))throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+e+`.`);return this._maxListeners=e,this};function u(e){return e._maxListeners===void 0?s.defaultMaxListeners:e._maxListeners}s.prototype.getMaxListeners=function(){return u(this)},s.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i=e===`error`,a=this._events;if(a!==void 0)i&&=a.error===void 0;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var s=/* @__PURE__ */ Error(`Unhandled error.`+(o?` (`+o.message+`)`:``));throw s.context=o,s}var c=a[e];if(c===void 0)return!1;if(typeof c==`function`)r(c,this,t);else for(var l=c.length,u=g(c,l),n=0;n<l;++n)r(u[n],this,t);return!0};function d(e,t,n,r){var i,o,s;if(l(n),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit(`newListener`,t,n.listener?n.listener:n),o=e._events),s=o[t]),s===void 0)s=o[t]=n,++e._eventsCount;else if(typeof s==`function`?s=o[t]=r?[n,s]:[s,n]:r?s.unshift(n):s.push(n),i=u(e),i>0&&s.length>i&&!s.warned){s.warned=!0;var c=/* @__PURE__ */ Error(`Possible EventEmitter memory leak detected. `+s.length+` `+String(t)+` listeners added. Use emitter.setMaxListeners() to increase limit`);c.name=`MaxListenersExceededWarning`,c.emitter=e,c.type=t,c.count=s.length,a(c)}return e}s.prototype.addListener=function(e,t){return d(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return d(this,e,t,!0)};function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=f.bind(r);return i.listener=n,r.wrapFn=i,i}s.prototype.once=function(e,t){return l(t),this.on(e,p(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return l(t),this.prependListener(e,p(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,i,a,o;if(l(t),r=this._events,r===void 0||(n=r[e],n===void 0))return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit(`removeListener`,e,n.listener||t));else if(typeof n!=`function`){for(i=-1,a=n.length-1;a>=0;a--)if(n[a]===t||n[a].listener===t){o=n[a].listener,i=a;break}if(i<0)return this;i===0?n.shift():_(n,i),n.length===1&&(r[e]=n[0]),r.removeListener!==void 0&&this.emit(`removeListener`,e,o||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,n=this._events,r;if(n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var i=Object.keys(n),a;for(r=0;r<i.length;++r)a=i[r],a!==`removeListener`&&this.removeAllListeners(a);return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}if(t=n[e],typeof t==`function`)this.removeListener(e,t);else if(t!==void 0)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this};function m(e,t,n){var r=e._events;if(r===void 0)return[];var i=r[t];return i===void 0?[]:typeof i==`function`?n?[i.listener||i]:[i]:n?v(i):g(i,i.length)}s.prototype.listeners=function(e){return m(this,e,!0)},s.prototype.rawListeners=function(e){return m(this,e,!1)},s.listenerCount=function(e,t){return typeof e.listenerCount==`function`?e.listenerCount(t):h.call(e,t)},s.prototype.listenerCount=h;function h(e){var t=this._events;if(t!==void 0){var n=t[e];if(typeof n==`function`)return 1;if(n!==void 0)return n.length}return 0}s.prototype.eventNames=function(){return this._eventsCount>0?i(this._events):[]};function g(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e[r];return n}function _(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function v(e){for(var t=Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}function y(e,t){return new Promise(function(n,r){function i(n){e.removeListener(t,a),r(n)}function a(){typeof e.removeListener==`function`&&e.removeListener(`error`,i),n([].slice.call(arguments))}x(e,t,a,{once:!0}),t!==`error`&&b(e,i,{once:!0})})}function b(e,t,n){typeof e.on==`function`&&x(e,`error`,t,n)}function x(e,t,n,r){if(typeof e.on==`function`)r.once?e.once(t,n):e.on(t,n);else if(typeof e.addEventListener==`function`)e.addEventListener(t,function i(a){r.once&&e.removeEventListener(t,i),n(a)});else throw TypeError(`The "emitter" argument must be of type EventEmitter. Received type `+typeof e)}})),Ha=/* @__PURE__ */ t(((e,t)=>{t.exports=typeof Object.create==`function`?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),Ua=/* @__PURE__ */ t(((e,t)=>{t.exports=Va().EventEmitter})),Wa=/* @__PURE__ */ t((e=>{e.byteLength=c,e.toByteArray=u,e.fromByteArray=p;for(var t=[],n=[],r=typeof Uint8Array<`u`?Uint8Array:Array,i=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,a=0,o=i.length;a<o;++a)t[a]=i[a],n[i.charCodeAt(a)]=a;n[45]=62,n[95]=63;function s(e){var t=e.length;if(t%4>0)throw Error(`Invalid string. Length must be a multiple of 4`);var n=e.indexOf(`=`);n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function c(e){var t=s(e),n=t[0],r=t[1];return(n+r)*3/4-r}function l(e,t,n){return(t+n)*3/4-n}function u(e){for(var t,i=s(e),a=i[0],o=i[1],c=new r(l(e,a,o)),u=0,d=o>0?a-4:a,f=0;f<d;f+=4)t=n[e.charCodeAt(f)]<<18|n[e.charCodeAt(f+1)]<<12|n[e.charCodeAt(f+2)]<<6|n[e.charCodeAt(f+3)],c[u++]=t>>16&255,c[u++]=t>>8&255,c[u++]=t&255;return o===2&&(t=n[e.charCodeAt(f)]<<2|n[e.charCodeAt(f+1)]>>4,c[u++]=t&255),o===1&&(t=n[e.charCodeAt(f)]<<10|n[e.charCodeAt(f+1)]<<4|n[e.charCodeAt(f+2)]>>2,c[u++]=t>>8&255,c[u++]=t&255),c}function d(e){return t[e>>18&63]+t[e>>12&63]+t[e>>6&63]+t[e&63]}function f(e,t,n){for(var r,i=[],a=t;a<n;a+=3)r=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(d(r));return i.join(``)}function p(e){for(var n,r=e.length,i=r%3,a=[],o=16383,s=0,c=r-i;s<c;s+=o)a.push(f(e,s,s+o>c?c:s+o));return i===1?(n=e[r-1],a.push(t[n>>2]+t[n<<4&63]+`==`)):i===2&&(n=(e[r-2]<<8)+e[r-1],a.push(t[n>>10]+t[n>>4&63]+t[n<<2&63]+`=`)),a.join(``)}})),Ga=/* @__PURE__ */ t((e=>{
|
|
4
|
+
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
5
|
+
e.read=function(e,t,n,r,i){var a,o,s=i*8-r-1,c=(1<<s)-1,l=c>>1,u=-7,d=n?i-1:0,f=n?-1:1,p=e[t+d];for(d+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=a*256+e[t+d],d+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=r;u>0;o=o*256+e[t+d],d+=f,u-=8);if(a===0)a=1-l;else if(a===c)return o?NaN:(p?-1:1)*(1/0);else o+=2**r,a-=l;return(p?-1:1)*o*2**(a-r)},e.write=function(e,t,n,r,i,a){var o,s,c,l=a*8-i-1,u=(1<<l)-1,d=u>>1,f=i===23?2**-24-2**-77:0,p=r?0:a-1,m=r?1:-1,h=+(t<0||t===0&&1/t<0);for(t=Math.abs(t),isNaN(t)||t===1/0?(s=+!!isNaN(t),o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=2**-o)<1&&(o--,c*=2),o+d>=1?t+=f/c:t+=f*2**(1-d),t*c>=2&&(o++,c/=2),o+d>=u?(s=0,o=u):o+d>=1?(s=(t*c-1)*2**i,o+=d):(s=t*2**(d-1)*2**i,o=0));i>=8;e[n+p]=s&255,p+=m,s/=256,i-=8);for(o=o<<i|s,l+=i;l>0;e[n+p]=o&255,p+=m,o/=256,l-=8);e[n+p-m]|=h*128}})),Ka=/* @__PURE__ */ t((e=>{
|
|
6
|
+
/*!
|
|
7
|
+
* The buffer module from node.js, for the browser.
|
|
8
|
+
*
|
|
9
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
10
|
+
* @license MIT
|
|
11
|
+
*/
|
|
12
|
+
var t=Wa(),n=Ga(),r=typeof Symbol==`function`&&typeof Symbol.for==`function`?Symbol.for(`nodejs.util.inspect.custom`):null;e.Buffer=s,e.SlowBuffer=v,e.INSPECT_MAX_BYTES=50;var i=2147483647;e.kMaxLength=i,s.TYPED_ARRAY_SUPPORT=a(),!s.TYPED_ARRAY_SUPPORT&&typeof console<`u`&&typeof console.error==`function`&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function a(){try{var e=/* @__PURE__ */ new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}});function o(e){if(e>i)throw RangeError(`The value "`+e+`" is invalid for option "size"`);var t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,n){if(typeof e==`number`){if(typeof t==`string`)throw TypeError(`The "string" argument must be of type string. Received type number`);return d(e)}return c(e,t,n)}s.poolSize=8192;function c(e,t,n){if(typeof e==`string`)return f(e,t);if(ArrayBuffer.isView(e))return m(e);if(e==null)throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e);if(V(e,ArrayBuffer)||e&&V(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<`u`&&(V(e,SharedArrayBuffer)||e&&V(e.buffer,SharedArrayBuffer)))return h(e,t,n);if(typeof e==`number`)throw TypeError(`The "value" argument must not be of type number. Received type number`);var r=e.valueOf&&e.valueOf();if(r!=null&&r!==e)return s.from(r,t,n);var i=g(e);if(i)return i;if(typeof Symbol<`u`&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==`function`)return s.from(e[Symbol.toPrimitive](`string`),t,n);throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e)}s.from=function(e,t,n){return c(e,t,n)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array);function l(e){if(typeof e!=`number`)throw TypeError(`"size" argument must be of type number`);if(e<0)throw RangeError(`The value "`+e+`" is invalid for option "size"`)}function u(e,t,n){return l(e),e<=0||t===void 0?o(e):typeof n==`string`?o(e).fill(t,n):o(e).fill(t)}s.alloc=function(e,t,n){return u(e,t,n)};function d(e){return l(e),o(e<0?0:_(e)|0)}s.allocUnsafe=function(e){return d(e)},s.allocUnsafeSlow=function(e){return d(e)};function f(e,t){if((typeof t!=`string`||t===``)&&(t=`utf8`),!s.isEncoding(t))throw TypeError(`Unknown encoding: `+t);var n=y(e,t)|0,r=o(n),i=r.write(e,t);return i!==n&&(r=r.slice(0,i)),r}function p(e){for(var t=e.length<0?0:_(e.length)|0,n=o(t),r=0;r<t;r+=1)n[r]=e[r]&255;return n}function m(e){if(V(e,Uint8Array)){var t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return p(e)}function h(e,t,n){if(t<0||e.byteLength<t)throw RangeError(`"offset" is outside of buffer bounds`);if(e.byteLength<t+(n||0))throw RangeError(`"length" is outside of buffer bounds`);var r=t===void 0&&n===void 0?new Uint8Array(e):n===void 0?new Uint8Array(e,t):new Uint8Array(e,t,n);return Object.setPrototypeOf(r,s.prototype),r}function g(e){if(s.isBuffer(e)){var t=_(e.length)|0,n=o(t);return n.length===0||e.copy(n,0,0,t),n}if(e.length!==void 0)return typeof e.length!=`number`||ce(e.length)?o(0):p(e);if(e.type===`Buffer`&&Array.isArray(e.data))return p(e.data)}function _(e){if(e>=i)throw RangeError(`Attempt to allocate Buffer larger than maximum size: 0x`+i.toString(16)+` bytes`);return e|0}function v(e){return+e!=e&&(e=0),s.alloc(+e)}s.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==s.prototype},s.compare=function(e,t){if(V(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),V(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(e)||!s.isBuffer(t))throw TypeError(`The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array`);if(e===t)return 0;for(var n=e.length,r=t.length,i=0,a=Math.min(n,r);i<a;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:+(r<n)},s.isEncoding=function(e){switch(String(e).toLowerCase()){case`hex`:case`utf8`:case`utf-8`:case`ascii`:case`latin1`:case`binary`:case`base64`:case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return!0;default:return!1}},s.concat=function(e,t){if(!Array.isArray(e))throw TypeError(`"list" argument must be an Array of Buffers`);if(e.length===0)return s.alloc(0);var n;if(t===void 0)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=s.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var a=e[n];if(V(a,Uint8Array))i+a.length>r.length?s.from(a).copy(r,i):Uint8Array.prototype.set.call(r,a,i);else if(s.isBuffer(a))a.copy(r,i);else throw TypeError(`"list" argument must be an Array of Buffers`);i+=a.length}return r};function y(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||V(e,ArrayBuffer))return e.byteLength;if(typeof e!=`string`)throw TypeError(`The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type `+typeof e);var n=e.length,r=arguments.length>2&&arguments[2]===!0;if(!r&&n===0)return 0;for(var i=!1;;)switch(t){case`ascii`:case`latin1`:case`binary`:return n;case`utf8`:case`utf-8`:return ie(e).length;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return n*2;case`hex`:return n>>>1;case`base64`:return B(e).length;default:if(i)return r?-1:ie(e).length;t=(``+t).toLowerCase(),i=!0}}s.byteLength=y;function b(e,t,n){var r=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((n===void 0||n>this.length)&&(n=this.length),n<=0)||(n>>>=0,t>>>=0,n<=t))return``;for(e||=`utf8`;;)switch(e){case`hex`:return N(this,t,n);case`utf8`:case`utf-8`:return A(this,t,n);case`ascii`:return te(this,t,n);case`latin1`:case`binary`:return M(this,t,n);case`base64`:return k(this,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return P(this,t,n);default:if(r)throw TypeError(`Unknown encoding: `+e);e=(e+``).toLowerCase(),r=!0}}s.prototype._isBuffer=!0;function x(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}s.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(var t=0;t<e;t+=2)x(this,t,t+1);return this},s.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(var t=0;t<e;t+=4)x(this,t,t+3),x(this,t+1,t+2);return this},s.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(var t=0;t<e;t+=8)x(this,t,t+7),x(this,t+1,t+6),x(this,t+2,t+5),x(this,t+3,t+4);return this},s.prototype.toString=function(){var e=this.length;return e===0?``:arguments.length===0?A(this,0,e):b.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(e){if(!s.isBuffer(e))throw TypeError(`Argument must be a Buffer`);return this===e||s.compare(this,e)===0},s.prototype.inspect=function(){var t=``,n=e.INSPECT_MAX_BYTES;return t=this.toString(`hex`,0,n).replace(/(.{2})/g,`$1 `).trim(),this.length>n&&(t+=` ... `),`<Buffer `+t+`>`},r&&(s.prototype[r]=s.prototype.inspect),s.prototype.compare=function(e,t,n,r,i){if(V(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(e))throw TypeError(`The "target" argument must be one of type Buffer or Uint8Array. Received type `+typeof e);if(t===void 0&&(t=0),n===void 0&&(n=e?e.length:0),r===void 0&&(r=0),i===void 0&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw RangeError(`out of range index`);if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var a=i-r,o=n-t,c=Math.min(a,o),l=this.slice(r,i),u=e.slice(t,n),d=0;d<c;++d)if(l[d]!==u[d]){a=l[d],o=u[d];break}return a<o?-1:+(o<a)};function S(e,t,n,r,i){if(e.length===0)return-1;if(typeof n==`string`?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,ce(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(i)n=0;else return-1}if(typeof t==`string`&&(t=s.from(t,r)),s.isBuffer(t))return t.length===0?-1:C(e,t,n,r,i);if(typeof t==`number`)return t&=255,typeof Uint8Array.prototype.indexOf==`function`?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):C(e,[t],n,r,i);throw TypeError(`val must be string, number or Buffer`)}function C(e,t,n,r,i){var a=1,o=e.length,s=t.length;if(r!==void 0&&(r=String(r).toLowerCase(),r===`ucs2`||r===`ucs-2`||r===`utf16le`||r===`utf-16le`)){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,n/=2}function c(e,t){return a===1?e[t]:e.readUInt16BE(t*a)}var l;if(i){var u=-1;for(l=n;l<o;l++)if(c(e,l)===c(t,u===-1?0:l-u)){if(u===-1&&(u=l),l-u+1===s)return u*a}else u!==-1&&(l-=l-u),u=-1}else for(n+s>o&&(n=o-s),l=n;l>=0;l--){for(var d=!0,f=0;f<s;f++)if(c(e,l+f)!==c(t,f)){d=!1;break}if(d)return l}return-1}s.prototype.includes=function(e,t,n){return this.indexOf(e,t,n)!==-1},s.prototype.indexOf=function(e,t,n){return S(this,e,t,n,!0)},s.prototype.lastIndexOf=function(e,t,n){return S(this,e,t,n,!1)};function w(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r),r>i&&(r=i)):r=i;var a=t.length;r>a/2&&(r=a/2);for(var o=0;o<r;++o){var s=parseInt(t.substr(o*2,2),16);if(ce(s))return o;e[n+o]=s}return o}function T(e,t,n,r){return se(ie(t,e.length-n),e,n,r)}function E(e,t,n,r){return se(ae(t),e,n,r)}function D(e,t,n,r){return se(B(t),e,n,r)}function O(e,t,n,r){return se(oe(t,e.length-n),e,n,r)}s.prototype.write=function(e,t,n,r){if(t===void 0)r=`utf8`,n=this.length,t=0;else if(n===void 0&&typeof t==`string`)r=t,n=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(n)?(n>>>=0,r===void 0&&(r=`utf8`)):(r=n,n=void 0);else throw Error(`Buffer.write(string, encoding, offset[, length]) is no longer supported`);var i=this.length-t;if((n===void 0||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw RangeError(`Attempt to write outside buffer bounds`);r||=`utf8`;for(var a=!1;;)switch(r){case`hex`:return w(this,e,t,n);case`utf8`:case`utf-8`:return T(this,e,t,n);case`ascii`:case`latin1`:case`binary`:return E(this,e,t,n);case`base64`:return D(this,e,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return O(this,e,t,n);default:if(a)throw TypeError(`Unknown encoding: `+r);r=(``+r).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:`Buffer`,data:Array.prototype.slice.call(this._arr||this,0)}};function k(e,n,r){return n===0&&r===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(n,r))}function A(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var a=e[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=n){var c,l,u,d;switch(s){case 1:a<128&&(o=a);break;case 2:c=e[i+1],(c&192)==128&&(d=(a&31)<<6|c&63,d>127&&(o=d));break;case 3:c=e[i+1],l=e[i+2],(c&192)==128&&(l&192)==128&&(d=(a&15)<<12|(c&63)<<6|l&63,d>2047&&(d<55296||d>57343)&&(o=d));break;case 4:c=e[i+1],l=e[i+2],u=e[i+3],(c&192)==128&&(l&192)==128&&(u&192)==128&&(d=(a&15)<<18|(c&63)<<12|(l&63)<<6|u&63,d>65535&&d<1114112&&(o=d))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|o&1023),r.push(o),i+=s}return j(r)}var ee=4096;function j(e){var t=e.length;if(t<=ee)return String.fromCharCode.apply(String,e);for(var n=``,r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=ee));return n}function te(e,t,n){var r=``;n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]&127);return r}function M(e,t,n){var r=``;n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function N(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i=``,a=t;a<n;++a)i+=le[e[a]];return i}function P(e,t,n){for(var r=e.slice(t,n),i=``,a=0;a<r.length-1;a+=2)i+=String.fromCharCode(r[a]+r[a+1]*256);return i}s.prototype.slice=function(e,t){var n=this.length;e=~~e,t=t===void 0?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t<e&&(t=e);var r=this.subarray(e,t);return Object.setPrototypeOf(r,s.prototype),r};function F(e,t,n){if(e%1!=0||e<0)throw RangeError(`offset is not uint`);if(e+t>n)throw RangeError(`Trying to access beyond buffer length`)}s.prototype.readUintLE=s.prototype.readUIntLE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);for(var r=this[e],i=1,a=0;++a<t&&(i*=256);)r+=this[e+a]*i;return r},s.prototype.readUintBE=s.prototype.readUIntBE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},s.prototype.readUint8=s.prototype.readUInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),this[e]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(e,t){return e>>>=0,t||F(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);for(var r=this[e],i=1,a=0;++a<t&&(i*=256);)r+=this[e+a]*i;return i*=128,r>=i&&(r-=2**(8*t)),r},s.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||F(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return i*=128,a>=i&&(a-=2**(8*t)),a},s.prototype.readInt8=function(e,t){return e>>>=0,t||F(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},s.prototype.readInt16LE=function(e,t){e>>>=0,t||F(e,2,this.length);var n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n},s.prototype.readInt16BE=function(e,t){e>>>=0,t||F(e,2,this.length);var n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n},s.prototype.readInt32LE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return e>>>=0,t||F(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readFloatLE=function(e,t){return e>>>=0,t||F(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return e>>>=0,t||F(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return e>>>=0,t||F(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return e>>>=0,t||F(e,8,this.length),n.read(this,e,!1,52,8)};function I(e,t,n,r,i,a){if(!s.isBuffer(e))throw TypeError(`"buffer" argument must be a Buffer instance`);if(t>i||t<a)throw RangeError(`"value" argument is out of bounds`);if(n+r>e.length)throw RangeError(`Index out of range`)}s.prototype.writeUintLE=s.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){var i=2**(8*n)-1;I(this,e,t,n,i,0)}var a=1,o=0;for(this[t]=e&255;++o<n&&(a*=256);)this[t+o]=e/a&255;return t+n},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){var i=2**(8*n)-1;I(this,e,t,n,i,0)}var a=n-1,o=1;for(this[t+a]=e&255;--a>=0&&(o*=256);)this[t+a]=e/o&255;return t+n},s.prototype.writeUint8=s.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,1,255,0),this[t]=e&255,t+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4},s.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=2**(8*n-1);I(this,e,t,n,i-1,-i)}var a=0,o=1,s=0;for(this[t]=e&255;++a<n&&(o*=256);)e<0&&s===0&&this[t+a-1]!==0&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},s.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=2**(8*n-1);I(this,e,t,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[t+a]=e&255;--a>=0&&(o*=256);)e<0&&s===0&&this[t+a+1]!==0&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},s.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1},s.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},s.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||I(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function L(e,t,n,r,i,a){if(n+r>e.length||n<0)throw RangeError(`Index out of range`)}function R(e,t,r,i,a){return t=+t,r>>>=0,a||L(e,t,r,4,34028234663852886e22,-34028234663852886e22),n.write(e,t,r,i,23,4),r+4}s.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)};function z(e,t,r,i,a){return t=+t,r>>>=0,a||L(e,t,r,8,17976931348623157e292,-17976931348623157e292),n.write(e,t,r,i,52,8),r+8}s.prototype.writeDoubleLE=function(e,t,n){return z(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return z(this,e,t,!1,n)},s.prototype.copy=function(e,t,n,r){if(!s.isBuffer(e))throw TypeError(`argument should be a Buffer`);if(n||=0,!r&&r!==0&&(r=this.length),t>=e.length&&(t=e.length),t||=0,r>0&&r<n&&(r=n),r===n||e.length===0||this.length===0)return 0;if(t<0)throw RangeError(`targetStart out of bounds`);if(n<0||n>=this.length)throw RangeError(`Index out of range`);if(r<0)throw RangeError(`sourceEnd out of bounds`);r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i=r-n;return this===e&&typeof Uint8Array.prototype.copyWithin==`function`?this.copyWithin(t,n,r):Uint8Array.prototype.set.call(e,this.subarray(n,r),t),i},s.prototype.fill=function(e,t,n,r){if(typeof e==`string`){if(typeof t==`string`?(r=t,t=0,n=this.length):typeof n==`string`&&(r=n,n=this.length),r!==void 0&&typeof r!=`string`)throw TypeError(`encoding must be a string`);if(typeof r==`string`&&!s.isEncoding(r))throw TypeError(`Unknown encoding: `+r);if(e.length===1){var i=e.charCodeAt(0);(r===`utf8`&&i<128||r===`latin1`)&&(e=i)}}else typeof e==`number`?e&=255:typeof e==`boolean`&&(e=Number(e));if(t<0||this.length<t||this.length<n)throw RangeError(`Out of range index`);if(n<=t)return this;t>>>=0,n=n===void 0?this.length:n>>>0,e||=0;var a;if(typeof e==`number`)for(a=t;a<n;++a)this[a]=e;else{var o=s.isBuffer(e)?e:s.from(e,r),c=o.length;if(c===0)throw TypeError(`The value "`+e+`" is invalid for argument "value"`);for(a=0;a<n-t;++a)this[a+t]=o[a%c]}return this};var ne=/[^+/0-9A-Za-z-_]/g;function re(e){if(e=e.split(`=`)[0],e=e.trim().replace(ne,``),e.length<2)return``;for(;e.length%4!=0;)e+=`=`;return e}function ie(e,t){t||=1/0;for(var n,r=e.length,i=null,a=[],o=0;o<r;++o){if(n=e.charCodeAt(o),n>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if(--t<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,n&63|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,n&63|128)}else if(n<1114112){if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,n&63|128)}else throw Error(`Invalid code point`)}return a}function ae(e){for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n)&255);return t}function oe(e,t){for(var n,r,i,a=[],o=0;o<e.length&&!((t-=2)<0);++o)n=e.charCodeAt(o),r=n>>8,i=n%256,a.push(i),a.push(r);return a}function B(e){return t.toByteArray(re(e))}function se(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function V(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function ce(e){return e!==e}var le=(function(){for(var e=`0123456789abcdef`,t=Array(256),n=0;n<16;++n)for(var r=n*16,i=0;i<16;++i)t[r+i]=e[n]+e[i];return t})()})),qa=/* @__PURE__ */ t(((e,t)=>{t.exports=function(){if(typeof Symbol!=`function`||typeof Object.getOwnPropertySymbols!=`function`)return!1;if(typeof Symbol.iterator==`symbol`)return!0;var e={},t=Symbol(`test`),n=Object(t);if(typeof t==`string`||Object.prototype.toString.call(t)!==`[object Symbol]`||Object.prototype.toString.call(n)!==`[object Symbol]`)return!1;var r=42;for(var i in e[t]=r,e)return!1;if(typeof Object.keys==`function`&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames==`function`&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor==`function`){var o=Object.getOwnPropertyDescriptor(e,t);if(o.value!==r||o.enumerable!==!0)return!1}return!0}})),Ja=/* @__PURE__ */ t(((e,t)=>{var n=qa();t.exports=function(){return n()&&!!Symbol.toStringTag}})),Ya=/* @__PURE__ */ t(((e,t)=>{t.exports=Object})),Xa=/* @__PURE__ */ t(((e,t)=>{t.exports=Error})),Za=/* @__PURE__ */ t(((e,t)=>{t.exports=EvalError})),Qa=/* @__PURE__ */ t(((e,t)=>{t.exports=RangeError})),$a=/* @__PURE__ */ t(((e,t)=>{t.exports=ReferenceError})),eo=/* @__PURE__ */ t(((e,t)=>{t.exports=SyntaxError})),to=/* @__PURE__ */ t(((e,t)=>{t.exports=TypeError})),no=/* @__PURE__ */ t(((e,t)=>{t.exports=URIError})),ro=/* @__PURE__ */ t(((e,t)=>{t.exports=Math.abs})),io=/* @__PURE__ */ t(((e,t)=>{t.exports=Math.floor})),ao=/* @__PURE__ */ t(((e,t)=>{t.exports=Math.max})),oo=/* @__PURE__ */ t(((e,t)=>{t.exports=Math.min})),so=/* @__PURE__ */ t(((e,t)=>{t.exports=Math.pow})),co=/* @__PURE__ */ t(((e,t)=>{t.exports=Math.round})),lo=/* @__PURE__ */ t(((e,t)=>{t.exports=Number.isNaN||function(e){return e!==e}})),uo=/* @__PURE__ */ t(((e,t)=>{var n=lo();t.exports=function(e){return n(e)||e===0?e:e<0?-1:1}})),fo=/* @__PURE__ */ t(((e,t)=>{t.exports=Object.getOwnPropertyDescriptor})),po=/* @__PURE__ */ t(((e,t)=>{var n=fo();if(n)try{n([],`length`)}catch{n=null}t.exports=n})),mo=/* @__PURE__ */ t(((e,t)=>{var n=Object.defineProperty||!1;if(n)try{n({},`a`,{value:1})}catch{n=!1}t.exports=n})),ho=/* @__PURE__ */ t(((e,t)=>{var n=typeof Symbol<`u`&&Symbol,r=qa();t.exports=function(){return typeof n!=`function`||typeof Symbol!=`function`||typeof n(`foo`)!=`symbol`||typeof Symbol(`bar`)!=`symbol`?!1:r()}})),go=/* @__PURE__ */ t(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect.getPrototypeOf||null})),_o=/* @__PURE__ */ t(((e,t)=>{t.exports=Ya().getPrototypeOf||null})),vo=/* @__PURE__ */ t(((e,t)=>{var n=Object.prototype.toString,r=Math.max,i=`[object Function]`,a=function(e,t){for(var n=[],r=0;r<e.length;r+=1)n[r]=e[r];for(var i=0;i<t.length;i+=1)n[i+e.length]=t[i];return n},o=function(e,t){for(var n=[],r=t||0,i=0;r<e.length;r+=1,i+=1)n[i]=e[r];return n},s=function(e,t){for(var n=``,r=0;r<e.length;r+=1)n+=e[r],r+1<e.length&&(n+=t);return n};t.exports=function(e){var t=this;if(typeof t!=`function`||n.apply(t)!==i)throw TypeError(`Function.prototype.bind called on incompatible `+t);for(var c=o(arguments,1),l,u=function(){if(this instanceof l){var n=t.apply(this,a(c,arguments));return Object(n)===n?n:this}return t.apply(e,a(c,arguments))},d=r(0,t.length-c.length),f=[],p=0;p<d;p++)f[p]=`$`+p;if(l=Function(`binder`,`return function (`+s(f,`,`)+`){ return binder.apply(this,arguments); }`)(u),t.prototype){var m=function(){};m.prototype=t.prototype,l.prototype=new m,m.prototype=null}return l}})),yo=/* @__PURE__ */ t(((e,t)=>{var n=vo();t.exports=Function.prototype.bind||n})),bo=/* @__PURE__ */ t(((e,t)=>{t.exports=Function.prototype.call})),xo=/* @__PURE__ */ t(((e,t)=>{t.exports=Function.prototype.apply})),So=/* @__PURE__ */ t(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect&&Reflect.apply})),Co=/* @__PURE__ */ t(((e,t)=>{var n=yo(),r=xo(),i=bo();t.exports=So()||n.call(i,r)})),wo=/* @__PURE__ */ t(((e,t)=>{var n=yo(),r=to(),i=bo(),a=Co();t.exports=function(e){if(e.length<1||typeof e[0]!=`function`)throw new r(`a function is required`);return a(n,i,e)}})),To=/* @__PURE__ */ t(((e,t)=>{var n=wo(),r=po(),i;try{i=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!=`object`||!(`code`in e)||e.code!==`ERR_PROTO_ACCESS`)throw e}var a=!!i&&r&&r(Object.prototype,`__proto__`),o=Object,s=o.getPrototypeOf;t.exports=a&&typeof a.get==`function`?n([a.get]):typeof s==`function`&&function(e){return s(e==null?e:o(e))}})),Eo=/* @__PURE__ */ t(((e,t)=>{var n=go(),r=_o(),i=To();t.exports=n?function(e){return n(e)}:r?function(e){if(!e||typeof e!=`object`&&typeof e!=`function`)throw TypeError(`getProto: not an object`);return r(e)}:i?function(e){return i(e)}:null})),Do=/* @__PURE__ */ t(((e,t)=>{var n=Function.prototype.call,r=Object.prototype.hasOwnProperty;t.exports=yo().call(n,r)})),Oo=/* @__PURE__ */ t(((e,t)=>{var n,r=Ya(),i=Xa(),a=Za(),o=Qa(),s=$a(),c=eo(),l=to(),u=no(),d=ro(),f=io(),p=ao(),m=oo(),h=so(),g=co(),_=uo(),v=Function,y=function(e){try{return v(`"use strict"; return (`+e+`).constructor;`)()}catch{}},b=po(),x=mo(),S=function(){throw new l},C=b?function(){try{return arguments.callee,S}catch{try{return b(arguments,`callee`).get}catch{return S}}}():S,w=ho()(),T=Eo(),E=_o(),D=go(),O=xo(),k=bo(),A={},ee=typeof Uint8Array>`u`||!T?n:T(Uint8Array),j={__proto__:null,"%AggregateError%":typeof AggregateError>`u`?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>`u`?n:ArrayBuffer,"%ArrayIteratorPrototype%":w&&T?T([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":A,"%AsyncGenerator%":A,"%AsyncGeneratorFunction%":A,"%AsyncIteratorPrototype%":A,"%Atomics%":typeof Atomics>`u`?n:Atomics,"%BigInt%":typeof BigInt>`u`?n:BigInt,"%BigInt64Array%":typeof BigInt64Array>`u`?n:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>`u`?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>`u`?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":i,"%eval%":eval,"%EvalError%":a,"%Float16Array%":typeof Float16Array>`u`?n:Float16Array,"%Float32Array%":typeof Float32Array>`u`?n:Float32Array,"%Float64Array%":typeof Float64Array>`u`?n:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>`u`?n:FinalizationRegistry,"%Function%":v,"%GeneratorFunction%":A,"%Int8Array%":typeof Int8Array>`u`?n:Int8Array,"%Int16Array%":typeof Int16Array>`u`?n:Int16Array,"%Int32Array%":typeof Int32Array>`u`?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":w&&T?T(T([][Symbol.iterator]())):n,"%JSON%":typeof JSON==`object`?JSON:n,"%Map%":typeof Map>`u`?n:Map,"%MapIteratorPrototype%":typeof Map>`u`||!w||!T?n:T((/* @__PURE__ */ new Map())[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":r,"%Object.getOwnPropertyDescriptor%":b,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>`u`?n:Promise,"%Proxy%":typeof Proxy>`u`?n:Proxy,"%RangeError%":o,"%ReferenceError%":s,"%Reflect%":typeof Reflect>`u`?n:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>`u`?n:Set,"%SetIteratorPrototype%":typeof Set>`u`||!w||!T?n:T((/* @__PURE__ */ new Set())[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>`u`?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":w&&T?T(``[Symbol.iterator]()):n,"%Symbol%":w?Symbol:n,"%SyntaxError%":c,"%ThrowTypeError%":C,"%TypedArray%":ee,"%TypeError%":l,"%Uint8Array%":typeof Uint8Array>`u`?n:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>`u`?n:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>`u`?n:Uint16Array,"%Uint32Array%":typeof Uint32Array>`u`?n:Uint32Array,"%URIError%":u,"%WeakMap%":typeof WeakMap>`u`?n:WeakMap,"%WeakRef%":typeof WeakRef>`u`?n:WeakRef,"%WeakSet%":typeof WeakSet>`u`?n:WeakSet,"%Function.prototype.call%":k,"%Function.prototype.apply%":O,"%Object.defineProperty%":x,"%Object.getPrototypeOf%":E,"%Math.abs%":d,"%Math.floor%":f,"%Math.max%":p,"%Math.min%":m,"%Math.pow%":h,"%Math.round%":g,"%Math.sign%":_,"%Reflect.getPrototypeOf%":D};if(T)try{null.error}catch(e){j[`%Error.prototype%`]=T(T(e))}var te=function e(t){var n;if(t===`%AsyncFunction%`)n=y(`async function () {}`);else if(t===`%GeneratorFunction%`)n=y(`function* () {}`);else if(t===`%AsyncGeneratorFunction%`)n=y(`async function* () {}`);else if(t===`%AsyncGenerator%`){var r=e(`%AsyncGeneratorFunction%`);r&&(n=r.prototype)}else if(t===`%AsyncIteratorPrototype%`){var i=e(`%AsyncGenerator%`);i&&T&&(n=T(i.prototype))}return j[t]=n,n},M={__proto__:null,"%ArrayBufferPrototype%":[`ArrayBuffer`,`prototype`],"%ArrayPrototype%":[`Array`,`prototype`],"%ArrayProto_entries%":[`Array`,`prototype`,`entries`],"%ArrayProto_forEach%":[`Array`,`prototype`,`forEach`],"%ArrayProto_keys%":[`Array`,`prototype`,`keys`],"%ArrayProto_values%":[`Array`,`prototype`,`values`],"%AsyncFunctionPrototype%":[`AsyncFunction`,`prototype`],"%AsyncGenerator%":[`AsyncGeneratorFunction`,`prototype`],"%AsyncGeneratorPrototype%":[`AsyncGeneratorFunction`,`prototype`,`prototype`],"%BooleanPrototype%":[`Boolean`,`prototype`],"%DataViewPrototype%":[`DataView`,`prototype`],"%DatePrototype%":[`Date`,`prototype`],"%ErrorPrototype%":[`Error`,`prototype`],"%EvalErrorPrototype%":[`EvalError`,`prototype`],"%Float32ArrayPrototype%":[`Float32Array`,`prototype`],"%Float64ArrayPrototype%":[`Float64Array`,`prototype`],"%FunctionPrototype%":[`Function`,`prototype`],"%Generator%":[`GeneratorFunction`,`prototype`],"%GeneratorPrototype%":[`GeneratorFunction`,`prototype`,`prototype`],"%Int8ArrayPrototype%":[`Int8Array`,`prototype`],"%Int16ArrayPrototype%":[`Int16Array`,`prototype`],"%Int32ArrayPrototype%":[`Int32Array`,`prototype`],"%JSONParse%":[`JSON`,`parse`],"%JSONStringify%":[`JSON`,`stringify`],"%MapPrototype%":[`Map`,`prototype`],"%NumberPrototype%":[`Number`,`prototype`],"%ObjectPrototype%":[`Object`,`prototype`],"%ObjProto_toString%":[`Object`,`prototype`,`toString`],"%ObjProto_valueOf%":[`Object`,`prototype`,`valueOf`],"%PromisePrototype%":[`Promise`,`prototype`],"%PromiseProto_then%":[`Promise`,`prototype`,`then`],"%Promise_all%":[`Promise`,`all`],"%Promise_reject%":[`Promise`,`reject`],"%Promise_resolve%":[`Promise`,`resolve`],"%RangeErrorPrototype%":[`RangeError`,`prototype`],"%ReferenceErrorPrototype%":[`ReferenceError`,`prototype`],"%RegExpPrototype%":[`RegExp`,`prototype`],"%SetPrototype%":[`Set`,`prototype`],"%SharedArrayBufferPrototype%":[`SharedArrayBuffer`,`prototype`],"%StringPrototype%":[`String`,`prototype`],"%SymbolPrototype%":[`Symbol`,`prototype`],"%SyntaxErrorPrototype%":[`SyntaxError`,`prototype`],"%TypedArrayPrototype%":[`TypedArray`,`prototype`],"%TypeErrorPrototype%":[`TypeError`,`prototype`],"%Uint8ArrayPrototype%":[`Uint8Array`,`prototype`],"%Uint8ClampedArrayPrototype%":[`Uint8ClampedArray`,`prototype`],"%Uint16ArrayPrototype%":[`Uint16Array`,`prototype`],"%Uint32ArrayPrototype%":[`Uint32Array`,`prototype`],"%URIErrorPrototype%":[`URIError`,`prototype`],"%WeakMapPrototype%":[`WeakMap`,`prototype`],"%WeakSetPrototype%":[`WeakSet`,`prototype`]},N=yo(),P=Do(),F=N.call(k,Array.prototype.concat),I=N.call(O,Array.prototype.splice),L=N.call(k,String.prototype.replace),R=N.call(k,String.prototype.slice),z=N.call(k,RegExp.prototype.exec),ne=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,re=/\\(\\)?/g,ie=function(e){var t=R(e,0,1),n=R(e,-1);if(t===`%`&&n!==`%`)throw new c("invalid intrinsic syntax, expected closing `%`");if(n===`%`&&t!==`%`)throw new c("invalid intrinsic syntax, expected opening `%`");var r=[];return L(e,ne,function(e,t,n,i){r[r.length]=n?L(i,re,`$1`):t||e}),r},ae=function(e,t){var n=e,r;if(P(M,n)&&(r=M[n],n=`%`+r[0]+`%`),P(j,n)){var i=j[n];if(i===A&&(i=te(n)),i===void 0&&!t)throw new l(`intrinsic `+e+` exists, but is not available. Please file an issue!`);return{alias:r,name:n,value:i}}throw new c(`intrinsic `+e+` does not exist!`)};t.exports=function(e,t){if(typeof e!=`string`||e.length===0)throw new l(`intrinsic name must be a non-empty string`);if(arguments.length>1&&typeof t!=`boolean`)throw new l(`"allowMissing" argument must be a boolean`);if(z(/^%?[^%]*%?$/,e)===null)throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=ie(e),r=n.length>0?n[0]:``,i=ae(`%`+r+`%`,t),a=i.name,o=i.value,s=!1,u=i.alias;u&&(r=u[0],I(n,F([0,1],u)));for(var d=1,f=!0;d<n.length;d+=1){var p=n[d],m=R(p,0,1),h=R(p,-1);if((m===`"`||m===`'`||m==="`"||h===`"`||h===`'`||h==="`")&&m!==h)throw new c(`property names with quotes must have matching quotes`);if((p===`constructor`||!f)&&(s=!0),r+=`.`+p,a=`%`+r+`%`,P(j,a))o=j[a];else if(o!=null){if(!(p in o)){if(!t)throw new l(`base intrinsic for `+e+` exists, but the property is not available.`);return}if(b&&d+1>=n.length){var g=b(o,p);f=!!g,o=f&&`get`in g&&!(`originalValue`in g.get)?g.get:o[p]}else f=P(o,p),o=o[p];f&&!s&&(j[a]=o)}}return o}})),ko=/* @__PURE__ */ t(((e,t)=>{var n=Oo(),r=wo(),i=r([n(`%String.prototype.indexOf%`)]);t.exports=function(e,t){var a=n(e,!!t);return typeof a==`function`&&i(e,`.prototype.`)>-1?r([a]):a}})),Ao=/* @__PURE__ */ t(((e,t)=>{var n=Ja()(),r=ko()(`Object.prototype.toString`),i=function(e){return n&&e&&typeof e==`object`&&Symbol.toStringTag in e?!1:r(e)===`[object Arguments]`},a=function(e){return i(e)?!0:typeof e==`object`&&!!e&&`length`in e&&typeof e.length==`number`&&e.length>=0&&r(e)!==`[object Array]`&&`callee`in e&&r(e.callee)===`[object Function]`},o=function(){return i(arguments)}();i.isLegacyArguments=a,t.exports=o?i:a})),jo=/* @__PURE__ */ t(((e,t)=>{var n=ko(),r=Ja()(),i=Do(),a=po(),o;if(r){var s=n(`RegExp.prototype.exec`),c={},l=function(){throw c},u={toString:l,valueOf:l};typeof Symbol.toPrimitive==`symbol`&&(u[Symbol.toPrimitive]=l),o=function(e){if(!e||typeof e!=`object`)return!1;var t=a(e,`lastIndex`);if(!(t&&i(t,`value`)))return!1;try{s(e,u)}catch(e){return e===c}}}else{var d=n(`Object.prototype.toString`),f=`[object RegExp]`;o=function(e){return!e||typeof e!=`object`&&typeof e!=`function`?!1:d(e)===f}}t.exports=o})),Mo=/* @__PURE__ */ t(((e,t)=>{var n=ko(),r=jo(),i=n(`RegExp.prototype.exec`),a=to();t.exports=function(e){if(!r(e))throw new a("`regex` must be a RegExp");return function(t){return i(e,t)!==null}}})),No=/* @__PURE__ */ t(((e,t)=>{let n=function*(){}.constructor;t.exports=()=>n})),Po=/* @__PURE__ */ t(((e,t)=>{var n=ko(),r=Mo()(/^\s*(?:function)?\*/),i=Ja()(),a=Eo(),o=n(`Object.prototype.toString`),s=n(`Function.prototype.toString`),c=No();t.exports=function(e){if(typeof e!=`function`)return!1;if(r(s(e)))return!0;if(!i)return o(e)===`[object GeneratorFunction]`;if(!a)return!1;var t=c();return t&&a(e)===t.prototype}})),Fo=/* @__PURE__ */ t(((e,t)=>{var n=Function.prototype.toString,r=typeof Reflect==`object`&&Reflect!==null&&Reflect.apply,i,a;if(typeof r==`function`&&typeof Object.defineProperty==`function`)try{i=Object.defineProperty({},"length",{get:function(){throw a}}),a={},r(function(){throw 42},null,i)}catch(e){e!==a&&(r=null)}else r=null;var o=/^\s*class\b/,s=function(e){try{var t=n.call(e);return o.test(t)}catch{return!1}},c=function(e){try{return!s(e)&&(n.call(e),!0)}catch{return!1}},l=Object.prototype.toString,u=`[object Object]`,d=`[object Function]`,f=`[object GeneratorFunction]`,p=`[object HTMLAllCollection]`,m=`[object HTML document.all class]`,h=`[object HTMLCollection]`,g=typeof Symbol==`function`&&!!Symbol.toStringTag,_=!(0 in[,]),v=function(){return!1};if(typeof document==`object`){var y=document.all;l.call(y)===l.call(document.all)&&(v=function(e){if((_||!e)&&(e===void 0||typeof e==`object`))try{var t=l.call(e);return(t===p||t===m||t===h||t===u)&&e(``)==null}catch{}return!1})}t.exports=r?function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;try{r(e,null,i)}catch(e){if(e!==a)return!1}return!s(e)&&c(e)}:function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;if(g)return c(e);if(s(e))return!1;var t=l.call(e);return t!==d&&t!==f&&!/^\[object HTML/.test(t)?!1:c(e)}})),Io=/* @__PURE__ */ t(((e,t)=>{var n=Fo(),r=Object.prototype.toString,i=Object.prototype.hasOwnProperty,a=function(e,t,n){for(var r=0,a=e.length;r<a;r++)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))},o=function(e,t,n){for(var r=0,i=e.length;r<i;r++)n==null?t(e.charAt(r),r,e):t.call(n,e.charAt(r),r,e)},s=function(e,t,n){for(var r in e)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))};function c(e){return r.call(e)===`[object Array]`}t.exports=function(e,t,r){if(!n(t))throw TypeError(`iterator must be a function`);var i;arguments.length>=3&&(i=r),c(e)?a(e,t,i):typeof e==`string`?o(e,t,i):s(e,t,i)}})),Lo=/* @__PURE__ */ t(((e,t)=>{t.exports=[`Float16Array`,`Float32Array`,`Float64Array`,`Int8Array`,`Int16Array`,`Int32Array`,`Uint8Array`,`Uint8ClampedArray`,`Uint16Array`,`Uint32Array`,`BigInt64Array`,`BigUint64Array`]})),Ro=/* @__PURE__ */ t(((e,t)=>{var n=Lo(),r=typeof globalThis>`u`?global:globalThis;t.exports=function(){for(var e=[],t=0;t<n.length;t++)typeof r[n[t]]==`function`&&(e[e.length]=n[t]);return e}})),zo=/* @__PURE__ */ t(((e,t)=>{var n=mo(),r=eo(),i=to(),a=po();t.exports=function(e,t,o){if(!e||typeof e!=`object`&&typeof e!=`function`)throw new i("`obj` must be an object or a function`");if(typeof t!=`string`&&typeof t!=`symbol`)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!=`boolean`&&arguments[3]!==null)throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!=`boolean`&&arguments[4]!==null)throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!=`boolean`&&arguments[5]!==null)throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!=`boolean`)throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,l=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],d=!!a&&a(e,t);if(n)n(e,t,{configurable:l===null&&d?d.configurable:!l,enumerable:s===null&&d?d.enumerable:!s,value:o,writable:c===null&&d?d.writable:!c});else if(u||!s&&!c&&!l)e[t]=o;else throw new r(`This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.`)}})),Bo=/* @__PURE__ */ t(((e,t)=>{var n=mo(),r=function(){return!!n};r.hasArrayLengthDefineBug=function(){if(!n)return null;try{return n([],`length`,{value:1}).length!==1}catch{return!0}},t.exports=r})),Vo=/* @__PURE__ */ t(((e,t)=>{var n=Oo(),r=zo(),i=Bo()(),a=po(),o=to(),s=n(`%Math.floor%`);t.exports=function(e,t){if(typeof e!=`function`)throw new o("`fn` is not a function");if(typeof t!=`number`||t<0||t>4294967295||s(t)!==t)throw new o("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],c=!0,l=!0;if(`length`in e&&a){var u=a(e,`length`);u&&!u.configurable&&(c=!1),u&&!u.writable&&(l=!1)}return(c||l||!n)&&(i?r(e,`length`,t,!0,!0):r(e,`length`,t)),e}})),Ho=/* @__PURE__ */ t(((e,t)=>{var n=yo(),r=xo(),i=Co();t.exports=function(){return i(n,r,arguments)}})),Uo=/* @__PURE__ */ t(((e,t)=>{var n=Vo(),r=mo(),i=wo(),a=Ho();t.exports=function(e){var t=i(arguments),r=e.length-(arguments.length-1);return n(t,1+(r>0?r:0),!0)},r?r(t.exports,`apply`,{value:a}):t.exports.apply=a})),Wo=/* @__PURE__ */ t(((e,t)=>{var n=Io(),r=Ro(),i=Uo(),a=ko(),o=po(),s=Eo(),c=a(`Object.prototype.toString`),l=Ja()(),u=typeof globalThis>`u`?global:globalThis,d=r(),f=a(`String.prototype.slice`),p=a(`Array.prototype.indexOf`,!0)||function(e,t){for(var n=0;n<e.length;n+=1)if(e[n]===t)return n;return-1},m={__proto__:null};l&&o&&s?n(d,function(e){var t=new u[e];if(Symbol.toStringTag in t&&s){var n=s(t),r=o(n,Symbol.toStringTag);!r&&n&&(r=o(s(n),Symbol.toStringTag)),m[`$`+e]=i(r.get)}}):n(d,function(e){var t=new u[e],n=t.slice||t.set;n&&(m[`$`+e]=i(n))});var h=function(e){var t=!1;return n(m,function(n,r){if(!t)try{`$`+n(e)===r&&(t=f(r,1))}catch{}}),t},g=function(e){var t=!1;return n(m,function(n,r){if(!t)try{n(e),t=f(r,1)}catch{}}),t};t.exports=function(e){if(!e||typeof e!=`object`)return!1;if(!l){var t=f(c(e),8,-1);return p(d,t)>-1?t:t===`Object`&&g(e)}return o?h(e):null}})),Go=/* @__PURE__ */ t(((e,t)=>{var n=Wo();t.exports=function(e){return!!n(e)}})),Ko=/* @__PURE__ */ t((e=>{var t=Ao(),n=Po(),r=Wo(),i=Go();function a(e){return e.call.bind(e)}var o=typeof BigInt<`u`,s=typeof Symbol<`u`,c=a(Object.prototype.toString),l=a(Number.prototype.valueOf),u=a(String.prototype.valueOf),d=a(Boolean.prototype.valueOf);if(o)var f=a(BigInt.prototype.valueOf);if(s)var p=a(Symbol.prototype.valueOf);function m(e,t){if(typeof e!=`object`)return!1;try{return t(e),!0}catch{return!1}}e.isArgumentsObject=t,e.isGeneratorFunction=n,e.isTypedArray=i;function h(e){return typeof Promise<`u`&&e instanceof Promise||typeof e==`object`&&!!e&&typeof e.then==`function`&&typeof e.catch==`function`}e.isPromise=h;function g(e){return typeof ArrayBuffer<`u`&&ArrayBuffer.isView?ArrayBuffer.isView(e):i(e)||L(e)}e.isArrayBufferView=g;function _(e){return r(e)===`Uint8Array`}e.isUint8Array=_;function v(e){return r(e)===`Uint8ClampedArray`}e.isUint8ClampedArray=v;function y(e){return r(e)===`Uint16Array`}e.isUint16Array=y;function b(e){return r(e)===`Uint32Array`}e.isUint32Array=b;function x(e){return r(e)===`Int8Array`}e.isInt8Array=x;function S(e){return r(e)===`Int16Array`}e.isInt16Array=S;function C(e){return r(e)===`Int32Array`}e.isInt32Array=C;function w(e){return r(e)===`Float32Array`}e.isFloat32Array=w;function T(e){return r(e)===`Float64Array`}e.isFloat64Array=T;function E(e){return r(e)===`BigInt64Array`}e.isBigInt64Array=E;function D(e){return r(e)===`BigUint64Array`}e.isBigUint64Array=D;function O(e){return c(e)===`[object Map]`}O.working=typeof Map<`u`&&O(/* @__PURE__ */ new Map);function k(e){return typeof Map>`u`?!1:O.working?O(e):e instanceof Map}e.isMap=k;function A(e){return c(e)===`[object Set]`}A.working=typeof Set<`u`&&A(/* @__PURE__ */ new Set);function ee(e){return typeof Set>`u`?!1:A.working?A(e):e instanceof Set}e.isSet=ee;function j(e){return c(e)===`[object WeakMap]`}j.working=typeof WeakMap<`u`&&j(/* @__PURE__ */ new WeakMap);function te(e){return typeof WeakMap>`u`?!1:j.working?j(e):e instanceof WeakMap}e.isWeakMap=te;function M(e){return c(e)===`[object WeakSet]`}M.working=typeof WeakSet<`u`&&M(/* @__PURE__ */ new WeakSet);function N(e){return M(e)}e.isWeakSet=N;function P(e){return c(e)===`[object ArrayBuffer]`}P.working=typeof ArrayBuffer<`u`&&P(/* @__PURE__ */ new ArrayBuffer);function F(e){return typeof ArrayBuffer>`u`?!1:P.working?P(e):e instanceof ArrayBuffer}e.isArrayBuffer=F;function I(e){return c(e)===`[object DataView]`}I.working=typeof ArrayBuffer<`u`&&typeof DataView<`u`&&I(new DataView(/* @__PURE__ */ new ArrayBuffer(1),0,1));function L(e){return typeof DataView>`u`?!1:I.working?I(e):e instanceof DataView}e.isDataView=L;var R=typeof SharedArrayBuffer<`u`?SharedArrayBuffer:void 0;function z(e){return c(e)===`[object SharedArrayBuffer]`}function ne(e){return R!==void 0&&(z.working===void 0&&(z.working=z(new R)),z.working?z(e):e instanceof R)}e.isSharedArrayBuffer=ne;function re(e){return c(e)===`[object AsyncFunction]`}e.isAsyncFunction=re;function ie(e){return c(e)===`[object Map Iterator]`}e.isMapIterator=ie;function ae(e){return c(e)===`[object Set Iterator]`}e.isSetIterator=ae;function oe(e){return c(e)===`[object Generator]`}e.isGeneratorObject=oe;function B(e){return c(e)===`[object WebAssembly.Module]`}e.isWebAssemblyCompiledModule=B;function se(e){return m(e,l)}e.isNumberObject=se;function V(e){return m(e,u)}e.isStringObject=V;function ce(e){return m(e,d)}e.isBooleanObject=ce;function le(e){return o&&m(e,f)}e.isBigIntObject=le;function ue(e){return s&&m(e,p)}e.isSymbolObject=ue;function de(e){return se(e)||V(e)||ce(e)||le(e)||ue(e)}e.isBoxedPrimitive=de;function fe(e){return typeof Uint8Array<`u`&&(F(e)||ne(e))}e.isAnyArrayBuffer=fe,[`isProxy`,`isExternal`,`isModuleNamespaceObject`].forEach(function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw Error(t+` is not supported in userland`)}})})})),qo=/* @__PURE__ */ t(((e,t)=>{t.exports=function(e){return e&&typeof e==`object`&&typeof e.copy==`function`&&typeof e.fill==`function`&&typeof e.readUInt8==`function`}})),Jo=/* @__PURE__ */ t((e=>{var t=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++)n[t[r]]=Object.getOwnPropertyDescriptor(e,t[r]);return n},n=/%[sdj%]/g;e.format=function(e){if(!x(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(o(arguments[r]));return t.join(` `)}for(var r=1,i=arguments,a=i.length,s=String(e).replace(n,function(e){if(e===`%%`)return`%`;if(r>=a)return e;switch(e){case`%s`:return String(i[r++]);case`%d`:return Number(i[r++]);case`%j`:try{return JSON.stringify(i[r++])}catch{return`[Circular]`}default:return e}}),c=i[r];r<a;c=i[++r])v(c)||!T(c)?s+=` `+c:s+=` `+o(c);return s},e.deprecate=function(t,n){if(typeof process<`u`&&process.noDeprecation===!0)return t;if(typeof process>`u`)return function(){return e.deprecate(t,n).apply(this,arguments)};var r=!1;function i(){if(!r){if(process.throwDeprecation)throw Error(n);process.traceDeprecation?console.trace(n):console.error(n),r=!0}return t.apply(this,arguments)}return i};var r={},i=/^$/;if(process.env.NODE_DEBUG){var a=process.env.NODE_DEBUG;a=a.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`).replace(/\*/g,`.*`).replace(/,/g,`$|^`).toUpperCase(),i=RegExp(`^`+a+`$`,`i`)}e.debuglog=function(t){if(t=t.toUpperCase(),!r[t]){if(i.test(t)){var n=process.pid;r[t]=function(){var r=e.format.apply(e,arguments);console.error(`%s %d: %s`,t,n,r)}}else r[t]=function(){}}return r[t]};function o(t,n){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),_(n)?r.showHidden=n:n&&e._extend(r,n),C(r.showHidden)&&(r.showHidden=!1),C(r.depth)&&(r.depth=2),C(r.colors)&&(r.colors=!1),C(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=s),u(r,t,r.depth)}e.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:`cyan`,number:`yellow`,boolean:`yellow`,undefined:`grey`,null:`bold`,string:`green`,date:`magenta`,regexp:`red`};function s(e,t){var n=o.styles[t];return n?`\x1B[`+o.colors[n][0]+`m`+e+`\x1B[`+o.colors[n][1]+`m`:e}function c(e,t){return e}function l(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function u(t,n,r){if(t.customInspect&&n&&O(n.inspect)&&n.inspect!==e.inspect&&!(n.constructor&&n.constructor.prototype===n)){var i=n.inspect(r,t);return x(i)||(i=u(t,i,r)),i}var a=d(t,n);if(a)return a;var o=Object.keys(n),s=l(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(n)),D(n)&&(o.indexOf(`message`)>=0||o.indexOf(`description`)>=0))return f(n);if(o.length===0){if(O(n)){var c=n.name?`: `+n.name:``;return t.stylize(`[Function`+c+`]`,`special`)}if(w(n))return t.stylize(RegExp.prototype.toString.call(n),`regexp`);if(E(n))return t.stylize(Date.prototype.toString.call(n),`date`);if(D(n))return f(n)}var _=``,v=!1,y=[`{`,`}`];if(g(n)&&(v=!0,y=[`[`,`]`]),O(n)&&(_=` [Function`+(n.name?`: `+n.name:``)+`]`),w(n)&&(_=` `+RegExp.prototype.toString.call(n)),E(n)&&(_=` `+Date.prototype.toUTCString.call(n)),D(n)&&(_=` `+f(n)),o.length===0&&(!v||n.length==0))return y[0]+_+y[1];if(r<0)return w(n)?t.stylize(RegExp.prototype.toString.call(n),`regexp`):t.stylize(`[Object]`,`special`);t.seen.push(n);var b=v?p(t,n,r,s,o):o.map(function(e){return m(t,n,r,s,e,v)});return t.seen.pop(),h(b,_,y)}function d(e,t){if(C(t))return e.stylize(`undefined`,`undefined`);if(x(t)){var n=`'`+JSON.stringify(t).replace(/^"|"$/g,``).replace(/'/g,`\\'`).replace(/\\"/g,`"`)+`'`;return e.stylize(n,`string`)}if(b(t))return e.stylize(``+t,`number`);if(_(t))return e.stylize(``+t,`boolean`);if(v(t))return e.stylize(`null`,`null`)}function f(e){return`[`+Error.prototype.toString.call(e)+`]`}function p(e,t,n,r,i){for(var a=[],o=0,s=t.length;o<s;++o)M(t,String(o))?a.push(m(e,t,n,r,String(o),!0)):a.push(``);return i.forEach(function(i){i.match(/^\d+$/)||a.push(m(e,t,n,r,i,!0))}),a}function m(e,t,n,r,i,a){var o,s,c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]};if(c.get?s=c.set?e.stylize(`[Getter/Setter]`,`special`):e.stylize(`[Getter]`,`special`):c.set&&(s=e.stylize(`[Setter]`,`special`)),M(r,i)||(o=`[`+i+`]`),s||(e.seen.indexOf(c.value)<0?(s=v(n)?u(e,c.value,null):u(e,c.value,n-1),s.indexOf(`
|
|
13
|
+
`)>-1&&(s=a?s.split(`
|
|
14
|
+
`).map(function(e){return` `+e}).join(`
|
|
15
|
+
`).slice(2):`
|
|
16
|
+
`+s.split(`
|
|
17
|
+
`).map(function(e){return` `+e}).join(`
|
|
18
|
+
`))):s=e.stylize(`[Circular]`,`special`)),C(o)){if(a&&i.match(/^\d+$/))return s;o=JSON.stringify(``+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=e.stylize(o,`name`)):(o=o.replace(/'/g,`\\'`).replace(/\\"/g,`"`).replace(/(^"|"$)/g,`'`),o=e.stylize(o,`string`))}return o+`: `+s}function h(e,t,n){var r=0;return e.reduce(function(e,t){return r++,t.indexOf(`
|
|
19
|
+
`)>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,``).length+1},0)>60?n[0]+(t===``?``:t+`
|
|
20
|
+
`)+` `+e.join(`,
|
|
21
|
+
`)+` `+n[1]:n[0]+t+` `+e.join(`, `)+` `+n[1]}e.types=Ko();function g(e){return Array.isArray(e)}e.isArray=g;function _(e){return typeof e==`boolean`}e.isBoolean=_;function v(e){return e===null}e.isNull=v;function y(e){return e==null}e.isNullOrUndefined=y;function b(e){return typeof e==`number`}e.isNumber=b;function x(e){return typeof e==`string`}e.isString=x;function S(e){return typeof e==`symbol`}e.isSymbol=S;function C(e){return e===void 0}e.isUndefined=C;function w(e){return T(e)&&A(e)===`[object RegExp]`}e.isRegExp=w,e.types.isRegExp=w;function T(e){return typeof e==`object`&&!!e}e.isObject=T;function E(e){return T(e)&&A(e)===`[object Date]`}e.isDate=E,e.types.isDate=E;function D(e){return T(e)&&(A(e)===`[object Error]`||e instanceof Error)}e.isError=D,e.types.isNativeError=D;function O(e){return typeof e==`function`}e.isFunction=O;function k(e){return e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`||typeof e==`symbol`||e===void 0}e.isPrimitive=k,e.isBuffer=qo();function A(e){return Object.prototype.toString.call(e)}function ee(e){return e<10?`0`+e.toString(10):e.toString(10)}var j=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function te(){var e=/* @__PURE__ */ new Date,t=[ee(e.getHours()),ee(e.getMinutes()),ee(e.getSeconds())].join(`:`);return[e.getDate(),j[e.getMonth()],t].join(` `)}e.log=function(){console.log(`%s - %s`,te(),e.format.apply(e,arguments))},e.inherits=Ha(),e._extend=function(e,t){if(!t||!T(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e};function M(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var N=typeof Symbol<`u`?Symbol(`util.promisify.custom`):void 0;e.promisify=function(e){if(typeof e!=`function`)throw TypeError(`The "original" argument must be of type Function`);if(N&&e[N]){var n=e[N];if(typeof n!=`function`)throw TypeError(`The "util.promisify.custom" argument must be of type Function`);return Object.defineProperty(n,N,{value:n,enumerable:!1,writable:!1,configurable:!0}),n}function n(){for(var t,n,r=new Promise(function(e,r){t=e,n=r}),i=[],a=0;a<arguments.length;a++)i.push(arguments[a]);i.push(function(e,r){e?n(e):t(r)});try{e.apply(this,i)}catch(e){n(e)}return r}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),N&&Object.defineProperty(n,N,{value:n,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(n,t(e))},e.promisify.custom=N;function P(e,t){if(!e){var n=/* @__PURE__ */ Error(`Promise was rejected with a falsy value`);n.reason=e,e=n}return t(e)}function F(e){if(typeof e!=`function`)throw TypeError(`The "original" argument must be of type Function`);function n(){for(var t=[],n=0;n<arguments.length;n++)t.push(arguments[n]);var r=t.pop();if(typeof r!=`function`)throw TypeError(`The last argument must be of type Function`);var i=this,a=function(){return r.apply(i,arguments)};e.apply(this,t).then(function(e){process.nextTick(a.bind(null,null,e))},function(e){process.nextTick(P.bind(null,e,a))})}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),Object.defineProperties(n,t(e)),n}e.callbackify=F})),Yo=/* @__PURE__ */ t(((e,t)=>{function n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function r(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]==null?{}:arguments[t];t%2?n(Object(r),!0).forEach(function(t){i(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function i(e,t,n){return t=c(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}function s(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function c(e){var t=l(e,`string`);return typeof t==`symbol`?t:String(t)}function l(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var u=Ka().Buffer,d=Jo().inspect,f=d&&d.custom||`inspect`;function p(e,t,n){u.prototype.copy.call(e,t,n)}t.exports=/*#__PURE__*/ function(){function e(){a(this,e),this.head=null,this.tail=null,this.length=0}return s(e,[{key:`push`,value:function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:`unshift`,value:function(e){var t={data:e,next:this.head};this.length===0&&(this.tail=t),this.head=t,++this.length}},{key:`shift`,value:function(){if(this.length!==0){var e=this.head.data;return this.head=this.length===1?this.tail=null:this.head.next,--this.length,e}}},{key:`clear`,value:function(){this.head=this.tail=null,this.length=0}},{key:`join`,value:function(e){if(this.length===0)return``;for(var t=this.head,n=``+t.data;t=t.next;)n+=e+t.data;return n}},{key:`concat`,value:function(e){if(this.length===0)return u.alloc(0);for(var t=u.allocUnsafe(e>>>0),n=this.head,r=0;n;)p(n.data,t,r),r+=n.data.length,n=n.next;return t}},{key:`consume`,value:function(e,t){var n;return e<this.head.data.length?(n=this.head.data.slice(0,e),this.head.data=this.head.data.slice(e)):n=e===this.head.data.length?this.shift():t?this._getString(e):this._getBuffer(e),n}},{key:`first`,value:function(){return this.head.data}},{key:`_getString`,value:function(e){var t=this.head,n=1,r=t.data;for(e-=r.length;t=t.next;){var i=t.data,a=e>i.length?i.length:e;if(a===i.length?r+=i:r+=i.slice(0,e),e-=a,e===0){a===i.length?(++n,this.head=t.next?t.next:this.tail=null):(this.head=t,t.data=i.slice(a));break}++n}return this.length-=n,r}},{key:`_getBuffer`,value:function(e){var t=u.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,a=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,a),e-=a,e===0){a===i.length?(++r,this.head=n.next?n.next:this.tail=null):(this.head=n,n.data=i.slice(a));break}++r}return this.length-=r,t}},{key:f,value:function(e,t){return d(this,r(r({},t),{},{depth:0,customInspect:!1}))}}]),e}()})),Xo=/* @__PURE__ */ t(((e,t)=>{function n(e,t){var n=this,a=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return a||s?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(o,this,e)):process.nextTick(o,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?n._writableState?n._writableState.errorEmitted?process.nextTick(i,n):(n._writableState.errorEmitted=!0,process.nextTick(r,n,e)):process.nextTick(r,n,e):t?(process.nextTick(i,n),t(e)):process.nextTick(i,n)}),this)}function r(e,t){o(e,t),i(e)}function i(e){(!e._writableState||e._writableState.emitClose)&&(!e._readableState||e._readableState.emitClose)&&e.emit(`close`)}function a(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function o(e,t){e.emit(`error`,t)}function s(e,t){var n=e._readableState,r=e._writableState;n&&n.autoDestroy||r&&r.autoDestroy?e.destroy(t):e.emit(`error`,t)}t.exports={destroy:n,undestroy:a,errorOrDestroy:s}})),Zo=/* @__PURE__ */ t(((e,t)=>{function n(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var r={};function i(e,t,i){i||=Error;function a(e,n,r){return typeof t==`string`?t:t(e,n,r)}var o=/*#__PURE__*/ function(e){n(t,e);function t(t,n,r){return e.call(this,a(t,n,r))||this}return t}(i);o.prototype.name=i.name,o.prototype.code=e,r[e]=o}function a(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map(function(e){return String(e)}),n>2?`one of ${t} ${e.slice(0,n-1).join(`, `)}, or `+e[n-1]:n===2?`one of ${t} ${e[0]} or ${e[1]}`:`of ${t} ${e[0]}`}return`of ${t} ${String(e)}`}function o(e,t,n){return e.substr(!n||n<0?0:+n,t.length)===t}function s(e,t,n){return(n===void 0||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}function c(e,t,n){return typeof n!=`number`&&(n=0),n+t.length>e.length?!1:e.indexOf(t,n)!==-1}i(`ERR_INVALID_OPT_VALUE`,function(e,t){return`The value "`+t+`" is invalid for option "`+e+`"`},TypeError),i(`ERR_INVALID_ARG_TYPE`,function(e,t,n){var r;typeof t==`string`&&o(t,`not `)?(r=`must not be`,t=t.replace(/^not /,``)):r=`must be`;var i=s(e,` argument`)?`The ${e} ${r} ${a(t,`type`)}`:`The "${e}" ${c(e,`.`)?`property`:`argument`} ${r} ${a(t,`type`)}`;return i+=`. Received type ${typeof n}`,i},TypeError),i(`ERR_STREAM_PUSH_AFTER_EOF`,`stream.push() after EOF`),i(`ERR_METHOD_NOT_IMPLEMENTED`,function(e){return`The `+e+` method is not implemented`}),i(`ERR_STREAM_PREMATURE_CLOSE`,`Premature close`),i(`ERR_STREAM_DESTROYED`,function(e){return`Cannot call `+e+` after a stream was destroyed`}),i(`ERR_MULTIPLE_CALLBACK`,`Callback called multiple times`),i(`ERR_STREAM_CANNOT_PIPE`,`Cannot pipe, not readable`),i(`ERR_STREAM_WRITE_AFTER_END`,`write after end`),i(`ERR_STREAM_NULL_VALUES`,`May not write null values to stream`,TypeError),i(`ERR_UNKNOWN_ENCODING`,function(e){return`Unknown encoding: `+e},TypeError),i(`ERR_STREAM_UNSHIFT_AFTER_END_EVENT`,`stream.unshift() after end event`),t.exports.codes=r})),Qo=/* @__PURE__ */ t(((e,t)=>{var n=Zo().codes.ERR_INVALID_OPT_VALUE;function r(e,t,n){return e.highWaterMark==null?t?e[n]:null:e.highWaterMark}function i(e,t,i,a){var o=r(t,a,i);if(o!=null){if(!(isFinite(o)&&Math.floor(o)===o)||o<0)throw new n(a?i:`highWaterMark`,o);return Math.floor(o)}return e.objectMode?16:16384}t.exports={getHighWaterMark:i}})),$o=/* @__PURE__ */ t(((e,t)=>{t.exports=n;function n(e,t){if(r(`noDeprecation`))return e;var n=!1;function i(){if(!n){if(r(`throwDeprecation`))throw Error(t);r(`traceDeprecation`)?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}return i}function r(e){try{if(!global.localStorage)return!1}catch{return!1}var t=global.localStorage[e];return t!=null&&String(t).toLowerCase()===`true`}})),es=/* @__PURE__ */ t(((e,t)=>{t.exports=T;function n(e){var t=this;this.next=null,this.entry=null,this.finish=function(){ne(t,e)}}var r;T.WritableState=C;var i={deprecate:$o()},a=Ua(),o=Ka().Buffer,s=(typeof global<`u`?global:typeof window<`u`?window:typeof self<`u`?self:{}).Uint8Array||function(){};function c(e){return o.from(e)}function l(e){return o.isBuffer(e)||e instanceof s}var u=Xo(),d=Qo().getHighWaterMark,f=Zo().codes,p=f.ERR_INVALID_ARG_TYPE,m=f.ERR_METHOD_NOT_IMPLEMENTED,h=f.ERR_MULTIPLE_CALLBACK,g=f.ERR_STREAM_CANNOT_PIPE,_=f.ERR_STREAM_DESTROYED,v=f.ERR_STREAM_NULL_VALUES,y=f.ERR_STREAM_WRITE_AFTER_END,b=f.ERR_UNKNOWN_ENCODING,x=u.errorOrDestroy;Ha()(T,a);function S(){}function C(e,t,i){r||=ts(),e||={},typeof i!=`boolean`&&(i=t instanceof r),this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=d(this,e,`writableHighWaterMark`,i),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=e.decodeStrings===!1;this.decodeStrings=!a,this.defaultEncoding=e.defaultEncoding||`utf8`,this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){te(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}C.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},(function(){try{Object.defineProperty(C.prototype,"buffer",{get:i.deprecate(function(){return this.getBuffer()},`_writableState.buffer is deprecated. Use _writableState.getBuffer instead.`,`DEP0003`)})}catch{}})();var w;typeof Symbol==`function`&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==`function`?(w=Function.prototype[Symbol.hasInstance],Object.defineProperty(T,Symbol.hasInstance,{value:function(e){return w.call(this,e)?!0:this===T&&e&&e._writableState instanceof C}})):w=function(e){return e instanceof this};function T(e){r||=ts();var t=this instanceof r;if(!t&&!w.call(T,this))return new T(e);this._writableState=new C(e,this,t),this.writable=!0,e&&(typeof e.write==`function`&&(this._write=e.write),typeof e.writev==`function`&&(this._writev=e.writev),typeof e.destroy==`function`&&(this._destroy=e.destroy),typeof e.final==`function`&&(this._final=e.final)),a.call(this)}T.prototype.pipe=function(){x(this,new g)};function E(e,t){var n=new y;x(e,n),process.nextTick(t,n)}function D(e,t,n,r){var i;return n===null?i=new v:typeof n!=`string`&&!t.objectMode&&(i=new p(`chunk`,[`string`,`Buffer`],n)),!i||(x(e,i),process.nextTick(r,i),!1)}T.prototype.write=function(e,t,n){var r=this._writableState,i=!1,a=!r.objectMode&&l(e);return a&&!o.isBuffer(e)&&(e=c(e)),typeof t==`function`&&(n=t,t=null),a?t=`buffer`:t||=r.defaultEncoding,typeof n!=`function`&&(n=S),r.ending?E(this,n):(a||D(this,r,e,n))&&(r.pendingcb++,i=k(this,r,a,e,t,n)),i},T.prototype.cork=function(){this._writableState.corked++},T.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&P(this,e))},T.prototype.setDefaultEncoding=function(e){if(typeof e==`string`&&(e=e.toLowerCase()),!([`hex`,`utf8`,`utf-8`,`ascii`,`binary`,`base64`,`ucs2`,`ucs-2`,`utf16le`,`utf-16le`,`raw`].indexOf((e+``).toLowerCase())>-1))throw new b(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(T.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function O(e,t,n){return!e.objectMode&&e.decodeStrings!==!1&&typeof t==`string`&&(t=o.from(t,n)),t}Object.defineProperty(T.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function k(e,t,n,r,i,a){if(!n){var o=O(t,r,i);r!==o&&(n=!0,i=`buffer`,r=o)}var s=t.objectMode?1:r.length;t.length+=s;var c=t.length<t.highWaterMark;if(c||(t.needDrain=!0),t.writing||t.corked){var l=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:a,next:null},l?l.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else A(e,t,!1,s,r,i,a);return c}function A(e,t,n,r,i,a,o){t.writelen=r,t.writecb=o,t.writing=!0,t.sync=!0,t.destroyed?t.onwrite(new _(`write`)):n?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function ee(e,t,n,r,i){--t.pendingcb,n?(process.nextTick(i,r),process.nextTick(R,e,t),e._writableState.errorEmitted=!0,x(e,r)):(i(r),e._writableState.errorEmitted=!0,x(e,r),R(e,t))}function j(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function te(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(typeof i!=`function`)throw new h;if(j(n),t)ee(e,n,r,t,i);else{var a=F(n)||e.destroyed;!a&&!n.corked&&!n.bufferProcessing&&n.bufferedRequest&&P(e,n),r?process.nextTick(M,e,n,a,i):M(e,n,a,i)}}function M(e,t,n,r){n||N(e,t),t.pendingcb--,r(),R(e,t)}function N(e,t){t.length===0&&t.needDrain&&(t.needDrain=!1,e.emit(`drain`))}function P(e,t){t.bufferProcessing=!0;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount,a=Array(i),o=t.corkedRequestsFree;o.entry=r;for(var s=0,c=!0;r;)a[s]=r,r.isBuf||(c=!1),r=r.next,s+=1;a.allBuffers=c,A(e,t,!0,t.length,a,``,o.finish),t.pendingcb++,t.lastBufferedRequest=null,o.next?(t.corkedRequestsFree=o.next,o.next=null):t.corkedRequestsFree=new n(t),t.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,u=r.encoding,d=r.callback;if(A(e,t,!1,t.objectMode?1:l.length,l,u,d),r=r.next,t.bufferedRequestCount--,t.writing)break}r===null&&(t.lastBufferedRequest=null)}t.bufferedRequest=r,t.bufferProcessing=!1}T.prototype._write=function(e,t,n){n(new m(`_write()`))},T.prototype._writev=null,T.prototype.end=function(e,t,n){var r=this._writableState;return typeof e==`function`?(n=e,e=null,t=null):typeof t==`function`&&(n=t,t=null),e!=null&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||z(this,r,n),this},Object.defineProperty(T.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function F(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function I(e,t){e._final(function(n){t.pendingcb--,n&&x(e,n),t.prefinished=!0,e.emit(`prefinish`),R(e,t)})}function L(e,t){!t.prefinished&&!t.finalCalled&&(typeof e._final==`function`&&!t.destroyed?(t.pendingcb++,t.finalCalled=!0,process.nextTick(I,e,t)):(t.prefinished=!0,e.emit(`prefinish`)))}function R(e,t){var n=F(t);if(n&&(L(e,t),t.pendingcb===0&&(t.finished=!0,e.emit(`finish`),t.autoDestroy))){var r=e._readableState;(!r||r.autoDestroy&&r.endEmitted)&&e.destroy()}return n}function z(e,t,n){t.ending=!0,R(e,t),n&&(t.finished?process.nextTick(n):e.once(`finish`,n)),t.ended=!0,e.writable=!1}function ne(e,t,n){var r=e.entry;for(e.entry=null;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree.next=e}Object.defineProperty(T.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState!==void 0&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),T.prototype.destroy=u.destroy,T.prototype._undestroy=u.undestroy,T.prototype._destroy=function(e,t){t(e)}})),ts=/* @__PURE__ */ t(((e,t)=>{var n=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};t.exports=c;var r=ss(),i=es();Ha()(c,r);for(var a=n(i.prototype),o=0;o<a.length;o++){var s=a[o];c.prototype[s]||(c.prototype[s]=i.prototype[s])}function c(e){if(!(this instanceof c))return new c(e);r.call(this,e),i.call(this,e),this.allowHalfOpen=!0,e&&(e.readable===!1&&(this.readable=!1),e.writable===!1&&(this.writable=!1),e.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once(`end`,l)))}Object.defineProperty(c.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(c.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(c.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}});function l(){this._writableState.ended||process.nextTick(u,this)}function u(e){e.end()}Object.defineProperty(c.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(e){this._readableState!==void 0&&this._writableState!==void 0&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}})})),ns=/* @__PURE__ */ t(((e,t)=>{
|
|
22
|
+
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
23
|
+
var n=Ka(),r=n.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(i(n,e),e.Buffer=a);function a(e,t,n){return r(e,t,n)}a.prototype=Object.create(r.prototype),i(r,a),a.from=function(e,t,n){if(typeof e==`number`)throw TypeError(`Argument must not be a number`);return r(e,t,n)},a.alloc=function(e,t,n){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);var i=r(e);return t===void 0?i.fill(0):typeof n==`string`?i.fill(t,n):i.fill(t),i},a.allocUnsafe=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return r(e)},a.allocUnsafeSlow=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return n.SlowBuffer(e)}})),rs=/* @__PURE__ */ t((e=>{var t=ns().Buffer,n=t.isEncoding||function(e){switch(e=``+e,e&&e.toLowerCase()){case`hex`:case`utf8`:case`utf-8`:case`ascii`:case`binary`:case`base64`:case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:case`raw`:return!0;default:return!1}};function r(e){if(!e)return`utf8`;for(var t;;)switch(e){case`utf8`:case`utf-8`:return`utf8`;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return`utf16le`;case`latin1`:case`binary`:return`latin1`;case`base64`:case`ascii`:case`hex`:return e;default:if(t)return;e=(``+e).toLowerCase(),t=!0}}function i(e){var i=r(e);if(typeof i!=`string`&&(t.isEncoding===n||!n(e)))throw Error(`Unknown encoding: `+e);return i||e}e.StringDecoder=a;function a(e){this.encoding=i(e);var n;switch(this.encoding){case`utf16le`:this.text=f,this.end=p,n=4;break;case`utf8`:this.fillLast=l,n=4;break;case`base64`:this.text=m,this.end=h,n=3;break;default:this.write=g,this.end=_;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=t.allocUnsafe(n)}a.prototype.write=function(e){if(e.length===0)return``;var t,n;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return``;n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||``},a.prototype.end=d,a.prototype.text=u,a.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length};function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e,t,n){var r=t.length-1;if(r<n)return 0;var i=o(t[r]);return i>=0?(i>0&&(e.lastNeed=i-1),i):--r<n||i===-2?0:(i=o(t[r]),i>=0?(i>0&&(e.lastNeed=i-2),i):--r<n||i===-2?0:(i=o(t[r]),i>=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function c(e,t,n){if((t[0]&192)!=128)return e.lastNeed=0,`�`;if(e.lastNeed>1&&t.length>1){if((t[1]&192)!=128)return e.lastNeed=1,`�`;if(e.lastNeed>2&&t.length>2&&(t[2]&192)!=128)return e.lastNeed=2,`�`}}function l(e){var t=this.lastTotal-this.lastNeed,n=c(this,e,t);if(n!==void 0)return n;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function u(e,t){var n=s(this,e,t);if(!this.lastNeed)return e.toString(`utf8`,t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString(`utf8`,t,r)}function d(e){var t=e&&e.length?this.write(e):``;return this.lastNeed?t+`�`:t}function f(e,t){if((e.length-t)%2==0){var n=e.toString(`utf16le`,t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(`utf16le`,t,e.length-1)}function p(e){var t=e&&e.length?this.write(e):``;if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(`utf16le`,0,n)}return t}function m(e,t){var n=(e.length-t)%3;return n===0?e.toString(`base64`,t):(this.lastNeed=3-n,this.lastTotal=3,n===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(`base64`,t,e.length-n))}function h(e){var t=e&&e.length?this.write(e):``;return this.lastNeed?t+this.lastChar.toString(`base64`,0,3-this.lastNeed):t}function g(e){return e.toString(this.encoding)}function _(e){return e&&e.length?this.write(e):``}})),is=/* @__PURE__ */ t(((e,t)=>{var n=Zo().codes.ERR_STREAM_PREMATURE_CLOSE;function r(e){var t=!1;return function(){if(!t){t=!0;var n=[...arguments];e.apply(this,n)}}}function i(){}function a(e){return e.setHeader&&typeof e.abort==`function`}function o(e,t,s){if(typeof t==`function`)return o(e,null,t);t||={},s=r(s||i);var c=t.readable||t.readable!==!1&&e.readable,l=t.writable||t.writable!==!1&&e.writable,u=function(){e.writable||f()},d=e._writableState&&e._writableState.finished,f=function(){l=!1,d=!0,c||s.call(e)},p=e._readableState&&e._readableState.endEmitted,m=function(){c=!1,p=!0,l||s.call(e)},h=function(t){s.call(e,t)},g=function(){var t;if(c&&!p)return(!e._readableState||!e._readableState.ended)&&(t=new n),s.call(e,t);if(l&&!d)return(!e._writableState||!e._writableState.ended)&&(t=new n),s.call(e,t)},_=function(){e.req.on(`finish`,f)};return a(e)?(e.on(`complete`,f),e.on(`abort`,g),e.req?_():e.on(`request`,_)):l&&!e._writableState&&(e.on(`end`,u),e.on(`close`,u)),e.on(`end`,m),e.on(`finish`,f),t.error!==!1&&e.on(`error`,h),e.on(`close`,g),function(){e.removeListener(`complete`,f),e.removeListener(`abort`,g),e.removeListener(`request`,_),e.req&&e.req.removeListener(`finish`,f),e.removeListener(`end`,u),e.removeListener(`close`,u),e.removeListener(`finish`,f),e.removeListener(`end`,m),e.removeListener(`error`,h),e.removeListener(`close`,g)}}t.exports=o})),as=/* @__PURE__ */ t(((e,t)=>{var n;function r(e,t,n){return t=i(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){var t=a(e,`string`);return typeof t==`symbol`?t:String(t)}function a(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var o=is(),s=Symbol(`lastResolve`),c=Symbol(`lastReject`),l=Symbol(`error`),u=Symbol(`ended`),d=Symbol(`lastPromise`),f=Symbol(`handlePromise`),p=Symbol(`stream`);function m(e,t){return{value:e,done:t}}function h(e){var t=e[s];if(t!==null){var n=e[p].read();n!==null&&(e[d]=null,e[s]=null,e[c]=null,t(m(n,!1)))}}function g(e){process.nextTick(h,e)}function _(e,t){return function(n,r){e.then(function(){if(t[u]){n(m(void 0,!0));return}t[f](n,r)},r)}}var v=Object.getPrototypeOf(function(){}),y=Object.setPrototypeOf((n={get stream(){return this[p]},next:function(){var e=this,t=this[l];if(t!==null)return Promise.reject(t);if(this[u])return Promise.resolve(m(void 0,!0));if(this[p].destroyed)return new Promise(function(t,n){process.nextTick(function(){e[l]?n(e[l]):t(m(void 0,!0))})});var n=this[d],r;if(n)r=new Promise(_(n,this));else{var i=this[p].read();if(i!==null)return Promise.resolve(m(i,!1));r=new Promise(this[f])}return this[d]=r,r}},r(n,Symbol.asyncIterator,function(){return this}),r(n,`return`,function(){var e=this;return new Promise(function(t,n){e[p].destroy(null,function(e){if(e){n(e);return}t(m(void 0,!0))})})}),n),v);t.exports=function(e){var t,n=Object.create(y,(t={},r(t,p,{value:e,writable:!0}),r(t,s,{value:null,writable:!0}),r(t,c,{value:null,writable:!0}),r(t,l,{value:null,writable:!0}),r(t,u,{value:e._readableState.endEmitted,writable:!0}),r(t,f,{value:function(e,t){var r=n[p].read();r?(n[d]=null,n[s]=null,n[c]=null,e(m(r,!1))):(n[s]=e,n[c]=t)},writable:!0}),t));return n[d]=null,o(e,function(e){if(e&&e.code!==`ERR_STREAM_PREMATURE_CLOSE`){var t=n[c];t!==null&&(n[d]=null,n[s]=null,n[c]=null,t(e)),n[l]=e;return}var r=n[s];r!==null&&(n[d]=null,n[s]=null,n[c]=null,r(m(void 0,!0))),n[u]=!0}),e.on(`readable`,g.bind(null,n)),n}})),os=/* @__PURE__ */ t(((e,t)=>{t.exports=function(){throw Error(`Readable.from is not available in the browser`)}})),ss=/* @__PURE__ */ t(((e,t)=>{t.exports=E;var n;E.ReadableState=T,Va().EventEmitter;var r=function(e,t){return e.listeners(t).length},i=Ua(),a=Ka().Buffer,o=(typeof global<`u`?global:typeof window<`u`?window:typeof self<`u`?self:{}).Uint8Array||function(){};function s(e){return a.from(e)}function c(e){return a.isBuffer(e)||e instanceof o}var l=Jo(),u=l&&l.debuglog?l.debuglog(`stream`):function(){},d=Yo(),f=Xo(),p=Qo().getHighWaterMark,m=Zo().codes,h=m.ERR_INVALID_ARG_TYPE,g=m.ERR_STREAM_PUSH_AFTER_EOF,_=m.ERR_METHOD_NOT_IMPLEMENTED,v=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,y,b,x;Ha()(E,i);var S=f.errorOrDestroy,C=[`error`,`close`,`destroy`,`pause`,`resume`];function w(e,t,n){if(typeof e.prependListener==`function`)return e.prependListener(t,n);!e._events||!e._events[t]?e.on(t,n):Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]}function T(e,t,r){n||=ts(),e||={},typeof r!=`boolean`&&(r=t instanceof n),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=p(this,e,`readableHighWaterMark`,r),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||`utf8`,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(y||=rs().StringDecoder,this.decoder=new y(e.encoding),this.encoding=e.encoding)}function E(e){if(n||=ts(),!(this instanceof E))return new E(e);var t=this instanceof n;this._readableState=new T(e,this,t),this.readable=!0,e&&(typeof e.read==`function`&&(this._read=e.read),typeof e.destroy==`function`&&(this._destroy=e.destroy)),i.call(this)}Object.defineProperty(E.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState!==void 0&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),E.prototype.destroy=f.destroy,E.prototype._undestroy=f.undestroy,E.prototype._destroy=function(e,t){t(e)},E.prototype.push=function(e,t){var n=this._readableState,r;return n.objectMode?r=!0:typeof e==`string`&&(t||=n.defaultEncoding,t!==n.encoding&&(e=a.from(e,t),t=``),r=!0),D(this,e,t,!1,r)},E.prototype.unshift=function(e){return D(this,e,null,!0,!1)};function D(e,t,n,r,i){u(`readableAddChunk`,t);var o=e._readableState;if(t===null)o.reading=!1,te(e,o);else{var c;if(i||(c=k(o,t)),c)S(e,c);else if(o.objectMode||t&&t.length>0){if(typeof t!=`string`&&!o.objectMode&&Object.getPrototypeOf(t)!==a.prototype&&(t=s(t)),r)o.endEmitted?S(e,new v):O(e,o,t,!0);else if(o.ended)S(e,new g);else if(o.destroyed)return!1;else o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||t.length!==0?O(e,o,t,!1):P(e,o)):O(e,o,t,!1)}else r||(o.reading=!1,P(e,o))}return!o.ended&&(o.length<o.highWaterMark||o.length===0)}function O(e,t,n,r){t.flowing&&t.length===0&&!t.sync?(t.awaitDrain=0,e.emit(`data`,n)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&M(e)),P(e,t)}function k(e,t){var n;return!c(t)&&typeof t!=`string`&&t!==void 0&&!e.objectMode&&(n=new h(`chunk`,[`string`,`Buffer`,`Uint8Array`],t)),n}E.prototype.isPaused=function(){return this._readableState.flowing===!1},E.prototype.setEncoding=function(e){y||=rs().StringDecoder;var t=new y(e);this._readableState.decoder=t,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,r=``;n!==null;)r+=t.write(n.data),n=n.next;return this._readableState.buffer.clear(),r!==``&&this._readableState.buffer.push(r),this._readableState.length=r.length,this};var A=1073741824;function ee(e){return e>=A?e=A:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function j(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e===e?(e>t.highWaterMark&&(t.highWaterMark=ee(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0)):t.flowing&&t.length?t.buffer.head.data.length:t.length}E.prototype.read=function(e){u(`read`,e),e=parseInt(e,10);var t=this._readableState,n=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark===0?t.length>0:t.length>=t.highWaterMark)||t.ended))return u(`read: emitReadable`,t.length,t.ended),t.length===0&&t.ended?ae(this):M(this),null;if(e=j(e,t),e===0&&t.ended)return t.length===0&&ae(this),null;var r=t.needReadable;u(`need readable`,r),(t.length===0||t.length-e<t.highWaterMark)&&(r=!0,u(`length less than watermark`,r)),t.ended||t.reading?(r=!1,u(`reading or ended`,r)):r&&(u(`do read`),t.reading=!0,t.sync=!0,t.length===0&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=j(n,t)));var i=e>0?ie(e,t):null;return i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&ae(this)),i!==null&&this.emit(`data`,i),i};function te(e,t){if(u(`onEofChunk`),!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?M(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,N(e)))}}function M(e){var t=e._readableState;u(`emitReadable`,t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(u(`emitReadable`,t.flowing),t.emittedReadable=!0,process.nextTick(N,e))}function N(e){var t=e._readableState;u(`emitReadable_`,t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit(`readable`),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,re(e)}function P(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(F,e,t))}function F(e,t){for(;!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0);){var n=t.length;if(u(`maybeReadMore read 0`),e.read(0),n===t.length)break}t.readingMore=!1}E.prototype._read=function(e){S(this,new _(`_read()`))},E.prototype.pipe=function(e,t){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,u(`pipe count=%d opts=%j`,i.pipesCount,t);var a=(!t||t.end!==!1)&&e!==process.stdout&&e!==process.stderr?s:g;i.endEmitted?process.nextTick(a):n.once(`end`,a),e.on(`unpipe`,o);function o(e,t){u(`onunpipe`),e===n&&t&&t.hasUnpiped===!1&&(t.hasUnpiped=!0,d())}function s(){u(`onend`),e.end()}var c=I(n);e.on(`drain`,c);var l=!1;function d(){u(`cleanup`),e.removeListener(`close`,m),e.removeListener(`finish`,h),e.removeListener(`drain`,c),e.removeListener(`error`,p),e.removeListener(`unpipe`,o),n.removeListener(`end`,s),n.removeListener(`end`,g),n.removeListener(`data`,f),l=!0,i.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&c()}n.on(`data`,f);function f(t){u(`ondata`);var r=e.write(t);u(`dest.write`,r),r===!1&&((i.pipesCount===1&&i.pipes===e||i.pipesCount>1&&B(i.pipes,e)!==-1)&&!l&&(u(`false write response, pause`,i.awaitDrain),i.awaitDrain++),n.pause())}function p(t){u(`onerror`,t),g(),e.removeListener(`error`,p),r(e,`error`)===0&&S(e,t)}w(e,`error`,p);function m(){e.removeListener(`finish`,h),g()}e.once(`close`,m);function h(){u(`onfinish`),e.removeListener(`close`,m),g()}e.once(`finish`,h);function g(){u(`unpipe`),n.unpipe(e)}return e.emit(`pipe`,n),i.flowing||(u(`pipe resume`),n.resume()),e};function I(e){return function(){var t=e._readableState;u(`pipeOnDrain`,t.awaitDrain),t.awaitDrain&&t.awaitDrain--,t.awaitDrain===0&&r(e,`data`)&&(t.flowing=!0,re(e))}}E.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||=t.pipes,t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(`unpipe`,this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)r[a].emit(`unpipe`,this,{hasUnpiped:!1});return this}var o=B(t.pipes,e);return o===-1?this:(t.pipes.splice(o,1),--t.pipesCount,t.pipesCount===1&&(t.pipes=t.pipes[0]),e.emit(`unpipe`,this,n),this)},E.prototype.on=function(e,t){var n=i.prototype.on.call(this,e,t),r=this._readableState;return e===`data`?(r.readableListening=this.listenerCount(`readable`)>0,r.flowing!==!1&&this.resume()):e===`readable`&&!r.endEmitted&&!r.readableListening&&(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,u(`on readable`,r.length,r.reading),r.length?M(this):r.reading||process.nextTick(R,this)),n},E.prototype.addListener=E.prototype.on,E.prototype.removeListener=function(e,t){var n=i.prototype.removeListener.call(this,e,t);return e===`readable`&&process.nextTick(L,this),n},E.prototype.removeAllListeners=function(e){var t=i.prototype.removeAllListeners.apply(this,arguments);return(e===`readable`||e===void 0)&&process.nextTick(L,this),t};function L(e){var t=e._readableState;t.readableListening=e.listenerCount(`readable`)>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(`data`)>0&&e.resume()}function R(e){u(`readable nexttick read 0`),e.read(0)}E.prototype.resume=function(){var e=this._readableState;return e.flowing||(u(`resume`),e.flowing=!e.readableListening,z(this,e)),e.paused=!1,this};function z(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(ne,e,t))}function ne(e,t){u(`resume`,t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(`resume`),re(e),t.flowing&&!t.reading&&e.read(0)}E.prototype.pause=function(){return u(`call pause flowing=%j`,this._readableState.flowing),this._readableState.flowing!==!1&&(u(`pause`),this._readableState.flowing=!1,this.emit(`pause`)),this._readableState.paused=!0,this};function re(e){var t=e._readableState;for(u(`flow`,t.flowing);t.flowing&&e.read()!==null;);}E.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on(`end`,function(){if(u(`wrapped end`),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on(`data`,function(i){u(`wrapped data`),n.decoder&&(i=n.decoder.write(i)),!(n.objectMode&&i==null)&&(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))}),e)this[i]===void 0&&typeof e[i]==`function`&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a<C.length;a++)e.on(C[a],this.emit.bind(this,C[a]));return this._read=function(t){u(`wrapped _read`,t),r&&(r=!1,e.resume())},this},typeof Symbol==`function`&&(E.prototype[Symbol.asyncIterator]=function(){return b===void 0&&(b=as()),b(this)}),Object.defineProperty(E.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(E.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(E.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(e){this._readableState&&(this._readableState.flowing=e)}}),E._fromList=ie,Object.defineProperty(E.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}});function ie(e,t){if(t.length===0)return null;var n;return t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(``):t.buffer.length===1?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n}function ae(e){var t=e._readableState;u(`endReadable`,t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(oe,t,e))}function oe(e,t){if(u(`endReadableNT`,e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit(`end`),e.autoDestroy)){var n=t._writableState;(!n||n.autoDestroy&&n.finished)&&t.destroy()}}typeof Symbol==`function`&&(E.from=function(e,t){return x===void 0&&(x=os()),x(E,e,t)});function B(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}})),cs=/* @__PURE__ */ t(((e,t)=>{t.exports=l;var n=Zo().codes,r=n.ERR_METHOD_NOT_IMPLEMENTED,i=n.ERR_MULTIPLE_CALLBACK,a=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=n.ERR_TRANSFORM_WITH_LENGTH_0,s=ts();Ha()(l,s);function c(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(r===null)return this.emit(`error`,new i);n.writechunk=null,n.writecb=null,t!=null&&this.push(t),r(e);var a=this._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&this._read(a.highWaterMark)}function l(e){if(!(this instanceof l))return new l(e);s.call(this,e),this._transformState={afterTransform:c.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&(typeof e.transform==`function`&&(this._transform=e.transform),typeof e.flush==`function`&&(this._flush=e.flush)),this.on(`prefinish`,u)}function u(){var e=this;typeof this._flush==`function`&&!this._readableState.destroyed?this._flush(function(t,n){d(e,t,n)}):d(this,null,null)}l.prototype.push=function(e,t){return this._transformState.needTransform=!1,s.prototype.push.call(this,e,t)},l.prototype._transform=function(e,t,n){n(new r(`_transform()`))},l.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},l.prototype._read=function(e){var t=this._transformState;t.writechunk!==null&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},l.prototype._destroy=function(e,t){s.prototype._destroy.call(this,e,function(e){t(e)})};function d(e,t,n){if(t)return e.emit(`error`,t);if(n!=null&&e.push(n),e._writableState.length)throw new o;if(e._transformState.transforming)throw new a;return e.push(null)}})),ls=/* @__PURE__ */ t(((e,t)=>{t.exports=r;var n=cs();Ha()(r,n);function r(e){if(!(this instanceof r))return new r(e);n.call(this,e)}r.prototype._transform=function(e,t,n){n(null,e)}})),us=/* @__PURE__ */ t(((e,t)=>{var n;function r(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var i=Zo().codes,a=i.ERR_MISSING_ARGS,o=i.ERR_STREAM_DESTROYED;function s(e){if(e)throw e}function c(e){return e.setHeader&&typeof e.abort==`function`}function l(e,t,i,a){a=r(a);var s=!1;e.on(`close`,function(){s=!0}),n===void 0&&(n=is()),n(e,{readable:t,writable:i},function(e){if(e)return a(e);s=!0,a()});var l=!1;return function(t){if(!s&&!l){if(l=!0,c(e))return e.abort();if(typeof e.destroy==`function`)return e.destroy();a(t||new o(`pipe`))}}}function u(e){e()}function d(e,t){return e.pipe(t)}function f(e){return!e.length||typeof e[e.length-1]!=`function`?s:e.pop()}function p(){var e=[...arguments],t=f(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new a(`streams`);var n,r=e.map(function(i,a){var o=a<e.length-1;return l(i,o,a>0,function(e){n||=e,e&&r.forEach(u),!o&&(r.forEach(u),t(n))})});return e.reduce(d)}t.exports=p})),ds=(/* @__PURE__ */ t(((e,t)=>{t.exports=r;var n=Va().EventEmitter;Ha()(r,n),r.Readable=ss(),r.Writable=es(),r.Duplex=ts(),r.Transform=cs(),r.PassThrough=ls(),r.finished=is(),r.pipeline=us(),r.Stream=r;function r(){n.call(this)}r.prototype.pipe=function(e,t){var r=this;function i(t){e.writable&&!1===e.write(t)&&r.pause&&r.pause()}r.on(`data`,i);function a(){r.readable&&r.resume&&r.resume()}e.on(`drain`,a),!e._isStdio&&(!t||t.end!==!1)&&(r.on(`end`,s),r.on(`close`,c));var o=!1;function s(){o||(o=!0,e.end())}function c(){o||(o=!0,typeof e.destroy==`function`&&e.destroy())}function l(e){if(u(),n.listenerCount(this,`error`)===0)throw e}r.on(`error`,l),e.on(`error`,l);function u(){r.removeListener(`data`,i),e.removeListener(`drain`,a),r.removeListener(`end`,s),r.removeListener(`close`,c),r.removeListener(`error`,l),e.removeListener(`error`,l),r.removeListener(`end`,u),r.removeListener(`close`,u),e.removeListener(`close`,u)}return r.on(`end`,u),r.on(`close`,u),e.on(`close`,u),e.emit(`pipe`,r),e}})))(),fs=Va(),ps=class extends ds.Stream.Duplex{_localAddress;_remoteAddress;_webVPNTcpSocketPromise;constructor(e){if(e?.fd!==void 0)throw Error(`FKN WebVPN does not support file descriptors`);super(e),e?.connection&&this.__webvpn_tcp_socket_init__(e.connection)}_busyRelease;__webvpn_tcp_socket_init__(e,t){if(this._busyRelease??=Ba(`tcp socket`),t&&(this._localAddress={address:t.localAddress,family:t.localFamily,port:t.localPort},this._remoteAddress={address:t.remoteAddress,family:t.remoteFamily,port:t.remotePort}),this._webVPNTcpSocketPromise=e.then(e=>{let t=e.dataReadableStream.getReader(),n=e.dataWritableStream.getWriter();return this._localAddress={address:e.localAddress,family:e.localFamily,port:e.localPort},this._remoteAddress={address:e.remoteAddress,family:e.remoteFamily,port:e.remotePort},{...e,reader:t,writer:n}}).catch(e=>{this.emit(`error`,e)}),!this._webVPNTcpSocketPromise)throw Error(`Socket not connected`);return this._webVPNTcpSocketPromise.then(e=>{if(!e){this._busyRelease?.();return}this.emit(`connect`)}),this._webVPNTcpSocketPromise}_read(e){if(!this._webVPNTcpSocketPromise)throw Error(`Socket not connected`);this._webVPNTcpSocketPromise.then(e=>{if(!e){this.push(null);return}e.reader.read().then(({value:e,done:t})=>{if(t){this.push(null);return}this._restartTimeoutTimer(),this.push(e)}).catch(e=>{this.destroy(e)})})}_write(e,t,n){if(!this._webVPNTcpSocketPromise){n(/* @__PURE__ */ Error(`Socket not connected`));return}this._webVPNTcpSocketPromise.then(async t=>{if(!t)throw Error(`Socket not connected`);await t.writer.ready,await t.writer.write(e),this._restartTimeoutTimer(),n()}).catch(n)}connect(...e){let t=_(...e),n=this.__webvpn_tcp_socket_init__(La.then(e=>e.cloud.webvpn.tcpSocket({remoteAddress:t.host??`localhost`,remotePort:t.port})));return t.callback&&n.then(e=>{e&&t.callback.call(this)}),this}_final(e){if(!this._webVPNTcpSocketPromise){e();return}this._webVPNTcpSocketPromise.then(async e=>{e&&await e.writer.close()}).then(()=>e(),t=>e(t))}_destroy(e,t){if(this._timeoutTimer&&clearTimeout(this._timeoutTimer),this._busyRelease?.(),!this._webVPNTcpSocketPromise){t(e);return}this._webVPNTcpSocketPromise.then(async e=>{e&&await(this._resetRequested?e.resetAndDestroy():e.destroy())}).then(()=>t(e),()=>t(e))}destroySoon(){if(this.writableFinished){this.destroy();return}this.once(`finish`,()=>this.destroy()),this.end()}_resetRequested=!1;resetAndDestroy(){return this._resetRequested=!0,this.destroy(),this}_timeoutMs;_timeoutTimer;_restartTimeoutTimer(){this._timeoutTimer&&clearTimeout(this._timeoutTimer),this._timeoutMs&&(this._timeoutTimer=setTimeout(()=>this.emit(`timeout`),this._timeoutMs))}setTimeout(e,t){return t&&this.on(`timeout`,t),this._timeoutMs=e,this._restartTimeoutTimer(),this}setNoDelay(e){let t=e??!0;return this._setTcpOption({type:0,value:t}),this}setKeepAlive(e,t){let n=e??!1,r=t!==void 0&&t>0?Math.max(1,Math.round(t/1e3)):0;return this._setTcpOption({type:2,enabled:n,initialDelaySeconds:r}),this}setSendBufferSize(e){return this._setTcpOption({type:3,value:e}),this}setRecvBufferSize(e){return this._setTcpOption({type:4,value:e}),this}_typeOfService;getTypeOfService(){return this._typeOfService??0}setTypeOfService(e){return this._typeOfService=e,this}_setTcpOption(e){if(!this._webVPNTcpSocketPromise){this.emit(`error`,/* @__PURE__ */ Error(`Cannot set socket option before connect`));return}this._webVPNTcpSocketPromise.then(async t=>{if(t)try{await t.setOption(e)}catch(e){this.emit(`error`,e)}})}write(e,t,...n){return super.write(e,t,...n)}address(){return this._localAddress??{}}unref(){return this}ref(){return this}autoSelectFamilyAttemptedAddresses;bufferSize;bytesRead;bytesWritten;connecting;pending;get localAddress(){if(!this._localAddress)throw Error(`Socket is not connected`);return this._localAddress.address}get localPort(){if(!this._localAddress)throw Error(`Socket is not connected`);return this._localAddress.port}get localFamily(){if(!this._localAddress)throw Error(`Socket is not connected`);return this._localAddress.family}readyState;get remoteAddress(){if(!this._remoteAddress)throw Error(`Socket is not connected`);return this._remoteAddress.address}get remotePort(){if(!this._remoteAddress)throw Error(`Socket is not connected`);return this._remoteAddress.port}get remoteFamily(){if(!this._remoteAddress)throw Error(`Socket is not connected`);return this._remoteAddress.family}timeout},ms=class extends fs.EventEmitter{_localAddress;_webVPNTcpSocketListenerPromise;constructor(e,t){super(e),t&&this.on(`connection`,t),e?.connection&&this.__webvpn_tcp_socket_listener_init__(e.connection)}_busyRelease;__webvpn_tcp_socket_listener_init__(e){return this._busyRelease??=Ba(`tcp server`),this._webVPNTcpSocketListenerPromise=e.then(e=>(this._localAddress={address:e.localAddress,family:e.localFamily,port:e.localPort},e)).catch(e=>{this.emit(`error`,e)}),this._webVPNTcpSocketListenerPromise.then(e=>{if(!e){this._busyRelease?.();return}this.emit(`listening`)}),this._webVPNTcpSocketListenerPromise}listen(...e){let t=_(...e);this._closeEmitted=!1;let n=e=>{let t=new ps;t.__webvpn_tcp_socket_init__(Promise.resolve(e),e),this.emit(`connection`,t)},r=e=>{this._localAddress=void 0;try{e&&this.listenerCount(`error`)>0&&this.emit(`error`,e)}finally{this._emitClose()}},i=e=>La.then(i=>i.cloud.webvpn.tcpSocketListener({localAddress:e,localPort:t.port,onConnection:n,onClose:r})),a=t.host?i(t.host):i(`::`).catch(()=>i(`0.0.0.0`)),o=this.__webvpn_tcp_socket_listener_init__(a);return t.callback&&o.then(e=>{e&&t.callback.call(this)}),this}_closeEmitted=!1;_emitClose(){this._closeEmitted||(this._closeEmitted=!0,this._busyRelease?.(),this.emit(`close`))}close(e){return this._webVPNTcpSocketListenerPromise&&this._webVPNTcpSocketListenerPromise.then(async t=>{if(t)try{await t.close(),this._localAddress=void 0,this._emitClose(),e&&e()}catch(t){this._localAddress=void 0,this._emitClose(),e&&e(t)}}),this}address(){return this._localAddress??null}getConnections(e){throw Error(`Method not implemented.`)}ref(){return this}unref(){return this}maxConnections;connections;listening;async[Symbol.asyncDispose](){}},hs=(e,t)=>new ps().connect(e,t),gs=(e,t)=>new ps().connect(e,t),_s=(e,t)=>{typeof e==`function`&&(t=e,e=void 0);let n=new ms(e);return t&&n.on(`connection`,t),n},vs={Socket:ps,Server:ms,connect:hs,createConnection:gs,createServer:_s,isIP:g,isIPv4:m,isIPv6:h},ys=/* @__PURE__ */ n({Server:()=>ms,Socket:()=>ps,_default:()=>vs,connect:()=>hs,createConnection:()=>gs,createServer:()=>_s,default:()=>vs,isIP:()=>g,isIPv4:()=>m,isIPv6:()=>h}),bs=Ka(),xs=class extends fs.EventEmitter{_type;_localAddress;_remoteAddress;_connectedLocally;_connectGeneration=0;_destroyed=!1;_busyRelease;_webVPNUdpSocketPromise;_dataPort;_socketId;_sendQueue=[];_sendQueueBytes=0;_sendFlushScheduled=!1;_peerTailCache=/* @__PURE__ */ new Map;constructor(e){if(super(e),!e)throw Error(`Missing options`);this._type=e.type,e.connection&&this.__webvpn_udp_socket_init__(e.connection)}_lastRecvBufferSize=0;_lastSendBufferSize=0;_lastTtl=64;_lastMulticastTtl=1;_lastMulticastLoopback=!0;_setUdpOption(e){if(!this._webVPNUdpSocketPromise){this.emit(`error`,/* @__PURE__ */ Error(`Cannot set socket option before bind`));return}this._webVPNUdpSocketPromise.then(async t=>{if(t)try{await t.setOption(e)}catch(e){this.emit(`error`,e)}})}_dataPortAcks=!1;_dataPortConsumedBytes=0;_dataPortAckedBytes=0;_ackDataPortBatch(e){if(!this._dataPortAcks||!this._dataPort||(this._dataPortConsumedBytes+=e,this._dataPortAckedBytes!==0&&this._dataPortConsumedBytes-this._dataPortAckedBytes<524288))return;this._dataPortAckedBytes=this._dataPortConsumedBytes;let t={type:p,consumedBytes:this._dataPortConsumedBytes};this._dataPort.postMessage(t)}_onTransportClosed(e){this._destroyed||(this._destroyed=!0,this._busyRelease?.(),this._dataPort?.close(),this._dataPort=void 0,this.listenerCount(`error`)>0&&this.emit(`error`,Error(e||`WebVPN session closed`)),this.emit(`close`))}_onDataPortBatch(e){let t=new DataView(e),n=!1,r,i=0;for(;i+4<=e.byteLength;){let a=t.getUint32(i);i+=4;let o=i+a;if(o>e.byteLength)break;let s=i+4,c=t.getUint8(s);s+=1;let l,u,d;if(c===2){if(!this._remoteAddress){i=o;continue}l=this._remoteAddress.address,u=this._remoteAddress.family,d=this._remoteAddress.port}else{let n=new Uint8Array(e,s,c===0?4:16);c===0?(u=`IPv4`,l=`${n[0]}.${n[1]}.${n[2]}.${n[3]}`):(u=`IPv6`,l=Ts(n)),s+=n.byteLength,d=t.getUint16(s),s+=2}let f=t.getUint32(s);s+=4;try{this.emit(`message`,bs.Buffer.from(e.slice(s,s+f)),{address:l,family:u,port:d,size:f})}catch(e){n||(n=!0,r=e)}i=o}if(n)throw r}_peerTail(e,t){if(e===void 0||t===void 0)return Ss;let n=`${e}|${t}`,r=this._peerTailCache.get(n);if(r)return r;let i=d.Address4.isValid(e)?ws(e):Es(e),a=new Uint8Array(1+i.byteLength+2);return a[0]=i.byteLength===4?0:1,a.set(i,1),new DataView(a.buffer).setUint16(1+i.byteLength,t),this._peerTailCache.size>=4096&&this._peerTailCache.clear(),this._peerTailCache.set(n,a),a}_portSend(e,t,n){let r=this._peerTail(t,n),i=new Uint8Array(8+r.byteLength+4+e.byteLength),a=new DataView(i.buffer);a.setUint32(0,i.byteLength-4),a.setUint32(4,this._socketId),i.set(r,8),a.setUint32(8+r.byteLength,e.byteLength),i.set(e,12+r.byteLength),this._sendQueue.push(i),this._sendQueueBytes+=i.byteLength,!this._sendFlushScheduled&&(this._sendFlushScheduled=!0,queueMicrotask(()=>{this._sendFlushScheduled=!1;let e=this._sendQueue,t=this._sendQueueBytes;if(this._sendQueue=[],this._sendQueueBytes=0,!e.length||!this._dataPort)return;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.byteLength;this._dataPort.postMessage(n.buffer,[n.buffer])}))}addMembership(e,t){if(d.Address4.isValid(e)){let n=ws(e),r=t&&d.Address4.isValid(t)?ws(t):new Uint8Array([0,0,0,0]);this._setUdpOption({type:5,group:n,interface:r})}else if(d.Address6.isValid(e)){let t=Es(e);this._setUdpOption({type:7,group:t,ifIndex:0})}else this.emit(`error`,/* @__PURE__ */ Error(`Invalid multicast address: ${e}`))}address(){if(!this._localAddress)throw Error(`EBADF`);return this._localAddress}bind(...e){let t=v(...e),n=this._type===`udp6`?`::`:`0.0.0.0`,r=this.__webvpn_udp_socket_init__(La.then(e=>e.cloud.webvpn.udpSocket({type:this._type,address:t.address??n,port:t.port,dataPort:!0})));return t.callback&&r.then(e=>{e&&t.callback.call(this)}),this}__webvpn_udp_socket_init__(e,t){return t&&(this._localAddress={address:t.localAddress,family:t.localFamily,port:t.localPort}),this._busyRelease??=Ba(`udp socket`),this._webVPNUdpSocketPromise=e.then(e=>{if(e.dataPort)this._socketId=e.socketId,this._dataPort=e.dataPort,this._dataPortAcks=e.dataPortAcks===!0,this._dataPort.onmessage=e=>{try{this._onDataPortBatch(e.data)}finally{this._ackDataPortBatch(e.data.byteLength)}};else{let t=e.dataReadableStream.getReader();(async()=>{for(;;){let{value:e,done:n}=await t.read();if(n)return;this.emit(`message`,bs.Buffer.from(e.data),{address:e.address,family:e.family,port:e.port,size:e.size})}})().catch(e=>this._onTransportClosed(e instanceof Error?e.message:void 0))}return e.closed?.then(e=>this._onTransportClosed(e?.reason)).catch(()=>{}),this._localAddress={address:e.localAddress,family:e.localFamily,port:e.localPort},e}).catch(e=>{this.emit(`error`,e)}),this._webVPNUdpSocketPromise.then(e=>{if(!e){this._busyRelease?.();return}this.emit(`listening`)}),this._webVPNUdpSocketPromise}close(e){if(!this._webVPNUdpSocketPromise)throw Error(`Socket not bound`);return this._webVPNUdpSocketPromise.then(async t=>{if(!t)throw Error(`Socket not bound`);let n=this._destroyed;this._destroyed=!0,this._busyRelease?.(),this._dataPort?.close(),this._dataPort=void 0;try{await t.close()}finally{try{e&&e()}finally{n||this.emit(`close`)}}}).catch(()=>{}),this}connect(...e){if(!this._webVPNUdpSocketPromise)throw Error(`Socket not bound`);this._webVPNUdpSocketPromise.then(async t=>{if(!t)throw Error(`Socket not bound`);let n=e[0],r=this._type===`udp6`?`::1`:`127.0.0.1`,i=typeof e[1]==`string`?e[1]:r,a=typeof e.at(-1)==`function`?e.at(-1):void 0,o=await t.connect({remotePort:n,remoteAddress:i});this._connectedLocally=o?.local===!0,this._remoteAddress=o?.address?{address:o.address,family:o.family,port:o.port}:{address:i,family:this._type===`udp6`?`IPv6`:`IPv4`,port:n},this._connectGeneration+=1,a&&a()}).catch(e=>{this.emit(`error`,e)})}disconnect(){if(!this._webVPNUdpSocketPromise)throw Error(`Socket not bound`);if(!this._remoteAddress)throw Error(`ERR_SOCKET_DGRAM_NOT_CONNECTED`);let e=this._remoteAddress,t=this._connectedLocally,n=this._connectGeneration;this._remoteAddress=void 0,this._connectedLocally=void 0,this._webVPNUdpSocketPromise.then(e=>e?.disconnect?.()).catch(r=>{this._connectGeneration===n&&(this._remoteAddress=e,this._connectedLocally=t),this.emit(`error`,r)})}dropMembership(e,t){if(d.Address4.isValid(e)){let n=ws(e),r=t&&d.Address4.isValid(t)?ws(t):new Uint8Array([0,0,0,0]);this._setUdpOption({type:6,group:n,interface:r})}else if(d.Address6.isValid(e)){let t=Es(e);this._setUdpOption({type:8,group:t,ifIndex:0})}else this.emit(`error`,/* @__PURE__ */ Error(`Invalid multicast address: ${e}`))}getRecvBufferSize(){return this._lastRecvBufferSize}getSendBufferSize(){return this._lastSendBufferSize}getSendQueueSize(){return 0}getSendQueueCount(){return 0}ref(){return this}remoteAddress(){if(!this._remoteAddress)throw Error(`ERR_SOCKET_DGRAM_NOT_CONNECTED`);return{address:this._remoteAddress.address,family:this._remoteAddress.family,port:this._remoteAddress.port}}send(...e){this._webVPNUdpSocketPromise||this.bind();let t=y(...e),n=Cs(t.message),r=n;if(t.hasRange){let{offset:e,length:i}=t;if(!Number.isInteger(e)||e<0||e>n.byteLength)throw Object.assign(/* @__PURE__ */ RangeError(`"offset" is outside of buffer bounds`),{code:`ERR_BUFFER_OUT_OF_BOUNDS`});if(!Number.isInteger(i)||i<0||i>n.byteLength-e)throw Object.assign(/* @__PURE__ */ RangeError(`"length" is outside of buffer bounds`),{code:`ERR_BUFFER_OUT_OF_BOUNDS`});r=n.subarray(e,e+i)}let i=this._type===`udp6`?`::1`:`127.0.0.1`;if(!this._webVPNUdpSocketPromise)throw Error(`Socket not bound`);this._webVPNUdpSocketPromise.then(e=>{if(!e)throw Error(`Socket not bound`);let n=t.callback,a=t.address??i,o=this._remoteAddress!==void 0&&t.address===void 0;if(this._dataPort&&(o||d.Address4.isValid(a)||d.Address6.isValid(a))){this._portSend(r,o?void 0:a,o?void 0:t.port),n?.call(this,null,r.byteLength);return}e.send({port:t.port,address:a,message:r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength)}).then(()=>n?.call(this,null,r.byteLength),e=>n?n.call(this,e,0):this.emit(`error`,e))})}setBroadcast(e){this._setUdpOption({type:0,value:e})}setMulticastInterface(e){}setMulticastLoopback(e){return this._setUdpOption({type:3,value:e}),this._setUdpOption({type:4,value:e}),this._lastMulticastLoopback=e,e}setMulticastTTL(e){return this._setUdpOption({type:2,value:e}),this._lastMulticastTtl=e,e}setRecvBufferSize(e){this._setUdpOption({type:10,value:e}),this._lastRecvBufferSize=e}setSendBufferSize(e){this._setUdpOption({type:9,value:e}),this._lastSendBufferSize=e}setTTL(e){return this._setUdpOption({type:1,value:e}),this._lastTtl=e,e}unref(){return this}addSourceSpecificMembership(e,t,n){}dropSourceSpecificMembership(e,t,n){}async[Symbol.asyncDispose](){await new Promise(e=>{this.close(e)})}},Ss=new Uint8Array([2]),Cs=e=>{if(typeof e==`string`)return f.encode(e);if(e instanceof Uint8Array)return e;if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);if(Array.isArray(e)){let t=e.map(Cs),n=new Uint8Array(t.reduce((e,t)=>e+t.byteLength,0)),r=0;for(let e of t)n.set(e,r),r+=e.byteLength;return n}return new Uint8Array(e)},ws=e=>{let t=e.split(`.`).map(e=>parseInt(e,10));if(t.length!==4||t.some(e=>Number.isNaN(e)||e<0||e>255))throw Error(`Invalid IPv4 address: ${e}`);return new Uint8Array(t)},Ts=e=>{let t=[];for(let n=0;n<16;n+=2)t.push(e[n]<<8|e[n+1]);let n=-1,r=1;for(let e=0;e<8;){if(t[e]!==0){e++;continue}let i=e;for(;i<8&&t[i]===0;)i++;i-e>r&&(n=e,r=i-e),e=i}return n===-1?t.map(e=>e.toString(16)).join(`:`):`${t.slice(0,n).map(e=>e.toString(16)).join(`:`)}::${t.slice(n+r).map(e=>e.toString(16)).join(`:`)}`},Es=e=>{let t=new d.Address6(e).getBitsBase16(0,128).match(/.{2}/g);if(!t||t.length!==16)throw Error(`Invalid IPv6 address: ${e}`);return new Uint8Array(t.map(e=>parseInt(e,16)))},Ds=(e,t)=>{let n=new xs(typeof e==`string`?{type:e}:e);return t&&n.on(`message`,t),n},Os={Socket:xs,createSocket:Ds},ks=/* @__PURE__ */ n({Socket:()=>xs,createSocket:()=>Ds,default:()=>Os});function As(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function js(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=As(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}let Ms;function Ns(){return Ms||=js(`keyval-store`,`keyval`),Ms}function Ps(e,t=Ns()){return t(`readonly`,t=>As(t.get(e)))}function Fs(e,t,n=Ns()){return n(`readwrite`,n=>(n.put(t,e),As(n.transaction)))}function Is(e,t,n=Ns()){return n(`readwrite`,n=>new Promise((r,i)=>{n.get(e).onsuccess=function(){try{n.put(t(this.result),e),r(As(n.transaction))}catch(e){i(e)}}}))}function Ls(e,t=Ns()){return t(`readwrite`,t=>(t.delete(e),As(t.transaction)))}var Rs={checkingFiles:1,downloadingMetadata:2,downloading:3,finished:4,seeding:5,checkingResumeData:7},zs=/^incoming connection from (\S+) \(([^)]*)\)/,Bs=/^successfully listening on \[([^\]]*)\] (\S+)/,Vs=/^listening on .* failed:/,Hs=new TextDecoder,Us=4026531841,Ws=4026531842,Gs=4026531843,Ks=4026531844,qs=4026531845,Js=4026531846,Ys={interesting:1,choked:2,remoteInterested:4,remoteChoked:8,supportsExtensions:16,localConnection:32,handshake:64,connecting:128,onParole:512,seed:1024,optimisticUnchoke:2048,snubbed:4096,uploadOnly:8192,endgameMode:16384,holepunched:32768,i2pSocket:65536,utpSocket:1<<17,sslSocket:1<<18,rc4Encrypted:1<<19,plaintextEncrypted:1<<20},Xs={seedMode:1,uploadMode:2,shareMode:4,applyIpFilter:8,paused:16,autoManaged:32,duplicateIsError:64,updateSubscribe:128,superSeeding:256,sequentialDownload:512,stopWhenReady:1024,overrideTrackers:2048,overrideWebSeeds:4096,needSaveResume:8192,disableDht:1<<19,disableLsd:1<<20,disablePex:1<<21,noVerifyFiles:1<<22,defaultDontDownload:1<<23},Zs={top:0,up:1,down:2,bottom:3},Qs={tracker:1,dht:2,pex:4,lsd:8,resumeData:16,incoming:32},G={skip:0,low:1,normal:4,top:7},$s=6e4,ec=12,tc=1e3,nc=class{mod;storage;destroyed=!1;fallbackTimer;filesByHandle=/* @__PURE__ */ new Map;bitfieldByHandle=/* @__PURE__ */ new Map;statusByHandle=/* @__PURE__ */ new Map;pieceWaiters=[];resumeByHandle=/* @__PURE__ */ new Map;resumeWaiters=[];peersByHandle=/* @__PURE__ */ new Map;trackersByHandle=/* @__PURE__ */ new Map;peerWaiters=[];trackerWaiters=[];priosByHandle=/* @__PURE__ */ new Map;deadlineRefs=/* @__PURE__ */ new Map;reachability={listening:{},listenFailed:[],inbound:0,inboundByTransport:{},lastInbound:null,port:null};constructor(e,t){if(this.mod=e,this.storage=t.storage??null,t.utpReceiveBufferBytes&&e._lt_set_utp_receive_buffer(t.utpReceiveBufferBytes),t.enableDht===!1&&e._lt_set_dht(0),t.rateLimits){let{download:n,upload:r,limitLocalPeers:i}=t.rateLimits;e._lt_session_set_rate_limits(Math.max(0,Math.floor(n??0)),Math.max(0,Math.floor(r??0)),i==null?-1:+!!i)}if(e._lt_session_create()!==0)throw Error(`lt_session_create returned non-zero`);let n=t.tickIntervalMs??250;this.fallbackTimer=setInterval(()=>this.tick(),n)}addMagnet(e,t=`/downloads`){let n=this.mod,r=n.stringToNewUTF8(e),i=n.stringToNewUTF8(t);try{return n._lt_session_add_magnet(r,i)>>>0}finally{n._free(r),n._free(i)}}addTorrentFile(e,t=`/downloads`){let n=this.mod,r=n._malloc(e.length);n.HEAPU8.set(e,r);let i=n.stringToNewUTF8(t);try{return n._lt_session_add_torrent_file(r,e.length,i)>>>0}finally{n._free(r),n._free(i)}}addTorrentWithResume(e,t=`/downloads`){let n=this.mod,r=n._malloc(e.length);n.HEAPU8.set(e,r);let i=n.stringToNewUTF8(t);try{return n._lt_session_add_torrent_with_resume(r,e.length,i)>>>0}finally{n._free(r),n._free(i)}}removeTorrent(e,t=!1){this.mod._lt_session_remove_torrent_ex(e,+!!t),this.failPieceWaiters(/* @__PURE__ */ Error(`read: torrent ${e} was removed`),e),this.filesByHandle.delete(e),this.bitfieldByHandle.delete(e),this.statusByHandle.delete(e),this.resumeByHandle.delete(e),this.priosByHandle.delete(e),this.deadlineRefs.delete(e)}pauseTorrent(e){this.mod._lt_torrent_pause(e)}resumeTorrent(e){this.mod._lt_torrent_resume(e)}forceRecheck(e){this.mod._lt_torrent_force_recheck(e)}saveResumeData(e,t=8e3){return this.mod._lt_torrent_save_resume_data(e),new Promise((n,r)=>{let i={handle:e,resolve:n};this.resumeWaiters.push(i),setTimeout(()=>{let e=this.resumeWaiters.indexOf(i);e>=0&&(this.resumeWaiters.splice(e,1),r(/* @__PURE__ */ Error(`save_resume_data timed out`)))},t)})}peers(e,t=4e3){return this.mod._lt_torrent_post_peers(e),this.awaitList(this.peerWaiters,this.peersByHandle,e,t)}lastPeers(e){return this.peersByHandle.get(e)??[]}trackers(e,t=4e3){return this.mod._lt_torrent_post_trackers(e),this.awaitList(this.trackerWaiters,this.trackersByHandle,e,t)}lastTrackers(e){return this.trackersByHandle.get(e)??[]}awaitList(e,t,n,r){return new Promise(i=>{let a={handle:n,resolve:i,timer:setTimeout(()=>{let r=e.indexOf(a);r>=0&&(e.splice(r,1),i(t.get(n)??[]))},r)};e.push(a)})}resolveOne(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r];i.handle===t&&(clearTimeout(i.timer),e.splice(r,1),i.resolve(n))}}files(e){return this.filesByHandle.get(e)??null}bitfield(e){let t=this.bitfieldByHandle.get(e),n=this.filesByHandle.get(e);return!t||!n?null:{pieces:t.pieces,numPieces:t.numPieces,pieceLength:n.pieceLength,length:n.totalSize}}status(e){return this.statusByHandle.get(e)??null}async read(e,t,n,r,i={}){let a=this.filesByHandle.get(e);if(!a)throw Error(`read: no layout for handle ${e} (metadata not ready)`);let o=a.files[t];if(!o)throw Error(`read: no file ${t}`);if(!this.storage)throw Error(`read: no storage backend configured`);if(n<0)throw RangeError(`read: negative offset ${n}`);let s=Math.min(r,o.size-n);if(s<=0)return/* @__PURE__ */ new Uint8Array;let{pieceLength:c}=a,l=o.offset+n,u=Math.floor(l/c),d=Math.min(a.numPieces-1,Math.floor((l+s-1)/c));if(!this.hasPieces(e,u,d)){let t=i.deadlineMs===void 0?0:i.deadlineMs;if(t!==null){for(let n=u;n<=d;n++)this.mod._lt_torrent_set_piece_deadline(e,n,t,0);this.retainDeadlines(e,u,d)}this.mod._lt_torrent_post_status(e);try{await this.awaitPieces(e,u,d,i)}finally{t!==null&&this.releaseDeadlines(e,u,d)}}let f=await this.storage.read(a.storageIndex,t,n,s);return f instanceof Uint8Array?f:new Uint8Array(f)}setStreamWindow(e,t,n={}){let r=this.filesByHandle.get(e);if(!r)return!1;let{pieceLength:i,numPieces:a}=r,o=Math.max(1,Math.floor(n.windowPieces??ec)),s=Math.max(0,Math.floor(n.deadlineStepMs??tc)),c=n.claimedPriority??G.normal,l=n.unclaimedPriority??G.normal,u=new Uint8Array(a).fill(l),d=/* @__PURE__ */ new Map,f=0;for(let e of t){let t=r.files[e.fileIndex];if(!t||t.size<=0)continue;f++;let n=Math.floor(t.offset/i),l=Math.min(a-1,Math.floor((t.offset+t.size-1)/i));for(let e=n;e<=l;e++)u[e]=c;let p=Math.min(Math.max(e.offset,0),Math.max(0,t.size-1)),m=Math.min(Math.max(Math.floor((t.offset+p)/i),n),l);for(let e=0;e<o;e++){let t=m+e;if(t>l)break;u[t]=G.top;let n=e*s,r=d.get(t);(r===void 0||n<r)&&d.set(t,n)}}if(!f)return!1;if(this.mod._lt_torrent_clear_piece_deadlines(e),this.prioritizePieces(e,u),n.deadlines!==!1)for(let[t,n]of d)this.mod._lt_torrent_set_piece_deadline(e,t,n,0);return this.reissueReadDeadlines(e),n.sequential!==!1&&this.setSequential(e,!0),!0}clearStreamWindow(e){this.mod._lt_torrent_clear_piece_deadlines(e);let t=this.filesByHandle.get(e);t&&this.prioritizePieces(e,new Uint8Array(t.numPieces).fill(G.normal)),this.reissueReadDeadlines(e),this.setSequential(e,!1)}prioritizeRange(e,t,n,r){let i=this.filesByHandle.get(e),a=i?.files[t];if(!i||!a)return;let{pieceLength:o,numPieces:s}=i,c=Math.min(r,a.size-n);if(c<=0)return;let l=Math.max(0,Math.floor((a.offset+n)/o)),u=Math.min(s-1,Math.floor((a.offset+n+c-1)/o));if(u<l)return;let d=new Uint8Array(s).fill(G.normal);for(let e=l;e<=u;e++)d[e]=G.top;this.mod._lt_torrent_clear_piece_deadlines(e),this.prioritizePieces(e,d);for(let t=l;t<=u;t++)this.mod._lt_torrent_set_piece_deadline(e,t,(t-l)*tc,0);this.reissueReadDeadlines(e)}setSequential(e,t){this.mod._lt_torrent_set_sequential(e,+!!t)}setFlags(e,t,n){this.mod._lt_torrent_set_flags(e,t>>>0,n>>>0)}setFlag(e,t,n){this.setFlags(e,n?t:0,t)}forceReannounce(e){this.mod._lt_torrent_force_reannounce(e)}moveInQueue(e,t){this.mod._lt_torrent_queue_position(e,Zs[t])}setRateLimits({download:e,upload:t,limitLocalPeers:n}){let r=e=>e==null?-1:Math.max(0,Math.floor(e));this.mod._lt_session_set_rate_limits(r(e),r(t),n==null?-1:+!!n)}setUploadLimit(e,t){this.mod._lt_torrent_set_upload_limit(e,Math.max(0,Math.floor(t)))}setDownloadLimit(e,t){this.mod._lt_torrent_set_download_limit(e,Math.max(0,Math.floor(t)))}setPieceDeadline(e,t,n,r=!1){this.mod._lt_torrent_set_piece_deadline(e,t,n,+!!r)}clearPieceDeadlines(e){this.mod._lt_torrent_clear_piece_deadlines(e),this.reissueReadDeadlines(e)}resetPieceDeadline(e,t){this.mod._lt_torrent_reset_piece_deadline(e,t)}cancelPieceRequests(e,t){return this.mod._lt_torrent_cancel_piece_requests(e,t)===0}prioritizePieces(e,t){let n=this.mod,r=this.filesByHandle.get(e);if(!r||!r.numPieces)return;let i=t;if(i.length!==r.numPieces){let t=new Uint8Array(r.numPieces),n=this.priosByHandle.get(e);n?t.set(n.subarray(0,r.numPieces)):t.fill(G.normal),t.set(i.subarray(0,r.numPieces)),i=t}let a=n._malloc(i.length);n.HEAPU8.set(i,a);try{n._lt_torrent_prioritize_pieces(e,a,i.length)===0&&this.priosByHandle.set(e,Uint8Array.from(i,e=>Math.min(e,G.top)))}finally{n._free(a)}}prioritizePieceList(e,t){let n=this.mod,r=this.filesByHandle.get(e);if(!r)return;let i=[...t].filter(e=>e.piece>=0&&e.piece<r.numPieces);if(!i.length)return;let a=n._malloc(i.length*4),o=n._malloc(i.length);try{let t=this.priosByHandle.get(e);for(let e=0;e<i.length;e++){let{piece:r,priority:s}=i[e],c=Math.min(Math.max(s,0),G.top);n.HEAP32[(a>>2)+e]=r,n.HEAPU8[o+e]=c,t&&r<t.length&&(t[r]=c)}n._lt_torrent_prioritize_piece_list(e,a,o,i.length)}finally{n._free(a),n._free(o)}}setFilePriorities(e,t){let n=this.mod;if(!t.length)return;let r=n._malloc(t.length);n.HEAPU8.set(t,r);try{n._lt_torrent_prioritize_files(e,r,t.length)}finally{n._free(r)}this.priosByHandle.delete(e)}setFilePriority(e,t,n){let r=this.mod._lt_torrent_set_file_priority(e,t,n)===0;return r&&this.priosByHandle.delete(e),r}piecePriorities(e){let t=this.priosByHandle.get(e);return t?Uint8Array.from(t):null}retainDeadlines(e,t,n){let r=this.deadlineRefs.get(e);r||this.deadlineRefs.set(e,r=/* @__PURE__ */ new Map);for(let e=t;e<=n;e++)r.set(e,(r.get(e)??0)+1)}releaseDeadlines(e,t,n){let r=this.deadlineRefs.get(e);if(!r)return;let i=[],a=this.priosByHandle.get(e);for(let o=t;o<=n;o++){let t=(r.get(o)??0)-1;if(t>0){r.set(o,t);continue}r.delete(o),this.mod._lt_torrent_reset_piece_deadline(e,o),i.push({piece:o,priority:a?.[o]??G.normal})}i.length&&this.prioritizePieceList(e,i),r.size||this.deadlineRefs.delete(e)}reissueReadDeadlines(e){let t=this.deadlineRefs.get(e);if(t)for(let n of t.keys())this.mod._lt_torrent_set_piece_deadline(e,n,0,0)}postStatus(e){this.mod._lt_torrent_post_status(e)}infohash(e){return this.readHash(e,this.mod._lt_torrent_infohash)}infohashV2(e){return this.readHash(e,this.mod._lt_torrent_infohash_v2)}readHash(e,t){let n=this.mod,r=n._malloc(65);try{return t.call(n,e,r)===0?n.UTF8ToString(r):null}finally{n._free(r)}}hasPieces(e,t,n){let r=this.bitfieldByHandle.get(e);if(!r)return!1;for(let e=t;e<=n;e++){if(e<0||e>=r.numPieces)return!1;let t=r.pieces[e>>3];if(t===void 0||!(t&128>>(e&7)))return!1}return!0}awaitPieces(e,t,n,r){let{signal:i}=r,a=r.timeoutMs??$s;return new Promise((r,o)=>{let s,c,l=e=>{let t=this.pieceWaiters.indexOf(u);t<0||(this.pieceWaiters.splice(t,1),s!==void 0&&clearTimeout(s),c&&i&&i.removeEventListener(`abort`,c),e?o(e):r())},u={handle:e,p0:t,p1:n,settle:l};if(this.pieceWaiters.push(u),i?.aborted){l(/* @__PURE__ */ Error(`read: aborted`));return}a>0&&(s=setTimeout(()=>l(/* @__PURE__ */ Error(`read: pieces ${t}-${n} of handle ${e} did not arrive within ${a}ms`)),a)),i&&(c=()=>l(/* @__PURE__ */ Error(`read: aborted`)),i.addEventListener(`abort`,c,{once:!0}))})}resolvePieceWaiters(){if(this.pieceWaiters.length!==0)for(let e of[...this.pieceWaiters])this.hasPieces(e.handle,e.p0,e.p1)&&e.settle()}failPieceWaiters(e,t){for(let n of[...this.pieceWaiters])(t===void 0||n.handle===t)&&n.settle(e)}popAlerts(){let e=this.mod;e._lt_session_pump_alerts();let t=e._lt_alerts_size()>>>0;if(!t)return[];let n=e._lt_alerts_data()>>>0,r=new DataView(e.HEAPU8.buffer,n,t),i=[],a=0;try{for(;a+8<=t;){let o=r.getUint32(a,!0);a+=4;let s=r.getUint32(a,!0);if(a+=4,a+s>t)break;if(o===Us)this.decodeTorrentReady(r,a);else if(o===Ws)this.decodeStateUpdate(r,a);else if(o===Ks)this.decodeResumeData(r,a,s);else if(o===qs)this.decodePeers(r,a);else if(o===Js)this.decodeTrackers(r,a);else if(o!==Gs){let t={type:o,message:e.UTF8ToString(n+a,s)};this.observeReachability(t.message),i.push(t)}a+=s}}finally{e._lt_alerts_clear(),this.resolvePieceWaiters()}return i}reachable(){let e=this.reachability.port,t=this.listeners();return{listening:{...this.reachability.listening},listenFailed:[...this.reachability.listenFailed],inbound:this.reachability.inbound,inboundByTransport:{...this.reachability.inboundByTransport},lastInbound:this.reachability.lastInbound,port:e,listeners:t,portOpen:e!==null&&t.some(t=>t.up&&t.port===e)}}listeners(){let e=this.mod.__FKN;try{return e?.listeners?.()??[]}catch{return[]}}observeReachability(e){let t=zs.exec(e);if(t){let e=t[2].toLowerCase();this.reachability.inbound++,this.reachability.inboundByTransport[e]=(this.reachability.inboundByTransport[e]??0)+1,this.reachability.lastInbound={endpoint:t[1],transport:e,at:Date.now()};return}let n=Bs.exec(e);if(n){this.reachability.listening[n[1].toLowerCase()]=n[2];return}Vs.test(e)&&this.reachability.listenFailed.length<32&&this.reachability.listenFailed.push(e)}readStr(e,t){let n=e.getUint32(t,!0);return t+=4,[Hs.decode(new Uint8Array(e.buffer,e.byteOffset+t,n)),t+n]}decodePeers(e,t){let n=e.getUint32(t,!0);t+=4;let r=e.getUint32(t,!0);t+=4;let i=[];for(let n=0;n<r;n++){let n,r;[n,t]=this.readStr(e,t),[r,t]=this.readStr(e,t);let a=e.getUint32(t,!0);t+=4;let o=e.getUint32(t,!0);t+=4;let s=e.getUint32(t,!0);t+=4;let c=e.getInt32(t,!0);t+=4;let l=e.getInt32(t,!0);t+=4;let u=e.getInt32(t,!0);t+=4;let d=e.getInt32(t,!0);t+=4;let f=Number(e.getBigInt64(t,!0));t+=8;let p=Number(e.getBigInt64(t,!0));t+=8;let m=e.getInt32(t,!0)/1e6;t+=4;let h=e.getInt32(t,!0);t+=4;let g=e.getInt32(t,!0);t+=4;let _=e.getInt32(t,!0);t+=4;let v=e.getInt32(t,!0);t+=4,i.push({endpoint:n,client:r,flags:a,source:o,connectionType:s,downloadRate:c,uploadRate:l,payloadDownloadRate:u,payloadUploadRate:d,totalDownload:f,totalUpload:p,progress:m,rtt:h,numPieces:g,requestsInFlight:_,failCount:v})}this.peersByHandle.set(n,i),this.resolveOne(this.peerWaiters,n,i)}decodeTrackers(e,t){let n=e.getUint32(t,!0);t+=4;let r=e.getUint32(t,!0);t+=4;let i=[];for(let n=0;n<r;n++){let n,r;[n,t]=this.readStr(e,t),[r,t]=this.readStr(e,t);let a=e.getInt32(t,!0);t+=4;let o=e.getInt32(t,!0);t+=4;let s=e.getUint32(t,!0)!==0;t+=4;let c=e.getUint32(t,!0)!==0;t+=4;let l=e.getInt32(t,!0);t+=4;let u=e.getInt32(t,!0);t+=4;let d=e.getInt32(t,!0);t+=4;let f=e.getInt32(t,!0);t+=4,i.push({url:n,message:r,tier:a,fails:o,updating:s,verified:c,nextAnnounceIn:l,seeders:u,leechers:d,downloaded:f})}this.trackersByHandle.set(n,i),this.resolveOne(this.trackerWaiters,n,i)}decodeResumeData(e,t,n){let r=e.getUint32(t,!0),i=new Uint8Array(n-4);i.set(new Uint8Array(e.buffer,e.byteOffset+t+4,n-4)),this.resumeByHandle.set(r,i),this.resumeWaiters=this.resumeWaiters.filter(e=>e.handle!==r||(e.resolve(i),!1))}decodeTorrentReady(e,t){let n=new TextDecoder,r=e.getUint32(t,!0);t+=4;let i=e.getUint32(t,!0);t+=4;let a=e.getUint32(t,!0);t+=4;let o=e.getUint32(t,!0);t+=4;let s=Number(e.getBigInt64(t,!0));t+=8;let c=e.getUint32(t,!0);t+=4;let l=[];for(let r=0;r<c;r++){let r=Number(e.getBigInt64(t,!0));t+=8;let i=Number(e.getBigInt64(t,!0));t+=8;let a=e.getUint8(t)===1;t+=1;let o=e.getUint32(t,!0);t+=4;let s=n.decode(new Uint8Array(e.buffer,e.byteOffset+t,o));t+=o,l.push({path:s,size:i,offset:r,pad:a})}let u=l.reduce((e,t)=>e+(t.pad?0:t.size),0);this.filesByHandle.set(r,{storageIndex:i,pieceLength:a,numPieces:o,totalSize:s,contentSize:u,files:l})}decodeStateUpdate(e,t){let n=e.getUint32(t,!0);t+=4;let r=e.getInt32(t,!0);t+=4;let i=Number(e.getBigInt64(t,!0));t+=8;let a=Number(e.getBigInt64(t,!0));t+=8;let o=e.getFloat32(t,!0);t+=4;let s=e.getInt32(t,!0);t+=4;let c=e.getInt32(t,!0);t+=4;let l=e.getInt32(t,!0);t+=4;let u=e.getInt32(t,!0);t+=4;let d=e.getUint32(t,!0)!==0;t+=4;let f=e.getUint32(t,!0)!==0;t+=4;let p=e.getUint32(t,!0)!==0;t+=4;let m=e.getUint32(t,!0)>>>0;t+=4;let h=Number(e.getBigInt64(t,!0));t+=8;let g=Number(e.getBigInt64(t,!0));t+=8;let _=Number(e.getBigInt64(t,!0));t+=8;let v=Number(e.getBigInt64(t,!0));t+=8;let y=Number(e.getBigInt64(t,!0));t+=8;let b=Number(e.getBigInt64(t,!0));t+=8;let x=Number(e.getBigInt64(t,!0));t+=8;let S=e.getInt32(t,!0);t+=4;let C=e.getInt32(t,!0);t+=4;let w=e.getInt32(t,!0);t+=4;let T=e.getInt32(t,!0);t+=4,t+=4;let E=e.getFloat32(t,!0);t+=4;let D=e.getInt32(t,!0);t+=4;let O=e.getInt32(t,!0);t+=4;let k=Number(e.getBigInt64(t,!0));t+=8;let A=Number(e.getBigInt64(t,!0));t+=8;let ee=Number(e.getBigInt64(t,!0));t+=8;let j=e.getUint32(t,!0)!==0;t+=4;let te;[te,t]=this.readStr(e,t);let M=e.getInt32(t,!0);t+=4;let N=e.getInt32(t,!0);t+=4;let P=e.getUint32(t,!0);t+=4;let F=P?Hs.decode(new Uint8Array(e.buffer,e.byteOffset+t,P)):``;t+=P;let I=e.getUint32(t,!0);t+=4;let L=e.getUint32(t,!0);t+=4;let R=new Uint8Array(L);R.set(new Uint8Array(e.buffer,e.byteOffset+t,L)),this.bitfieldByHandle.set(n,{pieces:R,numPieces:I});let z=0;for(let e=0;e<L;e++){let t=R[e];for(;t;)z+=t&1,t>>=1}this.statusByHandle.set(n,{state:r,progress:o,totalDone:i,totalWanted:a,downloadRate:s,uploadRate:c,numPeers:l,numSeeds:u,numPiecesTotal:I,numPiecesHave:z,paused:d,autoManaged:f,sequential:p,flags:m,queuePosition:M,errorCode:N,error:F,allTimeDownload:h,allTimeUpload:g,sessionDownload:_,sessionUpload:v,sessionPayloadDownload:y,sessionPayloadUpload:b,wasted:x,swarmSeeds:S,swarmPeers:C,numConnections:w,connectionsLimit:T,availability:E,activeSeconds:D,seedingSeconds:O,addedAt:k,completedAt:A,lastSeenComplete:ee,hadIncoming:j,savePath:te,hasMetadata:r!==Rs.downloadingMetadata})}async*alerts(){for(;!this.destroyed;){for(let e of this.popAlerts())yield e;await new Promise(e=>setTimeout(e,100))}}setReservedPort(e){this.reachability.port=e}tick(){if(!this.destroyed&&(this.mod._lt_session_tick(),this.pieceWaiters.length)){let e=new Set(this.pieceWaiters.map(e=>e.handle));for(let t of e)this.mod._lt_torrent_post_status(t)}}destroy(){this.destroyed||(this.destroyed=!0,this.fallbackTimer!=null&&clearInterval(this.fallbackTimer),this.failPieceWaiters(/* @__PURE__ */ Error(`read: session destroyed`)),this.pieceWaiters=[],this.resumeWaiters=[],this.deadlineRefs.clear(),this.priosByHandle.clear(),this.mod._lt_session_destroy(),this.mod.__FKN?.teardown?.())}},rc=8e3,ic=e=>{try{e?.close()}catch{}},ac=(e,t)=>new Promise(n=>{let r;try{r=e()}catch{n(null);return}if(!r||typeof r.on!=`function`){n(null);return}let i=!1,a=()=>{i||(i=!0,clearTimeout(o),ic(r),n(null))},o=setTimeout(a,rc);r.on(`listening`,()=>{i||(i=!0,clearTimeout(o),n(r))}),r.on(`error`,a);try{t(r)}catch{a()}});async function oc(e,t,n=4){try{return await sc(e,t,n)}catch{return null}}async function sc(e,t,n){for(let r=0;r<n;r++){let i=await ac(()=>t.createSocket({type:`udp4`}),e=>e.bind(0,`0.0.0.0`));if(!i)return null;let a=i.address?.()?.port;if(!a)return ic(i),null;let o=await ac(()=>e.createServer(),e=>e.listen(a,`0.0.0.0`)),s=o?o.address?.()?.port:void 0,c=!!o&&s===a;if(o&&!c&&ic(o),!c){if(r<n-1){ic(i);continue}return{port:a,server:null,udp:i,backlog:[],adopted:!1}}let l={port:a,server:o,udp:i,backlog:[],adopted:!1};return o.on(`connection`,e=>{l.adopted||l.backlog.push(e)}),l}return null}async function cc(e){let t=e.moduleFactory??(await import(`./libtorrent-CnjRmD5O.js`)).default,n={net:e.net,dgram:e.dgram,storage:e.storage??null,debug:e.debug??!1},r=e.reserveListenPort===!1?Promise.resolve(null):oc(e.net,e.dgram),i=await t({fkn:n});i._lt_set_log(+!!e.debug);let a=await r;a?(n.prebound=a,i._lt_set_listen_port(a.port),!a.server&&e.debug&&console.warn(`[fkn] reserved udp ${a.port} but no matching tcp listener: inbound uTP works, inbound TCP is dark`)):e.debug&&console.warn(`[fkn] nothing reserved: the announced port is not one anyone can reach`);let o;try{o=new nc(i,e)}catch(e){throw a&&!a.adopted&&(ic(a.server),ic(a.udp)),e}return o.setReservedPort(a?a.port:null),o}const lc=e=>{let t=e.match(/xt=urn:btih:([0-9a-z]+)/i);if(t)return t[1].toLowerCase();let n=e.match(/xt=urn:btmh:([0-9a-f]+)/i);if(!n)return null;let r=n[1].toLowerCase();return r.startsWith(`1220`)&&r.length===68?r.slice(4):r},uc=25e5,dc=e=>{if(!Number.isFinite(e)||e<=0)return 12;let t=Math.ceil(uc/e)+1,n=Math.max(2,Math.floor(8388608/e));return Math.min(Math.max(t,2),n)},fc=e=>dc(e)*Math.max(0,e),pc=e=>Math.max(1,Math.floor(fc(e)/2)),mc=(e,t)=>Math.min(2e3,Math.max(50,Math.round(e/Math.max(t,25e4)*1e3))),hc=(e,t,n,r=uc)=>{let i=e.fileOffset+n+Math.max(0,r-1);return Math.floor(i/e.pieceLength)>=e.p1?!1:Math.abs(n-t)>=pc(e.pieceLength)};var gc=class{storages=/* @__PURE__ */ new Map;opened=/* @__PURE__ */ new Map;onNewStorage(e,t,n){let r=(async()=>{let r=await _c(await navigator.storage.getDirectory(),t.replace(/^\/+/,``));this.storages.set(e,{rootDir:r,files:/* @__PURE__ */ new Map,opening:/* @__PURE__ */ new Map,fileMeta:n})})();return this.opened.set(e,r),r.then(()=>{this.opened.get(e)===r&&this.opened.delete(e)},()=>{}),r}async onRemoveStorage(e){this.opened.delete(e);let t=this.storages.get(e);if(t){for(let e of t.files.values())try{e.close()}catch{}this.storages.delete(e)}}read(e,t,n,r){let i=this.openFile(e,t),a=e=>{let t=new Uint8Array(r),i=e.read(t,{at:n});return i<r&&t.fill(0,i),t};return i instanceof Promise?i.then(a):a(i)}write(e,t,n,r){let i=this.openFile(e,t),a=i=>{try{let a=i.write(r,{at:n});if(a<r.length)throw console.error(`[opfs] short write`,{id:e,fileIndex:t,offset:n,want:r.length,wrote:a}),Error(`short write`)}catch(i){throw console.error(`[opfs] write failed`,{id:e,fileIndex:t,offset:n,len:r.length,err:String(i),errName:i?.name,errMsg:i?.message,isView:ArrayBuffer.isView(r),bytesType:Object.prototype.toString.call(r)}),i}};return i instanceof Promise?i.then(a).catch(n=>{throw console.error(`[opfs] openFile failed`,{id:e,fileIndex:t,err:String(n)}),n}):a(i)}async release(e){let t=this.storages.get(e);if(t){for(let e of t.files.values())try{e.flush(),e.close()}catch{}t.files.clear()}}async stop(e){return this.release(e)}async check(e){let t=!1;if(await this.opened.get(e)?.catch(()=>{t=!0}),t)return 2;let n=this.storages.get(e);if(!n)return 0;await this.release(e);for(let e of n.fileMeta)if(await this.hasBytes(n,e.path))return 2;return 0}async hasBytes(e,t){let n=t.split(`/`).filter(Boolean),r=n.pop();if(!r)return!1;let i=e.rootDir;try{for(let e of n)i=await i.getDirectoryHandle(e);return(await(await i.getFileHandle(r)).getFile()).size>0}catch(e){return e?.name!==`NotFoundError`}}async deleteFiles(e,t){let n=this.storages.get(e);if(n){for(let e of n.files.values())try{e.close()}catch{}n.files.clear();for(let e of n.fileMeta){let t=e.path.split(`/`).filter(Boolean),r=t.pop();if(!r)continue;let i=n.rootDir;for(let e of t)try{i=await i.getDirectoryHandle(e)}catch{i=null;break}if(i)try{await i.removeEntry(r)}catch{}}}}openFile(e,t){let n=this.storages.get(e);if(!n)throw Error(`unknown storage ${e}`);let r=n.files.get(t);if(r)return r;let i=n.opening.get(t);if(i)return i;let a=this.openFileSlow(e,t);return n.opening.set(t,a),a.finally(()=>n.opening.delete(t)),a}async openFileSlow(e,t){let n=this.storages.get(e),r=n.fileMeta[t];if(!r)throw Error(`unknown file ${t}`);let i=r.path.split(`/`).filter(Boolean),a=i.pop(),o=n.rootDir;for(let e of i)o=await o.getDirectoryHandle(e,{create:!0});let s=await(await o.getFileHandle(a,{create:!0})).createSyncAccessHandle();return n.files.set(t,s),s}};async function _c(e,t){if(!t)return e;let n=e;for(let e of t.split(`/`).filter(Boolean))n=await n.getDirectoryHandle(e,{create:!0});return n}const vc=[50,150,400,900,1500],yc=e=>e?.name===`QuotaExceededError`,bc=e=>new Promise(t=>setTimeout(t,e)),xc=()=>{let e=new gc,t=/* @__PURE__ */ new Set,n=/* @__PURE__ */ new Map,r=e,i=(e,t)=>{let n=r.storages?.get(e),i=n?.files?.get(t);if(i){n.files.delete(t);try{i.close()}catch{}}},a=async e=>{let t=n.get(e);if(t===void 0)return null;let i=r.storages?.get(t);if(!i?.fileMeta||!i.rootDir)return null;let a=0;for(let e=0;e<i.fileMeta.length;e++){let t=i.files?.get(e);if(t)try{a+=t.getSize();continue}catch{}let n=i.fileMeta[e].path.split(`/`).filter(Boolean),r=n.pop();if(!r)continue;let o=i.rootDir;for(let e of n)o=o?await o.getDirectoryHandle(e).catch(()=>null):null;o&&(a+=await o.getFileHandle(r).then(e=>e.getFile()).then(e=>e.size).catch(()=>0))}return a},o=async(e,n,r,a)=>{let o=a;for(let a of vc){if(yc(o))break;if(i(e,n),await bc(a),t.has(e))throw o;try{return await r()}catch(e){o=e}}throw o},s=(e,t,n)=>{try{let r=n();return r instanceof Promise?r.catch(r=>o(e,t,n,r)):r}catch(r){return o(e,t,n,r)}};return{usageOf:a,onNewStorage:(r,i,a)=>(t.delete(r),n.set(i,r),s(r,-1,()=>e.onNewStorage(r,i,a))),onRemoveStorage:r=>{t.add(r);for(let[e,t]of n)t===r&&n.delete(e);return e.onRemoveStorage(r)},read:(t,n,r,i)=>s(t,n,()=>e.read(t,n,r,i)),write:(t,n,r,i)=>s(t,n,()=>e.write(t,n,r,i)),release:t=>e.release(t),check:t=>e.check(t).catch(()=>2),deleteFiles:(n,r)=>(t.add(n),e.deleteFiles(n,r)),stop:t=>e.stop(t)}},Sc=[5e3,15e3,3e4,6e4,12e4,3e5],Cc=1e4,wc=/* @__PURE__ */ new Set([2,3]),Tc=/* @__PURE__ */ new Set([1,7]),Ec=e=>!!e&&e.paused&&!e.autoManaged,Dc=()=>{let e=/* @__PURE__ */ new Map,t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Map,r=/* @__PURE__ */ new Map,i=e=>Sc[Math.min(e,Sc.length-1)],a=i=>{e.delete(i),t.delete(i),n.delete(i),r.delete(i)};return{hold:(e,t,n=Cc)=>r.set(e,t+n),observe:(o,s,c,l)=>{if(c){a(o);return}if(!s)return;let u=r.get(o);if(u!==void 0){if(l<u)return;r.delete(o)}let d=t.get(o);(!d||s.totalDone>d.totalDone)&&t.set(o,{totalDone:s.totalDone,at:l});let f=t.get(o).at;if(Tc.has(s.state))return;let p=e.get(o);if(s.error&&(n.set(o,s.error),p&&(p.message=s.error)),p&&l<p.graceUntil||s.paused&&s.queued)return;let m=s.paused?`stopped`:wc.has(s.state)&&s.numPeers===0&&s.downloadRate===0&&l-f>=12e4?`stalled`:null;if(!m){if(!p)return;p.healthySince??=l,l-p.healthySince>=6e4&&a(o);return}if(!p){e.set(o,{reason:m,attempt:0,retryAt:l+i(0),message:n.get(o),healthySince:null,graceUntil:0});return}p.reason=m,p.healthySince!==null&&(p.healthySince=null,p.retryAt=l+i(p.attempt))},due:t=>{let n=[];for(let[r,a]of e)a.healthySince!==null||t<a.retryAt||(a.attempt++,a.retryAt=t+i(a.attempt),a.graceUntil=t+Cc,n.push({handle:r,reason:a.reason}));return n},retryNow:t=>{for(let n of e.values())n.healthySince===null&&(n.attempt=0,n.retryAt=t)},retry:(t,n)=>{let i=e.get(t);i&&(i.attempt=0,i.retryAt=n,i.healthySince=null,i.graceUntil=0,r.delete(t))},state:t=>{let n=e.get(t);return!n||n.healthySince!==null?null:{reason:n.reason,attempt:n.attempt,retryAt:n.retryAt,message:n.message}},forget:a,retain:i=>{for(let o of[e,t,n,r])for(let e of[...o.keys()])i.has(e)||a(e)}}},Oc=e=>!(e.flags&Ys.localConnection)||!!(e.source&Qs.incoming),kc=e=>e.flags&Ys.utpSocket?`utp`:`tcp`,Ac={total:0,byTransport:{}},jc=e=>{let t={},n=0;for(let r of e)for(let e of r){if(!Oc(e)||e.connectionType!==0)continue;n+=1;let r=kc(e);t[r]=(t[r]??0)+1}return{total:n,byTransport:t}},Mc={activeSeconds:0,seedingSeconds:0},Nc=[`activeSeconds`,`seedingSeconds`,`downloaded`,`uploaded`,`wasted`],Pc={activeSeconds:0,seedingSeconds:0,downloaded:0,uploaded:0,wasted:0},K=e=>typeof e==`number`&&Number.isFinite(e)&&e>0?Math.floor(e):0,Fc=(e,t)=>({activeSeconds:Math.max(0,K(t.activeSeconds)-K(e.activeSeconds)),seedingSeconds:Math.max(0,K(t.seedingSeconds)-K(e.seedingSeconds))}),Ic=(e,t,n)=>{let r=Fc(t,n);return{activeSeconds:K(e?.activeSeconds)+r.activeSeconds,seedingSeconds:K(e?.seedingSeconds)+r.seedingSeconds}},Lc=(e,t)=>Object.fromEntries(Nc.map(n=>[n,Math.max(0,K(t[n])-K(e[n]))])),Rc=(e,t,n)=>{let r=Lc(t,n);return Object.fromEntries(Nc.map(t=>[t,K(e?.[t])+r[t]]))},zc=(e,t)=>Object.fromEntries(Nc.map(n=>[n,Math.max(K(e?.[n]),K(t?.[n]))])),Bc=(e,t)=>t.activeSeconds-K(e?.activeSeconds)>=30||t.seedingSeconds-K(e?.seedingSeconds)>=30,Vc=e=>!Number.isFinite(e)||e<=0?0:Math.min(1e9,Math.floor(e*.1)),Hc=(e,t)=>!Number.isFinite(e)||e<=0?Math.max(0,t):Math.max(Math.min(.25*e,2e10),Math.max(0,t)),Uc=({usedBytes:e,limitBytes:t})=>!Number.isFinite(t)||t<=0||!Number.isFinite(e)||e<0?!1:t-e<Vc(t),Wc=(e,t)=>e.usedAt-t.usedAt||(e.infoHash<t.infoHash?-1:+(e.infoHash>t.infoHash)),Gc=({usedBytes:e,limitBytes:t,pendingBytes:n,candidates:r})=>{if(!Number.isFinite(t)||t<=0||!Number.isFinite(e)||e<0)return[];let i=r.filter(e=>e.bytesOnDisk>0).sort(Wc);if(!i.length)return[];let a=[0];for(let e of i)a.push(a[a.length-1]+e.bytesOnDisk);let o=e=>{for(let t=0;t<=i.length;t++)if(e(t))return t;return-1},s=Vc(t),c=s+Math.max(0,n),l=t-e,u=o(e=>l+a[e]>=c),d=o(e=>l+a[e]>=s),f=u>=0?u:d>=0?d:i.length,p=a[i.length],m=i.reduce((e,t)=>Math.max(e,t.bytesOnDisk),0),h=Hc(t,m),g=o(e=>p-a[e]<=h);return i.slice(0,Math.max(f,g<0?i.length:g)).map(e=>e.infoHash)};var Kc=8,qc=2e4,Jc=e=>typeof e.values==`function`,Yc=async e=>{let t=0,n=0,r=async(e,i)=>{if(!(i>Kc))for await(let a of e.values()){if(++n>qc)return;if(Jc(a)){await r(a,i+1);continue}let e=await a.getFile().catch(()=>null);e&&(t+=e.size)}};try{return await r(e,0),t}catch{return null}},Xc=(e,t)=>{let n=e.usage;if(t===null||!Number.isFinite(t)||t<0)return n;if(n===void 0)return t;let r=e.usageDetails?.fileSystem;if(typeof r==`number`){let e=Math.max(0,n-r);return Math.max(n,t+e)}return Math.max(n,t)},Zc,Qc,$c=(e,t,n)=>{if(e!==void 0)return n!==Qc&&(Zc=void 0),Qc=n,Zc=Zc===void 0?e:Math.min(Zc,e),Math.max(Zc,t??0)},el=async e=>e.persisted?e.persisted().then(e=>e===!0).catch(()=>Qc):void 0,tl={estimate:async()=>{let e=globalThis.navigator?.storage;if(!e?.estimate)return{};let t=await e.estimate(),[n,r]=await Promise.all([e.getDirectory?e.getDirectory().then(e=>Yc(e)).catch(()=>null):null,el(e)]),i=Xc(t,n);return{...t,usage:i,quota:$c(t.quota,i,r)}},persist:async()=>{let e=globalThis.navigator?.storage;if(!e?.persist)return!1;let t=await e.persist().catch(()=>!1);return await el(e)??null??t},persisted:()=>globalThis.navigator?.storage?.persisted?.()??Promise.resolve(!1),getDirectory:()=>{let e=globalThis.navigator?.storage;return e?.getDirectory?e.getDirectory():Promise.reject(/* @__PURE__ */ Error(`this browser has no origin private file system`))}};const nl=/^(?:[0-9a-f]{40}|[0-9a-f]{64}|[a-z2-7]{32})$/i,rl=({entries:e,listedHashes:t,claimedNames:n,attributable:r})=>e.filter(({name:e,kind:i})=>n.has(e)?!1:i===`directory`&&nl.test(e)?!t.has(e.toLowerCase()):r).map(({name:e})=>e),il=async e=>{let t=[];for await(let n of e.values())t.push({name:n.name,kind:n.kind});return t},al=async(e,t)=>{let n=e;for(let e of t.split(`/`).filter(Boolean))n=n?await n.getDirectoryHandle(e).catch(()=>null):null;return n},ol=async(e,t,n)=>{let r=await al(e,t);if(!r)return[];let i=[];for(let e of rl({...n,entries:await il(r)}))try{await r.removeEntry(e,{recursive:!0}),i.push(e)}catch{}return i},sl=async e=>{let t=0;for(let{name:n,kind:r}of await il(e))r===`file`&&n.startsWith(`.ripple-probe-`)&&await e.removeEntry(n).then(()=>!0,()=>!1)&&t++;return t},cl=e=>e?`/dl/`+e:`/dl`,ll=(e,t)=>e===cl(t),ul=(e,t)=>t&&(!e||e.ephemeral===!0),dl=(e,t)=>e?{...t,ephemeral:ul(e,t.ephemeral===!0),addedAt:Math.min(e.addedAt,t.addedAt),lastUsedAt:Math.max(e.lastUsedAt??0,t.lastUsedAt??t.addedAt),savePath:e.savePath||t.savePath,rootEntry:t.rootEntry??e.rootEntry,name:t.name??e.name,size:t.size??e.size,files:t.files??e.files,format:t.format??e.format,pieceLength:t.pieceLength??e.pieceLength,downloadLimit:t.downloadLimit??e.downloadLimit,uploadLimit:t.uploadLimit??e.uploadLimit,activeSeconds:t.activeSeconds??e.activeSeconds,seedingSeconds:t.seedingSeconds??e.seedingSeconds,downloaded:t.downloaded??e.downloaded,uploaded:t.uploaded??e.uploaded,wasted:t.wasted??e.wasted,saveTo:t.saveTo??e.saveTo,wantedFiles:t.wantedFiles??e.wantedFiles,firstLast:t.firstLast??e.firstLast,created:t.created??e.created}:t,fl=e=>({name:typeof e.name==`string`&&e.name?e.name:void 0,size:typeof e.size==`number`&&Number.isFinite(e.size)&&e.size>=0?e.size:void 0,files:Array.isArray(e.files)?e.files.filter(e=>!!e&&typeof e.name==`string`&&typeof e.size==`number`&&Number.isFinite(e.size)).slice(0,100):void 0}),pl=`ripple:torrents`,ml=`ripple:removed`,hl=(...e)=>{let t=/* @__PURE__ */ new Map;for(let n of e)if(Array.isArray(n))for(let e of n)typeof e?.infoHash==`string`&&e.infoHash&&typeof e.removedAt==`number`&&Number.isFinite(e.removedAt)&&t.set(e.infoHash,Math.max(t.get(e.infoHash)??e.removedAt,e.removedAt));return[...t].map(([e,t])=>({infoHash:e,removedAt:t}))},gl=e=>{let t=new Map(e.map(e=>[e.infoHash,e.removedAt]));return e=>{let n=t.get(e.infoHash);return n===void 0||(e.addedAt??0)>n}},_l=(e,t,n)=>{let r=gl(n),i=t.filter(e=>!!e&&r(e)),a=new Set(i.map(e=>e.infoHash));return{list:e.filter(e=>e.started!==!1||a.has(e.infoHash)||r(e)),incoming:i}},vl=e=>`ripple:resume:`+e,yl=e=>`ripple:thumb:`+e,bl=e=>typeof e.getFile==`function`?e.getFile():Promise.resolve(e),xl=e=>`/native/${e}`,Sl=e=>e===`/native`||!!e?.startsWith(`/native/`),Cl=e=>`/source/${e}`,wl=e=>e===`/source`||!!e?.startsWith(`/source/`),Tl=e=>Sl(e)||wl(e),El=async(e,t)=>{let n=t.split(`/`).filter(Boolean),r=n.pop();if(!r)throw Error(`hybrid storage: empty file path`);let i=e;for(let e of n)i=await i.getDirectoryHandle(e);return(await i.getFileHandle(r)).getFile()},Dl=(e,t,n=()=>null)=>{let r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=e=>{let n=t();if(!n)throw Error(`hybrid storage: no folder granted, cannot ${e}`);return n},o=async(e,t)=>{if(!e.handles)throw Error(`hybrid storage: ${e.savePath} has no source handles registered`);if(e.handles.length!==e.files.length)throw Error(`hybrid storage: ${e.savePath} has ${e.handles.length} handles for ${e.files.length} files`);if(t<0||t>=e.handles.length)throw Error(`hybrid storage: no source handle ${t} in ${e.savePath}`);let n=e.handles[t];return n?bl(n):null};return{usageOf:async t=>Tl(t)?0:e.usageOf(t),onNewStorage:(t,a,o)=>{if(wl(a)){i.set(t,{savePath:a,files:o,handles:n(a)});return}if(!Sl(a))return e.onNewStorage(t,a,o);r.set(t,{savePath:a,files:o})},onRemoveStorage:t=>{if(!i.delete(t)&&!r.delete(t))return e.onRemoveStorage(t)},read:(t,n,s,c)=>{let l=i.get(t);if(l)return(async()=>{let e=await o(l,n);if(!e)return new Uint8Array(c);let t=await e.slice(s,s+c).arrayBuffer();if(t.byteLength<c)throw Error(`hybrid storage: source file ${n} of ${l.savePath} ended early, wanted ${c} at ${s}, got ${t.byteLength}`);return new Uint8Array(t)})();let u=r.get(t);if(!u)return e.read(t,n,s,c);let d=u.files[n];if(!d)throw Error(`hybrid storage: no file ${n} in ${u.savePath}`);return(async()=>{let e=await(await El(a(`read`),d.path)).slice(s,s+c).arrayBuffer();if(e.byteLength<c)throw Error(`hybrid storage: ${d.path} ended early, wanted ${c} at ${s}, got ${e.byteLength}`);return new Uint8Array(e)})()},write:(t,n,a,o)=>{let s=i.get(t);if(s)throw Error(`hybrid storage: ${s.savePath} is somebody's own files, refusing a write of ${o.length} at ${a} in file ${n}`);let c=r.get(t);if(!c)return e.write(t,n,a,o);throw Error(`hybrid storage: ${c.savePath} is read only, refusing a write of ${o.length} at ${a} in file ${n}`)},check:async t=>{if(i.get(t))return 2;let n=r.get(t);if(!n)return e.check(t);try{let e=a(`check`);for(let t of n.files){let n=await El(e,t.path).catch(()=>null);if(n&&n.size>0)return 2}return 0}catch{return 2}},deleteFiles:async(t,n)=>{if(!i.has(t)&&!r.get(t))return e.deleteFiles(t,n)},release:async t=>{!r.has(t)&&!i.has(t)&&await e.release(t)},stop:async t=>{!r.has(t)&&!i.has(t)&&await e.stop(t)}}},Ol=(e,t,n)=>[Math.max(0,Math.floor(e.offset/t)),Math.min(n-1,Math.floor((e.offset+Math.max(0,e.size-1))/t))],kl=({files:e,pieceLength:t,numPieces:n,wanted:r,firstLast:i,windowBytes:a=4194304})=>{let o=r===void 0,s=new Set(r??[]),c=e=>o||s.has(e),l=new Uint8Array(n).fill(o?G.normal:G.skip);if(!o)for(let[r,i]of e.entries()){if(!c(r)||i.size<=0)continue;let[e,a]=Ol(i,t,n);for(let t=e;t<=a;t++)l[t]=G.normal}if(i){let r=Math.max(1,Math.ceil(a/t));for(let[i,a]of e.entries()){if(!c(i)||a.size<=0)continue;let[e,o]=Ol(a,t,n);for(let t=0;t<r;t++){let n=e+t,r=o-t;n<=o&&(l[n]=G.top),r>=e&&(l[r]=G.top)}}}return l},Al=({wanted:e,firstLast:t})=>e===void 0&&!t,jl=e=>wl(e)?`source`:Sl(e)?`folder`:`browser`,Ml=(e,t)=>{if(e===`source`){if(!t)throw Error(`a source-backed torrent needs its infohash to name its save path`);return Cl(t)}return e===`folder`?t?xl(t):`/dl`:cl(t)},Nl=`ripple:rate-limits`,Pl=e=>typeof e==`number`&&Number.isSafeInteger(e)&&e>=0,Fl=e=>{let t=e??{};return{down:Pl(t.down)?t.down:0,up:Pl(t.up)?t.up:0}},Il=/* @__PURE__ */ new Set(/* @__PURE__ */ `add-magnet.add-torrent-file.create-source.reserve-storage.start-source.read.cancel-read.remove.relocate.set-location.set-folder.set-plan.remove-missing.watch.unwatch.unwatch-owner.pause.resume.recheck.import-list.clear-list.start.retry.retry-now.flush-resume.inspect.set-flags.reannounce.queue-move.set-limits.set-session-limits.set-temporary`.split(`.`)),Ll=e=>`ripple:torrent:`+e,Rl=e=>`ripple:source:`+e;let q=null,zl=null,Bl=null;const Vl=/* @__PURE__ */ new Map;let Hl=!1;const J=[],Ul=/* @__PURE__ */ new Map,Y=/* @__PURE__ */ new Map,Wl=/* @__PURE__ */ new Map,Gl=/* @__PURE__ */ new Map,X=/* @__PURE__ */ new Set,Kl=/* @__PURE__ */ new Set,ql=/* @__PURE__ */ new Set,Jl=e=>{ql.delete(e),Kl.add(e)},Yl=e=>{Kl.delete(e),ql.add(e)},Xl=/* @__PURE__ */ new Map,Z=Dc(),Zl=e=>e>=4294967040,Q=(e,t)=>self.postMessage(e,t??[]),Ql=()=>J.map(e=>{let t=q.bitfield(e);return{handle:e,magnet:Ul.get(e)??``,files:q.files(e),status:q.status(e),bitfield:t?{numPieces:t.numPieces,pieceLength:t.pieceLength,length:t.length,pieces:t.pieces}:null,recovery:Z.state(e),userPaused:X.has(e),uptime:$l(e),sessionUptime:eu(e),totals:Mu(e)}}),$l=e=>{let t=q?.status(e),n=Eu.get(e);return!t||!n?Du.get(e)??Mc:Ic(Du.get(e),n,t)},eu=e=>{let t=q?.status(e),n=Eu.get(e);return t&&n?Fc(n,t):Mc},tu=async()=>await Ps(`ripple:torrents`)??[],nu=async e=>{let t=[];await Is(pl,n=>{t=n??[];let r=t.findIndex(t=>t.infoHash===e.infoHash),i=dl(r>=0?t[r]:null,e);return r>=0?t[r]=i:t.push(i),t}),Q({type:`list`,list:t})},$=async(e,t,n=!1)=>{let r=[];await Is(pl,n=>{r=n??[];let i=r.findIndex(t=>t.infoHash===e);return i>=0&&(r[i]={...r[i],...t}),r}),n||Q({type:`list`,list:r})},ru=e=>{let t=Y.get(e);t&&$(t,{lastUsedAt:Date.now()},!0).catch(()=>{})},iu=async e=>{await Ls(vl(e)).catch(()=>{}),await Ls(Ll(e)).catch(()=>{}),await Ls(Rl(e)).catch(()=>{}),await Ls(yl(e)).catch(()=>{})},au=async e=>{let t=[];await Is(pl,n=>t=(n??[]).filter(t=>t.infoHash!==e)),await Is(ml,t=>hl(t,[{infoHash:e,removedAt:Date.now()}])),await iu(e),Q({type:`list`,list:t})},ou=/* @__PURE__ */ new Set,su=/* @__PURE__ */ new Set,cu=/* @__PURE__ */ new Map,lu=/* @__PURE__ */ new Set;let uu=null,du=0,fu=0,pu=Ac;const mu=e=>{let t=uu;return t==null||!J.includes(t)?null:(q.peers(t),e-du>=5e3&&(du=e,q.trackers(t)),{handle:t,peers:q.lastPeers(t),trackers:q.lastTrackers(t)})},hu=e=>{let t=q?.files(e);if(!t)return[];let n=t.files.map(e=>e.path.split(`/`).filter(Boolean)[0]).filter(Boolean);return[...new Set(n)]},gu=(e,t,n,r,i=!1)=>{J.includes(e)||J.push(e),Ul.set(e,t),n&&(Y.set(e,n),lu.add(e)),Wl.set(e,r),i?ou.add(e):ou.delete(e)},_u=e=>{let t=J.indexOf(e);t>=0&&J.splice(t,1),Ul.delete(e),Y.delete(e),Wl.delete(e),Gl.delete(e),X.delete(e),Z.forget(e),zu.delete(e),Lu.delete(e),Kl.delete(e),ql.delete(e),Xl.delete(e),Hu.delete(e),Uu.delete(e),yu.delete(e),bu.delete(e),Su.delete(e),Cu.delete(e),wu.delete(e),Eu.delete(e),Du.delete(e),Ou.delete(e),ku.delete(e),ou.delete(e),su.delete(e),cu.delete(e),lu.delete(e)},vu=e=>{su.delete(e)&&(Yl(e),q?.resumeTorrent(e),Z.hold(e,Date.now()))},yu=/* @__PURE__ */ new Set,bu=/* @__PURE__ */ new Map;let xu={down:0,up:0};const Su=/* @__PURE__ */ new Map,Cu=/* @__PURE__ */ new Set,wu=/* @__PURE__ */ new Map;let Tu=0;const Eu=/* @__PURE__ */ new Map,Du=/* @__PURE__ */ new Map,Ou=/* @__PURE__ */ new Map,ku=/* @__PURE__ */ new Map,Au=e=>({activeSeconds:e.activeSeconds,seedingSeconds:e.seedingSeconds,downloaded:e.allTimeDownload,uploaded:e.allTimeUpload,wasted:e.wasted}),ju=e=>({activeSeconds:e?.activeSeconds??0,seedingSeconds:e?.seedingSeconds??0,downloaded:e?.downloaded??0,uploaded:e?.uploaded??0,wasted:e?.wasted??0}),Mu=e=>{let t=q?.status(e),n=Ou.get(e);return!t||!n?ku.get(e)??Pc:Rc(ku.get(e),n,Au(t))},Nu=(e,t,n)=>{let r=wu.get(e);wu.set(e,r?{flags:r.flags&~n|t&n,mask:r.mask|n}:{flags:t&n,mask:n})},Pu=(e,t)=>{let n={...Su.get(e)};return Pl(t.down)&&(n.down=t.down),Pl(t.up)&&(n.up=t.up),!Pl(n.down)&&!Pl(n.up)?!1:(Su.set(e,n),Cu.add(e),!0)},Fu=e=>{let t=Su.get(e);q&&t&&(Pl(t.down)&&q.setDownloadLimit(e,t.down),Pl(t.up)&&q.setUploadLimit(e,t.up))},Iu=6e3,Lu=/* @__PURE__ */ new Map,Ru=(e,t)=>{let n=Lu.get(e);if(n?.size){for(let e of n)Q({type:`read-error`,id:e,error:t});n.clear()}},zu=/* @__PURE__ */ new Set,Bu=async e=>{let t=Y.get(e);if(!t||!q||zu.has(e)||wl(Wl.get(e)))return!1;zu.add(e);try{let n=await q.saveResumeData(e);return J.includes(e)?(await Fs(vl(t),n),!0):!1}catch(e){return console.error(`[worker] saving resume data failed`,String(e)),!1}finally{zu.delete(e)}},Vu=(e,t)=>{let n=q?.files(e),r=n?.files[t];if(!n||!r||r.size<=0)return null;let i=Math.floor(r.offset/n.pieceLength),a=Math.floor((r.offset+r.size-1)/n.pieceLength);return{file:r,pieceLength:n.pieceLength,p0:i,p1:a}},Hu=/* @__PURE__ */ new Map,Uu=/* @__PURE__ */ new Set,Wu=e=>{let t=bu.get(e);if(!q||!t||Al(t))return;let n=q.files(e);n&&q.prioritizePieces(e,kl({files:n.files,pieceLength:n.pieceLength,numPieces:Math.ceil(n.totalSize/n.pieceLength),wanted:t.wanted,firstLast:t.firstLast}))},Gu=e=>{let t=Hu.get(e);return t?[...t.values()].filter(e=>!e.held):[]},Ku=e=>{if(!q)return;if(!J.includes(e)){Hu.delete(e),Uu.delete(e);return}let t=Gu(e);if(!t.length){if(!q.files(e)){Uu.add(e);return}Uu.delete(e),q.clearStreamWindow(e),Wu(e),ou.has(e)&&!X.has(e)&&!su.has(e)&&(su.add(e),Jl(e),q.pauseTorrent(e),Bu(e));return}vu(e);let n=q.files(e);if(!n){Uu.add(e);return}let r=t.flatMap(({fileIndex:e,fromOffset:t,bulk:r})=>{let i={fileIndex:e,offset:t},a=n.files[e];return!r&&a?.size?[i,{fileIndex:e,offset:a.size-1}]:[i]}),i=t.some(e=>!e.bulk);q.setStreamWindow(e,r,{unclaimedPriority:G.skip,windowPieces:dc(n.pieceLength),deadlineStepMs:mc(n.pieceLength,q.status(e)?.downloadRate||3e6),deadlines:i})?Uu.delete(e):Uu.add(e)},qu=e=>{X.add(e),su.delete(e),Jl(e),Z.forget(e),q?.pauseTorrent(e)},Ju=(e,t,n,r,i=!1,a)=>{if(!J.includes(t))return;let o=Hu.get(t),s=!o?.size;o||Hu.set(t,o=/* @__PURE__ */ new Map);let c=a??o.get(e)?.bulk;o.set(e,{fileIndex:n,fromOffset:r,...i?{held:i}:{},...c?{bulk:c}:{}}),s&&ru(t),Ku(t)},Yu=e=>{for(let[t,n]of Hu){let r=!1;for(let t of[...n.keys()])e(t)&&(n.delete(t),r=!0);n.size||(Hu.delete(t),r&&ru(t)),r&&Ku(t)}},Xu=(e,t,n,r)=>{let i=q?.files(e),a=i?.files[t],o=q?.bitfield(e);if(!i||!a||!o)return!1;let s=Math.floor((a.offset+n)/i.pieceLength),c=Math.floor((a.offset+Math.min(n+r,a.size)-1)/i.pieceLength);for(let e=s;e<=c;e++)if(!((o.pieces[e>>3]??0)&128>>(e&7)))return!1;return!0},Zu=(e,t,n,r)=>{let i=q?.files(e),a=i?.files[t],o=q?.bitfield(e);if(!i||!a||!o)return[];let s=Math.floor((a.offset+n)/i.pieceLength),c=Math.floor((a.offset+Math.min(n+r,a.size)-1)/i.pieceLength),l=[];for(let e=s;e<=c;e++)(o.pieces[e>>3]??0)&128>>(e&7)||l.push(e);return l},Qu=()=>{if(!q)return 0;let e=0;for(let[t,n]of Hu){if(!n.size||!J.includes(t))continue;let r=q.files(t),i=q.bitfield(t);if(!r)continue;if(!i){for(let{fileIndex:t}of n.values())e+=r.files[t]?.size??0;continue}let a=/* @__PURE__ */ new Set;for(let{fileIndex:e}of n.values()){let n=Vu(t,e);if(n)for(let e=n.p0;e<=n.p1;e++)(i.pieces[e>>3]??0)&128>>(e&7)||a.add(e)}e+=a.size*r.pieceLength}return e},$u=(e,t,n,r,i)=>{if(!e||!J.includes(t))return;let a=Hu.get(t)?.get(e);if(!a||a.held||a.fileIndex!==n){Ju(e,t,n,r);return}let o=Vu(t,n);if(!o)return;let s={fileOffset:o.file.offset,pieceLength:o.pieceLength,p1:o.p1};hc(s,a.fromOffset,r,i)&&Ju(e,t,n,r)},ed=async e=>{let t=e.filter(e=>!Tl(e));if(!t.length)return!0;try{let e=await navigator.storage.getDirectory();for(let n of new Set(t)){let t=e;for(let e of n.split(`/`).filter(Boolean))t=t?await t.getDirectoryHandle(e).catch(()=>null):null;if(t)return!0}return!1}catch{return!0}},td=async()=>{let e,t;try{return e=await navigator.storage.getDirectory(),t=`.ripple-probe-${crypto.randomUUID()}`,(await(await e.getFileHandle(t,{create:!0})).createSyncAccessHandle()).close(),await e.removeEntry(t).catch(()=>{}),!0}catch{return e&&t&&await e.removeEntry(t).catch(()=>{}),!1}},nd=e=>({paused:e.paused,state:e.state,totalDone:e.totalDone,downloadRate:e.downloadRate,numPeers:e.numPeers,queued:e.paused&&e.autoManaged&&!e.errorCode,error:e.error}),rd=async()=>{try{let{usage:e,quota:t}=await tl.estimate();return!t||e===void 0?null:{usedBytes:e,limitBytes:t}}catch{return null}},id=async e=>{for(let t=0;t<4e3;t+=250){await new Promise(e=>setTimeout(e,250));let t=await rd();if(!t||t.usedBytes<e)return t}return rd()},ad=async(e,t,n,r,i={})=>{Ru(t,r),e.removeTorrent(t,!0),_u(t),await Ls(vl(n)).catch(()=>{}),await $(n,{started:!1,paused:!1,...i})},od=(e,t,n)=>ad(e,t,n,`torrent removed to make room`),sd=async(e,t,n,r)=>{let i=jl(Wl.get(t));if(i===r)return;let a=Ul.get(t)??``,o=Ml(r,n),s=X.has(t),c=ou.has(t);Ru(t,`files moved`),e.removeTorrent(t,i===`browser`),_u(t),await Ls(vl(n)).catch(()=>{});let l=e.addMagnet(a,o);if(Zl(l)){Q({type:`add-failed`,message:`Moving the files left the torrent unaddable`}),await $(n,{savePath:o,saveTo:r,started:!1});return}gu(l,a,n,o,c),r===`folder`&&Nu(l,Xs.uploadMode,Xs.uploadMode),s?(X.add(l),Jl(l)):Yl(l),Z.hold(l,Date.now()),await $(n,{savePath:o,saveTo:r,started:!0})},cd=(e,{infoHash:t,magnet:n,bytes:r,handles:i,paused:a})=>{let o=Cl(t);Vl.set(o,i);let s=e.addTorrentFile(r,o);return Zl(s)?(Vl.delete(o),null):(gu(s,n,t,o,!1),Nu(s,Xs.uploadMode,Xs.uploadMode),a&&(X.add(s),Jl(s)),Z.hold(s,Date.now()),s)},ld=async(e,t)=>{let n=new Map(e.map(e=>[e.infoHash,e])),r=[];for(let e of[...J]){let i=Y.get(e);if(!i)continue;let a=n.get(i);if(!a?.ephemeral||!ll(a.savePath,i)||Hu.get(e)?.size||Lu.get(e)?.size||t-(cu.get(e)??0)<6e4)continue;let o=a.lastUsedAt??a.addedAt;if(t-o<15e3)continue;let s=await zl?.usageOf(a.savePath)??0;s<=0||r.push({infoHash:i,usedAt:o,bytesOnDisk:s})}return r};let ud=!1;const dd=e=>{let t=Uc(e);t!==ud&&(ud=t,Q({type:`storage-full`,full:t,usedBytes:e.usedBytes,limitBytes:e.limitBytes}))},fd=/* @__PURE__ */ new Set;let pd=!1;const md=async()=>{if(!q||pd)return 0;pd=!0;try{let e=await tu(),t=new Set(e.map(e=>e.infoHash.toLowerCase()));for(let e of fd)t.add(e.toLowerCase());let n=/* @__PURE__ */ new Set,r=!0;for(let e of J){let i=Y.get(e);if(i&&t.add(i.toLowerCase()),(Wl.get(e)??`/dl`)!==`/dl`)continue;let a=hu(e);if(!a.length){r=!1;continue}for(let e of a)n.add(e)}for(let t of e){let e=t.savePath||`/dl`;if(e!==`/dl`&&!e.startsWith(`/dl/`)){r=!1;continue}if(e===`/dl`){if(t.rootEntry){n.add(t.rootEntry);continue}!J.some(e=>Y.get(e)===t.infoHash)&&t.started!==!1&&(r=!1)}}let i=await navigator.storage.getDirectory(),a=await ol(i,`/dl`,{listedHashes:t,claimedNames:n,attributable:r});return await sl(i).catch(()=>0),a.length&&console.log(`[worker] removed storage nothing owns`,a),a.length}catch(e){return console.error(`[worker] orphan sweep failed`,String(e)),0}finally{pd=!1}};let hd=!1;const gd=async()=>{let e=q;if(!e||hd)return;hd=!0;let t=null;try{let n=await rd();if(!n)return;t=n;let r=Qu(),i=await ld(await tu(),Date.now());for(;i.length;){let[a]=Gc({...n,pendingBytes:r,candidates:i});if(!a)break;i=i.filter(e=>e.infoHash!==a);let o=J.find(e=>Y.get(e)===a);if(o===void 0||Hu.get(o)?.size||Lu.get(o)?.size)continue;let s=n.usedBytes;t=null,await od(e,o,a);let c=await id(s);if(!c)return;n=c,t=c}Uc(n)&&await md()&&(n=await id(n.usedBytes)??n),t=n}catch(e){console.error(`[worker] storage budget pass failed`,String(e))}finally{hd=!1,t&&dd(t)}},_d=async()=>{let e=console.error.bind(console);if(console.error=(...t)=>{e(...t);try{Q({type:`worker-error`,args:t.map(String)})}catch{}},!await td()){Q({type:`storage-unavailable`});return}tu().then(e=>{e.length&&Q({type:`list`,list:e})}).catch(()=>{});let t=Promise.race([Ps(Nl).catch(()=>void 0),new Promise(e=>setTimeout(()=>e(void 0),2e3))]);zl=Dl(xc(),()=>Bl,e=>Vl.get(e)??null),q=await cc({net:ys,dgram:ks,storage:zl,utpReceiveBufferBytes:4194304});for(let e=0;e<30;e++)q.tick();xu=Fl(await t),q.setRateLimits({download:xu.down,upload:xu.up});try{let e=await tu(),t=!await ed(e.map(e=>e.savePath||`/dl`)),n=!1;for(let r of e){if(r.started===!1||r.saveTo===`source`)continue;let e=r.savePath||`/dl`,i=await Ps(vl(r.infoHash)),a=await Ps(Ll(r.infoHash));if(t&&i&&i.byteLength){await Ls(vl(r.infoHash)).catch(()=>{}),r.started=!1,n=!0;continue}let o=i&&i.byteLength?q.addTorrentWithResume(i,e):a&&a.byteLength?q.addTorrentFile(a,e):q.addMagnet(r.magnet,e);Zl(o)||(gu(o,r.magnet,r.infoHash,e,r.ephemeral===!0),bu.set(o,{wanted:r.wantedFiles,firstLast:r.firstLast}),yu.add(o),Pu(o,{down:r.downloadLimit,up:r.uploadLimit}),Du.set(o,{activeSeconds:r.activeSeconds??0,seedingSeconds:r.seedingSeconds??0}),ku.set(o,ju(r)),r.paused?(X.add(o),Jl(o)):Yl(o),Z.hold(o,Date.now()))}n&&await Fs(pl,e)}catch(e){console.error(`[worker] restore failed`,e)}Q({type:`ready`}),Hl=!0,Q({type:`list`,list:await tu().catch(()=>[])}),Q({type:`state`,torrents:Ql(),reachable:q.reachable(),inboundNow:pu,rateLimits:{...xu}}),setInterval(()=>{if(!q)return;let e=Date.now();q.popAlerts();for(let e of J)q.postStatus(e);for(let e of[...yu])q.files(e)&&(yu.delete(e),Gu(e).length||Ku(e));for(let e of[...Uu])Ku(e);for(let e of[...Cu])q.status(e)&&(Cu.delete(e),Fu(e));for(let e of J){if(Eu.has(e))continue;let t=q.status(e);t&&(Eu.set(e,{activeSeconds:t.activeSeconds,seedingSeconds:t.seedingSeconds}),Ou.set(e,Au(t)))}for(let[e,t]of[...wu])q.status(e)&&(wu.delete(e),q.setFlags(e,t.flags>>>0,t.mask>>>0));for(let e of[...lu]){let[t]=hu(e);if(!t)continue;lu.delete(e);let n=Y.get(e);if(!n)continue;let r=q.files(e);$(n,{rootEntry:t,name:t,size:r?.contentSize,files:r?.files.filter(e=>!e.pad).slice(0,100).map(e=>({name:e.path,size:e.size}))}).catch(()=>{})}for(let e of Kl){let t=q.status(e);t&&!Tc.has(t.state)&&(Ec(t)?Kl.delete(e):q.pauseTorrent(e))}for(let e of ql){if(X.has(e)||su.has(e)){ql.delete(e);continue}let t=q.status(e);if(t&&!Tc.has(t.state)){if(!t.paused){ql.delete(e);continue}if(t.autoManaged||t.errorCode){ql.delete(e);continue}q.resumeTorrent(e)}}Z.retain(new Set(J));for(let t of J){let n=q.status(t);Z.observe(t,n&&nd(n),X.has(t)||su.has(t),e)}for(let{handle:t,reason:n}of Z.due(e))n===`stalled`&&q.pauseTorrent(t),q.resumeTorrent(t);if(e-fu>=2e3){fu=e;for(let e of J)q.peers(e)}pu=jc(J.map(e=>q.lastPeers(e))),Q({type:`state`,torrents:Ql(),reachable:q.reachable(),inboundNow:pu,detail:mu(e),rateLimits:{...xu}});for(let t of J){let n=q.status(t);if(!n||n.state!==4&&n.state!==5||Gl.get(t)===n.paused||zu.has(t))continue;let r=Xl.get(t);if(r&&e<r.at)continue;let i=n.paused;Bu(t).then(e=>{if(e){Gl.set(t,i),Xl.delete(t);return}let n=(Xl.get(t)?.tries??0)+1;Xl.set(t,{tries:n,at:Date.now()+Math.min(1e3*2**n,6e4)})})}},500),setInterval(()=>{if(!q)return;for(let e of J){let t=q.status(e);t&&t.state===3&&Bu(e)}let e=!1;for(let t of J){let n=q.status(t),r=Y.get(t),i=Eu.get(t);if(!n||!r||!i)continue;e=!0;let a=Ic(Du.get(t),i,n);if(!Bc(Du.get(t),a))continue;Du.set(t,a),Eu.set(t,{activeSeconds:n.activeSeconds,seedingSeconds:n.seedingSeconds});let o=Au(n),s=Rc(ku.get(t),Ou.get(t)??o,o);ku.set(t,s),Ou.set(t,o),$(r,{activeSeconds:a.activeSeconds,seedingSeconds:a.seedingSeconds,downloaded:s.downloaded,uploaded:s.uploaded,wasted:s.wasted},!0).catch(()=>{})}e&&Date.now()-Tu>=3e5&&(Tu=Date.now(),tu().then(e=>Q({type:`list`,list:e})).catch(()=>{}))},15e3),setInterval(()=>{gd()},1e4),gd(),setTimeout(()=>{md(),setInterval(()=>{md()},6e5)},6e4),self.addEventListener(`online`,()=>Z.retryNow(Date.now()))},vd=async(e,t)=>{try{if(t.type===`add-magnet`){let n=lc(t.magnet),r=n?J.find(e=>Y.get(e)===n):void 0;if(r!==void 0)n&&!t.ephemeral?(ou.delete(r),vu(r),await $(n,{ephemeral:!1,lastUsedAt:Date.now()})):ru(r),Q({type:`added`,handle:r,magnet:Ul.get(r)||t.magnet});else{let r=n?(await tu()).find(e=>e.infoHash===n):void 0,i=t.savePath||r?.savePath||cl(n),a=ul(r,t.ephemeral===!0),o=e.addMagnet(t.magnet,i);if(Zl(o)){Q({type:`add-failed`,message:`That is not a valid magnet link`});return}gu(o,t.magnet,n,i,a),bu.set(o,{wanted:r?.wantedFiles,firstLast:r?.firstLast}),t.hold===!0&&yu.add(o),Pu(o,{down:r?.downloadLimit,up:r?.uploadLimit}),Du.set(o,{activeSeconds:r?.activeSeconds??0,seedingSeconds:r?.seedingSeconds??0}),ku.set(o,ju(r)),Z.hold(o,Date.now());let s=Date.now();t.paused===!0&&qu(o),n&&await nu({infoHash:n,magnet:t.magnet,savePath:i,addedAt:s,lastUsedAt:s,ephemeral:a,started:!0,paused:t.paused===!0}),Q({type:`added`,handle:o,magnet:t.magnet}),gd()}}else if(t.type===`create-source`){let n=t.infoHash,r=t.handles??[],i=t.bytes;if(typeof n!=`string`||!n||!r.length||!i?.byteLength){Q({type:`add-failed`,message:`That torrent could not be created`});return}if(!r.some(e=>e)){Q({type:`add-failed`,message:`Some of those files could not be opened`});return}await Fs(Ll(n),i);let a=cd(e,{infoHash:n,magnet:t.magnet,bytes:i,handles:r,paused:!1});if(a===null){await Ls(Ll(n)).catch(()=>{}),Q({type:`add-failed`,message:`The engine refused the torrent that was just built`});return}let o=Date.now();await nu({infoHash:n,magnet:t.magnet,savePath:Cl(n),addedAt:o,lastUsedAt:o,ephemeral:!1,started:t.reopenable!==!1,paused:!1,saveTo:`source`,format:t.format??`v1`,pieceLength:typeof t.pieceLength==`number`?t.pieceLength:void 0,...fl({name:t.name,size:t.size,files:t.files})}),Q({type:`added`,handle:a,magnet:t.magnet})}else if(t.type===`start-source`){let n=t.infoHash,r=t.handles??[];if(typeof n!=`string`||!n||!r.length)return;if(!r.some(e=>e)){Q({type:`add-failed`,message:`Some of those files could not be opened`});return}let i=[...Y.entries()].find(([,e])=>e===n);if(i){Q({type:`added`,handle:i[0],magnet:Ul.get(i[0])??``});return}let a=await Ps(Ll(n));if(!a?.byteLength){Q({type:`add-failed`,message:`The torrent this was built from is no longer stored`});return}let o=(await tu()).find(e=>e.infoHash===n),s=cd(e,{infoHash:n,magnet:o?.magnet??t.magnet??``,bytes:a,handles:r,paused:o?.paused===!0});if(s===null){Q({type:`add-failed`,message:`The engine refused that torrent`});return}Du.set(s,{activeSeconds:o?.activeSeconds??0,seedingSeconds:o?.seedingSeconds??0}),ku.set(s,ju(o)),await $(n,{started:!0,lastUsedAt:Date.now()}),Q({type:`added`,handle:s,magnet:o?.magnet??``})}else if(t.type===`add-torrent-file`){let n=t.savePath||`/dl`,r=t.bytes,i=e.addTorrentFile(r,n);if(Zl(i)){Q({type:`add-failed`,message:`That file is not a valid .torrent`});return}gu(i,``,null,n,t.ephemeral===!0),Z.hold(i,Date.now());let a=null;for(let t=0;t<40&&!(a=e.infohash(i));t++)await new Promise(e=>setTimeout(e,250));if(!J.includes(i))return;if(!a){e.removeTorrent(i,!0),_u(i),Q({type:`add-failed`,message:`Could not read that torrent`});return}let o=e.infohashV2(i),s=`magnet:?`+[...a.length===40?[`xt=urn:btih:${a}`]:[],...o?[`xt=urn:btmh:1220${o}`]:[]].join(`&`);gu(i,s,a,n),await Fs(Ll(a),r);let c=Date.now();t.paused===!0&&qu(i);let l=t.saveTo===`browser`||t.saveTo===`folder`?{saveTo:t.saveTo}:{};await nu({infoHash:a,magnet:s,savePath:n,addedAt:c,lastUsedAt:c,ephemeral:t.ephemeral===!0,started:!0,paused:t.paused===!0,...l,...t.created===!0?{created:!0}:{}}),fd.delete(a),Q({type:`added`,handle:i,magnet:s})}else if(t.type===`read`){if(!J.includes(t.handle)){Q({type:`read-error`,id:t.id,error:`torrent removed`});return}if(vu(t.handle),cu.set(t.handle,Date.now()),X.has(t.handle)&&!Xu(t.handle,t.fileIndex,t.offset,t.len)){Q({type:`read-error`,id:t.id,error:`torrent paused`});return}if(t.prioritize!==!1)$u(t.viewer,t.handle,t.fileIndex,t.offset,t.len);else if(!Xu(t.handle,t.fileIndex,t.offset,t.len)){Q({type:`read-error`,id:t.id,error:`not downloaded`});return}let n=Lu.get(t.handle);n||Lu.set(t.handle,n=/* @__PURE__ */ new Set),n.add(t.id);try{for(let r=0;;r++)try{let r=t.viewer?Hu.get(t.handle)?.get(t.viewer)?.bulk===!0:!1,i=await e.read(t.handle,t.fileIndex,t.offset,t.len,{timeoutMs:Iu,...r?{deadlineMs:null}:{}});if(!n.has(t.id))return;Q({type:`read-result`,id:t.id,data:i},[i.buffer]);return}catch(i){if(!n.has(t.id))return;if(r+1>=18||!/did not arrive/.test(String(i)))throw i;let a=Zu(t.handle,t.fileIndex,t.offset,t.len);Q({type:`read-stalled`,id:t.id,handle:t.handle,fileIndex:t.fileIndex,offset:t.offset,len:t.len,waitedMs:(r+1)*Iu,missing:a,cancelled:Math.min(a.length,16),downloadRate:e.status(t.handle)?.downloadRate??null,numPeers:e.status(t.handle)?.numPeers??null});for(let n of a.slice(0,16))e.cancelPieceRequests(t.handle,n);let o=t.viewer?Hu.get(t.handle)?.get(t.viewer):void 0;t.prioritize!==!1&&t.viewer&&o&&!o.held&&Ku(t.handle)}}finally{n.delete(t.id),J.includes(t.handle)&&cu.set(t.handle,Date.now())}}else if(t.type===`cancel-read`)Lu.get(t.handle)?.delete(t.id);else if(t.type===`remove`){let n=Y.get(t.handle);Ru(t.handle,`torrent removed`),e.removeTorrent(t.handle,!!t.deleteFiles),_u(t.handle),n&&await au(n)}else if(t.type===`set-plan`){let e=Array.isArray(t.wanted)?t.wanted.map(e=>Number(e)|0):void 0,n=t.firstLast===!0;bu.set(t.handle,{wanted:e,firstLast:n}),Wu(t.handle);let r=Y.get(t.handle);r&&await $(r,{wantedFiles:e,firstLast:n})}else if(t.type===`set-folder`)Bl=t.handle??null;else if(t.type===`set-temporary`){if(typeof t.infoHash==`string`){let e=t.temporary===!0,n=J.find(e=>Y.get(e)===t.infoHash);n!==void 0&&(e?ou.add(n):(ou.delete(n),vu(n))),await $(t.infoHash,{ephemeral:e})}}else if(t.type===`reserve-storage`)typeof t.infoHash==`string`&&t.infoHash&&(t.on===!1?fd.delete(t.infoHash):fd.add(t.infoHash));else if(t.type===`set-location`)typeof t.infoHash==`string`&&await $(t.infoHash,{saveTo:t.to===`folder`?`folder`:`browser`});else if(t.type===`relocate`){let n=typeof t.infoHash==`string`?t.infoHash:null,r=t.to===`folder`?`folder`:`browser`,i=n?J.find(e=>Y.get(e)===n):void 0;n&&i!==void 0&&await sd(e,i,n,r)}else if(t.type===`import-list`){let e=[];await Is(ml,n=>e=hl(n,t.removed));let n=[],r=[],i=!1;await Is(pl,a=>{let o=_l(a??[],Array.isArray(t.list)?t.list:[],e);n=o.list,r=(a??[]).filter(e=>!n.includes(e)),i=r.length>0;let s=new Map(n.map(e=>[e.infoHash,e]));for(let e of o.incoming){if(!e||typeof e.infoHash!=`string`||!e.magnet)continue;let t=fl(e),r=s.get(e.infoHash);if(r){r.name===void 0&&t.name!==void 0&&(r.name=t.name,i=!0),r.size===void 0&&t.size!==void 0&&(r.size=t.size,i=!0),r.files===void 0&&t.files!==void 0&&(r.files=t.files,i=!0);let n=zc(ju(r),ju(e));for(let e of Nc)(r[e]??0)!==n[e]&&(r[e]=n[e],i=!0);continue}let a={infoHash:e.infoHash,magnet:e.magnet,savePath:e.savePath||`/dl`,addedAt:e.addedAt||Date.now(),started:!1,ephemeral:!1,...t,...ju(e)};n.push(a),s.set(a.infoHash,a),i=!0}return n});for(let e of r)await iu(e.infoHash);i&&Q({type:`list`,list:n})}else if(t.type===`start`){let n=(await tu()).find(e=>e.infoHash===t.infoHash);if(n?.saveTo===`source`){Q({type:`add-failed`,message:`This torrent was made from files on this device, so there is nowhere to fetch it from. Create it again from the same files to share it.`});return}if(n){let t=n.savePath||`/dl`,r=await Ps(Ll(n.infoHash)),i=r&&r.byteLength?e.addTorrentFile(r,t):e.addMagnet(n.magnet,t);if(Zl(i)){Q({type:`add-failed`,message:`That torrent could not be read`});return}gu(i,n.magnet,n.infoHash,t,!1),Pu(i,{down:n.downloadLimit,up:n.uploadLimit}),Z.hold(i,Date.now()),Q({type:`state`,torrents:Ql(),reachable:e.reachable()}),await nu({...n,started:!0,paused:!1,ephemeral:!1,lastUsedAt:Date.now()})}}else if(t.type===`remove-missing`){if(typeof t.infoHash==`string`){let n=J.find(e=>Y.get(e)===t.infoHash);n!==void 0&&(Ru(n,`torrent removed`),e.removeTorrent(n,!0),_u(n)),await au(t.infoHash)}}else if(t.type===`clear-list`){for(let t of[...J])Ru(t,`torrent removed`),e.removeTorrent(t,!0),_u(t);let t=[];await Is(pl,e=>(t=e??[],[])),await Ls(ml).catch(()=>{});for(let e of t)await Ls(vl(e.infoHash)).catch(()=>{}),await Ls(Ll(e.infoHash)).catch(()=>{});Q({type:`list`,list:[]})}else if(t.type===`pause`){X.add(t.handle),su.delete(t.handle),Jl(t.handle),Z.forget(t.handle),e.pauseTorrent(t.handle),Ru(t.handle,`torrent paused`),Bu(t.handle);let n=Y.get(t.handle);n&&await $(n,{paused:!0})}else if(t.type===`resume`){X.delete(t.handle),su.delete(t.handle),Yl(t.handle),Z.forget(t.handle),e.resumeTorrent(t.handle),Z.hold(t.handle,Date.now());let n=Y.get(t.handle);n&&await $(n,{paused:!1})}else if(t.type===`recheck`){let n=Y.get(t.handle);n&&await Ls(vl(n)).catch(()=>{}),Gl.delete(t.handle),Ru(t.handle,`torrent rechecking`),X.delete(t.handle),Kl.delete(t.handle),ql.delete(t.handle),su.delete(t.handle),Z.forget(t.handle),e.forceRecheck(t.handle),Z.hold(t.handle,Date.now()),n&&await $(n,{paused:!1})}else if(t.type===`retry-now`)Z.retryNow(Date.now());else if(t.type===`retry`)Z.retry(t.handle,Date.now());else if(t.type===`flush-resume`)await Promise.all(J.map(e=>Bu(e)));else if(t.type===`watch`)t.readLen==null?Ju(t.viewer,t.handle,t.fileIndex,t.fromOffset??0,t.held===!0,t.bulk===!0||void 0):$u(t.viewer,t.handle,t.fileIndex,t.fromOffset??0,t.readLen);else if(t.type===`unwatch`)Yu(e=>e===t.viewer);else if(t.type===`set-flags`)e.setFlags(t.handle,t.flags>>>0,t.mask>>>0),Bu(t.handle);else if(t.type===`reannounce`)e.forceReannounce(t.handle);else if(t.type===`queue-move`)e.moveInQueue(t.handle,t.where);else if(t.type===`set-limits`){let n=Pl(t.down)?t.down:void 0,r=Pl(t.up)?t.up:void 0;Pu(t.handle,{down:n,up:r})&&e.status(t.handle)&&(Cu.delete(t.handle),Fu(t.handle));let i=Y.get(t.handle);if(i){let e={};n!==void 0&&(e.downloadLimit=n),r!==void 0&&(e.uploadLimit=r),Object.keys(e).length&&await $(i,e)}}else if(t.type===`set-session-limits`)Pl(t.down)&&(xu.down=t.down),Pl(t.up)&&(xu.up=t.up),e.setRateLimits({download:xu.down,upload:xu.up}),await Fs(Nl,{...xu});else if(t.type===`inspect`){let e=typeof t.handle==`number`?t.handle:null;e!==uu&&(uu=e,du=0)}else t.type===`unwatch-owner`&&Yu(e=>e.startsWith(t.owner+`:`))}catch(e){t.type===`read`?Q({type:`read-error`,id:t.id,error:String(e?.stack??e)}):Q({type:`error`,message:String(e?.stack??e)})}},yd=/* @__PURE__ */ new Set([`read`,`add-torrent-file`]);let bd=Promise.resolve();self.addEventListener(`message`,e=>{let t=e.data;if(!t||typeof t!=`object`||typeof t.type!=`string`||!Il.has(t.type))return;let n=q;if(!n){t.type===`read`?Q({type:`read-error`,id:t.id,error:`the engine is still starting`}):Q({type:`error`,message:`worker not initialized`});return}if(yd.has(t.type)){vd(n,t);return}bd=bd.then(()=>vd(n,t))}),_d().catch(e=>Q({type:Hl?`error`:`fatal`,message:String(e?.stack??e)}));
|