@gjsify/cli 0.4.11 → 0.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.gjs.mjs CHANGED
@@ -3,7 +3,7 @@ if(globalThis.process===void 0){let n=imports.system,a=imports.gi.GLib;globalThi
3
3
  `)}else if(Me){let S=` `.repeat(this._groupDepth*this._groupIndentation)+_formatArgs(...a);n===`stderr`?printerr(S):print(S)}else{let S=globalThis.console;n===`stderr`?S.error(...a):S.log(...a)}}log(...n){this._write(`stdout`,...n)}info(...n){this._write(`stdout`,...n)}debug(...n){this._write(`stdout`,...n)}warn(...n){this._write(`stderr`,...n)}error(...n){this._write(`stderr`,...n)}dir(n,a){this._write(`stdout`,n)}dirxml(...n){this.log(...n)}assert(n,...a){n||this.error(`Assertion failed:`,...a)}clear(){this._stdout?this._stdout.write(`\x1Bc`):Me?print(`\x1Bc`):globalThis.console.clear()}count(n=`default`){let a=(this._counters.get(n)||0)+1;this._counters.set(n,a),this.log(`${n}: ${a}`)}countReset(n=`default`){this._counters.delete(n)}group(...n){n.length>0&&this.log(...n),this._groupDepth++}groupCollapsed(...n){this.group(...n)}groupEnd(){this._groupDepth>0&&this._groupDepth--}table(n,a){this._stdout?this._write(`stdout`,n):Me?print(JSON.stringify(n,null,2)):globalThis.console.table(n,a)}time(n=`default`){this._timers.set(n,Date.now())}timeEnd(n=`default`){let a=this._timers.get(n);a===void 0?this.warn(`Warning: No such label '${n}' for console.timeEnd()`):(this.log(`${n}: ${Date.now()-a}ms`),this._timers.delete(n))}timeLog(n=`default`,...a){let S=this._timers.get(n);S===void 0?this.warn(`Warning: No such label '${n}' for console.timeLog()`):this.log(`${n}: ${Date.now()-S}ms`,...a)}trace(...n){let a=Error().stack?.split(`
4
4
  `).slice(1).join(`
5
5
  `)||``;this._write(`stderr`,`Trace:`,...n,`
6
- `+a)}profile(n){}profileEnd(n){}timeStamp(n){}},Fe=new Console,log=(...n)=>Fe.log(...n),info=(...n)=>Fe.info(...n),Ie=__name$1((...n)=>Fe.debug(...n),`debug`),warn=(...n)=>Fe.warn(...n),error=(...n)=>Fe.error(...n),dir=(n,a)=>Fe.dir(n,a),dirxml=(...n)=>Fe.dirxml(...n),table=(n,a)=>Fe.table(n,a),clear=()=>Fe.clear(),assert=(n,...a)=>Fe.assert(n,...a),trace=(...n)=>Fe.trace(...n),time=n=>Fe.time(n),timeEnd=n=>Fe.timeEnd(n),timeLog=(n,...a)=>Fe.timeLog(n,...a),Le=__name$1(n=>Fe.count(n),`count`),countReset=n=>Fe.countReset(n),group=(...n)=>Fe.group(...n),groupCollapsed=(...n)=>Fe.groupCollapsed(...n),groupEnd=()=>Fe.groupEnd(),profile=n=>{},profileEnd=n=>{},timeStamp=n=>{}}),ze,Be=__esmMin(()=>{Re(),ze={log,info,debug:Ie,warn,error,dir,dirxml,table,time,timeEnd,timeLog,trace,assert,clear,count:Le,countReset,group,groupCollapsed,groupEnd,profile,profileEnd,timeStamp}}),Ve=__esmMin(()=>{Be()}),He,Ue=__esmMin(()=>{He=__name$1(n=>{Promise.resolve().then(n)},`queueMicrotask`)});function drainOnce(n){let a=Math.min(64,Ge.length);for(let S=0;S<a;S++){let a=Ge.shift();try{a()}catch(a){try{n.log_default_handler(`gjsify-nextTick`,n.LogLevelFlags.LEVEL_WARNING,String(a?.stack||a),null)}catch{}}}Ge.length>0?n.timeout_add(n.PRIORITY_DEFAULT,1,()=>(drainOnce(n),!1)):Ke=!1}function tryGLibTimeout(n){let a=globalThis.imports?.gi?.GLib;return a?.timeout_add?(Ge.push(n),Ke||(Ke=!0,a.timeout_add(a.PRIORITY_DEFAULT,0,()=>(drainOnce(a),!1))),!0):!1}var Ge,Ke,nextTick,qe=__esmMin(()=>{Ge=[],Ke=!1,nextTick=(n,...a)=>{let S=a.length>0?()=>n(...a):n;if(!tryGLibTimeout(S)){if(typeof globalThis.process?.nextTick==`function`){globalThis.process.nextTick(n,...a);return}if(typeof queueMicrotask==`function`){queueMicrotask(S);return}Promise.resolve().then(S)}}}),Je,Ye,getPathSeparator,Xe=__esmMin(()=>{ue(),Se(),{File:Je}=xe,Ye=__name$1((n,...a)=>{let S=Je.new_for_path(n);for(let n of a)S=S.resolve_relative_path(n);return S},`resolve`),getPathSeparator=()=>{let n=le.get_current_dir();return/^\//.test(n)?`/`:`\\`}});function classOf(n){return Ze.call(n).slice(8,-1)}function throwDataCloneError(n){let a=globalThis.DOMException;if(typeof a==`function`)throw new a(n,`DataCloneError`);let S=Error(n);throw S.name=`DataCloneError`,S}function internalClone(n,a,S){if(n==null)return n;let C=typeof n;if(C===`boolean`||C===`number`||C===`string`||C===`bigint`)return n;C===`symbol`&&throwDataCloneError(`Symbol cannot be cloned`),C===`function`&&throwDataCloneError(`Function cannot be cloned`);let N=n;if(a.has(N))return a.get(N);let F=classOf(N);if(F===`Date`)return new Date(N.getTime());if(F===`RegExp`)return new RegExp(N.source,N.flags);if(F===`Boolean`||F===`Number`||F===`String`)return Object(N.valueOf());if(F===`BigInt`)return Object(BigInt.prototype.valueOf.call(N));if(N instanceof Error){let n=N,C=n.constructor?.name,F=new(C&&Qe[C]||Qe[n.name]||Error)(n.message);return F.name=n.name,`cause`in n&&Object.defineProperty(F,`cause`,{value:internalClone(n.cause,a,S),writable:!0,enumerable:!1,configurable:!0}),F}if(F===`DOMException`){let n=globalThis.DOMException;if(typeof n==`function`){let a=N;return new n(a.message,a.name)}}if(F===`ArrayBuffer`){let n=N;if(S&&S.transferred.has(n)){let C=S.transferred.get(n);return a.set(N,C),C}(n.detached===!0||n.byteLength===0&&n.detached)&&throwDataCloneError(`ArrayBuffer is detached and cannot be cloned`);let C=n.slice(0);return a.set(N,C),C}if(F===`SharedArrayBuffer`)return N;if(F===`DataView`){let n=N,C=S?.viewSnapshots.get(N),F=internalClone(n.buffer,a,S),I=C?C.byteOffset:n.byteOffset,H=C?C.byteLength:n.byteLength,W=new DataView(F,I,H);return a.set(N,W),W}if($e.has(F)){let n=N,C=S?.viewSnapshots.get(N),F=internalClone(n.buffer,a,S),I=n.constructor,H=new I(F,C?C.byteOffset:n.byteOffset,C?C.length:n.length);return a.set(N,H),H}if(F===`Map`){let n=new Map;a.set(N,n);for(let[C,F]of N)n.set(internalClone(C,a,S),internalClone(F,a,S));return n}if(F===`Set`){let n=new Set;a.set(N,n);for(let C of N)n.add(internalClone(C,a,S));return n}{let n=globalThis,a=n.Blob,S=n.File;if(typeof S==`function`&&N instanceof S){let n=N;return new S([N],n.name,{type:n.type,lastModified:n.lastModified})}if(typeof a==`function`&&N instanceof a)return new a([N],{type:N.type})}if(N instanceof WeakMap&&throwDataCloneError(`WeakMap cannot be cloned`),N instanceof WeakSet&&throwDataCloneError(`WeakSet cannot be cloned`),N instanceof WeakRef&&throwDataCloneError(`WeakRef cannot be cloned`),typeof globalThis.Promise==`function`&&N instanceof Promise&&throwDataCloneError(`Promise cannot be cloned`),F===`Array`){let n=N,C=[];a.set(N,C);for(let N=0;N<n.length;N++)N in n&&(C[N]=internalClone(n[N],a,S));return C}if(F===`Object`||typeof N==`object`){let n={};a.set(N,n);for(let C of Object.keys(N))n[C]=internalClone(N[C],a,S);return n}throwDataCloneError(`${F} cannot be cloned`)}function structuredClone$1(n,a){let S=a?.transfer;if(!S||S.length===0)return internalClone(n,new Map);let C=new Set;for(let n of S)if(classOf(n)===`ArrayBuffer`){let a=n;a.detached===!0&&throwDataCloneError(`ArrayBuffer in transfer list is detached`),C.add(a)}let N=new Map;C.size>0&&snapshotViewsBackedByTransferredBuffers(n,C,N,new Set);let F=new Map;for(let n of C){let a=n;typeof a.transfer!=`function`&&throwDataCloneError(`ArrayBuffer.prototype.transfer() not available — runtime is not SM140+`),F.set(n,a.transfer())}return internalClone(n,new Map,{transferred:F,viewSnapshots:N})}function snapshotViewsBackedByTransferredBuffers(n,a,S,C){if(typeof n!=`object`||!n)return;let N=n;if(C.has(N))return;C.add(N);let F=classOf(N);if(F===`DataView`){let n=N;a.has(n.buffer)&&S.set(N,{byteOffset:n.byteOffset,length:0,byteLength:n.byteLength});return}if($e.has(F)){let n=N;a.has(n.buffer)&&S.set(N,{byteOffset:n.byteOffset,length:n.length,byteLength:n.byteLength});return}if(Array.isArray(N)){for(let n=0;n<N.length;n++)n in N&&snapshotViewsBackedByTransferredBuffers(N[n],a,S,C);return}if(F===`Map`){for(let[n,F]of N)snapshotViewsBackedByTransferredBuffers(n,a,S,C),snapshotViewsBackedByTransferredBuffers(F,a,S,C);return}if(F===`Set`){for(let n of N)snapshotViewsBackedByTransferredBuffers(n,a,S,C);return}if(F===`Object`)for(let n of Object.keys(N))snapshotViewsBackedByTransferredBuffers(N[n],a,S,C)}var Ze,Qe,$e,et=__esmMin(()=>{({toString:Ze}=Object.prototype),Qe={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError},$e=new Set([`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]),__name$1(structuredClone$1,`structuredClone`)});function ensureMainLoop(){let n=globalThis.imports;if(!n)return;if(tt)return nt;let a=n.gi.GLib;if(nt=new a.MainLoop(null,!1),tt=!0,a.main_depth()===0)try{nt.runAsync()}catch{}return nt}function quitMainLoop(){nt&&=(nt.quit(),tt=!1,null)}var tt,nt,rt=__esmMin(()=>{tt=!1,nt=null}),it=__esmMin(()=>{ae(),oe(),Z(),fe(),pe(),he(),ge(),ve(),Te(),Oe(),Ae(),je(),Ve(),Ue(),qe(),Xe(),et(),rt()});ne(),it(),registerGlobal(`Blob`,X),registerGlobal(`File`,te);function encodeString(n,a){switch(a){case`utf8`:return ot.encode(n);case`ascii`:{let a=new Uint8Array(n.length);for(let S=0;S<n.length;S++)a[S]=n.charCodeAt(S)&127;return a}case`latin1`:{let a=new Uint8Array(n.length);for(let S=0;S<n.length;S++)a[S]=n.charCodeAt(S)&255;return a}case`base64`:return base64Decode$1(n.replace(/-/g,`+`).replace(/_/g,`/`));case`base64url`:return encodeString(n.replace(/-/g,`+`).replace(/_/g,`/`),`base64`);case`hex`:{let a=n.length>>>1,S=new Uint8Array(a);for(let C=0;C<a;C++){let a=parseInt(n[C*2],16),N=parseInt(n[C*2+1],16);if(Number.isNaN(a)||Number.isNaN(N))break;S[C]=a<<4|N}return S}case`utf16le`:{let a=new Uint8Array(n.length*2);for(let S=0;S<n.length;S++){let C=n.charCodeAt(S);a[S*2]=C&255,a[S*2+1]=C>>8&255}return a}default:return ot.encode(n)}}function decodeString(n,a,S,C){let N=S!==void 0||C!==void 0?n.subarray(S??0,C??n.length):n;switch(a){case`utf8`:return st.decode(N);case`ascii`:{let n=``;for(let a=0;a<N.length;a++)n+=String.fromCharCode(N[a]&127);return n}case`latin1`:{let n=``;for(let a=0;a<N.length;a++)n+=String.fromCharCode(N[a]);return n}case`base64`:{let n=``;for(let a=0;a<N.length;a++)n+=String.fromCharCode(N[a]);return btoaPolyfill(n)}case`base64url`:return decodeString(N,`base64`).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``);case`hex`:{let n=``;for(let a=0;a<N.length;a++)n+=N[a].toString(16).padStart(2,`0`);return n}case`utf16le`:{let n=``;for(let a=0;a+1<N.length;a+=2)n+=String.fromCharCode(N[a]|N[a+1]<<8);return n}default:return st.decode(N)}}function checkOffset(n,a,S){if(n+a>S)throw RangeError(`Attempt to access memory outside buffer bounds`)}var ot,st,ct,lt,ut,dt,ft,SlowBuffer,pt=__esmMin(()=>{it(),ot=new TextEncoder,st=new TextDecoder,ct=typeof SharedArrayBuffer<`u`,lt=class Buffer extends Uint8Array{static _isBuffer=!0;static alloc(n,a,S){if(typeof n!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof n}`);if(n<0)throw RangeError(`The value "${n}" is invalid for option "size"`);let C=new Buffer(n);return a!==void 0&&a!==0&&C.fill(a,0,n,S),C}static allocUnsafe(n){if(typeof n!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof n}`);return new Buffer(n)}static allocUnsafeSlow(n){return Buffer.allocUnsafe(n)}static from(n,a,S){if(typeof n==`string`){let S=normalizeEncoding(a);if(a&&typeof a==`string`){let n=(``+a).toLowerCase().replace(/-/g,``);[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`,``].includes(n)||checkEncoding(a)}let C=encodeString(n,S);return new Buffer(C.buffer,C.byteOffset,C.byteLength)}if(ArrayBuffer.isView(n)){let a=new Buffer(n.buffer,n.byteOffset,n.byteLength),S=new Buffer(a.length);return S.set(a),S}if(n instanceof ArrayBuffer){let C=a||0;return new Buffer(n,C,S===void 0?n.byteLength-C:S)}if(ct&&n instanceof SharedArrayBuffer){let C=a||0,N=S===void 0?n.byteLength-C:S;return new Buffer(new Uint8Array(n,C,N))}if(Array.isArray(n)){let a=new Buffer(n.length);for(let S=0;S<n.length;S++)a[S]=n[S]&255;return a}throw TypeError(`The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array`)}static isBuffer(n){return n instanceof Buffer}static isEncoding(n){if(typeof n!=`string`)return!1;let a=n.toLowerCase().replace(/-/g,``);return[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`].includes(a)}static byteLength(n,a){if(typeof n!=`string`){if(ArrayBuffer.isView(n)||n instanceof ArrayBuffer||ct&&n instanceof SharedArrayBuffer)return n.byteLength;throw TypeError(`The "string" argument must be one of type string, Buffer, or ArrayBuffer`)}switch(normalizeEncoding(a)){case`utf8`:return ot.encode(n).byteLength;case`ascii`:case`latin1`:return n.length;case`base64`:case`base64url`:{let a=n.length;for(;a>0&&(n[a-1]===`=`||n[a-1]===` `);)a--;return a*3>>>2}case`hex`:return n.length>>>1;case`utf16le`:return n.length*2;default:return ot.encode(n).byteLength}}static compare(n,a){if(!(n instanceof Uint8Array)||!(a instanceof Uint8Array))throw TypeError(`Arguments must be Buffers or Uint8Arrays`);let S=Math.min(n.length,a.length);for(let C=0;C<S;C++){if(n[C]<a[C])return-1;if(n[C]>a[C])return 1}return n.length<a.length?-1:+(n.length>a.length)}static concat(n,a){if(n.length===0)return Buffer.alloc(0);if(a===void 0){a=0;for(let S=0;S<n.length;S++)a+=n[S].length}let S=Buffer.alloc(a),C=0;for(let N=0;N<n.length;N++){let F=n[N],I=Math.min(F.length,a-C);I<=0||(S.set(F.subarray(0,I),C),C+=I)}return S}static poolSize=8192;toString(n,a,S){let C=normalizeEncoding(n);return decodeString(this,C,a,S)}toJSON(){return{type:`Buffer`,data:Array.from(this)}}equals(n){if(!(n instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);if(this.length!==n.length)return!1;for(let a=0;a<this.length;a++)if(this[a]!==n[a])return!1;return!0}compare(n,a,S,C,N){if(!(n instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);let F=C!==void 0||N!==void 0?this.subarray(C??0,N??this.length):this,I=a!==void 0||S!==void 0?n.subarray(a??0,S??n.length):n;return Buffer.compare(F,I)}copy(n,a=0,S=0,C){let N=C??this.length,F=Math.min(N-S,n.length-a);return F<=0?0:(n.set(this.subarray(S,S+F),a),F)}slice(n,a){let S=n??0,C=a??this.length,N=super.subarray(S,C);return new Buffer(N.buffer,N.byteOffset,N.byteLength)}subarray(n,a){let S=super.subarray(n,a);return new Buffer(S.buffer,S.byteOffset,S.byteLength)}write(n,a,S,C){a??=0;let N=encodeString(n,normalizeEncoding(C||(typeof S==`string`?S:void 0))),F=S!==void 0&&typeof S==`number`?Math.min(S,this.length-a):this.length-a,I=Math.min(N.length,F);return this.set(N.subarray(0,I),a),I}fill(n,a,S,C){let N=a??0,F=S??this.length;if(typeof n==`number`)super.fill(n&255,N,F);else if(typeof n==`string`){let a=encodeString(n,normalizeEncoding(C));if(a.length===0)super.fill(0,N,F);else if(a.length===1)super.fill(a[0],N,F);else for(let n=N;n<F;n++)this[n]=a[(n-N)%a.length]}else if(n instanceof Uint8Array)if(n.length===0)super.fill(0,N,F);else for(let a=N;a<F;a++)this[a]=n[(a-N)%n.length];return this}indexOf(n,a,S){if(typeof n==`number`)return super.indexOf(n&255,a);let C=typeof n==`string`?encodeString(n,normalizeEncoding(S)):n,N=a??0;outer:for(let n=N;n<=this.length-C.length;n++){for(let a=0;a<C.length;a++)if(this[n+a]!==C[a])continue outer;return n}return-1}lastIndexOf(n,a,S){if(typeof n==`number`)return a===void 0?super.lastIndexOf(n&255):super.lastIndexOf(n&255,a);let C=typeof n==`string`?encodeString(n,normalizeEncoding(S)):n,N=a===void 0?this.length-C.length:Math.min(a,this.length-C.length);outer:for(let n=N;n>=0;n--){for(let a=0;a<C.length;a++)if(this[n+a]!==C[a])continue outer;return n}return-1}includes(n,a,S){return this.indexOf(n,a,S)!==-1}readUInt8(n=0){return checkOffset(n,1,this.length),this[n]}readUInt16BE(n=0){return checkOffset(n,2,this.length),this[n]<<8|this[n+1]}readUInt16LE(n=0){return checkOffset(n,2,this.length),this[n]|this[n+1]<<8}readUInt32BE(n=0){return checkOffset(n,4,this.length),this[n]*16777216+(this[n+1]<<16|this[n+2]<<8|this[n+3])}readUInt32LE(n=0){return checkOffset(n,4,this.length),this[n+3]*16777216+(this[n+2]<<16|this[n+1]<<8|this[n])>>>0}readInt8(n=0){return checkOffset(n,1,this.length),this[n]|(this[n]&128?4294967040:0)}readInt16BE(n=0){checkOffset(n,2,this.length);let a=this[n]<<8|this[n+1];return a&32768?a|4294901760:a}readInt16LE(n=0){checkOffset(n,2,this.length);let a=this[n]|this[n+1]<<8;return a&32768?a|4294901760:a}readInt32BE(n=0){return checkOffset(n,4,this.length),this[n]<<24|this[n+1]<<16|this[n+2]<<8|this[n+3]}readInt32LE(n=0){return checkOffset(n,4,this.length),this[n]|this[n+1]<<8|this[n+2]<<16|this[n+3]<<24}readFloatBE(n=0){return checkOffset(n,4,this.length),new DataView(this.buffer,this.byteOffset+n,4).getFloat32(0,!1)}readFloatLE(n=0){return checkOffset(n,4,this.length),new DataView(this.buffer,this.byteOffset+n,4).getFloat32(0,!0)}readDoubleBE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getFloat64(0,!1)}readDoubleLE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getFloat64(0,!0)}readBigInt64BE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getBigInt64(0,!1)}readBigInt64LE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getBigInt64(0,!0)}readBigUInt64BE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getBigUint64(0,!1)}readBigUInt64LE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getBigUint64(0,!0)}readUIntBE(n,a){checkOffset(n,a,this.length);let S=0;for(let C=0;C<a;C++)S=S*256+this[n+C];return S}readUIntLE(n,a){checkOffset(n,a,this.length);let S=0,C=1;for(let N=0;N<a;N++)S+=this[n+N]*C,C*=256;return S}readIntBE(n,a){checkOffset(n,a,this.length);let S=0;for(let C=0;C<a;C++)S=S*256+this[n+C];return S>=2**(8*a-1)&&(S-=2**(8*a)),S}readIntLE(n,a){checkOffset(n,a,this.length);let S=0,C=1;for(let N=0;N<a;N++)S+=this[n+N]*C,C*=256;return S>=2**(8*a-1)&&(S-=2**(8*a)),S}writeUInt8(n,a=0){return checkOffset(a,1,this.length),this[a]=n&255,a+1}writeUInt16BE(n,a=0){return checkOffset(a,2,this.length),this[a]=n>>>8&255,this[a+1]=n&255,a+2}writeUInt16LE(n,a=0){return checkOffset(a,2,this.length),this[a]=n&255,this[a+1]=n>>>8&255,a+2}writeUInt32BE(n,a=0){return checkOffset(a,4,this.length),this[a]=n>>>24&255,this[a+1]=n>>>16&255,this[a+2]=n>>>8&255,this[a+3]=n&255,a+4}writeUInt32LE(n,a=0){return checkOffset(a,4,this.length),this[a]=n&255,this[a+1]=n>>>8&255,this[a+2]=n>>>16&255,this[a+3]=n>>>24&255,a+4}writeInt8(n,a=0){return checkOffset(a,1,this.length),n<0&&(n=255+n+1),this[a]=n&255,a+1}writeInt16BE(n,a=0){return checkOffset(a,2,this.length),this[a]=n>>>8&255,this[a+1]=n&255,a+2}writeInt16LE(n,a=0){return checkOffset(a,2,this.length),this[a]=n&255,this[a+1]=n>>>8&255,a+2}writeInt32BE(n,a=0){return checkOffset(a,4,this.length),this[a]=n>>>24&255,this[a+1]=n>>>16&255,this[a+2]=n>>>8&255,this[a+3]=n&255,a+4}writeInt32LE(n,a=0){return checkOffset(a,4,this.length),this[a]=n&255,this[a+1]=n>>>8&255,this[a+2]=n>>>16&255,this[a+3]=n>>>24&255,a+4}writeFloatBE(n,a=0){return checkOffset(a,4,this.length),new DataView(this.buffer,this.byteOffset+a,4).setFloat32(0,n,!1),a+4}writeFloatLE(n,a=0){return checkOffset(a,4,this.length),new DataView(this.buffer,this.byteOffset+a,4).setFloat32(0,n,!0),a+4}writeDoubleBE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setFloat64(0,n,!1),a+8}writeDoubleLE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setFloat64(0,n,!0),a+8}writeBigInt64BE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setBigInt64(0,n,!1),a+8}writeBigInt64LE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setBigInt64(0,n,!0),a+8}writeBigUInt64BE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setBigUint64(0,n,!1),a+8}writeBigUInt64LE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setBigUint64(0,n,!0),a+8}swap16(){let n=this.length;if(n%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(let a=0;a<n;a+=2){let n=this[a];this[a]=this[a+1],this[a+1]=n}return this}swap32(){let n=this.length;if(n%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(let a=0;a<n;a+=4){let n=this[a],S=this[a+1];this[a]=this[a+3],this[a+1]=this[a+2],this[a+2]=S,this[a+3]=n}return this}swap64(){let n=this.length;if(n%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(let a=0;a<n;a+=8){let n=this[a],S=this[a+1],C=this[a+2],N=this[a+3];this[a]=this[a+7],this[a+1]=this[a+6],this[a+2]=this[a+5],this[a+3]=this[a+4],this[a+4]=N,this[a+5]=C,this[a+6]=S,this[a+7]=n}return this}},ut=2**31-1,dt=2**28-16,ft={MAX_LENGTH:ut,MAX_STRING_LENGTH:dt},SlowBuffer=class extends lt{constructor(n){super(n)}}}),mt=__exportAll$3({Blob:()=>X,Buffer:()=>lt,File:()=>te,INSPECT_MAX_BYTES:()=>50,SlowBuffer:()=>SlowBuffer,atob:()=>ht,btoa:()=>gt,constants:()=>ft,default:()=>_t,kMaxLength:()=>ut,kStringMaxLength:()=>dt}),ht,gt,_t,vt=__esmMin(()=>{ne(),pt(),ht=globalThis.atob,gt=globalThis.btoa,_t={Buffer:lt,SlowBuffer,Blob:X,File:te,atob:ht,btoa:gt,kMaxLength:ut,kStringMaxLength:dt,constants:ft,INSPECT_MAX_BYTES:50}});vt(),`Buffer`in globalThis||Object.defineProperty(globalThis,`Buffer`,{value:lt,enumerable:!1,writable:!0,configurable:!0}),ue(),typeof globalThis.btoa!=`function`&&Object.defineProperty(globalThis,`btoa`,{value:function btoa(n){let a=new Uint8Array(n.length);for(let S=0;S<n.length;S++)a[S]=n.charCodeAt(S)&255;return le.base64_encode(a)},enumerable:!0,writable:!0,configurable:!0}),typeof globalThis.atob!=`function`&&Object.defineProperty(globalThis,`atob`,{value:function atob(n){let a=le.base64_decode(n),S=``;for(let n=0;n<a.length;n++)S+=String.fromCharCode(a[n]);return S},enumerable:!0,writable:!0,configurable:!0}),it(),typeof queueMicrotask!=`function`&&Object.defineProperty(globalThis,`queueMicrotask`,{value:He,enumerable:!0,writable:!0,configurable:!0});function onceWrapper(){let{target:n,type:a,listener:S}=this;return this.wrapperFn&&n.removeListener(a,this.wrapperFn),S.apply(n,arguments)}function _onceWrap(n,a,S){let C={target:n,type:a,listener:S,wrapperFn:void 0},N=onceWrapper.bind(C);return C.wrapperFn=N,N.listener=S,N}function arrayClone(n){switch(n.length){case 0:return[];case 1:return[n[0]];case 2:return[n[0],n[1]];case 3:return[n[0],n[1],n[2]];default:return n.slice()}}function checkListener(n){if(typeof n!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof n)}function validateNumber(n,a){if(typeof n!=`number`||n!==n)throw TypeError(`The "${a}" argument must be of type number. Received type ${typeof n}`)}function spliceOne(n,a){for(;a+1<n.length;a++)n[a]=n[a+1];n.pop()}function unwrapListeners(n){let a=Array(n.length);for(let S=0;S<a.length;++S)a[S]=n[S].listener??n[S];return a}function createAbortError$1(n){let a=Error(`The operation was aborted`);return a.name=`AbortError`,a.code=`ABORT_ERR`,n?.reason&&(a.cause=n.reason),a}var yt,bt,xt,St=__esmMin(()=>{Be(),yt=Symbol(`kCapture`),bt=Symbol.for(`nodejs.rejection`),xt=class EventEmitter{static defaultMaxListeners=10;static errorMonitor=Symbol(`events.errorMonitor`);static captureRejectionSymbol=bt;static _captureRejections=!1;static get captureRejections(){return EventEmitter._captureRejections}static set captureRejections(n){if(typeof n!=`boolean`)throw TypeError(`The "captureRejections" argument must be of type boolean.`);EventEmitter._captureRejections=n}_events;_eventsCount;_maxListeners;[yt];constructor(n){this._events=Object.create(null),this._eventsCount=0,this._maxListeners=void 0,this[yt]=n?.captureRejections??EventEmitter._captureRejections}setMaxListeners(n){if(validateNumber(n,`n`),n<0)throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+n);return this._maxListeners=n,this}getMaxListeners(){return this._maxListeners??EventEmitter.defaultMaxListeners}emit(n,...a){let S=this._events,C=n===`error`;if(S!==void 0)C&&S[EventEmitter.errorMonitor]!==void 0&&this.emit(EventEmitter.errorMonitor,...a),C&&=S.error===void 0;else if(!C)return!1;if(C){let n;if(n=a.length>0?a[0]:Error(`Unhandled error.`),n instanceof Error)throw n;let S=Error(`Unhandled error. (`+n+`)`);throw S.context=n,S}let N=S[n];if(N===void 0)return!1;if(typeof N==`function`){let S=N.apply(this,a);S!=null&&this[yt]&&this._addCatch(S,n,a)}else{let S=arrayClone(N),C=S.length;for(let N=0;N<C;++N){let C=S[N].apply(this,a);C!=null&&this[yt]&&this._addCatch(C,n,a)}}return!0}_addCatch(n,a,S){typeof n?.then==`function`&&n.then(void 0,n=>{let C=this[bt];if(typeof C==`function`)C.call(this,n,a,...S);else{let a=this[yt];try{this[yt]=!1,this.emit(`error`,n)}finally{this[yt]=a}}})}addListener(n,a){return this._addListener(n,a,!1)}on(n,a){return this._addListener(n,a,!1)}prependListener(n,a){return this._addListener(n,a,!0)}_addListener(n,a,S){checkListener(a);let C=this._events;C===void 0?(C=this._events=Object.create(null),this._eventsCount=0):C.newListener!==void 0&&(this.emit(`newListener`,n,a.listener??a),C=this._events);let N=C[n];N===void 0?(C[n]=a,++this._eventsCount):typeof N==`function`?C[n]=S?[a,N]:[N,a]:S?N.unshift(a):N.push(a);let F=this.getMaxListeners();if(F>0){let a=typeof C[n]==`function`?1:C[n].length;if(a>F&&!C[n].warned){typeof C[n]!=`function`&&(C[n].warned=!0);let S=Error(`Possible EventEmitter memory leak detected. ${a} ${String(n)} listeners added to [${this.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);S.name=`MaxListenersExceededWarning`,ze.warn(S.message)}}return this}once(n,a){return checkListener(a),this.on(n,_onceWrap(this,n,a)),this}prependOnceListener(n,a){return checkListener(a),this.prependListener(n,_onceWrap(this,n,a)),this}removeListener(n,a){checkListener(a);let S=this._events;if(S===void 0)return this;let C=S[n];if(C===void 0)return this;if(C===a||C.listener===a)--this._eventsCount===0?this._events=Object.create(null):(delete S[n],S.removeListener&&this.emit(`removeListener`,n,C.listener??a));else if(typeof C!=`function`){let N=-1;for(let n=C.length-1;n>=0;n--)if(C[n]===a||C[n].listener===a){N=n;break}if(N<0)return this;N===0?C.shift():spliceOne(C,N),C.length===1&&(S[n]=C[0]),S.removeListener!==void 0&&this.emit(`removeListener`,n,a.listener??a)}return this}off(n,a){return this.removeListener(n,a)}removeAllListeners(n){let a=this._events;if(a===void 0)return this;if(a.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):a[n]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete a[n]),this;if(arguments.length===0){let n=Object.keys(a);for(let a=0;a<n.length;++a){let S=n[a];S!==`removeListener`&&this.removeAllListeners(S)}return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}let S=a[n];if(typeof S==`function`)this.removeListener(n,S);else if(S!==void 0)for(let a=S.length-1;a>=0;a--)this.removeListener(n,S[a]);return this}listeners(n){let a=this._events;if(a===void 0)return[];let S=a[n];return S===void 0?[]:typeof S==`function`?[S.listener??S]:unwrapListeners(S)}rawListeners(n){let a=this._events;if(a===void 0)return[];let S=a[n];return S===void 0?[]:typeof S==`function`?[S]:arrayClone(S)}listenerCount(n){let a=this._events;if(a===void 0)return 0;let S=a[n];return S===void 0?0:typeof S==`function`?1:S.length}eventNames(){return(this._eventsCount??0)>0?Reflect.ownKeys(this._events):[]}static once(n,a,S){return new Promise((C,N)=>{let F=S?.signal;if(F?.aborted){N(createAbortError$1(F));return}if(typeof n.addEventListener==`function`){let S=n,handler=(...n)=>{F&&F.removeEventListener(`abort`,abortHandler),C(n)},errorHandler=n=>{F&&F.removeEventListener(`abort`,abortHandler),S.removeEventListener(`error`,errorHandler),N(n)},abortHandler=()=>{S.removeEventListener(a,handler),S.removeEventListener(`error`,errorHandler),N(createAbortError$1(F))};S.addEventListener(a,handler,{once:!0}),a!==`error`&&S.addEventListener(`error`,errorHandler,{once:!0}),F&&F.addEventListener(`abort`,abortHandler,{once:!0});return}let I=n,eventHandler=(...n)=>{F&&F.removeEventListener(`abort`,abortHandler),errorHandler!==void 0&&I.removeListener(`error`,errorHandler),C(n)},errorHandler;a!==`error`&&(errorHandler=n=>{I.removeListener(a,eventHandler),F&&F.removeEventListener(`abort`,abortHandler),N(n)},I.once(`error`,errorHandler)),I.once(a,eventHandler);let abortHandler=()=>{I.removeListener(a,eventHandler),errorHandler&&I.removeListener(`error`,errorHandler),N(createAbortError$1(F))};F&&F.addEventListener(`abort`,abortHandler,{once:!0})})}static on(n,a,S){let C=S?.signal;if(C?.aborted)throw createAbortError$1(C);let N=S?.highWaterMark??2**53-1,F=S?.lowWaterMark??1;validateNumber(N,`highWaterMark`),validateNumber(F,`lowWaterMark`);let I=[],H=[],W=null,K=!1,q=!1,eventHandler=(...a)=>{if(H.length>0){let{resolve:n}=H.shift();n({value:a,done:!1})}else I.push(a),I.length>=N&&!q&&(q=!0,typeof n.pause==`function`&&n.pause())},errorHandler=n=>{if(W=n,H.length>0){let{reject:a}=H.shift();a(n)}Y.return()},abortHandler=()=>{errorHandler(createAbortError$1(C))};n.on(a,eventHandler),a!==`error`&&n.on(`error`,errorHandler),C&&C.addEventListener(`abort`,abortHandler,{once:!0});let cleanup=()=>{n.removeListener(a,eventHandler),n.removeListener(`error`,errorHandler),C&&C.removeEventListener(`abort`,abortHandler),K=!0;for(let{resolve:n}of H)n({value:void 0,done:!0});H.length=0,I.length=0},Y={next(){if(I.length>0){let a=I.shift();return q&&I.length<F&&(q=!1,typeof n.resume==`function`&&n.resume()),Promise.resolve({value:a,done:!1})}if(W){let n=Promise.reject(W);return W=null,n}return K?Promise.resolve({value:void 0,done:!0}):new Promise((n,a)=>{H.push({resolve:n,reject:a})})},return(){return cleanup(),Promise.resolve({value:void 0,done:!0})},throw(n){return K||(W=n,cleanup()),Promise.reject(n)},[Symbol.asyncIterator](){return this}};return Y}static listenerCount(n,a){return n.listenerCount(a)}static getEventListeners(n,a){return typeof n.listeners==`function`?n.listeners(a):[]}static setMaxListeners(n,...a){if(validateNumber(n,`n`),n<0)throw RangeError(`The value of "n" is out of range.`);if(a.length===0)EventEmitter.defaultMaxListeners=n;else for(let S of a)typeof S.setMaxListeners==`function`&&S.setMaxListeners(n)}static getMaxListeners(n){return typeof n.getMaxListeners==`function`?n.getMaxListeners():EventEmitter.defaultMaxListeners}static addAbortListener(n,a){n.aborted&&Promise.resolve().then(()=>a());let handler=()=>a();return n.addEventListener(`abort`,handler,{once:!0}),{[Symbol.dispose](){n.removeEventListener(`abort`,handler)}}}},xt.EventEmitter=xt;for(let n of[`setMaxListeners`,`getMaxListeners`,`emit`,`addListener`,`on`,`prependListener`,`once`,`prependOnceListener`,`removeListener`,`off`,`removeAllListeners`,`listeners`,`rawListeners`,`listenerCount`,`eventNames`]){let a=xt.prototype[n];typeof a==`function`&&Object.defineProperty(xt.prototype,n,{enumerable:!0,configurable:!0,writable:!0,value:a})}Object.defineProperty(xt.prototype,`_events`,{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(xt.prototype,`_eventsCount`,{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(xt.prototype,`_maxListeners`,{enumerable:!0,configurable:!0,writable:!0,value:void 0}),__name$1(createAbortError$1,`createAbortError`)}),Ct=__exportAll$3({EventEmitter:()=>wt,addAbortListener:()=>Pt,captureRejectionSymbol:()=>Tt,default:()=>wt,defaultMaxListeners:()=>Dt,errorMonitor:()=>Et,getEventListeners:()=>Mt,getMaxListeners:()=>kt,listenerCount:()=>Nt,on:()=>jt,once:()=>At,setMaxListeners:()=>Ot}),wt,Tt,Et,Dt,Ot,kt,At,jt,Mt,Nt,Pt,Ft=__esmMin(()=>{St(),it(),wt=makeCallable(xt),wt.EventEmitter=wt,Tt=wt.captureRejectionSymbol,Et=wt.errorMonitor,Dt=wt.defaultMaxListeners,Ot=wt.setMaxListeners,kt=wt.getMaxListeners,At=wt.once,jt=wt.on,Mt=wt.getEventListeners,Nt=wt.listenerCount,Pt=wt.addAbortListener});Ft();let It=null;const Lt=globalThis.imports?.gi;if(Lt)try{It=Lt.GjsifyTerminal}catch{}const Rt=It;Be(),it();const zt=new TextEncoder;function getGjsGlobal(){return globalThis}function detectGjsVersion(){try{let n=getGjsGlobal().imports?.system;if(n?.version!==void 0){let a=Number(n.version);return`${Math.floor(a/1e4)}.${Math.floor(a%1e4/100)}.${a%100}`}}catch{}}function detectNodeVersion(){if(typeof globalThis.process?.versions?.node==`string`)return globalThis.process.versions.node}function detectVersionInfo(){if(detectNodeVersion())return{version:globalThis.process.version,versions:{...globalThis.process.versions},title:globalThis.process?.title||`node`};let n=detectGjsVersion(),a={node:`20.0.0`};return n&&(a.gjs=n),{version:`v20.0.0`,versions:a,title:`gjs`}}function detectPpid(){if(typeof globalThis.process?.ppid==`number`)return globalThis.process.ppid;try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let[,a]=n.file_get_contents(`/proc/self/status`);if(a){let n=new TextDecoder().decode(a).match(/PPid:\s+(\d+)/);if(n)return parseInt(n[1],10)}}}catch{}return 0}function detectPlatform(){try{let n=getGjsGlobal().imports?.gi?.GLib;if(n&&n.get_os_info(`ID`))return`linux`}catch{}return getGjsGlobal().imports?.system===void 0&&typeof globalThis.process?.platform==`string`?globalThis.process.platform:`linux`}function detectArch(){return typeof globalThis.process?.arch==`string`?globalThis.process.arch:`x64`}function getCwd(){try{let n=getGjsGlobal().imports?.gi?.GLib;if(n?.get_current_dir)return n.get_current_dir()}catch{}return`/`}function getEnvProxy(){if(typeof globalThis.process?.env==`object`)return globalThis.process.env;try{let n=getGjsGlobal().imports?.gi?.GLib;if(n)return new Proxy({},{get(a,S){if(typeof S==`string`)return n.getenv(S)??void 0},set(a,S,C){return typeof S==`string`?(n.setenv(S,String(C),!0),!0):!1},deleteProperty(a,S){return typeof S==`string`?(n.unsetenv(S),!0):!1},has(a,S){return typeof S==`string`?n.getenv(S)!==null:!1},ownKeys(a){return n.listenv()},getOwnPropertyDescriptor(a,S){if(typeof S!=`string`)return;let C=n.getenv(S);if(C!==null)return{configurable:!0,enumerable:!0,writable:!0,value:C}}})}catch{}return{}}function getArgv(){if(globalThis.process?.argv!==void 0)return globalThis.process.argv;try{let n=getGjsGlobal().imports?.system;if(n?.programArgs)return[`gjs`,n.programInvocationName||``,...n.programArgs]}catch{}return[`gjs`]}function getExecPath(){if(typeof globalThis.process?.execPath==`string`)return globalThis.process.execPath;try{let n=getGjsGlobal().imports?.system;if(n?.programInvocationName)return n.programInvocationName}catch{}return`/usr/bin/gjs`}function getPid$1(){if(typeof globalThis.process?.pid==`number`)return globalThis.process.pid;try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let[,a]=n.file_get_contents(`/proc/self/stat`);if(a){let n=new TextDecoder().decode(a),S=parseInt(n,10);if(!isNaN(S))return S}}}catch{}return 0}__name$1(getPid$1,`getPid`);const Bt=Date.now();function getGioNamespace(){let n=globalThis.imports?.gi;if(!n)return null;let a=null;try{a=n.GioUnix}catch{}if(!a)try{a=n.Gio}catch{}return a}var ProcessWriteStream=class extends wt{fd;writable=!0;_outGio=null;constructor(n){super(),this.fd=n;let a=getGioNamespace();if(a){let n=a.UnixOutputStream??a.OutputStream;if(n)try{this._outGio=n.new(this.fd,!1)}catch{}}}write(n){if(this._outGio)try{let a=typeof n==`string`?zt.encode(n):n;return this._outGio.write_all(a,null),!0}catch{}return this.fd===2?ze.error(n):ze.log(n),!0}get isTTY(){if(Rt)return Rt.Terminal.is_tty(this.fd);try{let n=getGjsGlobal().imports?.gi?.GLib;if(n)return!!n.log_writer_supports_color(this.fd)}catch{}return!1}get columns(){if(Rt){let[n,,a]=Rt.Terminal.get_size(this.fd);if(n&&a>0)return a}try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let a=parseInt(n.getenv(`COLUMNS`)??`0`,10);if(a>0)return a}}catch{}return 80}end(){}destroy(){}get rows(){if(Rt){let[n,a]=Rt.Terminal.get_size(this.fd);if(n&&a>0)return a}try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let a=parseInt(n.getenv(`LINES`)??`0`,10);if(a>0)return a}}catch{}return 24}},ProcessReadStream=class extends wt{fd;isRaw=!1;_gio=null;_stdinGio=null;_reading=!1;_flowing=!1;_sttyCleanupRegistered=!1;_mainLoopHeld=!1;_pendingRead=!1;constructor(n){super(),this.fd=n,this._gio=getGioNamespace()}get isTTY(){return Rt?Rt.Terminal.is_tty(this.fd):!1}setRawMode(n){return Rt&&Rt.Terminal.set_raw_mode(this.fd,n)?(this.isRaw=n,this):(this._setRawModeViaStty(n),this.isRaw=n,this)}_setRawModeViaStty(n){try{let a=globalThis.imports?.gi,S=a?.Gio??a?.Gio;if(!S)return;let C=S.SubprocessFlags?.STDIN_INHERIT??2,N=n?[`stty`,`-icanon`,`-echo`,`-icrnl`,`min`,`1`,`time`,`0`]:[`stty`,`icanon`,`echo`,`icrnl`];if(new S.SubprocessLauncher({flags:C}).spawnv(N).wait(null),n&&!this._sttyCleanupRegistered){this._sttyCleanupRegistered=!0;let n=globalThis.process;n?.once&&typeof n.once==`function`&&n.once(`exit`,()=>this._setRawModeViaStty(!1))}}catch{}}setEncoding(n){return this}resume(){return this._flowing=!0,this._gio&&this.fd===0&&!this._reading&&this._startReading(),this}pause(){if(this._flowing=!1,this._reading=!1,this._mainLoopHeld){this._mainLoopHeld=!1;let n=globalThis.imports?.gi,a=n?.GLib??n?.GLib;a?.idle_add?a.idle_add(300,()=>(this._mainLoopHeld||quitMainLoop(),!1)):quitMainLoop()}return this}read(){return null}_startReading(){if(!this._gio||this._reading)return;if(this._pendingRead){this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop());return}if(this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop()),!this._stdinGio){let n=this._gio.UnixInputStream??this._gio.InputStream;if(!n){this._reading=!1;return}try{this._stdinGio=n.new(this.fd,!1)}catch{this._reading=!1;return}}let loop=()=>{if(!this._reading){this._pendingRead=!1;return}this._pendingRead=!0,this._stdinGio.read_bytes_async(4096,0,null,(n,a)=>{this._pendingRead=!1;try{let S=n.read_bytes_finish(a)?.get_data?.()??null;if(S&&S.byteLength>0)this.emit(`data`,Buffer.from(S));else if(S!==null&&S.byteLength===0){this._reading=!1,this.emit(`end`);return}}catch{this._reading=!1;return}this._reading&&loop()})};loop()}};function getMonotonicTime(){try{let n=getGjsGlobal().imports?.gi?.GLib;if(n?.get_monotonic_time)return BigInt(n.get_monotonic_time())*1000n}catch{}return typeof performance?.now==`function`?BigInt(Math.round(performance.now()*1e6)):BigInt(Date.now())*1000000n}const Vt=getMonotonicTime();var Process=class extends wt{platform;arch;env;argv;argv0;execPath;pid;ppid;version;versions;title;execArgv;config;exitCode;constructor(){super(),this.platform=detectPlatform(),this.arch=detectArch(),this.env=getEnvProxy(),this.argv=getArgv(),this.argv0=this.argv[0]||`gjs`,this.execPath=getExecPath(),this.execArgv=globalThis.process?.execArgv??[],this.config=globalThis.process?.config??{target_defaults:{},variables:{}},this.pid=getPid$1(),this.ppid=detectPpid();let n=detectVersionInfo();this.version=n.version,this.versions=n.versions,this.title=n.title}cwd(){return getCwd()}chdir(n){try{let a=getGjsGlobal().imports?.gi?.GLib;if(a?.chdir){if(!a.file_test(n,16)){let a=Error(`ENOENT: no such file or directory, chdir '${n}'`);throw a.code=`ENOENT`,a.syscall=`chdir`,a.path=n,a}a.chdir(n);return}}catch(n){if(n&&typeof n==`object`&&n.code===`ENOENT`)throw n}let a=globalThis.process;if(a&&a!==this&&typeof a.chdir==`function`){a.chdir(n);return}throw Error(`process.chdir() is not supported in this environment`)}kill(n,a){let S=globalThis.process;if(S&&S!==this&&typeof S.kill==`function`)return S.kill(n,a);try{let S=getGjsGlobal().imports?.gi?.GLib;if(S){let C=typeof a==`number`?String(a):a||`SIGTERM`,N=C.startsWith(`SIG`)?`-${C.slice(3)}`:`-${C}`;return S.spawn_command_line_sync(`kill ${N} ${n}`),!0}}catch{}throw Error(`process.kill() is not supported in this environment`)}exit(n){this.exitCode=n??this.exitCode??0,this.emit(`exit`,this.exitCode);let a=getGjsGlobal().imports,S=a?.gi?.GLib,C=a?.system,N=S?.idle_add,F=S?.SOURCE_REMOVE,I=S?.PRIORITY_DEFAULT;if(C?.exit&&N&&typeof I==`number`&&typeof F==`boolean`){let n=this.exitCode;return ensureMainLoop(),N(I,()=>(quitMainLoop(),C.exit(n),F)),new Promise(()=>{})}try{C?.exit&&C.exit(this.exitCode)}catch{}let H=globalThis.process;throw H&&H!==this&&typeof H.exit==`function`&&H.exit(this.exitCode),Error(`process.exit(${this.exitCode})`)}nextTick(n,...a){typeof queueMicrotask==`function`?queueMicrotask(()=>n(...a)):Promise.resolve().then(()=>n(...a))}hrtime(n){let a=getMonotonicTime()-Vt,S=Number(a/1000000000n),C=Number(a%1000000000n);if(n){let a=S-n[0],N=C-n[1];return N<0&&(a--,N+=1e9),[a,N]}return[S,C]}uptime(){return(Date.now()-Bt)/1e3}memoryUsage(){try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let[,a]=n.file_get_contents(`/proc/self/status`);if(a){let n=new TextDecoder().decode(a).match(/VmRSS:\s+(\d+)/),S=n?parseInt(n[1],10)*1024:0;return{rss:S,heapTotal:S,heapUsed:S,external:0,arrayBuffers:0}}}}catch{}let n=globalThis.process;return n&&n!==this&&typeof n.memoryUsage==`function`?n.memoryUsage():{rss:0,heapTotal:0,heapUsed:0,external:0,arrayBuffers:0}}cpuUsage(n){let a=globalThis.process;return a&&a!==this&&typeof a.cpuUsage==`function`?a.cpuUsage(n):{user:0,system:0}}stdout=new ProcessWriteStream(1);stderr=new ProcessWriteStream(2);stdin=new ProcessReadStream(0);abort(){this.exit(1)}umask(n){return 18}emitWarning(n,a){ze.warn(typeof n==`string`?`(${a||`Warning`}): ${n}`:n.message)}};Process.prototype.hrtime.bigint=function(){return getMonotonicTime()-Vt};const Ht=new Process;if(Rt)try{let n=new Rt.ResizeWatcher;n.connect(`resized`,(n,a,S)=>{Ht.stdout.emit(`resize`),Ht.stderr.emit(`resize`)}),n.start()}catch{}const Ut=Ht.platform;Ht.arch,Ht.env,Ht.argv,Ht.argv0;const Wt=Ht.execPath;Ht.pid,Ht.ppid,Ht.version,Ht.versions,Ht.cwd.bind(Ht),Ht.chdir.bind(Ht),Ht.exit.bind(Ht),Ht.nextTick.bind(Ht);const Gt=Ht.hrtime.bind(Ht);Ht.uptime.bind(Ht),Ht.memoryUsage.bind(Ht),Ht.cpuUsage.bind(Ht),Ht.kill.bind(Ht),Ht.abort.bind(Ht),Ht.umask.bind(Ht),Ht.emitWarning.bind(Ht);const Kt=Ht.execArgv;Ht.config;const qt=Ht.stdout;Ht.stderr;const Jt=Ht.stdin;it(),typeof Promise.withResolvers!=`function`&&(Promise.withResolvers=function(){let n,a;return{promise:new Promise((S,C)=>{n=S,a=C}),resolve:n,reject:a}}),initErrorV8Methods(Error),`global`in globalThis||Object.defineProperty(globalThis,`global`,{value:globalThis,writable:!1,enumerable:!1,configurable:!0}),Object.defineProperty(globalThis,`process`,{value:Ht,enumerable:!1,writable:!0,configurable:!0}),it(),typeof globalThis.structuredClone!=`function`&&Object.defineProperty(globalThis,`structuredClone`,{value:structuredClone$1,enumerable:!0,writable:!0,configurable:!0});function getGLib(){return globalThis.imports?.gi?.GLib}const Yt=getGLib()!==void 0;var GjsifyTimeout=class{_id=null;_refed=!0;_callback;_delay;_args;_repeat;constructor(n,a,S,C){this._callback=n,this._delay=a,this._args=S,this._repeat=C,this._schedule()}_schedule(){let n=getGLib();if(!n)return;let a=n.timeout_add.bind(n);this._id=a(n.PRIORITY_DEFAULT,this._delay,()=>{try{this._callback.apply(globalThis,this._args)}catch(n){setTimeout(()=>{throw n},0)}return this._repeat?n.SOURCE_CONTINUE:(this._id=null,n.SOURCE_REMOVE)})}ref(){return this._refed=!0,this}unref(){return this._refed=!1,this}hasRef(){return this._refed}refresh(){return this._cancel(),this._schedule(),this}_cancel(){if(this._id!==null){try{getGLib()?.Source.remove(this._id)}catch{}this._id=null}}[Symbol.toPrimitive](){return this._id}[Symbol.dispose](){this._cancel()}};function removeById(n){if(n instanceof GjsifyTimeout)n._cancel();else if(typeof n==`number`)try{getGLib()?.Source.remove(n)}catch{}}if(Yt){let setT=(n,a=0,...S)=>new GjsifyTimeout(n,Math.max(0,a|0),S,!1),setI=(n,a=0,...S)=>new GjsifyTimeout(n,Math.max(0,a|0),S,!0),n=globalThis;n.setTimeout=setT,n.clearTimeout=removeById,n.setInterval=setI,n.clearInterval=removeById}function setImmediate$2(n,...a){return setTimeout(n,0,...a)}__name$1(setImmediate$2,`setImmediate`);function clearImmediate(n){clearTimeout(n)}`setImmediate`in globalThis||Object.defineProperty(globalThis,`setImmediate`,{value:setImmediate$2,enumerable:!0,writable:!0,configurable:!0}),`clearImmediate`in globalThis||Object.defineProperty(globalThis,`clearImmediate`,{value:clearImmediate,enumerable:!0,writable:!0,configurable:!0});var Xt=__exportAll$3({URL:()=>$t,URLSearchParams:()=>Qt,default:()=>en,domainToASCII:()=>domainToASCII,domainToUnicode:()=>domainToUnicode,fileURLToPath:()=>fileURLToPath,format:()=>format$4,parse:()=>parse$4,pathToFileURL:()=>pathToFileURL,resolve:()=>resolve$3});function decodeComponent(n){try{return decodeURIComponent(n.replace(/\+/g,` `))}catch{return n}}function encodeComponent(n){return encodeURIComponent(n).replace(/%20/g,`+`)}function parse$4(n,a,S){if(typeof n!=`string`)throw TypeError(`The "url" argument must be of type string. Received type `+typeof n);let C={protocol:null,slashes:null,auth:null,host:null,port:null,hostname:null,hash:null,search:null,query:null,pathname:null,path:null,href:n},N=n.trim(),F=N.indexOf(`#`);F!==-1&&(C.hash=N.slice(F),N=N.slice(0,F));let I=N.indexOf(`?`);I!==-1&&(C.search=N.slice(I),C.query=a?Object.fromEntries(new Qt(N.slice(I+1))):N.slice(I+1),N=N.slice(0,I));let H=/^([a-z][a-z0-9.+-]*:)/i.exec(N);if(H&&(C.protocol=H[1].toLowerCase(),N=N.slice(C.protocol.length)),(S||C.protocol)&&N.startsWith(`//`)&&(C.slashes=!0,N=N.slice(2)),C.slashes||C.protocol&&![`javascript:`,`data:`,`mailto:`].includes(C.protocol)){let n=-1;for(let a=0;a<N.length;a++){let S=N[a];if(S===`/`||S===`\\`){n=a;break}}let a=n===-1?N:N.slice(0,n);N=n===-1?``:N.slice(n);let S=a.lastIndexOf(`@`);S===-1?parseHostPort(a,C):(C.auth=decodeURIComponent(a.slice(0,S)),parseHostPort(a.slice(S+1),C))}return C.pathname=N||(C.slashes?`/`:null),(C.pathname!==null||C.search!==null)&&(C.path=(C.pathname||``)+(C.search||``)),C.href=format$4(C),C}function parseHostPort(n,a){if(!n)return;let S=n.indexOf(`[`);if(S!==-1){let C=n.indexOf(`]`,S);if(C!==-1){let N=n.slice(C+1);N.startsWith(`:`)&&(a.port=N.slice(1)),a.hostname=n.slice(S,C+1),a.host=a.hostname+(a.port?`:`+a.port:``);return}}let C=n.lastIndexOf(`:`);if(C!==-1){let S=n.slice(C+1);/^\d*$/.test(S)?(a.port=S||null,a.hostname=n.slice(0,C).toLowerCase()):a.hostname=n.toLowerCase()}else a.hostname=n.toLowerCase();a.host=a.hostname+(a.port?`:`+a.port:``)}function format$4(n){if(typeof n==`string`)return n;if(n instanceof $t)return n.href;let a=n,S=``;if(a.protocol&&(S+=a.protocol),(a.slashes||a.protocol&&![`javascript:`,`data:`,`mailto:`].includes(a.protocol||``))&&(S+=`//`),a.auth&&(S+=encodeURIComponent(a.auth)+`@`),a.host?S+=a.host:(a.hostname&&(S+=a.hostname),a.port&&(S+=`:`+a.port)),a.pathname&&(S+=a.pathname),a.search)S+=a.search;else if(a.query&&typeof a.query==`object`){let n=new Qt(a.query).toString();n&&(S+=`?`+n)}return a.hash&&(S+=a.hash),S}function resolve$3(n,a){return new $t(a,new $t(n,`resolve://`)).href.replace(/^resolve:\/\//,``)}function fileURLToPath(n){if(typeof n==`string`&&(n=new $t(n)),!(n instanceof $t))throw TypeError(`The "url" argument must be of type string or URL. Received type `+typeof n);if(n.protocol!==`file:`)throw TypeError(`The URL must be of scheme file`);if(n.hostname!==``&&n.hostname!==`localhost`)throw TypeError(`File URL host must be "localhost" or empty on linux`);let a=n.pathname;for(let n=0;n<a.length;n++)if(a[n]===`%`){let S=a.codePointAt(n+2)|32;if(a[n+1]===`2`&&S===102)throw TypeError(`File URL path must not include encoded / characters`)}return decodeURIComponent(a)}function pathToFileURL(n){let a=n;if(n[0]!==`/`)if(typeof globalThis.process?.cwd==`function`)a=globalThis.process.cwd()+`/`+n;else try{le?.get_current_dir&&(a=le.get_current_dir()+`/`+n)}catch{}return new $t(`file://`+encodePathForURL(a))}function encodePathForURL(n){let a=``;for(let S=0;S<n.length;S++){let C=n[S];C>=`a`&&C<=`z`||C>=`A`&&C<=`Z`||C>=`0`&&C<=`9`||C===`/`||C===`-`||C===`_`||C===`.`||C===`~`||C===`:`||C===`@`||C===`!`?a+=C:a+=encodeURIComponent(C)}return a}function domainToASCII(n){try{return new $t(`http://${n}`).hostname}catch{return``}}function domainToUnicode(n){try{return new $t(`http://${n}`).hostname}catch{return``}}var Zt,Qt,$t,en,tn=__esmMin(()=>{ue(),Zt=le.UriFlags.HAS_PASSWORD|le.UriFlags.ENCODED|le.UriFlags.SCHEME_NORMALIZE,Qt=class URLSearchParams{_entries=[];constructor(n){if(n)if(typeof n==`string`){let a=n.startsWith(`?`)?n.slice(1):n;if(a)for(let n of a.split(`&`)){let a=n.indexOf(`=`);a===-1?this._entries.push([decodeComponent(n),``]):this._entries.push([decodeComponent(n.slice(0,a)),decodeComponent(n.slice(a+1))])}}else if(Array.isArray(n))for(let[a,S]of n)this._entries.push([String(a),String(S)]);else if(n instanceof URLSearchParams)this._entries=n._entries.map(([n,a])=>[n,a]);else for(let a of Object.keys(n))this._entries.push([a,String(n[a])])}get(n){for(let[a,S]of this._entries)if(a===n)return S;return null}getAll(n){return this._entries.filter(([a])=>a===n).map(([,n])=>n)}set(n,a){let S=!1;if(this._entries=this._entries.filter(([a])=>a===n?S?!1:(S=!0,!0):!0),S){for(let S=0;S<this._entries.length;S++)if(this._entries[S][0]===n){this._entries[S][1]=a;break}}else this._entries.push([n,a])}has(n){return this._entries.some(([a])=>a===n)}delete(n){this._entries=this._entries.filter(([a])=>a!==n)}append(n,a){this._entries.push([n,a])}sort(){this._entries.sort((n,a)=>n[0]<a[0]?-1:+(n[0]>a[0]))}toString(){return this._entries.map(([n,a])=>encodeComponent(n)+`=`+encodeComponent(a)).join(`&`)}forEach(n){for(let[a,S]of this._entries)n(S,a,this)}*entries(){yield*this._entries}*keys(){for(let[n]of this._entries)yield n}*values(){for(let[,n]of this._entries)yield n}[Symbol.iterator](){return this.entries()}get size(){return this._entries.length}},$t=class URL{#e;#t;constructor(n,a){let S=n instanceof URL?n.href:String(n);try{if(a!==void 0){let n=a instanceof URL?a.href:String(a),C=le.Uri.parse(n,Zt);this.#e=C.parse_relative(S,Zt)}else this.#e=le.Uri.parse(S,Zt)}catch{throw TypeError(`Invalid URL: ${S}`)}if(!this.#e)throw TypeError(`Invalid URL: ${S}`);this.#t=new Qt(this.#e.get_query()||``)}get protocol(){return this.#e.get_scheme()+`:`}get hostname(){return(this.#e.get_host()||``).toLowerCase()}get port(){let n=this.#e.get_port();if(n===-1)return``;let a=this.#e.get_scheme();return(a===`http`||a===`ws`)&&n===80||(a===`https`||a===`wss`)&&n===443||a===`ftp`&&n===21?``:String(n)}get host(){let n=this.hostname,a=this.port;return a?`${n}:${a}`:n}get pathname(){return this.#e.get_path()||`/`}get search(){let n=this.#e.get_query();return n?`?`+n:``}get hash(){let n=this.#e.get_fragment();return n?`#`+n:``}get origin(){let n=this.protocol;return n===`http:`||n===`https:`||n===`ftp:`?`${n}//${this.host}`:`null`}get username(){return this.#e.get_user()||``}get password(){return this.#e.get_password()||``}get href(){let n=this.protocol,a=this.#e.get_scheme();(a===`http`||a===`https`||a===`ftp`||a===`file`||a===`ws`||a===`wss`||this.hostname)&&(n+=`//`);let S=this.username,C=this.password;S&&(n+=S,C&&(n+=`:`+C),n+=`@`),n+=this.hostname,this.port&&(n+=`:`+this.port);let N=this.pathname;return n+=N,n+=this.search,n+=this.hash,n}get searchParams(){return this.#t}toString(){return this.href}toJSON(){return this.href}static _objectURLPaths=new Map;static _objectURLCounter=0;static createObjectURL(n){let a=n?._tmpPath;if(typeof a==`string`&&a.length>0){let n=`file://${a}`;return URL._objectURLPaths.set(n,a),n}return`file:///dev/null`}static revokeObjectURL(n){let a=URL._objectURLPaths.get(n);if(a){try{le.unlink(a)}catch{}URL._objectURLPaths.delete(n)}}},__name$1(parse$4,`parse`),__name$1(format$4,`format`),__name$1(resolve$3,`resolve`),en={URL:$t,URLSearchParams:Qt,parse:parse$4,format:format$4,resolve:resolve$3,fileURLToPath,pathToFileURL,domainToASCII,domainToUnicode}});tn(),typeof globalThis.URL!=`function`&&Object.defineProperty(globalThis,`URL`,{value:$t,enumerable:!1,writable:!0,configurable:!0}),typeof globalThis.URLSearchParams!=`function`&&Object.defineProperty(globalThis,`URLSearchParams`,{value:Qt,enumerable:!1,writable:!0,configurable:!0});var nn=__exportAll$3({PerformanceEntry:()=>on,PerformanceMark:()=>cn,PerformanceMeasure:()=>ln,PerformanceObserver:()=>an,PerformanceObserverEntryList:()=>sn,default:()=>un,eventLoopUtilization:()=>eventLoopUtilization,monitorEventLoopDelay:()=>monitorEventLoopDelay,performance:()=>rn,timerify:()=>timerify});function eventLoopUtilization(n,a){return{idle:0,active:0,utilization:0}}function timerify(n){let wrapped=function(...a){let S=rn.now(),C=n.apply(this,a);return rn.now()-S,C};return Object.defineProperty(wrapped,`name`,{value:n.name}),wrapped}function monitorEventLoopDelay(n){let a=new Map;return{enable(){},disable(){},reset(){},percentile(n){return 0},get min(){return 0},get max(){return 0},get mean(){return 0},get stddev(){return 0},get percentiles(){return a}}}var rn,PerformanceObserverStub,PerformanceEntryStub,PerformanceObserverEntryListStub,an,on,sn,cn,ln,un,dn=__esmMin(()=>{if(globalThis.performance)rn=globalThis.performance;else{let n,_now;try{let a=globalThis.imports.gi.GLib;n=a.get_monotonic_time(),_now=()=>(a.get_monotonic_time()-n)/1e3}catch{let a=Date.now();n=0,_now=()=>Date.now()-a}let a=[],S=Date.now()-_now();rn={timeOrigin:S,now:_now,mark(n){let S={name:n,entryType:`mark`,startTime:_now(),duration:0};return a.push(S),S},measure(n,S,C){let N=0,F=_now();if(S){let n=a.find(n=>n.entryType===`mark`&&n.name===S);n&&(N=n.startTime)}if(C){let n=a.find(n=>n.entryType===`mark`&&n.name===C);n&&(F=n.startTime)}let I={name:n,entryType:`measure`,startTime:N,duration:F-N};return a.push(I),I},getEntries(){return[...a]},getEntriesByName(n){return a.filter(a=>a.name===n)},getEntriesByType(n){return a.filter(a=>a.entryType===n)},clearMarks(n){for(let S=a.length-1;S>=0;S--)a[S].entryType===`mark`&&(!n||a[S].name===n)&&a.splice(S,1)},clearMeasures(n){for(let S=a.length-1;S>=0;S--)a[S].entryType===`measure`&&(!n||a[S].name===n)&&a.splice(S,1)},clearResourceTimings(){},setResourceTimingBufferSize(){},toJSON(){return{timeOrigin:S}}}}PerformanceObserverStub=class{_callback;constructor(n){this._callback=n}observe(n){}disconnect(){}takeRecords(){return[]}},PerformanceEntryStub=class{name=``;entryType=``;startTime=0;duration=0;toJSON(){return{name:this.name,entryType:this.entryType,startTime:this.startTime,duration:this.duration}}},PerformanceObserverEntryListStub=class{getEntries(){return[]}getEntriesByName(n){return[]}getEntriesByType(n){return[]}},an=globalThis.PerformanceObserver||PerformanceObserverStub,on=globalThis.PerformanceEntry||PerformanceEntryStub,sn=globalThis.PerformanceObserverEntryList||PerformanceObserverEntryListStub,cn=globalThis.PerformanceMark||class PerformanceMark extends PerformanceEntryStub{},ln=globalThis.PerformanceMeasure||class PerformanceMeasure extends PerformanceEntryStub{},un={performance:rn,PerformanceObserver:an,PerformanceEntry:on,PerformanceObserverEntryList:sn,PerformanceMark:cn,PerformanceMeasure:ln,eventLoopUtilization,timerify,monitorEventLoopDelay}});dn(),globalThis.performance===void 0&&(globalThis.performance=rn),typeof globalThis.PerformanceObserver!=`function`&&(globalThis.PerformanceObserver=an);const fn={IndexSizeError:1,HierarchyRequestError:3,WrongDocumentError:4,InvalidCharacterError:5,NoModificationAllowedError:7,NotFoundError:8,NotSupportedError:9,InUseAttributeError:10,InvalidStateError:11,SyntaxError:12,InvalidModificationError:13,NamespaceError:14,InvalidAccessError:15,TypeMismatchError:17,SecurityError:18,NetworkError:19,AbortError:20,URLMismatchError:21,QuotaExceededError:22,TimeoutError:23,InvalidNodeTypeError:24,DataCloneError:25};var _DOMExceptionPolyfill=class extends Error{code;constructor(n,a){super(n),this.name=a||`Error`,this.code=Object.hasOwn(fn,this.name)?fn[this.name]:0}};const pn=globalThis.DOMException===void 0?_DOMExceptionPolyfill:globalThis.DOMException;Be();const mn=Symbol(`type`),hn=Symbol(`bubbles`),gn=Symbol(`cancelable`),_n=Symbol(`composed`),vn=Symbol(`target`),yn=Symbol(`currentTarget`),bn=Symbol(`eventPhase`),xn=Symbol(`defaultPrevented`),Sn=Symbol(`isTrusted`),Cn=Symbol(`timeStamp`),wn=Symbol(`stop`),Tn=Symbol(`immediateStop`),En=Symbol(`dispatching`),Q=Symbol(`inPassiveListener`);var Event=class{[mn];[hn];[gn];[_n];[vn]=null;[yn]=null;[bn]=0;[xn]=!1;[Sn]=!1;[Cn];[wn]=!1;[Tn]=!1;[En]=!1;[Q]=!1;get type(){return this[mn]}get bubbles(){return this[hn]}get cancelable(){return this[gn]}get composed(){return this[_n]}get target(){return this[vn]}get currentTarget(){return this[yn]}get eventPhase(){return this[bn]}get defaultPrevented(){return this[xn]}get timeStamp(){return this[Cn]}get cancelBubble(){return this[wn]}set cancelBubble(n){n&&this.stopPropagation()}get returnValue(){return!this[xn]}set returnValue(n){n||this.preventDefault()}get srcElement(){return this[vn]}static NONE=0;static CAPTURING_PHASE=1;static AT_TARGET=2;static BUBBLING_PHASE=3;get[Symbol.toStringTag](){return`Event`}constructor(n,a){this[mn]=n,this[hn]=a?.bubbles??!1,this[gn]=a?.cancelable??!1,this[_n]=a?.composed??!1,this[Cn]=Date.now(),Object.defineProperty(this,`isTrusted`,{get:()=>this[Sn],enumerable:!0,configurable:!1})}composedPath(){return this[yn]?[this[yn]]:[]}preventDefault(){this[gn]&&!this[Q]&&(this[xn]=!0)}stopPropagation(){this[wn]=!0}stopImmediatePropagation(){this[wn]=!0,this[Tn]=!0}},EventTarget=class{_listeners=new Map;get[Symbol.toStringTag](){return`EventTarget`}addEventListener(n,a,S){if(a===null)return;let C=typeof S==`boolean`?S:S?.capture??!1,N=typeof S==`object`?S?.once??!1:!1,F=typeof S==`object`?S?.passive??!1:!1,I=this._listeners.get(n);I||(I=[],this._listeners.set(n,I));for(let n of I)if(n.listener===a&&n.capture===C)return;let H={listener:a,capture:C,once:N,passive:F,removed:!1};I.push(H),typeof S==`object`&&S?.signal&&S.signal.addEventListener(`abort`,()=>{this.removeEventListener(n,a,{capture:C})},{once:!0})}removeEventListener(n,a,S){if(a===null)return;let C=typeof S==`boolean`?S:S?.capture??!1,N=this._listeners.get(n);if(!N)return;let F=N.findIndex(n=>n.listener===a&&n.capture===C);F!==-1&&(N[F].removed=!0,N.splice(F,1),N.length===0&&this._listeners.delete(n))}dispatchEvent(n){if(n[En])throw new pn(`The event is already being dispatched.`,`InvalidStateError`);n[En]=!0,n[vn]=this,n[yn]=this,n[bn]=Event.AT_TARGET;let a=this._listeners.get(n.type);if(a){let S=[...a];for(let a of S)if(!a.removed){if(n[Tn]||n[wn])break;a.once&&this.removeEventListener(n.type,a.listener,{capture:a.capture});try{a.passive&&(n[Q]=!0),typeof a.listener==`function`?a.listener.call(this,n):typeof a.listener.handleEvent==`function`&&a.listener.handleEvent.call(a.listener,n)}catch(n){ze.error(n)}finally{n[Q]=!1}}}return n[bn]=Event.NONE,n[yn]=null,n[En]=!1,!n.defaultPrevented}};for(let[n,a]of[[`NONE`,0],[`CAPTURING_PHASE`,1],[`AT_TARGET`,2],[`BUBBLING_PHASE`,3]])Object.defineProperty(Event.prototype,n,{value:a,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(Event,n,{value:a,writable:!1,enumerable:!0,configurable:!1});const Dn=Symbol(`abort`),On=Symbol(`internal`);var kn=class AbortSignal extends EventTarget{#e=!1;reason=void 0;onabort=null;constructor(n){if(super(),n!==On)throw TypeError(`Illegal constructor.`)}get aborted(){if(!(this instanceof AbortSignal))throw TypeError(`'get aborted' called on an object that is not a valid instance of AbortSignal.`);return this.#e}get[Symbol.toStringTag](){return`AbortSignal`}throwIfAborted(){if(this.#e)throw this.reason}[Dn](n){if(this.#e)return;this.#e=!0,this.reason=n??new pn(`The operation was aborted.`,`AbortError`);let a=new Event(`abort`);typeof this.onabort==`function`&&this.onabort.call(this,a),this.dispatchEvent(a)}static abort(n){let a=new AbortSignal(On);return a[Dn](n),a}static timeout(n){let a=new AbortSignal(On);return setTimeout(()=>{a[Dn](new pn(`The operation timed out.`,`TimeoutError`))},n),a}static any(n){let a=new AbortSignal(On);for(let S of n)if(S.aborted)return a[Dn](S.reason),a;let onAbort=()=>{if(!a.aborted){let S=n.find(n=>n.aborted);a[Dn](S?.reason)}};for(let a of n)a.addEventListener(`abort`,onAbort,{once:!0});return a}},An=class AbortController{signal;constructor(){this.signal=new kn(On)}abort(n){if(!(this instanceof AbortController))throw TypeError(`'abort' called on an object that is not a valid instance of AbortController.`);this.signal[Dn](n)}};globalThis.AbortController===void 0&&(globalThis.AbortController=An),globalThis.AbortSignal===void 0&&(globalThis.AbortSignal=kn);const jn=Symbol(`kState`),Mn=Symbol(`kType`);function isBrandCheck(n){return a=>typeof a==`object`&&!!a&&a[jn]!==void 0&&a[Mn]===n}function dequeueValue(n){let{value:a,size:S}=n[jn].queue.shift();return n[jn].queueTotalSize=Math.max(0,n[jn].queueTotalSize-S),a}function resetQueue(n){n[jn].queue=[],n[jn].queueTotalSize=0}function peekQueueValue(n){return n[jn].queue[0].value}function enqueueValueWithSize(n,a,S){if(S=+S,typeof S!=`number`||S<0||Number.isNaN(S)||S===1/0)throw RangeError(`Invalid size: ${S}`);n[jn].queue.push({value:a,size:S}),n[jn].queueTotalSize+=S}function extractHighWaterMark(n,a){if(n===void 0)return a;if(n=+n,typeof n!=`number`||Number.isNaN(n)||n<0)throw RangeError(`Invalid highWaterMark: ${n}`);return n}function extractSizeAlgorithm(n){if(n===void 0)return()=>1;if(typeof n!=`function`)throw TypeError(`strategy.size must be a function`);return n}function transferArrayBuffer(n){return typeof ArrayBuffer.prototype.transfer==`function`?n.transfer():n.slice(0)}function isDetachedBuffer(n){if(typeof SharedArrayBuffer<`u`&&n instanceof SharedArrayBuffer||n.byteLength!==0)return!1;try{return n.slice(0,0),!1}catch{return!0}}function typedArrayConstructorByTag(n){switch(n){case`Int8Array`:return Int8Array;case`Uint8Array`:return Uint8Array;case`Uint8ClampedArray`:return Uint8ClampedArray;case`Int16Array`:return Int16Array;case`Uint16Array`:return Uint16Array;case`Int32Array`:return Int32Array;case`Uint32Array`:return Uint32Array;case`Float32Array`:return Float32Array;case`Float64Array`:return Float64Array;case`BigInt64Array`:return typeof BigInt64Array<`u`?BigInt64Array:void 0;case`BigUint64Array`:return typeof BigUint64Array<`u`?BigUint64Array:void 0;default:return}}function elementSizeByTag(n){switch(n){case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:return 1;case`Int16Array`:case`Uint16Array`:return 2;case`Int32Array`:case`Uint32Array`:case`Float32Array`:return 4;case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:return 8;default:return 1}}function setPromiseHandled(n){n.then(()=>{},()=>{})}function createPromiseCallback(n,a,S){if(typeof a!=`function`)throw TypeError(`${n} must be a function`);return async(...n)=>a.call(S,...n)}async function nonOpFlush(){}function nonOpStart(){}async function nonOpPull(){}async function nonOpCancel(){}async function nonOpWrite(){}const Nn={__proto__:Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),next:void 0,return:void 0};function createAsyncFromSyncIterator(n){let a={[Symbol.iterator]:()=>n.iterator},S=async function*(){return yield*a}();return{iterator:S,nextMethod:S.next,done:!1}}function getIterator(n,a=`sync`,S){if(S===void 0)if(a===`async`){if(S=n[Symbol.asyncIterator],S==null){let a=n[Symbol.iterator];if(a===void 0)throw TypeError(`Object is not iterable`);return createAsyncFromSyncIterator(getIterator(n,`sync`,a))}}else S=n[Symbol.iterator];if(S===void 0)throw TypeError(`Object is not iterable`);let C=S.call(n);if(typeof C!=`object`||!C)throw TypeError(`The iterator method must return an object`);return{iterator:C,nextMethod:C.next,done:!1}}function iteratorNext(n,a){let S;if(S=a===void 0?n.nextMethod.call(n.iterator):n.nextMethod.call(n.iterator,a),typeof S!=`object`||!S)throw TypeError(`The iterator.next() method must return an object`);return S}const Pn=typeof globalThis.AbortController==`function`?globalThis.AbortController:class AbortControllerShim{signal={aborted:!1,reason:void 0,addEventListener(){},removeEventListener(){}};abort(n){this.signal.aborted=!0,this.signal.reason=n}},Fn=Symbol(`kAbort`),In=Symbol(`kCloseSentinel`),Ln=Symbol(`kError`),Rn=Symbol(`kSkipThrow`);var WritableStream=class{[Mn]=`WritableStream`;[jn];constructor(n={},a={}){if(n!=null&&typeof n!=`object`)throw TypeError(`sink must be an object`);if(a!=null&&typeof a!=`object`)throw TypeError(`strategy must be an object`);let S=n?.type;if(S!==void 0)throw RangeError(`Invalid type: ${S}`);this[jn]=createWritableStreamState();let C=extractSizeAlgorithm(a?.size),N=extractHighWaterMark(a?.highWaterMark,1);setupWritableStreamDefaultControllerFromSink(this,n,N,C)}get locked(){if(!zn(this))throw TypeError(`Invalid this`);return isWritableStreamLocked(this)}abort(n){return zn(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamAbort(this,n):Promise.reject(TypeError(`Invalid this`))}close(){return zn(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamCloseQueuedOrInFlight(this)?Promise.reject(TypeError(`Failure closing WritableStream`)):writableStreamClose(this):Promise.reject(TypeError(`Invalid this`))}getWriter(){if(!zn(this))throw TypeError(`Invalid this`);return new WritableStreamDefaultWriter(this)}get[Symbol.toStringTag](){return`WritableStream`}},WritableStreamDefaultWriter=class{[Mn]=`WritableStreamDefaultWriter`;[jn];constructor(n){if(!zn(n))throw TypeError(`Expected a WritableStream`);this[jn]={stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0},ready:{promise:void 0,resolve:void 0,reject:void 0}},setupWritableStreamDefaultWriter(this,n)}get closed(){return Bn(this)?this[jn].close.promise:Promise.reject(TypeError(`Invalid this`))}get desiredSize(){if(!Bn(this))throw TypeError(`Invalid this`);if(this[jn].stream===void 0)throw TypeError(`Writer is not bound to a WritableStream`);return writableStreamDefaultWriterGetDesiredSize(this)}get ready(){return Bn(this)?this[jn].ready.promise:Promise.reject(TypeError(`Invalid this`))}abort(n){return Bn(this)?this[jn].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterAbort(this,n):Promise.reject(TypeError(`Invalid this`))}close(){if(!Bn(this))return Promise.reject(TypeError(`Invalid this`));let{stream:n}=this[jn];return n===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamCloseQueuedOrInFlight(n)?Promise.reject(TypeError(`Failure to close WritableStream`)):writableStreamDefaultWriterClose(this)}releaseLock(){if(!Bn(this))throw TypeError(`Invalid this`);let{stream:n}=this[jn];n!==void 0&&writableStreamDefaultWriterRelease(this)}write(n){return Bn(this)?this[jn].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterWrite(this,n):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`WritableStreamDefaultWriter`}},WritableStreamDefaultController=class{[Mn]=`WritableStreamDefaultController`;[jn];constructor(n){if(n!==Rn)throw TypeError(`Illegal constructor`)}[Fn](n){let a=this[jn].abortAlgorithm(n);return writableStreamDefaultControllerClearAlgorithms(this),a}[Ln](){resetQueue(this)}get signal(){if(!Vn(this))throw TypeError(`Invalid this`);return this[jn].abortController.signal}error(n){if(!Vn(this))throw TypeError(`Invalid this`);this[jn].stream[jn].state===`writable`&&writableStreamDefaultControllerError(this,n)}get[Symbol.toStringTag](){return`WritableStreamDefaultController`}};const zn=isBrandCheck(`WritableStream`),Bn=isBrandCheck(`WritableStreamDefaultWriter`),Vn=isBrandCheck(`WritableStreamDefaultController`);function createEmptyPromiseRecord(){return{promise:void 0,resolve:void 0,reject:void 0}}function createWritableStreamState(){return{close:Promise.withResolvers(),closeRequest:createEmptyPromiseRecord(),inFlightWriteRequest:createEmptyPromiseRecord(),inFlightCloseRequest:createEmptyPromiseRecord(),pendingAbortRequest:{abort:createEmptyPromiseRecord(),reason:void 0,wasAlreadyErroring:!1},backpressure:!1,controller:void 0,state:`writable`,storedError:void 0,writeRequests:[],writer:void 0}}function isWritableStreamLocked(n){return n[jn].writer!==void 0}function setupWritableStreamDefaultWriter(n,a){if(isWritableStreamLocked(a))throw TypeError(`WritableStream is locked`);switch(n[jn].stream=a,a[jn].writer=n,a[jn].state){case`writable`:!writableStreamCloseQueuedOrInFlight(a)&&a[jn].backpressure?n[jn].ready=Promise.withResolvers():n[jn].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},n[jn].close=Promise.withResolvers();break;case`erroring`:n[jn].ready={promise:Promise.reject(a[jn].storedError),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].ready.promise),n[jn].close=Promise.withResolvers();break;case`closed`:n[jn].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},n[jn].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;default:n[jn].ready={promise:Promise.reject(a[jn].storedError),resolve:void 0,reject:void 0},n[jn].close={promise:Promise.reject(a[jn].storedError),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].ready.promise),setPromiseHandled(n[jn].close.promise)}}function writableStreamAbort(n,a){let{state:S,controller:C}=n[jn];if(S===`closed`||S===`errored`)return Promise.resolve();if(C[jn].abortController.abort(a),n[jn].pendingAbortRequest.abort.promise!==void 0)return n[jn].pendingAbortRequest.abort.promise;let N=!1;S===`erroring`&&(N=!0,a=void 0);let F=Promise.withResolvers();return n[jn].pendingAbortRequest={abort:F,reason:a,wasAlreadyErroring:N},N||writableStreamStartErroring(n,a),F.promise}function writableStreamClose(n){let{state:a,writer:S,backpressure:C,controller:N}=n[jn];if(a===`closed`||a===`errored`)return Promise.reject(TypeError(`WritableStream is closed`));n[jn].closeRequest=Promise.withResolvers();let{promise:F}=n[jn].closeRequest;return S!==void 0&&C&&a===`writable`&&S[jn].ready.resolve?.(),writableStreamDefaultControllerClose(N),F}function writableStreamUpdateBackpressure(n,a){let{writer:S}=n[jn];S!==void 0&&n[jn].backpressure!==a&&(a?S[jn].ready=Promise.withResolvers():S[jn].ready.resolve?.()),n[jn].backpressure=a}function writableStreamStartErroring(n,a){let{controller:S,writer:C}=n[jn];n[jn].state=`erroring`,n[jn].storedError=a,C!==void 0&&writableStreamDefaultWriterEnsureReadyPromiseRejected(C,a),!writableStreamHasOperationMarkedInFlight(n)&&S[jn].started&&writableStreamFinishErroring(n)}function writableStreamRejectCloseAndClosedPromiseIfNeeded(n){n[jn].closeRequest.promise!==void 0&&(n[jn].closeRequest.reject?.(n[jn].storedError),n[jn].closeRequest={promise:void 0,resolve:void 0,reject:void 0}),setPromiseHandled(n[jn].close.promise),n[jn].close.reject?.(n[jn].storedError);let{writer:a}=n[jn];a!==void 0&&(setPromiseHandled(a[jn].close.promise),a[jn].close.reject?.(n[jn].storedError))}function writableStreamMarkFirstWriteRequestInFlight(n){let a=n[jn].writeRequests.shift();n[jn].inFlightWriteRequest=a}function writableStreamMarkCloseRequestInFlight(n){n[jn].inFlightCloseRequest=n[jn].closeRequest,n[jn].closeRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamHasOperationMarkedInFlight(n){return n[jn].inFlightWriteRequest.promise!==void 0||n[jn].inFlightCloseRequest.promise!==void 0}function writableStreamFinishInFlightWriteWithError(n,a){n[jn].inFlightWriteRequest.reject?.(a),n[jn].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0},writableStreamDealWithRejection(n,a)}function writableStreamFinishInFlightWrite(n){n[jn].inFlightWriteRequest.resolve?.(),n[jn].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamFinishInFlightCloseWithError(n,a){n[jn].inFlightCloseRequest.reject?.(a),n[jn].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},n[jn].pendingAbortRequest.abort.promise!==void 0&&(n[jn].pendingAbortRequest.abort.reject?.(a),n[jn].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1}),writableStreamDealWithRejection(n,a)}function writableStreamFinishInFlightClose(n){n[jn].inFlightCloseRequest.resolve?.(),n[jn].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},n[jn].state===`erroring`&&(n[jn].storedError=void 0,n[jn].pendingAbortRequest.abort.promise!==void 0&&(n[jn].pendingAbortRequest.abort.resolve?.(),n[jn].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1})),n[jn].state=`closed`,n[jn].writer!==void 0&&n[jn].writer[jn].close.resolve?.(),n[jn].close.resolve?.()}function writableStreamFinishErroring(n){n[jn].state=`errored`,n[jn].controller[Ln]();let a=n[jn].storedError;for(let S of n[jn].writeRequests)S.reject?.(a);if(n[jn].writeRequests=[],n[jn].pendingAbortRequest.abort.promise===void 0){writableStreamRejectCloseAndClosedPromiseIfNeeded(n);return}let S=n[jn].pendingAbortRequest;if(n[jn].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1},S.wasAlreadyErroring){S.abort.reject?.(a),writableStreamRejectCloseAndClosedPromiseIfNeeded(n);return}n[jn].controller[Fn](S.reason).then(()=>{S.abort.resolve?.(),writableStreamRejectCloseAndClosedPromiseIfNeeded(n)},a=>{S.abort.reject?.(a),writableStreamRejectCloseAndClosedPromiseIfNeeded(n)})}function writableStreamDealWithRejection(n,a){if(n[jn].state===`writable`){writableStreamStartErroring(n,a);return}writableStreamFinishErroring(n)}function writableStreamCloseQueuedOrInFlight(n){return n[jn].closeRequest.promise!==void 0||n[jn].inFlightCloseRequest.promise!==void 0}function writableStreamAddWriteRequest(n){let{promise:a,resolve:S,reject:C}=Promise.withResolvers();return n[jn].writeRequests.push({promise:a,resolve:S,reject:C}),a}function writableStreamDefaultWriterWrite(n,a){let{stream:S}=n[jn],{controller:C}=S[jn],N=writableStreamDefaultControllerGetChunkSize(C,a);if(S!==n[jn].stream)return Promise.reject(TypeError(`Mismatched WritableStreams`));let{state:F}=S[jn];if(F===`errored`)return Promise.reject(S[jn].storedError);if(writableStreamCloseQueuedOrInFlight(S)||F===`closed`)return Promise.reject(TypeError(`WritableStream is closed`));if(F===`erroring`)return Promise.reject(S[jn].storedError);let I=writableStreamAddWriteRequest(S);return writableStreamDefaultControllerWrite(C,a,N),I}function writableStreamDefaultWriterRelease(n){let{stream:a}=n[jn],S=TypeError(`Writer has been released`);writableStreamDefaultWriterEnsureReadyPromiseRejected(n,S),writableStreamDefaultWriterEnsureClosedPromiseRejected(n,S),a[jn].writer=void 0,n[jn].stream=void 0}function writableStreamDefaultWriterGetDesiredSize(n){let{stream:a}=n[jn];switch(a[jn].state){case`errored`:case`erroring`:return null;case`closed`:return 0}return writableStreamDefaultControllerGetDesiredSize(a[jn].controller)}function writableStreamDefaultWriterEnsureReadyPromiseRejected(n,a){n[jn].ready.reject?(n[jn].ready.reject(a),n[jn].ready.resolve=void 0,n[jn].ready.reject=void 0):n[jn].ready={promise:Promise.reject(a),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].ready.promise)}function writableStreamDefaultWriterEnsureClosedPromiseRejected(n,a){n[jn].close.reject?(n[jn].close.reject(a),n[jn].close.resolve=void 0,n[jn].close.reject=void 0):n[jn].close={promise:Promise.reject(a),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].close.promise)}function writableStreamDefaultWriterCloseWithErrorPropagation(n){let{stream:a}=n[jn],{state:S}=a[jn];return writableStreamCloseQueuedOrInFlight(a)||S===`closed`?Promise.resolve():S===`errored`?Promise.reject(a[jn].storedError):writableStreamDefaultWriterClose(n)}function writableStreamDefaultWriterClose(n){return writableStreamClose(n[jn].stream)}function writableStreamDefaultWriterAbort(n,a){return writableStreamAbort(n[jn].stream,a)}function writableStreamDefaultControllerWrite(n,a,S){try{enqueueValueWithSize(n,a,S)}catch(a){writableStreamDefaultControllerErrorIfNeeded(n,a);return}let{stream:C}=n[jn];!writableStreamCloseQueuedOrInFlight(C)&&C[jn].state===`writable`&&writableStreamUpdateBackpressure(C,writableStreamDefaultControllerGetBackpressure(n)),writableStreamDefaultControllerAdvanceQueueIfNeeded(n)}function writableStreamDefaultControllerProcessWrite(n,a){let{stream:S,writeAlgorithm:C}=n[jn];writableStreamMarkFirstWriteRequestInFlight(S),C(a,n).then(()=>{writableStreamFinishInFlightWrite(S);let{state:a}=S[jn];dequeueValue(n),!writableStreamCloseQueuedOrInFlight(S)&&a===`writable`&&writableStreamUpdateBackpressure(S,writableStreamDefaultControllerGetBackpressure(n)),writableStreamDefaultControllerAdvanceQueueIfNeeded(n)},a=>{S[jn].state===`writable`&&writableStreamDefaultControllerClearAlgorithms(n),writableStreamFinishInFlightWriteWithError(S,a)})}function writableStreamDefaultControllerProcessClose(n){let{closeAlgorithm:a,queue:S,stream:C}=n[jn];writableStreamMarkCloseRequestInFlight(C),dequeueValue(n);let N=a();writableStreamDefaultControllerClearAlgorithms(n),N.then(()=>writableStreamFinishInFlightClose(C),n=>writableStreamFinishInFlightCloseWithError(C,n))}function writableStreamDefaultControllerGetDesiredSize(n){return n[jn].highWaterMark-n[jn].queueTotalSize}function writableStreamDefaultControllerGetChunkSize(n,a){let{stream:S,sizeAlgorithm:C}=n[jn];if(C===void 0)return 1;try{return C(a)}catch(a){return writableStreamDefaultControllerErrorIfNeeded(n,a),1}}function writableStreamDefaultControllerErrorIfNeeded(n,a){n[jn].stream[jn].state===`writable`&&writableStreamDefaultControllerError(n,a)}function writableStreamDefaultControllerError(n,a){writableStreamDefaultControllerClearAlgorithms(n),writableStreamStartErroring(n[jn].stream,a)}function writableStreamDefaultControllerClose(n){enqueueValueWithSize(n,In,0),writableStreamDefaultControllerAdvanceQueueIfNeeded(n)}function writableStreamDefaultControllerClearAlgorithms(n){n[jn].writeAlgorithm=void 0,n[jn].closeAlgorithm=void 0,n[jn].abortAlgorithm=void 0,n[jn].sizeAlgorithm=void 0}function writableStreamDefaultControllerGetBackpressure(n){return writableStreamDefaultControllerGetDesiredSize(n)<=0}function writableStreamDefaultControllerAdvanceQueueIfNeeded(n){let{queue:a,started:S,stream:C}=n[jn];if(!S||C[jn].inFlightWriteRequest.promise!==void 0)return;if(C[jn].state===`erroring`){writableStreamFinishErroring(C);return}if(!a.length)return;let N=peekQueueValue(n);N===In?writableStreamDefaultControllerProcessClose(n):writableStreamDefaultControllerProcessWrite(n,N)}function setupWritableStreamDefaultControllerFromSink(n,a,S,C){let N=new WritableStreamDefaultController(Rn),F=a?.start,I=a?.write,H=a?.close,W=a?.abort;setupWritableStreamDefaultController(n,N,F?F.bind(a,N):nonOpStart,I?createPromiseCallback(`sink.write`,I,a):nonOpWrite,H?createPromiseCallback(`sink.close`,H,a):nonOpCancel,W?createPromiseCallback(`sink.abort`,W,a):nonOpCancel,S,C)}function setupWritableStreamDefaultController(n,a,S,C,N,F,I,H){a[jn]={abortAlgorithm:F,closeAlgorithm:N,highWaterMark:I,queue:[],queueTotalSize:0,abortController:new Pn,sizeAlgorithm:H,started:!1,stream:n,writeAlgorithm:C},n[jn].controller=a,writableStreamUpdateBackpressure(n,writableStreamDefaultControllerGetBackpressure(a));let W=S();new Promise(n=>n(W)).then(()=>{a[jn].started=!0,writableStreamDefaultControllerAdvanceQueueIfNeeded(a)},S=>{a[jn].started=!0,writableStreamDealWithRejection(n,S)})}function createWritableStream(n,a,S,C,N=1,F=()=>1){let I=Object.create(WritableStream.prototype);return I[Mn]=`WritableStream`,I[jn]=createWritableStreamState(),setupWritableStreamDefaultController(I,new WritableStreamDefaultController(Rn),n,a,S,C,N,F),I}it();const Hn=Symbol(`kCancel`),Un=Symbol(`kClose`),Wn=Symbol(`kChunk`),Gn=Symbol(`kError`),Kn=Symbol(`kPull`),qn=Symbol(`kRelease`),Jn=Symbol(`kSkipThrow`);let Yn,Xn;function lazyReadableReleasedError(){return Yn||(Yn=TypeError(`Reader released`),Yn)}function lazyReadableReleasingError(){return Xn||(Xn=TypeError(`Releasing reader`),Xn)}function createAbortError(){if(typeof globalThis.DOMException==`function`)return new DOMException(`The operation was aborted`,`AbortError`);let n=Error(`The operation was aborted`);return n.name=`AbortError`,n}function createReadableStreamState(){return{disturbed:!1,reader:void 0,state:`readable`,storedError:void 0,controller:void 0,closedPromise:Promise.withResolvers()}}var ReadableStream$1=class{static{__name$1(this,`ReadableStream`)}[Mn]=`ReadableStream`;[jn];constructor(n={},a={}){if(n!=null&&typeof n!=`object`)throw TypeError(`source must be an object`);if(a!=null&&typeof a!=`object`)throw TypeError(`strategy must be an object`);this[jn]=createReadableStreamState();let S=a?.size,C=a?.highWaterMark,N=n?.type;if(N!==void 0){if(`${N}`==`bytes`){if(S!==void 0)throw RangeError(`strategy.size must not be set for a byte stream`);setupReadableByteStreamControllerFromSource(this,n,extractHighWaterMark(C,0));return}throw RangeError(`Invalid type: ${N}`)}setupReadableStreamDefaultControllerFromSource(this,n,extractHighWaterMark(C,1),extractSizeAlgorithm(S))}get locked(){if(!Zn(this))throw TypeError(`Invalid this`);return isReadableStreamLocked(this)}static from(n){return readableStreamFromIterable(n)}cancel(n=void 0){return Zn(this)?isReadableStreamLocked(this)?Promise.reject(TypeError(`ReadableStream is locked`)):readableStreamCancel(this,n):Promise.reject(TypeError(`Invalid this`))}getReader(n={}){if(!Zn(this))throw TypeError(`Invalid this`);if(n!=null&&typeof n!=`object`)throw TypeError(`options must be an object`);let a=n?.mode;if(a===void 0)return new ReadableStreamDefaultReader(this);if(`${a}`==`byob`)return new ReadableStreamBYOBReader(this);throw RangeError(`Invalid mode: ${a}`)}pipeThrough(n,a={}){if(!Zn(this))throw TypeError(`Invalid this`);let S=n?.readable;if(!Zn(S))throw TypeError(`transform.readable must be a ReadableStream`);let C=n?.writable;if(!zn(C))throw TypeError(`transform.writable must be a WritableStream`);if(a!=null&&typeof a!=`object`)throw TypeError(`options must be an object`);let N=a?.preventAbort,F=a?.preventCancel,I=a?.preventClose,H=a?.signal;if(H!==void 0&&!(H instanceof Object&&`aborted`in H))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(C))throw TypeError(`The WritableStream is locked`);return setPromiseHandled(readableStreamPipeTo(this,C,!!I,!!N,!!F,H)),S}pipeTo(n,a={}){try{if(!Zn(this))throw TypeError(`Invalid this`);if(!zn(n))throw TypeError(`destination must be a WritableStream`);if(a!=null&&typeof a!=`object`)throw TypeError(`options must be an object`);let S=a?.preventAbort,C=a?.preventCancel,N=a?.preventClose,F=a?.signal;if(F!==void 0&&!(F instanceof Object&&`aborted`in F))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(n))throw TypeError(`The WritableStream is locked`);return readableStreamPipeTo(this,n,!!N,!!S,!!C,F)}catch(n){return Promise.reject(n)}}tee(){if(!Zn(this))throw TypeError(`Invalid this`);let n=this[jn].controller;return er(n)?readableByteStreamTee(this):readableStreamDefaultTee(this,!1)}values(n={}){if(!Zn(this))throw TypeError(`Invalid this`);if(n!=null&&typeof n!=`object`)throw TypeError(`options must be an object`);let a=!!n?.preventCancel,S=new ReadableStreamDefaultReader(this),C={done:!1,current:void 0},N=!1;function nextSteps(){if(C.done)return Promise.resolve({done:!0,value:void 0});if(S[jn].stream===void 0)return Promise.reject(TypeError(`The reader is not bound to a ReadableStream`));let{promise:n,resolve:a,reject:N}=Promise.withResolvers();return readableStreamDefaultReaderRead(S,{[Wn](n){C.current=void 0,a({value:n,done:!1})},[Un](){C.current=void 0,C.done=!0,readableStreamReaderGenericRelease(S),a({done:!0,value:void 0})},[Gn](n){C.current=void 0,C.done=!0,readableStreamReaderGenericRelease(S),N(n)}}),n}async function returnSteps(n){if(C.done)return{done:!0,value:n};if(C.done=!0,S[jn].stream===void 0)throw TypeError(`The reader is not bound to a ReadableStream`);if(!a){let a=readableStreamReaderGenericCancel(S,n);return readableStreamReaderGenericRelease(S),await a,{done:!0,value:n}}return readableStreamReaderGenericRelease(S),{done:!0,value:n}}return Object.setPrototypeOf({next(){return N||=(C.current=Promise.resolve(),!0),C.current=C.current===void 0?nextSteps():C.current.then(nextSteps,nextSteps),C.current},return(n){return N=!0,C.current=C.current===void 0?returnSteps(n):C.current.then(()=>returnSteps(n),()=>returnSteps(n)),C.current},[Symbol.asyncIterator](){return this}},Nn)}[Symbol.asyncIterator](){return this.values()}get[Symbol.toStringTag](){return`ReadableStream`}},DefaultReadRequest=class{[jn];constructor(){this[jn]=Promise.withResolvers()}[Wn](n){this[jn].resolve?.({value:n,done:!1})}[Un](){this[jn].resolve?.({value:void 0,done:!0})}[Gn](n){this[jn].reject?.(n)}get promise(){return this[jn].promise}},ReadableStreamDefaultReader=class{[Mn]=`ReadableStreamDefaultReader`;[jn];constructor(n){if(!Zn(n))throw TypeError(`Expected a ReadableStream`);this[jn]={readRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamDefaultReader(this,n)}read(){if(!$n(this))return Promise.reject(TypeError(`Invalid this`));if(this[jn].stream===void 0)return Promise.reject(TypeError(`The reader is not attached to a stream`));let n=this[jn].stream,a=n[jn].controller;if(n[jn].state===`readable`&&Qn(a)&&a[jn].queue.length>0){n[jn].disturbed=!0;let S=dequeueValue(a);return a[jn].closeRequested&&!a[jn].queue.length?(readableStreamDefaultControllerClearAlgorithms(a),readableStreamClose(n)):readableStreamDefaultControllerCallPullIfNeeded(a),Promise.resolve({value:S,done:!1})}let S=new DefaultReadRequest;return readableStreamDefaultReaderRead(this,S),S.promise}releaseLock(){if(!$n(this))throw TypeError(`Invalid this`);this[jn].stream!==void 0&&readableStreamDefaultReaderRelease(this)}get closed(){return $n(this)?this[jn].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(n=void 0){return $n(this)?this[jn].stream===void 0?Promise.reject(TypeError(`The reader is not attached to a stream`)):readableStreamReaderGenericCancel(this,n):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamDefaultReader`}},ReadableStreamDefaultController=class{[Mn]=`ReadableStreamDefaultController`;[jn]={};constructor(n){if(n!==Jn)throw TypeError(`Illegal constructor`)}get desiredSize(){return readableStreamDefaultControllerGetDesiredSize(this)}close(){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerClose(this)}enqueue(n=void 0){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerEnqueue(this,n)}error(n=void 0){readableStreamDefaultControllerError(this,n)}[Hn](n){return readableStreamDefaultControllerCancelSteps(this,n)}[Kn](n){readableStreamDefaultControllerPullSteps(this,n)}[qn](){}get[Symbol.toStringTag](){return`ReadableStreamDefaultController`}};const Zn=isBrandCheck(`ReadableStream`),Qn=isBrandCheck(`ReadableStreamDefaultController`),$n=isBrandCheck(`ReadableStreamDefaultReader`);function isReadableStreamLocked(n){return n[jn].reader!==void 0}function readableStreamCancel(n,a){switch(n[jn].disturbed=!0,n[jn].state){case`closed`:return Promise.resolve();case`errored`:return Promise.reject(n[jn].storedError)}readableStreamClose(n);let S=n[jn].reader;if(S!==void 0&&readableStreamHasBYOBReader(n)){let n=S[jn].readIntoRequests;S[jn].readIntoRequests=[];for(let a=0;a<n.length;a++)n[a][Un](void 0)}return n[jn].controller[Hn](a).then(()=>{})}function readableStreamClose(n){n[jn].state=`closed`,n[jn].closedPromise.resolve();let{reader:a}=n[jn];if(a!==void 0&&(a[jn].close.resolve?.(),readableStreamHasDefaultReader(n))){for(let n=0;n<a[jn].readRequests.length;n++)a[jn].readRequests[n][Un]();a[jn].readRequests=[]}}function readableStreamError(n,a){n[jn].state=`errored`,n[jn].storedError=a,setPromiseHandled(n[jn].closedPromise.promise),n[jn].closedPromise.reject(a);let{reader:S}=n[jn];if(S!==void 0){if(setPromiseHandled(S[jn].close.promise),S[jn].close.reject?.(a),readableStreamHasDefaultReader(n)){for(let n=0;n<S[jn].readRequests.length;n++)S[jn].readRequests[n][Gn](a);S[jn].readRequests=[]}else if(readableStreamHasBYOBReader(n)){for(let n=0;n<S[jn].readIntoRequests.length;n++)S[jn].readIntoRequests[n][Gn](a);S[jn].readIntoRequests=[]}}}function readableStreamHasDefaultReader(n){let{reader:a}=n[jn];return a===void 0?!1:a[jn]!==void 0&&a[Mn]===`ReadableStreamDefaultReader`}function readableStreamGetNumReadRequests(n){return n[jn].reader[jn].readRequests.length}function readableStreamFulfillReadRequest(n,a,S){let{reader:C}=n[jn],N=C[jn].readRequests.shift();S?N[Un]():N[Wn](a)}function readableStreamAddReadRequest(n,a){n[jn].reader[jn].readRequests.push(a)}function readableStreamReaderGenericCancel(n,a){let{stream:S}=n[jn];return readableStreamCancel(S,a)}function readableStreamReaderGenericInitialize(n,a){switch(n[jn].stream=a,a[jn].reader=n,a[jn].state){case`readable`:n[jn].close=Promise.withResolvers();break;case`closed`:n[jn].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;case`errored`:n[jn].close={promise:Promise.reject(a[jn].storedError),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].close.promise);break}}function readableStreamReaderGenericRelease(n){let{stream:a}=n[jn],S=lazyReadableReleasedError();a[jn].state===`readable`?n[jn].close.reject?.(S):n[jn].close={promise:Promise.reject(S),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].close.promise),a[jn].controller[qn](),a[jn].reader=void 0,n[jn].stream=void 0}function readableStreamDefaultReaderRelease(n){readableStreamReaderGenericRelease(n),readableStreamDefaultReaderErrorReadRequests(n,lazyReadableReleasingError())}function readableStreamDefaultReaderErrorReadRequests(n,a){for(let S=0;S<n[jn].readRequests.length;++S)n[jn].readRequests[S][Gn](a);n[jn].readRequests=[]}function readableStreamDefaultReaderRead(n,a){let{stream:S}=n[jn];switch(S[jn].disturbed=!0,S[jn].state){case`closed`:a[Un]();break;case`errored`:a[Gn](S[jn].storedError);break;case`readable`:S[jn].controller[Kn](a);break}}function setupReadableStreamDefaultReader(n,a){if(isReadableStreamLocked(a))throw TypeError(`ReadableStream is locked`);readableStreamReaderGenericInitialize(n,a),n[jn].readRequests=[]}function readableStreamDefaultControllerClose(n){readableStreamDefaultControllerCanCloseOrEnqueue(n)&&(n[jn].closeRequested=!0,n[jn].queue.length||(readableStreamDefaultControllerClearAlgorithms(n),readableStreamClose(n[jn].stream)))}function readableStreamDefaultControllerEnqueue(n,a){if(!readableStreamDefaultControllerCanCloseOrEnqueue(n))return;let{stream:S}=n[jn];if(isReadableStreamLocked(S)&&readableStreamGetNumReadRequests(S))readableStreamFulfillReadRequest(S,a,!1);else try{enqueueValueWithSize(n,a,n[jn].sizeAlgorithm(a))}catch(a){throw readableStreamDefaultControllerError(n,a),a}readableStreamDefaultControllerCallPullIfNeeded(n)}function readableStreamDefaultControllerCanCloseOrEnqueue(n){let{stream:a}=n[jn];return!n[jn].closeRequested&&a[jn].state===`readable`}function readableStreamDefaultControllerGetDesiredSize(n){let{stream:a,highWaterMark:S,queueTotalSize:C}=n[jn];switch(a[jn].state){case`errored`:return null;case`closed`:return 0;default:return S-C}}function readableStreamDefaultControllerHasBackpressure(n){return!readableStreamDefaultControllerShouldCallPull(n)}function readableStreamDefaultControllerShouldCallPull(n){let{stream:a}=n[jn];if(!readableStreamDefaultControllerCanCloseOrEnqueue(n)||!n[jn].started)return!1;if(isReadableStreamLocked(a)&&readableStreamGetNumReadRequests(a))return!0;let S=readableStreamDefaultControllerGetDesiredSize(n);return S!==null&&S>0}function readableStreamDefaultControllerCallPullIfNeeded(n){if(readableStreamDefaultControllerShouldCallPull(n)){if(n[jn].pulling){n[jn].pullAgain=!0;return}n[jn].pulling=!0,n[jn].pullAlgorithm(n).then(()=>{n[jn].pulling=!1,n[jn].pullAgain&&(n[jn].pullAgain=!1,readableStreamDefaultControllerCallPullIfNeeded(n))},a=>readableStreamDefaultControllerError(n,a))}}function readableStreamDefaultControllerClearAlgorithms(n){n[jn].pullAlgorithm=void 0,n[jn].cancelAlgorithm=void 0,n[jn].sizeAlgorithm=void 0}function readableStreamDefaultControllerError(n,a){let{stream:S}=n[jn];S[jn].state===`readable`&&(resetQueue(n),readableStreamDefaultControllerClearAlgorithms(n),readableStreamError(S,a))}function readableStreamDefaultControllerCancelSteps(n,a){resetQueue(n);let S=n[jn].cancelAlgorithm(a);return readableStreamDefaultControllerClearAlgorithms(n),S}function readableStreamDefaultControllerPullSteps(n,a){let{stream:S,queue:C}=n[jn];if(C.length){let N=dequeueValue(n);n[jn].closeRequested&&!C.length?(readableStreamDefaultControllerClearAlgorithms(n),readableStreamClose(S)):readableStreamDefaultControllerCallPullIfNeeded(n),a[Wn](N);return}readableStreamAddReadRequest(S,a),readableStreamDefaultControllerCallPullIfNeeded(n)}function setupReadableStreamDefaultController(n,a,S,C,N,F,I){a[jn]={cancelAlgorithm:N,closeRequested:!1,highWaterMark:F,pullAgain:!1,pullAlgorithm:C,pulling:!1,queue:[],queueTotalSize:0,started:!1,sizeAlgorithm:I,stream:n},n[jn].controller=a;let H=S();new Promise(n=>n(H)).then(()=>{a[jn].started=!0,readableStreamDefaultControllerCallPullIfNeeded(a)},n=>readableStreamDefaultControllerError(a,n))}function setupReadableStreamDefaultControllerFromSource(n,a,S,C){let N=new ReadableStreamDefaultController(Jn),F=a?.start,I=a?.pull,H=a?.cancel;setupReadableStreamDefaultController(n,N,F?F.bind(a,N):nonOpStart,I?createPromiseCallback(`source.pull`,I,a):nonOpPull,H?createPromiseCallback(`source.cancel`,H,a):nonOpCancel,S,C)}function createReadableStream(n,a,S,C=1,N=()=>1){let F=Object.create(ReadableStream$1.prototype);return F[Mn]=`ReadableStream`,F[jn]=createReadableStreamState(),setupReadableStreamDefaultController(F,new ReadableStreamDefaultController(Jn),n,a,S,C,N),F}function readableStreamFromIterable(n){let a,S=getIterator(n,`async`),C=nonOpStart;async function pullAlgorithm(){let n=iteratorNext(S);return Promise.resolve(n).then(n=>{if(typeof n!=`object`||!n)throw TypeError(`The promise returned by the iterator.next() method must fulfill with an object`);n.done?readableStreamDefaultControllerClose(a[jn].controller):readableStreamDefaultControllerEnqueue(a[jn].controller,n.value)})}async function cancelAlgorithm(n){let a=S.iterator,C=a.return;if(C===void 0)return Promise.resolve();let N=C.call(a,n);return Promise.resolve(N).then(n=>{if(typeof n!=`object`||!n)throw TypeError(`The promise returned by the iterator.return() method must fulfill with an object`)})}return a=createReadableStream(C,pullAlgorithm,cancelAlgorithm,0),a}function readableStreamPipeTo(n,a,S,C,N,F){let I,H;try{I=new ReadableStreamDefaultReader(n),H=new WritableStreamDefaultWriter(a)}catch(n){return Promise.reject(n)}n[jn].disturbed=!0;let W=!1,{promise:K,resolve:q,reject:Y}=Promise.withResolvers(),X={currentWrite:Promise.resolve()},te;function finalize(n,a){writableStreamDefaultWriterRelease(H),readableStreamReaderGenericRelease(I),F!==void 0&&te&&(F.removeEventListener(`abort`,te),te=void 0),n?Y(a):q()}async function waitForCurrentWrite(){let n=X.currentWrite;await n,n!==X.currentWrite&&await waitForCurrentWrite()}function shutdownWithAnAction(n,S,C){if(W)return;if(W=!0,a[jn].state===`writable`&&!writableStreamCloseQueuedOrInFlight(a)){waitForCurrentWrite().then(complete,n=>finalize(!0,n));return}complete();function complete(){n().then(()=>finalize(!!S,C),n=>finalize(!0,n))}}function shutdown(n,S){if(!W){if(W=!0,a[jn].state===`writable`&&!writableStreamCloseQueuedOrInFlight(a)){waitForCurrentWrite().then(()=>finalize(!!n,S),n=>finalize(!0,n));return}finalize(!!n,S)}}function abortAlgorithm(){let S;S=F.reason&&F.reason.name===`AbortError`?createAbortError():F.reason;let I=[];C||I.push(()=>a[jn].state===`writable`?writableStreamAbort(a,S):Promise.resolve()),N||I.push(()=>n[jn].state===`readable`?readableStreamCancel(n,S):Promise.resolve()),shutdownWithAnAction(()=>Promise.all(I.map(n=>n())).then(()=>void 0),!0,S)}function watchErrored(n,a,S){n[jn].state===`errored`?S(n[jn].storedError):a.then(void 0,S)}function watchClosed(n,a,S){n[jn].state===`closed`?S():a.then(S,()=>{})}class PipeToReadRequest{[Wn](n){He(()=>{X.currentWrite=writableStreamDefaultWriterWrite(H,n),setPromiseHandled(X.currentWrite),ne.resolve(!1)})}[Un](){ne.resolve(!0)}[Gn](n){ne.reject(n)}}let ne={resolve:null,reject:null};async function step(){if(W||a[jn].backpressure&&(await H[jn].ready.promise,W))return!0;let S=n[jn].controller;if(n[jn].state===`readable`&&Qn(S)&&S[jn].queue.length>0){for(;S[jn].queue.length>0;){if(W)return!0;let C=dequeueValue(S);if(S[jn].closeRequested&&!S[jn].queue.length&&(readableStreamDefaultControllerClearAlgorithms(S),readableStreamClose(n)),X.currentWrite=writableStreamDefaultWriterWrite(H,C),setPromiseHandled(X.currentWrite),a[jn].backpressure||a[jn].state!==`writable`||writableStreamCloseQueuedOrInFlight(a))break}return readableStreamDefaultControllerCallPullIfNeeded(S),n[jn].state===`closed`}let{promise:C,resolve:N,reject:F}=Promise.withResolvers();return ne={resolve:N,reject:F},readableStreamDefaultReaderRead(I,new PipeToReadRequest),C}async function run(){for(;!await step(););}if(F!==void 0){if(F.aborted)return abortAlgorithm(),K;te=abortAlgorithm,F.addEventListener(`abort`,te,{once:!0})}if(setPromiseHandled(run()),watchErrored(n,I[jn].close.promise,n=>{if(!C)return shutdownWithAnAction(()=>writableStreamAbort(a,n),!0,n);shutdown(!0,n)}),watchErrored(a,H[jn].close.promise,a=>{if(!N)return shutdownWithAnAction(()=>readableStreamCancel(n,a),!0,a);shutdown(!0,a)}),watchClosed(n,I[jn].close.promise,()=>{if(!S)return shutdownWithAnAction(()=>writableStreamDefaultWriterCloseWithErrorPropagation(H));shutdown()}),writableStreamCloseQueuedOrInFlight(a)||a[jn].state===`closed`){let a=TypeError(`Destination WritableStream is closed`);N?shutdown(!0,a):shutdownWithAnAction(()=>readableStreamCancel(n,a),!0,a)}return K}function readableStreamDefaultTee(n,a){let S=new ReadableStreamDefaultReader(n),C=!1,N=!1,F=!1,I,H,W,K,q=Promise.withResolvers();async function pullAlgorithm(){C||(C=!0,readableStreamDefaultReaderRead(S,{[Wn](n){He(()=>{C=!1;let S=n,I=n;if(!F&&a)try{I=structuredClone(I)}catch{}N||readableStreamDefaultControllerEnqueue(W[jn].controller,S),F||readableStreamDefaultControllerEnqueue(K[jn].controller,I)})},[Un](){He(()=>{C=!1,N||readableStreamDefaultControllerClose(W[jn].controller),F||readableStreamDefaultControllerClose(K[jn].controller),(!N||!F)&&q.resolve(void 0)})},[Gn](){C=!1}}))}function cancel1Algorithm(a){if(N=!0,I=a,F){let a=[I,H];q.resolve(readableStreamCancel(n,a))}return q.promise}function cancel2Algorithm(a){if(F=!0,H=a,N){let a=[I,H];q.resolve(readableStreamCancel(n,a))}return q.promise}return W=createReadableStream(nonOpStart,pullAlgorithm,cancel1Algorithm),K=createReadableStream(nonOpStart,pullAlgorithm,cancel2Algorithm),S[jn].close.promise.then(void 0,n=>{readableStreamDefaultControllerError(W[jn].controller,n),readableStreamDefaultControllerError(K[jn].controller,n),(!N||!F)&&q.resolve(void 0)}),[W,K]}var BYOBReadIntoRequest=class{[jn];constructor(){this[jn]=Promise.withResolvers()}[Wn](n){this[jn].resolve?.({value:n,done:!1})}[Un](n){this[jn].resolve?.({value:n,done:!0})}[Gn](n){this[jn].reject?.(n)}get promise(){return this[jn].promise}},ReadableStreamBYOBReader=class{[Mn]=`ReadableStreamBYOBReader`;[jn];constructor(n){if(!Zn(n))throw TypeError(`Expected a ReadableStream`);this[jn]={readIntoRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamBYOBReader(this,n)}read(n,a={}){if(!tr(this))return Promise.reject(TypeError(`Invalid this`));if(typeof n!=`object`||!n||!ArrayBuffer.isView(n))return Promise.reject(TypeError(`view must be an ArrayBufferView`));let S=n.buffer,C=n.byteLength;if(C===0)return Promise.reject(TypeError(`view must have non-zero byteLength`));if(S.byteLength===0)return isDetachedBuffer(S)?Promise.reject(TypeError(`view's buffer has been detached`)):Promise.reject(TypeError(`view's buffer must have non-zero byteLength`));let N=a?.min??1;if(typeof N!=`number`||N<1||!Number.isInteger(N)||Number.isNaN(N))return Promise.reject(TypeError(`options.min must be a positive integer`));let F=n[Symbol.toStringTag];if(F!==void 0&&F!==`DataView`){if(N>n.length)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`))}else if(N>C)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`));if(this[jn].stream===void 0)return Promise.reject(TypeError(`Reader has no associated stream`));let I=new BYOBReadIntoRequest;return readableStreamBYOBReaderRead(this,n,N,I),I.promise}releaseLock(){if(!tr(this))throw TypeError(`Invalid this`);this[jn].stream!==void 0&&readableStreamBYOBReaderRelease(this)}get closed(){return tr(this)?this[jn].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(n=void 0){return tr(this)?this[jn].stream===void 0?Promise.reject(TypeError(`Reader has no associated stream`)):readableStreamReaderGenericCancel(this,n):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamBYOBReader`}},ReadableStreamBYOBRequest=class{[Mn]=`ReadableStreamBYOBRequest`;[jn]={};constructor(n){if(n!==Jn)throw TypeError(`Illegal constructor`)}get view(){if(!nr(this))throw TypeError(`Invalid this`);return this[jn].view}respond(n){if(!nr(this))throw TypeError(`Invalid this`);if(this[jn].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(n=+n,!Number.isInteger(n)||n<0||!Number.isFinite(n))throw RangeError(`bytesWritten must be a non-negative integer`);let a=this[jn].view;if(isDetachedBuffer(a.buffer))throw TypeError(`The BYOB request's buffer has been detached`);readableByteStreamControllerRespond(this[jn].controller,n)}respondWithNewView(n){if(!nr(this))throw TypeError(`Invalid this`);if(this[jn].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(typeof n!=`object`||!n||!ArrayBuffer.isView(n))throw TypeError(`view must be an ArrayBufferView`);if(isDetachedBuffer(n.buffer))throw TypeError(`The given view's buffer has been detached`);readableByteStreamControllerRespondWithNewView(this[jn].controller,n)}get[Symbol.toStringTag](){return`ReadableStreamBYOBRequest`}},ReadableByteStreamController=class{[Mn]=`ReadableByteStreamController`;[jn]={};constructor(n){if(n!==Jn)throw TypeError(`Illegal constructor`)}get byobRequest(){if(!er(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetBYOBRequest(this)}get desiredSize(){if(!er(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetDesiredSize(this)}close(){if(!er(this))throw TypeError(`Invalid this`);if(this[jn].closeRequested)throw TypeError(`Close already requested`);if(this[jn].stream[jn].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerClose(this)}enqueue(n){if(!er(this))throw TypeError(`Invalid this`);if(typeof n!=`object`||!n||!ArrayBuffer.isView(n))throw TypeError(`chunk must be an ArrayBufferView`);if(n.byteLength===0)throw TypeError(`chunk length must be non-zero`);if(n.buffer.byteLength===0)throw TypeError(`chunk's buffer length must be non-zero`);if(this[jn].closeRequested)throw TypeError(`Cannot enqueue after close has been requested`);if(this[jn].stream[jn].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerEnqueue(this,n)}error(n=void 0){if(!er(this))throw TypeError(`Invalid this`);readableByteStreamControllerError(this,n)}[Hn](n){return readableByteStreamControllerCancelSteps(this,n)}[Kn](n){readableByteStreamControllerPullSteps(this,n)}[qn](){if(this[jn].pendingPullIntos.length>0){let n=this[jn].pendingPullIntos[0];n.readerType=`none`,this[jn].pendingPullIntos=[n]}}get[Symbol.toStringTag](){return`ReadableByteStreamController`}};const er=isBrandCheck(`ReadableByteStreamController`),tr=isBrandCheck(`ReadableStreamBYOBReader`),nr=isBrandCheck(`ReadableStreamBYOBRequest`);function readableStreamHasBYOBReader(n){let{reader:a}=n[jn];return a===void 0?!1:a[jn]!==void 0&&a[Mn]===`ReadableStreamBYOBReader`}function readableStreamGetNumReadIntoRequests(n){return n[jn].reader[jn].readIntoRequests.length}function readableStreamAddReadIntoRequest(n,a){n[jn].reader[jn].readIntoRequests.push(a)}function readableStreamFulfillReadIntoRequest(n,a,S){let{reader:C}=n[jn],N=C[jn].readIntoRequests.shift();S?N[Un](a):N[Wn](a)}function setupReadableStreamBYOBReader(n,a){if(isReadableStreamLocked(a))throw TypeError(`ReadableStream is locked`);if(!er(a[jn].controller))throw TypeError(`Cannot use a BYOB reader with a non-byte stream`);readableStreamReaderGenericInitialize(n,a),n[jn].readIntoRequests=[]}function readableStreamBYOBReaderRead(n,a,S,C){let{stream:N}=n[jn];N[jn].disturbed=!0,N[jn].state===`errored`?C[Gn](N[jn].storedError):readableByteStreamControllerPullInto(N[jn].controller,a,S,C)}function readableStreamBYOBReaderRelease(n){readableStreamReaderGenericRelease(n);let a=TypeError(`Reader was released`);for(let S=0;S<n[jn].readIntoRequests.length;S++)n[jn].readIntoRequests[S][Gn](a);n[jn].readIntoRequests=[]}function readableByteStreamControllerClearAlgorithms(n){n[jn].pullAlgorithm=void 0,n[jn].cancelAlgorithm=void 0}function readableByteStreamControllerClearPendingPullIntos(n){readableByteStreamControllerInvalidateBYOBRequest(n),n[jn].pendingPullIntos=[]}function readableByteStreamControllerInvalidateBYOBRequest(n){let a=n[jn].byobRequest;a!=null&&(a[jn].controller=void 0,a[jn].view=null,n[jn].byobRequest=null)}function readableByteStreamControllerError(n,a){let{stream:S}=n[jn];S[jn].state===`readable`&&(readableByteStreamControllerClearPendingPullIntos(n),resetQueue(n),readableByteStreamControllerClearAlgorithms(n),readableStreamError(S,a))}function readableByteStreamControllerGetDesiredSize(n){let a=n[jn].stream[jn].state;return a===`errored`?null:a===`closed`?0:n[jn].highWaterMark-n[jn].queueTotalSize}function readableByteStreamControllerShouldCallPull(n){let{stream:a}=n[jn];if(a[jn].state!==`readable`||n[jn].closeRequested||!n[jn].started)return!1;if(readableStreamHasDefaultReader(a)&&readableStreamGetNumReadRequests(a)>0||readableStreamHasBYOBReader(a)&&readableStreamGetNumReadIntoRequests(a)>0)return!0;let S=readableByteStreamControllerGetDesiredSize(n);return S!==null&&S>0}function readableByteStreamControllerCallPullIfNeeded(n){if(readableByteStreamControllerShouldCallPull(n)){if(n[jn].pulling){n[jn].pullAgain=!0;return}n[jn].pulling=!0,n[jn].pullAlgorithm(n).then(()=>{n[jn].pulling=!1,n[jn].pullAgain&&(n[jn].pullAgain=!1,readableByteStreamControllerCallPullIfNeeded(n))},a=>readableByteStreamControllerError(n,a))}}function readableByteStreamControllerHandleQueueDrain(n){n[jn].queueTotalSize===0&&n[jn].closeRequested?(readableByteStreamControllerClearAlgorithms(n),readableStreamClose(n[jn].stream)):readableByteStreamControllerCallPullIfNeeded(n)}function readableByteStreamControllerEnqueueChunkToQueue(n,a,S,C){n[jn].queue.push({buffer:a,byteOffset:S,byteLength:C}),n[jn].queueTotalSize+=C}function readableByteStreamControllerEnqueueClonedChunkToQueue(n,a,S,C){let N;try{N=a.slice(S,S+C)}catch(a){readableByteStreamControllerError(n,a);return}readableByteStreamControllerEnqueueChunkToQueue(n,N,0,C)}function readableByteStreamControllerEnqueueDetachedPullIntoToQueue(n,a){a.bytesFilled>0&&readableByteStreamControllerEnqueueClonedChunkToQueue(n,a.buffer,a.byteOffset,a.bytesFilled),readableByteStreamControllerShiftPendingPullInto(n)}function readableByteStreamControllerShiftPendingPullInto(n){return n[jn].pendingPullIntos.shift()}function readableByteStreamControllerFillHeadPullIntoDescriptor(n,a,S){S.bytesFilled+=a}function readableByteStreamControllerConvertPullIntoDescriptor(n){let a=n.bytesFilled,S=n.elementSize,C=transferArrayBuffer(n.buffer);return n.buffer=C,new n.viewConstructor(C,n.byteOffset,a/S)}function readableByteStreamControllerCommitPullIntoDescriptor(n,a){let S=!1;n[jn].state===`closed`&&(S=!0);let C=readableByteStreamControllerConvertPullIntoDescriptor(a);a.readerType===`default`?readableStreamFulfillReadRequest(n,C,S):readableStreamFulfillReadIntoRequest(n,C,S)}function readableByteStreamControllerFillPullIntoDescriptorFromQueue(n,a){let S=Math.min(n[jn].queueTotalSize,a.byteLength-a.bytesFilled),C=a.bytesFilled+S,N=S,F=!1,I=C-C%a.elementSize;I>=a.minimumFill&&(N=I-a.bytesFilled,F=!0);let H=n[jn].queue;for(;N>0;){let S=H[0],C=Math.min(N,S.byteLength),F=a.byteOffset+a.bytesFilled,I=new Uint8Array(a.buffer,F,C),W=new Uint8Array(S.buffer,S.byteOffset,C);I.set(W),S.byteLength===C?H.shift():(S.byteOffset+=C,S.byteLength-=C),n[jn].queueTotalSize-=C,readableByteStreamControllerFillHeadPullIntoDescriptor(n,C,a),N-=C}return F}function readableByteStreamControllerFillReadRequestFromQueue(n,a){let S=n[jn].queue.shift();n[jn].queueTotalSize-=S.byteLength,readableByteStreamControllerHandleQueueDrain(n);let C=new Uint8Array(S.buffer,S.byteOffset,S.byteLength);a[Wn](C)}function readableByteStreamControllerProcessReadRequestsUsingQueue(n){let a=n[jn].stream[jn].reader;for(;a[jn].readRequests.length!==0;){if(n[jn].queueTotalSize===0)return;readableByteStreamControllerFillReadRequestFromQueue(n,a[jn].readRequests.shift())}}function readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(n){for(;n[jn].pendingPullIntos.length!==0;){if(n[jn].queueTotalSize===0)return;let a=n[jn].pendingPullIntos[0];readableByteStreamControllerFillPullIntoDescriptorFromQueue(n,a)&&(readableByteStreamControllerShiftPendingPullInto(n),readableByteStreamControllerCommitPullIntoDescriptor(n[jn].stream,a))}}function readableByteStreamControllerGetBYOBRequest(n){if(n[jn].byobRequest===null&&n[jn].pendingPullIntos.length!==0){let a=n[jn].pendingPullIntos[0],S=new Uint8Array(a.buffer,a.byteOffset+a.bytesFilled,a.byteLength-a.bytesFilled),C=new ReadableStreamBYOBRequest(Jn);C[jn]={controller:n,view:S},n[jn].byobRequest=C}return n[jn].byobRequest}function readableByteStreamControllerEnqueue(n,a){let{stream:S}=n[jn];if(n[jn].closeRequested||S[jn].state!==`readable`)return;let C=a.buffer,N=a.byteLength,F=a.byteOffset;if(isDetachedBuffer(C))throw TypeError(`chunk's buffer is detached`);let I=transferArrayBuffer(C);if(n[jn].pendingPullIntos.length!==0){let a=n[jn].pendingPullIntos[0];if(isDetachedBuffer(a.buffer))throw TypeError(`BYOB request's buffer has been detached`);readableByteStreamControllerInvalidateBYOBRequest(n),a.buffer=transferArrayBuffer(a.buffer),a.readerType===`none`&&readableByteStreamControllerEnqueueDetachedPullIntoToQueue(n,a)}readableStreamHasDefaultReader(S)?(readableByteStreamControllerProcessReadRequestsUsingQueue(n),readableStreamGetNumReadRequests(S)===0?readableByteStreamControllerEnqueueChunkToQueue(n,I,F,N):(n[jn].pendingPullIntos.length!==0&&readableByteStreamControllerShiftPendingPullInto(n),readableStreamFulfillReadRequest(S,new Uint8Array(I,F,N),!1))):readableStreamHasBYOBReader(S)?(readableByteStreamControllerEnqueueChunkToQueue(n,I,F,N),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(n)):readableByteStreamControllerEnqueueChunkToQueue(n,I,F,N),readableByteStreamControllerCallPullIfNeeded(n)}function readableByteStreamControllerClose(n){let{stream:a}=n[jn];if(!(n[jn].closeRequested||a[jn].state!==`readable`)){if(n[jn].queueTotalSize>0){n[jn].closeRequested=!0;return}if(n[jn].pendingPullIntos.length!==0){let a=n[jn].pendingPullIntos[0];if(a.bytesFilled%a.elementSize!==0){let a=TypeError(`Insufficient bytes to fill elements in the given buffer`);throw readableByteStreamControllerError(n,a),a}}readableByteStreamControllerClearAlgorithms(n),readableStreamClose(a)}}function readableByteStreamControllerPullInto(n,a,S,C){let N=n[jn].stream,F=a[Symbol.toStringTag],I,H;if(F===void 0||F===`DataView`)I=DataView,H=1;else{let n=typedArrayConstructorByTag(F);if(!n){C[Gn](TypeError(`Unsupported typed array: ${F}`));return}I=n,H=elementSizeByTag(F)}let W=a.buffer,K=a.byteLength,q=a.byteOffset,Y=S*H,X;try{X=transferArrayBuffer(W)}catch(n){C[Gn](n);return}let te={buffer:X,bufferByteLength:X.byteLength,byteOffset:q,byteLength:K,bytesFilled:0,minimumFill:Y,elementSize:H,viewConstructor:I,readerType:`byob`};if(n[jn].pendingPullIntos.length!==0){n[jn].pendingPullIntos.push(te),readableStreamAddReadIntoRequest(N,C);return}if(N[jn].state===`closed`){let n=new I(te.buffer,te.byteOffset,0);C[Un](n);return}if(n[jn].queueTotalSize>0){if(readableByteStreamControllerFillPullIntoDescriptorFromQueue(n,te)){let a=readableByteStreamControllerConvertPullIntoDescriptor(te);readableByteStreamControllerHandleQueueDrain(n),C[Wn](a);return}if(n[jn].closeRequested){let a=TypeError(`Insufficient bytes to fill elements in the given buffer`);readableByteStreamControllerError(n,a),C[Gn](a);return}}n[jn].pendingPullIntos.push(te),readableStreamAddReadIntoRequest(N,C),readableByteStreamControllerCallPullIfNeeded(n)}function readableByteStreamControllerRespond(n,a){let S=n[jn].pendingPullIntos[0];if(n[jn].stream[jn].state===`closed`){if(a!==0)throw TypeError(`bytesWritten must be 0 when calling respond() on a closed stream`)}else{if(a===0)throw TypeError(`bytesWritten must be greater than 0 when calling respond() on a readable stream`);if(S.bytesFilled+a>S.byteLength)throw RangeError(`bytesWritten out of range`)}S.buffer=transferArrayBuffer(S.buffer),readableByteStreamControllerRespondInternal(n,a)}function readableByteStreamControllerRespondWithNewView(n,a){let S=n[jn].pendingPullIntos[0],C=n[jn].stream[jn].state,N=a.byteLength,F=a.byteOffset,I=a.buffer;if(C===`closed`){if(N!==0)throw TypeError(`view's length must be 0 when calling respondWithNewView() on a closed stream`)}else if(N===0)throw TypeError(`view's length must be greater than 0 when calling respondWithNewView() on a readable stream`);if(S.byteOffset+S.bytesFilled!==F)throw RangeError(`The region specified by view does not match byobRequest`);if(S.bufferByteLength!==I.byteLength)throw RangeError(`The buffer of view has different capacity than byobRequest`);if(S.bytesFilled+N>S.byteLength)throw RangeError(`The region specified by view is larger than byobRequest`);S.buffer=transferArrayBuffer(I),readableByteStreamControllerRespondInternal(n,N)}function readableByteStreamControllerRespondInternal(n,a){let S=n[jn].pendingPullIntos[0];readableByteStreamControllerInvalidateBYOBRequest(n),n[jn].stream[jn].state===`closed`?readableByteStreamControllerRespondInClosedState(n,S):readableByteStreamControllerRespondInReadableState(n,a,S),readableByteStreamControllerCallPullIfNeeded(n)}function readableByteStreamControllerRespondInClosedState(n,a){a.readerType===`none`&&readableByteStreamControllerShiftPendingPullInto(n);let S=n[jn].stream;if(readableStreamHasBYOBReader(S))for(;readableStreamGetNumReadIntoRequests(S)>0;)readableByteStreamControllerCommitPullIntoDescriptor(S,readableByteStreamControllerShiftPendingPullInto(n))}function readableByteStreamControllerRespondInReadableState(n,a,S){if(readableByteStreamControllerFillHeadPullIntoDescriptor(n,a,S),S.readerType===`none`){readableByteStreamControllerEnqueueDetachedPullIntoToQueue(n,S),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(n);return}if(S.bytesFilled<S.minimumFill)return;readableByteStreamControllerShiftPendingPullInto(n);let C=S.bytesFilled%S.elementSize;if(C>0){let a=S.byteOffset+S.bytesFilled;readableByteStreamControllerEnqueueClonedChunkToQueue(n,S.buffer,a-C,C)}S.bytesFilled-=C,readableByteStreamControllerCommitPullIntoDescriptor(n[jn].stream,S),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(n)}function readableByteStreamControllerCancelSteps(n,a){readableByteStreamControllerClearPendingPullIntos(n),resetQueue(n);let S=n[jn].cancelAlgorithm(a);return readableByteStreamControllerClearAlgorithms(n),S}function readableByteStreamControllerPullSteps(n,a){let S=n[jn].stream;if(n[jn].queueTotalSize>0){readableByteStreamControllerFillReadRequestFromQueue(n,a);return}let C=n[jn].autoAllocateChunkSize;if(C!==void 0){let S;try{S=new ArrayBuffer(C)}catch(n){a[Gn](n);return}let N={buffer:S,bufferByteLength:C,byteOffset:0,byteLength:C,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:`default`};n[jn].pendingPullIntos.push(N)}readableStreamAddReadRequest(S,a),readableByteStreamControllerCallPullIfNeeded(n)}function setupReadableByteStreamController(n,a,S,C,N,F,I){a[jn]={cancelAlgorithm:N,closeRequested:!1,highWaterMark:F,pullAgain:!1,pullAlgorithm:C,pulling:!1,queue:[],queueTotalSize:0,started:!1,stream:n,byobRequest:null,pendingPullIntos:[],autoAllocateChunkSize:I},n[jn].controller=a;let H=S();new Promise(n=>n(H)).then(()=>{a[jn].started=!0,readableByteStreamControllerCallPullIfNeeded(a)},n=>readableByteStreamControllerError(a,n))}function setupReadableByteStreamControllerFromSource(n,a,S){let C=new ReadableByteStreamController(Jn),N=a?.start,F=a?.pull,I=a?.cancel,H=a?.autoAllocateChunkSize;if(H!==void 0&&(H===0||!Number.isInteger(H)||H<0))throw TypeError(`autoAllocateChunkSize must be a positive integer`);setupReadableByteStreamController(n,C,N?N.bind(a,C):nonOpStart,F?createPromiseCallback(`source.pull`,F,a):nonOpPull,I?createPromiseCallback(`source.cancel`,I,a):nonOpCancel,S,H)}function readableByteStreamTee(n){let a=new ReadableStreamDefaultReader(n),S=!1,C=!1,N=!1,F,I,H=Promise.withResolvers(),W,K,q,Y;function pullAlgorithm(){return S?Promise.resolve():(S=!0,a.read().then(n=>{if(S=!1,n.done){C||q.close(),N||Y.close();return}let a=n.value,F=new Uint8Array(a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength));C||q.enqueue(F),N||Y.enqueue(new Uint8Array(F))},()=>{}),Promise.resolve())}return W=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(a){if(C=!0,F=a,N){let a=readableStreamCancel(n,[F,I]);return H.resolve(),a}return H.promise}}),K=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(a){if(N=!0,I=a,C){let a=readableStreamCancel(n,[F,I]);return H.resolve(),a}return H.promise}}),q=W[jn].controller,Y=K[jn].controller,a.closed.catch(n=>{q.error(n),Y.error(n),(!C||!N)&&H.resolve()}),[W,K]}const rr=Symbol(`kSkipThrow`);var TransformStream=class{[Mn]=`TransformStream`;[jn];constructor(n={},a={},S={}){if(n!=null&&typeof n!=`object`)throw TypeError(`transformer must be an object`);if(a!=null&&typeof a!=`object`)throw TypeError(`writableStrategy must be an object`);if(S!=null&&typeof S!=`object`)throw TypeError(`readableStrategy must be an object`);let C=n?.readableType,N=n?.writableType,F=n?.start;if(C!==void 0)throw RangeError(`Invalid readableType: ${C}`);if(N!==void 0)throw RangeError(`Invalid writableType: ${N}`);let I=extractHighWaterMark(S?.highWaterMark,0),H=extractSizeAlgorithm(S?.size),W=extractHighWaterMark(a?.highWaterMark,1),K=extractSizeAlgorithm(a?.size),q=Promise.withResolvers();initializeTransformStream(this,q,W,K,I,H),setupTransformStreamDefaultControllerFromTransformer(this,n),F===void 0?q.resolve():q.resolve(F.call(n,this[jn].controller))}get readable(){if(!ir(this))throw TypeError(`Invalid this`);return this[jn].readable}get writable(){if(!ir(this))throw TypeError(`Invalid this`);return this[jn].writable}get[Symbol.toStringTag](){return`TransformStream`}},TransformStreamDefaultController=class{[Mn]=`TransformStreamDefaultController`;[jn];constructor(n){if(n!==rr)throw TypeError(`Illegal constructor`)}get desiredSize(){if(!ar(this))throw TypeError(`Invalid this`);let{stream:n}=this[jn],{readable:a}=n[jn],S=a[jn].controller;return readableStreamDefaultControllerGetDesiredSize(S)}enqueue(n){if(!ar(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerEnqueue(this,n)}error(n){if(!ar(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerError(this,n)}terminate(){if(!ar(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerTerminate(this)}get[Symbol.toStringTag](){return`TransformStreamDefaultController`}};const ir=isBrandCheck(`TransformStream`),ar=isBrandCheck(`TransformStreamDefaultController`);async function defaultTransformAlgorithm(n,a){transformStreamDefaultControllerEnqueue(a,n)}function initializeTransformStream(n,a,S,C,N,F){let startAlgorithm=()=>a.promise,I=createWritableStream(startAlgorithm,a=>transformStreamDefaultSinkWriteAlgorithm(n,a),()=>transformStreamDefaultSinkCloseAlgorithm(n),a=>transformStreamDefaultSinkAbortAlgorithm(n,a),S,C);n[jn]={readable:createReadableStream(startAlgorithm,()=>transformStreamDefaultSourcePullAlgorithm(n),a=>transformStreamDefaultSourceCancelAlgorithm(n,a),N,F),writable:I,controller:void 0,backpressure:void 0,backpressureChange:{promise:void 0,resolve:void 0,reject:void 0}},transformStreamSetBackpressure(n,!0)}function transformStreamError(n,a){let{readable:S}=n[jn];readableStreamDefaultControllerError(S[jn].controller,a),transformStreamErrorWritableAndUnblockWrite(n,a)}function transformStreamErrorWritableAndUnblockWrite(n,a){let{controller:S,writable:C}=n[jn];transformStreamDefaultControllerClearAlgorithms(S),writableStreamDefaultControllerErrorIfNeeded(C[jn].controller,a),transformStreamUnblockWrite(n)}function transformStreamUnblockWrite(n){n[jn].backpressure&&transformStreamSetBackpressure(n,!1)}function transformStreamSetBackpressure(n,a){n[jn].backpressureChange.promise!==void 0&&n[jn].backpressureChange.resolve?.(),n[jn].backpressureChange=Promise.withResolvers(),n[jn].backpressure=a}function setupTransformStreamDefaultController(n,a,S,C,N){a[jn]={stream:n,transformAlgorithm:S,flushAlgorithm:C,cancelAlgorithm:N,finishPromise:void 0},n[jn].controller=a}function setupTransformStreamDefaultControllerFromTransformer(n,a){let S=new TransformStreamDefaultController(rr),C=a?.transform,N=a?.flush,F=a?.cancel;setupTransformStreamDefaultController(n,S,C?createPromiseCallback(`transformer.transform`,C,a):defaultTransformAlgorithm,N?createPromiseCallback(`transformer.flush`,N,a):nonOpFlush,F?createPromiseCallback(`transformer.cancel`,F,a):nonOpCancel)}function transformStreamDefaultControllerClearAlgorithms(n){n[jn].transformAlgorithm=void 0,n[jn].flushAlgorithm=void 0,n[jn].cancelAlgorithm=void 0}function transformStreamDefaultControllerEnqueue(n,a){let{stream:S}=n[jn],{readable:C}=S[jn],N=C[jn].controller;if(!readableStreamDefaultControllerCanCloseOrEnqueue(N))throw TypeError(`Unable to enqueue`);try{readableStreamDefaultControllerEnqueue(N,a)}catch(n){throw transformStreamErrorWritableAndUnblockWrite(S,n),C[jn].storedError}readableStreamDefaultControllerHasBackpressure(N)!==S[jn].backpressure&&transformStreamSetBackpressure(S,!0)}function transformStreamDefaultControllerError(n,a){transformStreamError(n[jn].stream,a)}async function transformStreamDefaultControllerPerformTransform(n,a){try{let S=n[jn].transformAlgorithm;return S===void 0?void 0:await S(a,n)}catch(a){throw transformStreamError(n[jn].stream,a),a}}function transformStreamDefaultControllerTerminate(n){let{stream:a}=n[jn],{readable:S}=a[jn];readableStreamDefaultControllerClose(S[jn].controller),transformStreamErrorWritableAndUnblockWrite(a,TypeError(`TransformStream has been terminated`))}function transformStreamDefaultSinkWriteAlgorithm(n,a){let{controller:S}=n[jn];return n[jn].backpressure?n[jn].backpressureChange.promise.then(()=>{let{writable:C}=n[jn];if(C[jn].state===`erroring`)throw C[jn].storedError;return transformStreamDefaultControllerPerformTransform(S,a)}):transformStreamDefaultControllerPerformTransform(S,a)}async function transformStreamDefaultSinkAbortAlgorithm(n,a){let{controller:S,readable:C}=n[jn];if(S[jn].finishPromise!==void 0)return S[jn].finishPromise;let{promise:N,resolve:F,reject:I}=Promise.withResolvers();S[jn].finishPromise=N;let H=S[jn].cancelAlgorithm(a);return transformStreamDefaultControllerClearAlgorithms(S),H.then(()=>{C[jn].state===`errored`?I(C[jn].storedError):(readableStreamDefaultControllerError(C[jn].controller,a),F())},n=>{readableStreamDefaultControllerError(C[jn].controller,n),I(n)}),S[jn].finishPromise}function transformStreamDefaultSinkCloseAlgorithm(n){let{readable:a,controller:S}=n[jn];if(S[jn].finishPromise!==void 0)return S[jn].finishPromise;let{promise:C,resolve:N,reject:F}=Promise.withResolvers();S[jn].finishPromise=C;let I=S[jn].flushAlgorithm(S);return transformStreamDefaultControllerClearAlgorithms(S),I.then(()=>{a[jn].state===`errored`?F(a[jn].storedError):(readableStreamDefaultControllerClose(a[jn].controller),N())},n=>{readableStreamDefaultControllerError(a[jn].controller,n),F(n)}),S[jn].finishPromise}function transformStreamDefaultSourcePullAlgorithm(n){return transformStreamSetBackpressure(n,!1),n[jn].backpressureChange.promise}function transformStreamDefaultSourceCancelAlgorithm(n,a){let{controller:S,writable:C}=n[jn];if(S[jn].finishPromise!==void 0)return S[jn].finishPromise;let{promise:N,resolve:F,reject:I}=Promise.withResolvers();S[jn].finishPromise=N;let H=S[jn].cancelAlgorithm(a);return transformStreamDefaultControllerClearAlgorithms(S),H.then(()=>{C[jn].state===`errored`?I(C[jn].storedError):(writableStreamDefaultControllerErrorIfNeeded(C[jn].controller,a),transformStreamUnblockWrite(n),F())},a=>{writableStreamDefaultControllerErrorIfNeeded(C[jn].controller,a),transformStreamUnblockWrite(n),I(a)}),S[jn].finishPromise}const sr=Object.defineProperty(n=>n.byteLength,`name`,{value:`size`}),cr=Object.defineProperty(()=>1,`name`,{value:`size`});var ByteLengthQueuingStrategy=class{#e;constructor(n){if(typeof n!=`object`||!n)throw TypeError(`init must be an object`);if(n.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+n.highWaterMark}get highWaterMark(){return this.#e}get size(){return sr}get[Symbol.toStringTag](){return`ByteLengthQueuingStrategy`}},CountQueuingStrategy=class{#e;constructor(n){if(typeof n!=`object`||!n)throw TypeError(`init must be an object`);if(n.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+n.highWaterMark}get highWaterMark(){return this.#e}get size(){return cr}get[Symbol.toStringTag](){return`CountQueuingStrategy`}},TextEncoderStream=class{#e=null;#t=new TextEncoder;#n;constructor(){this.#n=new TransformStream({transform:(n,a)=>{if(n=String(n),n===``)return;this.#e!==null&&(n=this.#e+n);let S=n.charCodeAt(n.length-1);55296<=S&&S<=56319?(this.#e=n.slice(-1),n=n.slice(0,-1)):this.#e=null,n&&a.enqueue(this.#t.encode(n))},flush:n=>{this.#e!==null&&n.enqueue(new Uint8Array([239,191,189]))}})}get encoding(){return`utf-8`}get readable(){return this.#n.readable}get writable(){return this.#n.writable}};function hasStreamingSupport(){try{return new TextDecoder().decode(new Uint8Array([195]),{stream:!0}),!0}catch{return!1}}const lr=hasStreamingSupport();function incompleteUtf8Tail$1(n){let a=n.length;if(a===0)return 0;for(let S=1;S<=Math.min(3,a);S++){let C=n[a-S];if(!(C&128))return 0;if((C&192)!=128){let n;if((C&224)==192)n=2;else if((C&240)==224)n=3;else if((C&248)==240)n=4;else return 0;return S<n?S:0}}return 0}__name$1(incompleteUtf8Tail$1,`incompleteUtf8Tail`);var TextDecoderStream=class{#e;#t;constructor(n,a){if(this.#e=new TextDecoder(n,a),lr)this.#t=new TransformStream({transform:(n,a)=>{let S=toUint8Array$3(n),C=this.#e.decode(S,{stream:!0});C&&a.enqueue(C)},flush:n=>{let a=this.#e.decode();a&&n.enqueue(a)},cancel:()=>{this.#e.decode()}});else{let n=new Uint8Array;this.#t=new TransformStream({transform:(a,S)=>{let C=toUint8Array$3(a),N;n.length>0?(N=new Uint8Array(n.length+C.length),N.set(n,0),N.set(C,n.length)):N=C;let F=incompleteUtf8Tail$1(N),I;if(F>0?(I=N.slice(0,N.length-F),n=N.slice(N.length-F)):(I=N,n=new Uint8Array),I.length>0){let n=this.#e.decode(I);n&&S.enqueue(n)}},flush:a=>{if(n.length>0){let S=this.#e.decode(n);S&&a.enqueue(S),n=new Uint8Array}},cancel:()=>{n=new Uint8Array}})}}get encoding(){return this.#e.encoding}get fatal(){return this.#e.fatal}get ignoreBOM(){return this.#e.ignoreBOM}get readable(){return this.#t.readable}get writable(){return this.#t.writable}};function toUint8Array$3(n){if(n instanceof Uint8Array)return n;if(n instanceof ArrayBuffer)return new Uint8Array(n);if(ArrayBuffer.isView(n))return new Uint8Array(n.buffer,n.byteOffset,n.byteLength);throw TypeError(`chunk must be a BufferSource`)}__name$1(toUint8Array$3,`toUint8Array`);function isNativeStreamUsable$3(n,a){try{return typeof n==`function`?typeof n.prototype[a]==`function`:!1}catch{return!1}}__name$1(isNativeStreamUsable$3,`isNativeStreamUsable`);const ur=isNativeStreamUsable$3(globalThis.ReadableStream,`getReader`)?globalThis.ReadableStream:ReadableStream$1,dr=isNativeStreamUsable$3(globalThis.WritableStream,`getWriter`)?globalThis.WritableStream:WritableStream,fr=isNativeStreamUsable$3(globalThis.TransformStream,`readable`)?globalThis.TransformStream:TransformStream,pr=typeof globalThis.ByteLengthQueuingStrategy==`function`?globalThis.ByteLengthQueuingStrategy:ByteLengthQueuingStrategy,mr=typeof globalThis.CountQueuingStrategy==`function`?globalThis.CountQueuingStrategy:CountQueuingStrategy,hr=typeof globalThis.TextEncoderStream==`function`?globalThis.TextEncoderStream:TextEncoderStream,gr=typeof globalThis.TextDecoderStream==`function`?globalThis.TextDecoderStream:TextDecoderStream;var _r=__esmMin(()=>{it()});function _setPipeImpl(n){vr=n}var vr,Stream_,yr=__esmMin(()=>{Ft(),Stream_=class extends wt{constructor(n){super(n)}pipe(n,a){return vr(this,n,a)}}});function getDefaultHighWaterMark(n){return n?Sr:br}function setDefaultHighWaterMark(n,a){if(typeof a!=`number`||a<0||Number.isNaN(a))throw TypeError(`Invalid highWaterMark: ${a}`);n?Sr=a:br=a}function validateHighWaterMark(n,a){if(a!==void 0&&(typeof a!=`number`||Number.isNaN(a))){let S=TypeError(`The value of "${n}" is invalid. Received ${a}`);throw S.code=`ERR_INVALID_ARG_VALUE`,S}}var br,Sr,Cr=__esmMin(()=>{br=16384,Sr=16});function chunkLength(n){if(n==null)return 1;let a=n.length;return typeof a==`number`?a:1}function sliceChunk(n,a,S){if(typeof n==`string`)return S===void 0?n.slice(a):n.slice(a,S);let C=n.slice;return typeof C==`function`?C.call(n,a,S):n}var wr,Tr=__esmMin(()=>{yr(),Cr(),it(),wr=class Readable_ extends Stream_{readable=!0;readableFlowing=null;readableLength=0;readableHighWaterMark;readableEncoding;readableObjectMode;readableEnded=!1;readableAborted=!1;destroyed=!1;_pipeDests=[];_buffer=[];_readableState={ended:!1,endEmitted:!1,reading:!1,constructed:!0,highWaterMark:0,objectMode:!1,pipes:[]};_err;_readablePending=!1;_readImpl;_destroyImpl;_constructImpl;constructor(n){super(n),this.readableHighWaterMark=n?.highWaterMark??getDefaultHighWaterMark(n?.objectMode??!1),this.readableEncoding=n?.encoding??null,this.readableObjectMode=n?.objectMode??!1,this._readableState.highWaterMark=this.readableHighWaterMark,this._readableState.objectMode=this.readableObjectMode,n?.read&&(this._readImpl=n.read),n?.destroy&&(this._destroyImpl=n.destroy),n?.construct&&(this._constructImpl=n.construct),(this._constructImpl||this._construct!==Readable_.prototype._construct)&&(this._readableState.constructed=!1,nextTick(()=>{this._construct(n=>{this._readableState.constructed=!0,n?this.destroy(n):this.readableFlowing===!0&&this._flow()})}))}_construct(n){this._constructImpl?this._constructImpl.call(this,n):n()}_read(n){this._readImpl&&this._readImpl.call(this,n)}read(n){if(!this._readableState.constructed)return null;if(this._buffer.length===0){if(this._readableState.ended)return null;this._readableState.reading=!0,this._read(n??this.readableHighWaterMark),this._readableState.reading=!1}if(this._buffer.length===0||n===0)return null;if(this.readableObjectMode){if(n===void 0){let n=this._buffer.shift();return--this.readableLength,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),n}if(n>this.readableLength)return null;let a=this._buffer.shift();return--this.readableLength,a}if(n!=null)return n>this.readableLength?null:this._readBytes(n);let a=this._buffer.splice(0);if(this.readableLength=0,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),a.length===1)return a[0];if(a.length===0)return null;if(typeof a[0]==`string`)return a.join(``);let S=globalThis.Buffer;return S?.concat?S.concat(a):a}_readBytes(n){let a=0,S=[];for(;a<n&&this._buffer.length>0;){let C=this._buffer[0],N=chunkLength(C);if(a+N<=n)S.push(this._buffer.shift()),a+=N,this.readableLength-=N;else{let N=n-a;S.push(sliceChunk(C,0,N)),this._buffer[0]=sliceChunk(C,N),this.readableLength-=N,a+=N}}if(S.length===1)return S[0];let C=globalThis.Buffer;return C?.concat?C.concat(S):S}push(n,a){if(n===null)return this._readableState.ended=!0,this.readableEnded=!0,this._buffer.length===0&&!this._readableState.endEmitted&&nextTick(()=>this._emitEnd()),this._scheduleReadable(),!1;if(!this.readableObjectMode&&!(typeof n==`string`||ArrayBuffer.isView(n))){let a=Object.assign(TypeError(`Invalid non-string/buffer chunk type: ${typeof n}`),{code:`ERR_INVALID_ARG_TYPE`});return nextTick(()=>this.emit(`error`,a)),!1}return this._buffer.push(n),this.readableLength+=this.readableObjectMode?1:chunkLength(n),this.readableFlowing&&!this._flowing&&nextTick(()=>this._flow()),this.readableFlowing!==!0&&this._scheduleReadable(),this.readableLength<this.readableHighWaterMark}_emitEnd(){this._readableState.endEmitted||(this._readableState.endEmitted=!0,this.emit(`end`),nextTick(()=>this._autoClose()))}_autoClose(){this.emit(`close`)}_scheduleReadable(){this._readablePending||this.listenerCount(`readable`)===0||(this._readablePending=!0,nextTick(()=>{this._readablePending=!1,this.destroyed||this.emit(`readable`)}))}on(n,a){return super.on(n,a),n===`data`&&this.readableFlowing!==!1&&this.resume(),n===`readable`&&(this._buffer.length>0||this._readableState.ended)&&this._scheduleReadable(),this}unshift(n){this._buffer.unshift(n),this.readableLength+=this.readableObjectMode?1:chunkLength(n)}setEncoding(n){return this.readableEncoding=n,this}pause(){return this.readableFlowing=!1,this.emit(`pause`),this}resume(){return this.readableFlowing!==!0&&(this.readableFlowing=!0,this.emit(`resume`),this._readableState.constructed&&this._flow()),this}_flowing=!1;_flow(){if(!(this.readableFlowing!==!0||this._flowing||this.destroyed)&&this._readableState.constructed){this._flowing=!0;try{for(;this._buffer.length>0&&this.readableFlowing&&!this.destroyed;){let n=this._buffer.shift();if(this.readableLength-=this.readableObjectMode?1:chunkLength(n),this.readableEncoding&&typeof n!=`string`){let a=globalThis.Buffer;a?.isBuffer&&a.isBuffer(n)?n=n.toString(this.readableEncoding):n instanceof Uint8Array&&(n=new TextDecoder(this.readableEncoding).decode(n))}this.emit(`data`,n)}if(this.destroyed)return;if(this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted){nextTick(()=>this._emitEnd());return}!this._readableState.ended&&!this._readableState.reading&&!this.destroyed&&(this._readableState.reading=!0,this._read(this.readableHighWaterMark),this._readableState.reading=!1)}finally{this._flowing=!1}this._buffer.length>0&&this.readableFlowing&&!this.destroyed&&nextTick(()=>this._flow())}}isPaused(){return this.readableFlowing===!1}unpipe(n){if(n){let a=this._pipeDests.findIndex(a=>a.dest===n);if(a!==-1){this._pipeDests[a].cleanup(),this._pipeDests.splice(a,1);let S=this._readableState.pipes.indexOf(n);S!==-1&&this._readableState.pipes.splice(S,1),n.emit(`unpipe`,this),this._pipeDests.length===0&&(this.readableFlowing=!1)}}else{for(let n of this._pipeDests)n.cleanup(),n.dest.emit(`unpipe`,this);this._pipeDests=[],this._readableState.pipes=[],this.readableFlowing=!1}return this}_destroy(n,a){this._destroyImpl?this._destroyImpl.call(this,n,a):a(n??void 0)}destroy(n){if(this.destroyed)return this;this.destroyed=!0,this.readable=!1,this.readableAborted=!this.readableEnded,n&&(this._err=n);let cb=n=>{n&&nextTick(()=>this.emit(`error`,n)),nextTick(()=>this.emit(`close`))};return Object.prototype.hasOwnProperty.call(this,`_destroy`)?this._destroy(n??null,cb):this._destroyImpl?this._destroyImpl.call(this,n??null,cb):cb(n),this}static toWeb(n){return new ReadableStream({start(a){n.on(`data`,n=>{typeof n==`string`?a.enqueue(new TextEncoder().encode(n)):n instanceof Uint8Array?a.enqueue(n):n&&typeof n.length==`number`&&a.enqueue(new Uint8Array(n))}),n.on(`end`,()=>{a.close()}),n.on(`error`,n=>{a.error(n)})},cancel(){n.destroy()}})}static fromWeb(n,a){let S=n.getReader();return new Readable_({...a,read(){S.read().then(({done:n,value:a})=>{n?this.push(null):this.push(a)},n=>{this.destroy(n)})},destroy(n,a){S.cancel(n?.message).then(()=>a(null),a)}})}[Symbol.asyncIterator](){let n=this,a=[],S=!1,C=null,N=null,F=null;return n.on(`data`,n=>{if(N){let a=N;N=null,F=null,a({value:n,done:!1})}else a.push(n)}),n.on(`end`,()=>{if(S=!0,N){let n=N;N=null,F=null,n({value:void 0,done:!0})}}),n.on(`error`,n=>{if(C=n,S=!0,F){let a=F;N=null,F=null,a(n)}}),{next(){return C?Promise.reject(C):a.length>0?Promise.resolve({value:a.shift(),done:!1}):S?Promise.resolve({value:void 0,done:!0}):new Promise((n,a)=>{N=n,F=a})},return(){return n.destroy(),Promise.resolve({value:void 0,done:!0})},[Symbol.asyncIterator](){return this}}}static from(n,a){let S=new Readable_({objectMode:!0,...a,read(){}});return typeof n==`string`||ArrayBuffer.isView(n)?(S.push(n),S.push(null),S):((async()=>{try{for await(let a of n)S.push(a)||await new Promise(n=>S.once(`drain`,n));S.push(null)}catch(n){S.destroy(n)}})(),S)}}});function chunkLen$1(n){if(n==null)return 1;let a=n.length;return typeof a==`number`?a:1}var Duplex_,Er=__esmMin(()=>{Cr(),Tr(),it(),Duplex_=class extends wr{writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;allowHalfOpen;_decodeStrings;_writableState={highWaterMark:0,objectMode:!1};_duplexCorkedBuffer=[];_duplexWriting=!1;_duplexWriteQueue=[];_writeImpl;_finalImpl;_defaultEncoding=`utf8`;_pendingWrites=0;_pendingEndCb=null;constructor(n){super(n),validateHighWaterMark(`writableHighWaterMark`,n?.writableHighWaterMark),validateHighWaterMark(`readableHighWaterMark`,n?.readableHighWaterMark),this.writableObjectMode=n?.writableObjectMode??n?.objectMode??!1,this.writableHighWaterMark=n?.highWaterMark??n?.writableHighWaterMark??getDefaultHighWaterMark(this.writableObjectMode),this._writableState.highWaterMark=this.writableHighWaterMark,this._writableState.objectMode=this.writableObjectMode,n?.highWaterMark===void 0&&n?.readableHighWaterMark!==void 0&&(this.readableHighWaterMark=n.readableHighWaterMark,this._readableState.highWaterMark=n.readableHighWaterMark),n?.readableObjectMode!==void 0&&(this.readableObjectMode=n.readableObjectMode,this._readableState.objectMode=n.readableObjectMode,n?.readableHighWaterMark===void 0&&n?.highWaterMark===void 0&&(this.readableHighWaterMark=getDefaultHighWaterMark(n.readableObjectMode),this._readableState.highWaterMark=this.readableHighWaterMark)),this.allowHalfOpen=n?.allowHalfOpen!==!1,this._decodeStrings=n?.decodeStrings!==!1,n?.write&&(this._writeImpl=n.write),n?.final&&(this._finalImpl=n.final),this.allowHalfOpen||this.once(`end`,()=>{this.writableEnded||nextTick(()=>this.end())})}_write(n,a,S){this._writeImpl?this._writeImpl.call(this,n,a,S):S()}_final(n){this._finalImpl?this._finalImpl.call(this,n):n()}destroy(n){return this.destroyed?this:(this.writable=!1,super.destroy(n))}write(n,a,S){let C,N;if(typeof a==`function`?(C=a,N=this._defaultEncoding):(N=a??this._defaultEncoding,C=S??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof n==`string`){let a=globalThis.Buffer;a&&(n=a.from(n,N),N=`buffer`)}if(typeof n!=`string`&&!this.writableObjectMode){let a=globalThis.Buffer;(a&&a.isBuffer(n)||n instanceof Uint8Array)&&(N=`buffer`)}if(this.writableEnded){let n=Error(`write after end`);return nextTick(()=>{C(n),this.emit(`error`,n)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen$1(n),this.writableCorked>0)return this._duplexCorkedBuffer.push({chunk:n,encoding:N,callback:C}),this.writableLength<this.writableHighWaterMark;let F=this.writableLength<this.writableHighWaterMark;return F||(this.writableNeedDrain=!0),this._duplexDoWrite(n,N,C),F}_duplexDoWrite(n,a,S){if(this._duplexWriting){this._duplexWriteQueue.push({chunk:n,encoding:a,callback:S});return}this._duplexWriting=!0,this._duplexStartWrite(n,a,S)}_duplexStartWrite(n,a,S){this._pendingWrites++,this._write(n,a,a=>{this._pendingWrites--,this.writableLength-=this.writableObjectMode?1:chunkLen$1(n),nextTick(a?()=>{if(S(a),this._duplexWriting=!1,this.emit(`error`,a),this._duplexWriteQueue.length>0){let n=this._duplexWriteQueue.shift();this._duplexWriting=!0,this._duplexStartWrite(n.chunk,n.encoding,n.callback)}}:()=>{if(S(),this._duplexWriteQueue.length>0){let n=this._duplexWriteQueue.shift();this._duplexStartWrite(n.chunk,n.encoding,n.callback);return}if(this._duplexWriting=!1,this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._pendingWrites===0&&this._pendingEndCb){let n=this._pendingEndCb;this._pendingEndCb=null,n()}})})}end(n,a,S){typeof n==`function`&&(S=n,n=void 0),typeof a==`function`&&(S=a,a=void 0),n!=null&&this.write(n,a),this.writableEnded=!0;let doFinal=()=>{this._final(n=>{this.writableFinished=!0,this._doPrefinishHooks(()=>{nextTick(()=>{n&&this.emit(`error`,n),this.emit(`finish`),nextTick(()=>this.emit(`close`)),S&&S()})})})};return this._pendingWrites>0||this._duplexWriting||this._duplexWriteQueue.length>0?this._pendingEndCb=doFinal:doFinal(),this}_doPrefinishHooks(n){n()}cork(){this.writableCorked++}uncork(){if(this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._duplexCorkedBuffer.length>0)){let n=this._duplexCorkedBuffer.splice(0);for(let{chunk:a,encoding:S,callback:C}of n)this._write(a,S,n=>{this.writableLength-=this.writableObjectMode?1:chunkLen$1(a),n?(C(n),this.emit(`error`,n)):C()});this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,nextTick(()=>this.emit(`drain`)))}}setDefaultEncoding(n){return this._defaultEncoding=n,this}},__name$1(chunkLen$1,`chunkLen`)});function pipe(n,a,S){let C=n,N=S?.end!==!1,F=!1,ondrain=()=>{F=!1,a.removeListener(`drain`,ondrain);let n=C;typeof n.resume==`function`&&n.resume()},ondata=n=>{if(a.writable){let S=C;a.write(n)===!1&&typeof S.pause==`function`&&(S.pause(),F||(F=!0,a.on(`drain`,ondrain)))}};C.on(`data`,ondata);let I=!1,onend=()=>{I||(I=!0,N&&a.end())},onclose=()=>{if(!I&&(I=!0,N&&!(C instanceof wr))){let n=a;typeof n.destroy==`function`&&n.destroy()}};N&&(C.on(`end`,onend),C.on(`close`,onclose));let cleanup=()=>{C.removeListener(`data`,ondata),F&&a.removeListener(`drain`,ondrain),C.removeListener(`end`,onend),C.removeListener(`close`,onclose),C.removeListener(`end`,cleanup),C.removeListener(`close`,cleanup),a.removeListener(`close`,cleanup)};return C.on(`end`,cleanup),C.on(`close`,cleanup),a.on(`close`,cleanup),C instanceof wr&&(C._pipeDests.push({dest:a,cleanup}),C._readableState.pipes.push(a)),a.emit(`pipe`,C),a}var Dr=__esmMin(()=>{yr(),Tr(),_setPipeImpl(pipe)});function chunkLen(n){if(n==null)return 1;let a=n.length;return typeof a==`number`?a:1}var Or,kr=__esmMin(()=>{yr(),Cr(),it(),Or=class Writable_ extends Stream_{static[Symbol.hasInstance](n){let a=this;return a.prototype!==void 0&&Object.prototype.isPrototypeOf.call(a.prototype,n)?!0:a.prototype!==Writable_.prototype||n==null?!1:typeof n.writableHighWaterMark==`number`}writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;destroyed=!1;_err;_writableState={ended:!1,finished:!1,constructed:!0,writing:!1};_corkedBuffer=[];_writeBuffer=[];_pendingConstruct=[];_ending=!1;_endCallback;_pendingEnd=null;_writeImpl;_writev;_finalImpl;_destroyImpl;_constructImpl;_decodeStrings;_defaultEncoding=`utf8`;constructor(n){super(n),this.writableHighWaterMark=n?.highWaterMark??getDefaultHighWaterMark(n?.objectMode??!1),this.writableObjectMode=n?.objectMode??!1,this._decodeStrings=n?.decodeStrings!==!1,n?.write&&(this._writeImpl=n.write),n?.writev&&(this._writev=n.writev),n?.final&&(this._finalImpl=n.final),n?.destroy&&(this._destroyImpl=n.destroy),n?.construct&&(this._constructImpl=n.construct),(this._constructImpl||this._construct!==Writable_.prototype._construct)&&(this._writableState.constructed=!1,nextTick(()=>{this._construct(n=>{this._writableState.constructed=!0,n?this.destroy(n):this._maybeFlush()})}))}_construct(n){this._constructImpl?this._constructImpl.call(this,n):n()}_write(n,a,S){this._writeImpl?this._writeImpl.call(this,n,a,S):S()}_final(n){this._finalImpl?this._finalImpl.call(this,n):n()}_maybeFlush(){let n=this._pendingConstruct.splice(0);if(n.length>0){let[a,...S]=n;this._writeBuffer.push(...S),this._doWrite(a.chunk,a.encoding,a.callback)}if(this._pendingEnd){let{chunk:n,encoding:a,callback:S}=this._pendingEnd;this._pendingEnd=null,this._doEnd(n,a,S)}}_doWrite(n,a,S){this._writableState.writing=!0;let C=!0;this._write(n,a,a=>{if(this.writableLength-=this.writableObjectMode?1:chunkLen(n),C){nextTick(()=>{if(a){S(a),this.emit(`error`,a);return}S(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}),a||this._drainWriteBuffer();return}nextTick(a?()=>{S(a),this.emit(`error`,a),this._drainWriteBuffer()}:()=>{S(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._drainWriteBuffer()})}),C=!1}_drainWriteBuffer(){if(this._writeBuffer.length>0){let n=this._writeBuffer.shift();this._doWrite(n.chunk,n.encoding,n.callback)}else this._writableState.writing=!1,this._maybeFinish()}_maybeFinish(){!this._ending||this._writableState.finished||this._writableState.writing||this._writeBuffer.length>0||(this._ending=!1,this._final(n=>{this.writableFinished=!0,this._writableState.finished=!0,nextTick(()=>{n&&this.emit(`error`,n),this.emit(`finish`),nextTick(()=>this.emit(`close`)),this._endCallback&&this._endCallback()})}))}write(n,a,S){let C,N;if(typeof a==`function`?(C=a,N=this._defaultEncoding):(N=a??this._defaultEncoding,C=S??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof n==`string`){let a=globalThis.Buffer;a&&(n=a.from(n,N),N=`buffer`)}if(typeof n!=`string`&&!this.writableObjectMode){let a=globalThis.Buffer;(a&&a.isBuffer(n)||n instanceof Uint8Array)&&(N=`buffer`)}if(this.writableEnded){let n=Error(`write after end`);return nextTick(()=>{C(n),this.emit(`error`,n)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen(n),this.writableCorked>0)return this._corkedBuffer.push({chunk:n,encoding:N,callback:C}),this.writableLength<this.writableHighWaterMark;if(!this._writableState.constructed)return this._pendingConstruct.push({chunk:n,encoding:N,callback:C}),this.writableLength<this.writableHighWaterMark;let F=this.writableLength<this.writableHighWaterMark;return F||(this.writableNeedDrain=!0),this._writableState.writing?this._writeBuffer.push({chunk:n,encoding:N,callback:C}):this._doWrite(n,N,C),F}_doEnd(n,a,S){n!=null&&this.write(n,a),this.writableEnded=!0,this._writableState.ended=!0,this._ending=!0,this._endCallback=S,this._maybeFinish()}end(n,a,S){return typeof n==`function`&&(S=n,n=void 0),typeof a==`function`&&(S=a,a=void 0),this.writableEnded?(S&&nextTick(S),this):this._writableState.constructed?(this._doEnd(n,a,S),this):(this._pendingEnd={chunk:n,encoding:a,callback:S},this)}cork(){this.writableCorked++}uncork(){this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._corkedBuffer.length>0&&this._flushCorkedBuffer())}_flushCorkedBuffer(){if(this._writev&&this._corkedBuffer.length>1){let n=this._corkedBuffer.splice(0),a=n.map(n=>({chunk:n.chunk,encoding:n.encoding}));this._writev.call(this,a,a=>{for(let a of n)this.writableLength-=this.writableObjectMode?1:chunkLen(a.chunk);if(a){for(let S of n)S.callback(a);this.emit(`error`,a)}else{for(let a of n)a.callback();this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}})}else{let n=this._corkedBuffer.splice(0);if(n.length>0){let[a,...S]=n;this._writeBuffer.push(...S),this._doWrite(a.chunk,a.encoding,a.callback)}}}setDefaultEncoding(n){return this._defaultEncoding=n,this}destroy(n){if(this.destroyed)return this;this.destroyed=!0,this.writable=!1,n&&(this._err=n);let cb=n=>{n&&nextTick(()=>this.emit(`error`,n)),nextTick(()=>this.emit(`close`))};return this._destroyImpl?this._destroyImpl.call(this,n??null,cb):cb(n),this}}}),Ar,jr=__esmMin(()=>{Er(),it(),Ar=class Transform_ extends Duplex_{constructor(n){super({...n,write:void 0,final:void 0});let a=this;n?.transform&&(a._transform=n.transform),n?.flush&&(a._flush=n.flush),n?.final&&(a._final=n.final)}_transform(n,a,S){throw Object.assign(Error(`The _transform() method is not implemented`),{code:`ERR_METHOD_NOT_IMPLEMENTED`})}_flush(n){n()}_write(n,a,S){let C=!1;try{this._transform(n,a,(n,a)=>{if(C){let n=Object.assign(Error(`Callback called multiple times`),{code:`ERR_MULTIPLE_CALLBACK`});nextTick(()=>this.emit(`error`,n));return}if(C=!0,n){S(n);return}a!=null&&this.push(a),S()})}catch(n){if(n?.code===`ERR_METHOD_NOT_IMPLEMENTED`)throw n;S(n)}}_final(n){this._flush((a,S)=>{if(a){n(a);return}S!=null&&this.push(S),this.push(null),n()})}_doPrefinishHooks(n){let a=Transform_.prototype._final;this._final===a?n():a.call(this,n)}}}),PassThrough_,Mr=__esmMin(()=>{jr(),PassThrough_=class extends Ar{constructor(n){super({...n,transform(n,a,S){S(null,n)}})}}});function pipeline(...n){let a=n,S=typeof a[a.length-1]==`function`?a.pop():void 0,C=a;if(C.length<2)throw Error(`pipeline requires at least 2 streams`);let N=null;function onError(n){if(!N){N=n;for(let n of C)typeof n.destroy==`function`&&n.destroy();S&&S(n)}}let F=C[0];for(let n=1;n<C.length;n++){let a=C[n];F.pipe(a),F.on(`error`,onError),F=a}let I=C[C.length-1];return I.on(`error`,onError),I.on(`finish`,()=>{S&&!N&&S(null)}),I}var Nr=__esmMin(()=>{});function finished$1(n,a,S){let C;C=typeof a==`function`?a:S;let N=!1;function done(n){N||(N=!0,C(n))}let onFinish=()=>done(),onEnd=()=>done(),onError=n=>done(n),onClose=()=>{let a=n,S=n;!a.writableFinished&&!S.readableEnded&&done(Error(`premature close`))};n.on(`finish`,onFinish),n.on(`end`,onEnd),n.on(`error`,onError),n.on(`close`,onClose);let F=n,I=typeof n.write==`function`,H=typeof n.read==`function`,W=F.writableFinished===!0,K=F.readableEnded===!0;if(F.destroyed===!0){let n=F._err;He(n?()=>done(n):I&&W||H&&K?()=>done():()=>done(Error(`premature close`)))}else (I&&!H&&W||!I&&H&&K||I&&H&&W&&K)&&He(()=>done());return function cleanup(){n.removeListener(`finish`,onFinish),n.removeListener(`end`,onEnd),n.removeListener(`error`,onError),n.removeListener(`close`,onClose)}}function addAbortSignal(n,a){if(!(n instanceof AbortSignal))throw TypeError(`The first argument must be an AbortSignal`);if(!(a instanceof Stream_))throw TypeError(`The second argument must be a Stream`);let S=a;if(n.aborted)S.destroy(Error(`The operation was aborted`));else{let onAbort=()=>{S.destroy(Error(`The operation was aborted`))};n.addEventListener(`abort`,onAbort,{once:!0}),a.once(`close`,()=>{n.removeEventListener(`abort`,onAbort)})}return a}function isReadable(n){if(n==null)return!1;let a=n;return typeof a.readable!=`boolean`||typeof a.read!=`function`||a.destroyed===!0||a.readableEnded===!0?!1:a.readable===!0}function isWritable(n){if(n==null)return!1;let a=n;return typeof a.writable!=`boolean`||typeof a.write!=`function`||a.destroyed===!0||a.writableEnded===!0?!1:a.writable===!0}function isDestroyed(n){return n==null?!1:n.destroyed===!0}function isDisturbed(n){if(n==null)return!1;let a=n;return a.readableDidRead===!0||a.readableFlowing!==null&&a.readableFlowing!==void 0}function isErrored(n){if(n==null)return!1;let a=n;return a.destroyed===!0&&typeof a.readable==`boolean`&&a.readable===!1||a.destroyed===!0&&typeof a.writable==`boolean`&&a.writable===!1}var Pr=__esmMin(()=>{yr(),it(),__name$1(finished$1,`finished`)}),Fr=__exportAll$3({Duplex:()=>zr,PassThrough:()=>Vr,Readable:()=>Lr,Stream:()=>Ir,Transform:()=>Br,Writable:()=>Rr,addAbortSignal:()=>addAbortSignal,default:()=>Hr,finished:()=>finished$1,getDefaultHighWaterMark:()=>getDefaultHighWaterMark,isDestroyed:()=>isDestroyed,isDisturbed:()=>isDisturbed,isErrored:()=>isErrored,isReadable:()=>isReadable,isWritable:()=>isWritable,pipeline:()=>pipeline,setDefaultHighWaterMark:()=>setDefaultHighWaterMark}),Ir,Lr,Rr,zr,Br,Vr,Hr,Ur=__esmMin(()=>{_r(),yr(),Cr(),Tr(),Er(),Dr(),kr(),jr(),Mr(),Nr(),Pr(),Ir=makeCallable(Stream_),Lr=makeCallable(wr),Rr=makeCallable(Or),zr=makeCallable(Duplex_),Br=makeCallable(Ar),Vr=makeCallable(PassThrough_),Hr=Object.assign(Ir,{Stream:Ir,Readable:Lr,Writable:Rr,Duplex:zr,Transform:Br,PassThrough:Vr,pipeline,finished:finished$1,addAbortSignal,isReadable,isWritable,isDestroyed,isDisturbed,isErrored,getDefaultHighWaterMark,setDefaultHighWaterMark})});function getGioCompressorFormat(n){switch(n){case`gzip`:return xe.ZlibCompressorFormat.GZIP;case`deflate`:return xe.ZlibCompressorFormat.ZLIB;case`deflate-raw`:return xe.ZlibCompressorFormat.RAW}}function toUint8Array$2(n){return typeof n==`string`?new TextEncoder().encode(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}function createGzip(n){return new ZlibTransform(`gzip`,`compress`,n)}function createGunzip(n){return new ZlibTransform(`gzip`,`decompress`,n)}function createDeflate(n){return new ZlibTransform(`deflate`,`compress`,n)}function createInflate(n){return new ZlibTransform(`deflate`,`decompress`,n)}function createDeflateRaw(n){return new ZlibTransform(`deflate-raw`,`compress`,n)}function createInflateRaw(n){return new ZlibTransform(`deflate-raw`,`decompress`,n)}function createUnzip(n){return new ZlibTransform(`gzip`,`decompress`,n)}function createBrotliCompress(n){throw Error(`createBrotliCompress is not supported on GJS (no Brotli in GLib)`)}function createBrotliDecompress(n){throw Error(`createBrotliDecompress is not supported on GJS (no Brotli in GLib)`)}var ZlibTransform,Wr=__esmMin(()=>{Se(),ue(),Ur(),__name$1(toUint8Array$2,`toUint8Array`),ZlibTransform=class extends Br{_format;_mode;_chunks=[];constructor(n,a,S){super(S),this._format=n,this._mode=a}_transform(n,a,S){this._chunks.push(toUint8Array$2(n)),S()}_flush(n){let a=this._chunks.reduce((n,a)=>n+a.length,0),S=new Uint8Array(a),C=0;for(let n of this._chunks)S.set(n,C),C+=n.length;this._chunks=[];try{let a=this._mode===`compress`?this._compress(S):this._decompress(S);this.push(Buffer.from(a)),n()}catch(a){n(a instanceof Error?a:Error(String(a)))}}_compress(n){let a=new xe.ZlibCompressor({format:getGioCompressorFormat(this._format)}),S=new xe.ConverterOutputStream({base_stream:xe.MemoryOutputStream.new_resizable(),converter:a});S.write_bytes(new le.Bytes(n),null),S.close(null);let C=S.get_base_stream().steal_as_bytes();return new Uint8Array(C.get_data()??[])}_decompress(n){let a=new xe.ZlibDecompressor({format:getGioCompressorFormat(this._format)}),S=xe.MemoryInputStream.new_from_bytes(new le.Bytes(n)),C=new xe.ConverterInputStream({base_stream:S,converter:a}),N=[];for(;;){let n=C.read_bytes(4096,null);if(n.get_size()===0)break;N.push(new Uint8Array(n.get_data()))}C.close(null);let F=N.reduce((n,a)=>n+a.length,0),I=new Uint8Array(F),H=0;for(let n of N)I.set(n,H),H+=n.length;return I}}}),Gr=__exportAll$3({ZlibTransform:()=>ZlibTransform,brotliCompress:()=>brotliCompress,brotliCompressSync:()=>brotliCompressSync,brotliDecompress:()=>brotliDecompress,brotliDecompressSync:()=>brotliDecompressSync,constants:()=>qr,createBrotliCompress:()=>createBrotliCompress,createBrotliDecompress:()=>createBrotliDecompress,createDeflate:()=>createDeflate,createDeflateRaw:()=>createDeflateRaw,createGunzip:()=>createGunzip,createGzip:()=>createGzip,createInflate:()=>createInflate,createInflateRaw:()=>createInflateRaw,createUnzip:()=>createUnzip,default:()=>Jr,deflate:()=>deflate,deflateRaw:()=>deflateRaw,deflateRawSync:()=>deflateRawSync,deflateSync:()=>deflateSync,gunzip:()=>gunzip$1,gunzipSync:()=>gunzipSync,gzip:()=>gzip$1,gzipSync:()=>gzipSync,inflate:()=>inflate,inflateRaw:()=>inflateRaw,inflateRawSync:()=>inflateRawSync,inflateSync:()=>inflateSync});function getGioFormat(n){switch(n){case`gzip`:return xe.ZlibCompressorFormat.GZIP;case`deflate`:return xe.ZlibCompressorFormat.ZLIB;case`deflate-raw`:return xe.ZlibCompressorFormat.RAW}}function compressWithGio(n,a){let S=new xe.ZlibCompressor({format:getGioFormat(a)}),C=new xe.ConverterOutputStream({base_stream:xe.MemoryOutputStream.new_resizable(),converter:S});C.write_bytes(new le.Bytes(n),null),C.close(null);let N=C.get_base_stream().steal_as_bytes();return new Uint8Array(N.get_data()??[])}function decompressStreamWithGio(n,a){let S=new xe.ZlibDecompressor({format:getGioFormat(a)}),C=xe.MemoryInputStream.new_from_bytes(new le.Bytes(n)),N=new xe.ConverterInputStream({base_stream:C,converter:S}),F=[];for(;;){let n=N.read_bytes(4096,null);if(n.get_size()===0)break;F.push(new Uint8Array(n.get_data()))}N.close(null);let I=F.reduce((n,a)=>n+a.length,0),H=new Uint8Array(I),W=0;for(let n of F)H.set(n,W),W+=n.length;return H}function findGzipMemberEnd(n){let a=new xe.ZlibDecompressor({format:xe.ZlibCompressorFormat.GZIP}),S=new Uint8Array(65536),C=0,N=!1;for(;!N;){let F=n.subarray(C);try{let[n,I]=a.convert(F,S,xe.ConverterFlags.NONE);C+=I,n===xe.ConverterResult.FINISHED&&(N=!0)}catch{N=!0}}return C}function decompressWithGio(n,a){if(a!==`gzip`)return decompressStreamWithGio(n,a);let S=[],C=0;for(;C<n.length&&!(n.length-C<2||n[C]!==31||n[C+1]!==139);){let a=n.subarray(C),N=findGzipMemberEnd(a);if(N<=0)break;let F=decompressStreamWithGio(a.subarray(0,N),`gzip`);S.push(F),C+=N}if(S.length===0)return decompressStreamWithGio(n,`gzip`);let N=S.reduce((n,a)=>n+a.length,0),F=new Uint8Array(N),I=0;for(let n of S)F.set(n,I),I+=n.length;return F}async function compressWithWeb(n,a){let S=new CompressionStream(a),C=S.writable.getWriter();C.write(new Uint8Array(n.buffer,n.byteOffset,n.byteLength)),C.close();let N=[],F=S.readable.getReader();for(;;){let{done:n,value:a}=await F.read();if(n)break;N.push(a)}let I=N.reduce((n,a)=>n+a.length,0),H=new Uint8Array(I),W=0;for(let n of N)H.set(n,W),W+=n.length;return H}async function decompressWithWeb(n,a){let S=new DecompressionStream(a),C=S.writable.getWriter();C.write(new Uint8Array(n.buffer,n.byteOffset,n.byteLength)),C.close();let N=[],F=S.readable.getReader();for(;;){let{done:n,value:a}=await F.read();if(n)break;N.push(a)}let I=N.reduce((n,a)=>n+a.length,0),H=new Uint8Array(I),W=0;for(let n of N)H.set(n,W),W+=n.length;return H}async function compress(n,a){return Kr?compressWithWeb(n,a):compressWithGio(n,a)}async function decompress(n,a){return Kr?decompressWithWeb(n,a):decompressWithGio(n,a)}function toUint8Array$1(n){return typeof n==`string`?new TextEncoder().encode(n):n instanceof ArrayBuffer?new Uint8Array(n):n}function gzip$1(n,a,S){let C=typeof a==`function`?a:S;compress(toUint8Array$1(n),`gzip`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function gunzip$1(n,a,S){let C=typeof a==`function`?a:S;decompress(toUint8Array$1(n),`gzip`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function deflate(n,a,S){let C=typeof a==`function`?a:S;compress(toUint8Array$1(n),`deflate`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function inflate(n,a,S){let C=typeof a==`function`?a:S;decompress(toUint8Array$1(n),`deflate`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function deflateRaw(n,a,S){let C=typeof a==`function`?a:S;compress(toUint8Array$1(n),`deflate-raw`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function inflateRaw(n,a,S){let C=typeof a==`function`?a:S;decompress(toUint8Array$1(n),`deflate-raw`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function gzipSync(n,a){return compressWithGio(toUint8Array$1(n),`gzip`)}function gunzipSync(n,a){return decompressWithGio(toUint8Array$1(n),`gzip`)}function deflateSync(n,a){return compressWithGio(toUint8Array$1(n),`deflate`)}function inflateSync(n,a){return decompressWithGio(toUint8Array$1(n),`deflate`)}function deflateRawSync(n,a){return compressWithGio(toUint8Array$1(n),`deflate-raw`)}function inflateRawSync(n,a){return decompressWithGio(toUint8Array$1(n),`deflate-raw`)}function brotliCompress(n,a,S){(typeof a==`function`?a:S)(Error(`brotliCompress: Brotli is not supported in this environment`),null)}function brotliDecompress(n,a,S){(typeof a==`function`?a:S)(Error(`brotliDecompress: Brotli is not supported in this environment`),null)}function brotliCompressSync(n,a){throw Error(`brotliCompressSync: Brotli is not supported in this environment`)}function brotliDecompressSync(n,a){throw Error(`brotliDecompressSync: Brotli is not supported in this environment`)}var Kr,qr,Jr,Yr=__esmMin(()=>{Wr(),Se(),ue(),Kr=globalThis.CompressionStream!==void 0,__name$1(toUint8Array$1,`toUint8Array`),__name$1(gzip$1,`gzip`),__name$1(gunzip$1,`gunzip`),qr={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_DEFLATED:8},Jr={gzip:gzip$1,gunzip:gunzip$1,deflate,inflate,deflateRaw,inflateRaw,gzipSync,gunzipSync,deflateSync,inflateSync,deflateRawSync,inflateRawSync,brotliCompress,brotliDecompress,brotliCompressSync,brotliDecompressSync,createGzip,createGunzip,createDeflate,createInflate,createDeflateRaw,createInflateRaw,createUnzip,createBrotliCompress,createBrotliDecompress,constants:qr}});const Xr=new Set([`gzip`,`deflate`,`deflate-raw`]);function validateFormat(n){if(!Xr.has(n))throw TypeError(`Unsupported compression format: '${n}'. Supported formats: 'gzip', 'deflate', 'deflate-raw'.`);return n}const Zr=typeof globalThis.CompressionStream==`function`&&typeof globalThis.DecompressionStream==`function`;let Qr=!1,$r,ei,ti,ni,ri,ii;async function loadZlib(){if(Qr)return;let n=await Promise.resolve().then(()=>(Yr(),Gr));$r=n.gzipSync,ei=n.gunzipSync,ti=n.deflateSync,ni=n.inflateSync,ri=n.deflateRawSync,ii=n.inflateRawSync,Qr=!0}function getCompressFn(n){switch(n){case`gzip`:return n=>$r(n);case`deflate`:return n=>ti(n);case`deflate-raw`:return n=>ri(n)}}function getDecompressFn(n){switch(n){case`gzip`:return n=>ei(n);case`deflate`:return n=>ni(n);case`deflate-raw`:return n=>ii(n)}}let ai,oi;Zr?(ai=globalThis.CompressionStream,oi=globalThis.DecompressionStream):(loadZlib(),ai=class CompressionStream{readable;writable;constructor(n){let a=validateFormat(n);if(!Qr)throw Error(`zlib not yet loaded. Ensure module initialization is complete.`);let S=getCompressFn(a),C=new fr({transform(n,a){try{a.enqueue(S(n))}catch(n){a.error(n)}}});this.readable=C.readable,this.writable=C.writable}},oi=class DecompressionStream{readable;writable;constructor(n){let a=validateFormat(n);if(!Qr)throw Error(`zlib not yet loaded. Ensure module initialization is complete.`);let S=getDecompressFn(a),C=new fr({transform(n,a){try{a.enqueue(S(n))}catch(n){a.error(n)}}});this.readable=C.readable,this.writable=C.writable}}),globalThis.CompressionStream===void 0&&(globalThis.CompressionStream=ai),globalThis.DecompressionStream===void 0&&(globalThis.DecompressionStream=oi),globalThis.DOMException===void 0&&(globalThis.DOMException=pn);var si,__name,ci=__esmMin(()=>{si=Object.defineProperty,__name=(n,a)=>si(n,`name`,{value:a,configurable:!0})}),li=S;function validateHeaderName(n){if(typeof n!=`string`||!/^[\^`\-\w!#$%&'*+.|~]+$/.test(n)){let a=TypeError(`Header name must be a valid HTTP token ["${n}"]`);throw Object.defineProperty(a,`code`,{value:`ERR_INVALID_HTTP_TOKEN`}),a}}function validateHeaderValue(n,a){if(a===void 0){let a=TypeError(`Header "${n}" value must not be undefined`);throw Object.defineProperty(a,`code`,{value:`ERR_HTTP_INVALID_HEADER_VALUE`}),a}if(typeof a==`string`&&/[^\t -~€-ÿ]/.test(a)){let a=TypeError(`Invalid character in header content ["${n}"]`);throw Object.defineProperty(a,`code`,{value:`ERR_INVALID_CHAR`}),a}}const di=Symbol(`Headers.headers`);function isBoxedPrimitive$2(n){return n instanceof String||n instanceof Number||n instanceof Boolean||typeof Symbol<`u`&&n instanceof Symbol||typeof BigInt<`u`&&n instanceof BigInt}__name$1(isBoxedPrimitive$2,`isBoxedPrimitive`);var fi=class Headers{[di];constructor(n){if(this[di]=new Map,n!=null){if(n instanceof Headers){for(let[a,S]of n[di])this[di].set(a,[...S]);return}if(typeof n==`object`&&!isBoxedPrimitive$2(n)){let a=n[Symbol.iterator];if(a==null)for(let[a,S]of Object.entries(n))validateHeaderName(a),validateHeaderValue(a,String(S)),this.append(a,String(S));else{if(typeof a!=`function`)throw TypeError(`Header pairs must be iterable`);for(let a of n){if(typeof a!=`object`||isBoxedPrimitive$2(a))throw TypeError(`Each header pair must be an iterable object`);let n=[...a];if(n.length!==2)throw TypeError(`Each header pair must be a name/value tuple`);validateHeaderName(n[0]),validateHeaderValue(n[0],String(n[1])),this.append(n[0],String(n[1]))}}}else throw TypeError(`Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)'`)}}append(n,a){validateHeaderName(n),validateHeaderValue(n,a);let S=String(n).toLowerCase(),C=String(a),N=this[di].get(S);N?N.push(C):this[di].set(S,[C])}set(n,a){validateHeaderName(n),validateHeaderValue(n,a);let S=String(n).toLowerCase();this[di].set(S,[String(a)])}delete(n){this[di].delete(String(n).toLowerCase())}has(n){return this[di].has(String(n).toLowerCase())}get(n){let a=this[di].get(String(n).toLowerCase());if(!a||a.length===0)return null;let S=a.join(`, `);return/^content-encoding$/i.test(n)&&(S=S.toLowerCase()),S}getAll(n){return this[di].get(String(n).toLowerCase())??[]}getSetCookie(){return this[di].get(`set-cookie`)??[]}forEach(n,a){for(let S of this.keys())Reflect.apply(n,a,[this.get(S),S,this])}*keys(){let n=[...this[di].keys()].sort(),a=new Set;for(let S of n)a.has(S)||(a.add(S),yield S)}*values(){for(let n of this.keys())yield this.get(n)}*entries(){for(let n of this.keys())yield[n,this.get(n)]}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return`Headers`}toString(){return Object.prototype.toString.call(this)}raw(){let n={};for(let a of this.keys())n[a]=this.getAll(a);return n}_appendToSoupMessage(n,a=li.MessageHeadersType.REQUEST){let S=n?n.get_request_headers():new li.MessageHeaders(a);for(let[n,a]of this.entries())S.append(n,a);return S}static _newFromSoupMessage(n,a=li.MessageHeadersType.RESPONSE){let S=new Headers,C;return C=a===li.MessageHeadersType.RESPONSE?n.get_response_headers():n.get_request_headers(),C.foreach((n,a)=>{S.append(n,a)}),S}[Symbol.for(`nodejs.util.inspect.custom`)](){let n={};for(let a of this.keys()){let S=this.getAll(a);a===`host`?n[a]=S[0]:n[a]=S.length>1?S:S[0]}return n}};Object.defineProperties(fi.prototype,[`get`,`entries`,`forEach`,`values`].reduce((n,a)=>(n[a]={enumerable:!0},n),{}));var pi=__esmMin(()=>{vt()});pi();var FetchBaseError=class extends Error{type;constructor(n,a){super(n),typeof Error.captureStackTrace==`function`&&Error.captureStackTrace(this,this.constructor),this.type=a}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}},FetchError=class extends FetchBaseError{code;errno;erroredSysCall;constructor(n,a,S){super(n,a),S&&(this.code=this.errno=S.code,this.erroredSysCall=S.syscall)}};tn();const mi=Symbol.toStringTag,isURLSearchParameters=n=>typeof n==`object`&&typeof n.append==`function`&&typeof n.delete==`function`&&typeof n.get==`function`&&typeof n.getAll==`function`&&typeof n.has==`function`&&typeof n.set==`function`&&typeof n.sort==`function`&&n[mi]===`URLSearchParams`,isBlob=n=>{if(!n||typeof n!=`object`)return!1;let a=n;return typeof a.arrayBuffer==`function`&&typeof a.type==`string`&&typeof a.stream==`function`&&typeof a.constructor==`function`&&/^(Blob|File)$/.test(a[mi])},isAbortSignal=n=>{if(typeof n!=`object`||!n)return!1;let a=n;return a[mi]===`AbortSignal`||a[mi]===`EventTarget`},isDomainOrSubdomain=(n,a)=>{let S=new $t(a).hostname,C=new $t(n).hostname;return S===C||S.endsWith(`.${C}`)},isSameProtocol=(n,a)=>new $t(a).protocol===new $t(n).protocol;var hi,gi,File,_i=__esmMin(()=>{hi=Symbol(`File.name`),gi=Symbol(`File.lastModified`),File=class extends Blob{[hi];[gi];webkitRelativePath=``;constructor(n,a,S){super(n,S),this[hi]=String(a),this[gi]=S?.lastModified??Date.now()}get name(){return this[hi]}get lastModified(){return this[gi]}get[Symbol.toStringTag](){return`File`}}});function generateBoundary(){let n=`----formdata-`;for(let a=0;a<24;a++)n+=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`.charAt(Math.floor(Math.random()*62));return n}function escape(n){return n.replace(/\n/g,`%0A`).replace(/\r/g,`%0D`).replace(/"/g,`%22`)}function formDataToBlob(n,a){a??=generateBoundary();let S=[],C=`--${a}\r\nContent-Disposition: form-data; name="`;for(let[a,N]of n.entries())if(typeof N==`string`)S.push(`${C}${escape(a)}"\r\n\r\n${N.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
6
+ `+a)}profile(n){}profileEnd(n){}timeStamp(n){}},Fe=new Console,log=(...n)=>Fe.log(...n),info=(...n)=>Fe.info(...n),Ie=__name$1((...n)=>Fe.debug(...n),`debug`),warn=(...n)=>Fe.warn(...n),error=(...n)=>Fe.error(...n),dir=(n,a)=>Fe.dir(n,a),dirxml=(...n)=>Fe.dirxml(...n),table=(n,a)=>Fe.table(n,a),clear=()=>Fe.clear(),assert=(n,...a)=>Fe.assert(n,...a),trace=(...n)=>Fe.trace(...n),time=n=>Fe.time(n),timeEnd=n=>Fe.timeEnd(n),timeLog=(n,...a)=>Fe.timeLog(n,...a),Le=__name$1(n=>Fe.count(n),`count`),countReset=n=>Fe.countReset(n),group=(...n)=>Fe.group(...n),groupCollapsed=(...n)=>Fe.groupCollapsed(...n),groupEnd=()=>Fe.groupEnd(),profile=n=>{},profileEnd=n=>{},timeStamp=n=>{}}),ze,Be=__esmMin(()=>{Re(),ze={log,info,debug:Ie,warn,error,dir,dirxml,table,time,timeEnd,timeLog,trace,assert,clear,count:Le,countReset,group,groupCollapsed,groupEnd,profile,profileEnd,timeStamp}}),Ve=__esmMin(()=>{Be()}),He,Ue=__esmMin(()=>{He=__name$1(n=>{Promise.resolve().then(n)},`queueMicrotask`)});function drainOnce(n){let a=Math.min(64,Ge.length);for(let S=0;S<a;S++){let a=Ge.shift();try{a()}catch(a){try{n.log_default_handler(`gjsify-nextTick`,n.LogLevelFlags.LEVEL_WARNING,String(a?.stack||a),null)}catch{}}}Ge.length>0?n.timeout_add(n.PRIORITY_DEFAULT,1,()=>(drainOnce(n),!1)):Ke=!1}function tryGLibTimeout(n){let a=globalThis.imports?.gi?.GLib;return a?.timeout_add?(Ge.push(n),Ke||(Ke=!0,a.timeout_add(a.PRIORITY_DEFAULT,0,()=>(drainOnce(a),!1))),!0):!1}var Ge,Ke,nextTick,qe=__esmMin(()=>{Ge=[],Ke=!1,nextTick=(n,...a)=>{let S=a.length>0?()=>n(...a):n;if(!tryGLibTimeout(S)){if(typeof globalThis.process?.nextTick==`function`){globalThis.process.nextTick(n,...a);return}if(typeof queueMicrotask==`function`){queueMicrotask(S);return}Promise.resolve().then(S)}}}),Je,Ye,getPathSeparator,Xe=__esmMin(()=>{ue(),Se(),{File:Je}=xe,Ye=__name$1((n,...a)=>{let S=Je.new_for_path(n);for(let n of a)S=S.resolve_relative_path(n);return S},`resolve`),getPathSeparator=()=>{let n=le.get_current_dir();return/^\//.test(n)?`/`:`\\`}});function classOf(n){return Ze.call(n).slice(8,-1)}function throwDataCloneError(n){let a=globalThis.DOMException;if(typeof a==`function`)throw new a(n,`DataCloneError`);let S=Error(n);throw S.name=`DataCloneError`,S}function internalClone(n,a,S){if(n==null)return n;let C=typeof n;if(C===`boolean`||C===`number`||C===`string`||C===`bigint`)return n;C===`symbol`&&throwDataCloneError(`Symbol cannot be cloned`),C===`function`&&throwDataCloneError(`Function cannot be cloned`);let N=n;if(a.has(N))return a.get(N);let F=classOf(N);if(F===`Date`)return new Date(N.getTime());if(F===`RegExp`)return new RegExp(N.source,N.flags);if(F===`Boolean`||F===`Number`||F===`String`)return Object(N.valueOf());if(F===`BigInt`)return Object(BigInt.prototype.valueOf.call(N));if(N instanceof Error){let n=N,C=n.constructor?.name,F=new(C&&Qe[C]||Qe[n.name]||Error)(n.message);return F.name=n.name,`cause`in n&&Object.defineProperty(F,`cause`,{value:internalClone(n.cause,a,S),writable:!0,enumerable:!1,configurable:!0}),F}if(F===`DOMException`){let n=globalThis.DOMException;if(typeof n==`function`){let a=N;return new n(a.message,a.name)}}if(F===`ArrayBuffer`){let n=N;if(S&&S.transferred.has(n)){let C=S.transferred.get(n);return a.set(N,C),C}(n.detached===!0||n.byteLength===0&&n.detached)&&throwDataCloneError(`ArrayBuffer is detached and cannot be cloned`);let C=n.slice(0);return a.set(N,C),C}if(F===`SharedArrayBuffer`||N&&typeof N==`object`&&N.constructor?.name===`SharedBuffer`)return N;if(F===`DataView`){let n=N,C=S?.viewSnapshots.get(N),F=internalClone(n.buffer,a,S),I=C?C.byteOffset:n.byteOffset,H=C?C.byteLength:n.byteLength,W=new DataView(F,I,H);return a.set(N,W),W}if($e.has(F)){let n=N,C=S?.viewSnapshots.get(N),F=internalClone(n.buffer,a,S),I=n.constructor,H=new I(F,C?C.byteOffset:n.byteOffset,C?C.length:n.length);return a.set(N,H),H}if(F===`Map`){let n=new Map;a.set(N,n);for(let[C,F]of N)n.set(internalClone(C,a,S),internalClone(F,a,S));return n}if(F===`Set`){let n=new Set;a.set(N,n);for(let C of N)n.add(internalClone(C,a,S));return n}{let n=globalThis,a=n.Blob,S=n.File;if(typeof S==`function`&&N instanceof S){let n=N;return new S([N],n.name,{type:n.type,lastModified:n.lastModified})}if(typeof a==`function`&&N instanceof a)return new a([N],{type:N.type})}if(N instanceof WeakMap&&throwDataCloneError(`WeakMap cannot be cloned`),N instanceof WeakSet&&throwDataCloneError(`WeakSet cannot be cloned`),N instanceof WeakRef&&throwDataCloneError(`WeakRef cannot be cloned`),typeof globalThis.Promise==`function`&&N instanceof Promise&&throwDataCloneError(`Promise cannot be cloned`),F===`Array`){let n=N,C=[];a.set(N,C);for(let N=0;N<n.length;N++)N in n&&(C[N]=internalClone(n[N],a,S));return C}if(F===`Object`||typeof N==`object`){let n={};a.set(N,n);for(let C of Object.keys(N))n[C]=internalClone(N[C],a,S);return n}throwDataCloneError(`${F} cannot be cloned`)}function structuredClone$1(n,a){let S=a?.transfer;if(!S||S.length===0)return internalClone(n,new Map);let C=new Set;for(let n of S)if(classOf(n)===`ArrayBuffer`){let a=n;a.detached===!0&&throwDataCloneError(`ArrayBuffer in transfer list is detached`),C.add(a)}let N=new Map;C.size>0&&snapshotViewsBackedByTransferredBuffers(n,C,N,new Set);let F=new Map;for(let n of C){let a=n;typeof a.transfer!=`function`&&throwDataCloneError(`ArrayBuffer.prototype.transfer() not available — runtime is not SM140+`),F.set(n,a.transfer())}return internalClone(n,new Map,{transferred:F,viewSnapshots:N})}function snapshotViewsBackedByTransferredBuffers(n,a,S,C){if(typeof n!=`object`||!n)return;let N=n;if(C.has(N))return;C.add(N);let F=classOf(N);if(F===`DataView`){let n=N;a.has(n.buffer)&&S.set(N,{byteOffset:n.byteOffset,length:0,byteLength:n.byteLength});return}if($e.has(F)){let n=N;a.has(n.buffer)&&S.set(N,{byteOffset:n.byteOffset,length:n.length,byteLength:n.byteLength});return}if(Array.isArray(N)){for(let n=0;n<N.length;n++)n in N&&snapshotViewsBackedByTransferredBuffers(N[n],a,S,C);return}if(F===`Map`){for(let[n,F]of N)snapshotViewsBackedByTransferredBuffers(n,a,S,C),snapshotViewsBackedByTransferredBuffers(F,a,S,C);return}if(F===`Set`){for(let n of N)snapshotViewsBackedByTransferredBuffers(n,a,S,C);return}if(F===`Object`)for(let n of Object.keys(N))snapshotViewsBackedByTransferredBuffers(N[n],a,S,C)}var Ze,Qe,$e,et=__esmMin(()=>{({toString:Ze}=Object.prototype),Qe={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError},$e=new Set([`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]),__name$1(structuredClone$1,`structuredClone`)});function ensureMainLoop(){let n=globalThis.imports;if(!n)return;if(tt)return nt;let a=n.gi.GLib;if(nt=new a.MainLoop(null,!1),tt=!0,a.main_depth()===0)try{nt.runAsync()}catch{}return nt}function quitMainLoop(){nt&&=(nt.quit(),tt=!1,null)}var tt,nt,rt=__esmMin(()=>{tt=!1,nt=null}),it=__esmMin(()=>{ae(),oe(),Z(),fe(),pe(),he(),ge(),ve(),Te(),Oe(),Ae(),je(),Ve(),Ue(),qe(),Xe(),et(),rt()});ne(),it(),registerGlobal(`Blob`,X),registerGlobal(`File`,te);function encodeString(n,a){switch(a){case`utf8`:return ot.encode(n);case`ascii`:{let a=new Uint8Array(n.length);for(let S=0;S<n.length;S++)a[S]=n.charCodeAt(S)&127;return a}case`latin1`:{let a=new Uint8Array(n.length);for(let S=0;S<n.length;S++)a[S]=n.charCodeAt(S)&255;return a}case`base64`:return base64Decode$1(n.replace(/-/g,`+`).replace(/_/g,`/`));case`base64url`:return encodeString(n.replace(/-/g,`+`).replace(/_/g,`/`),`base64`);case`hex`:{let a=n.length>>>1,S=new Uint8Array(a);for(let C=0;C<a;C++){let a=parseInt(n[C*2],16),N=parseInt(n[C*2+1],16);if(Number.isNaN(a)||Number.isNaN(N))break;S[C]=a<<4|N}return S}case`utf16le`:{let a=new Uint8Array(n.length*2);for(let S=0;S<n.length;S++){let C=n.charCodeAt(S);a[S*2]=C&255,a[S*2+1]=C>>8&255}return a}default:return ot.encode(n)}}function decodeString(n,a,S,C){let N=S!==void 0||C!==void 0?n.subarray(S??0,C??n.length):n;switch(a){case`utf8`:return st.decode(N);case`ascii`:{let n=``;for(let a=0;a<N.length;a++)n+=String.fromCharCode(N[a]&127);return n}case`latin1`:{let n=``;for(let a=0;a<N.length;a++)n+=String.fromCharCode(N[a]);return n}case`base64`:{let n=``;for(let a=0;a<N.length;a++)n+=String.fromCharCode(N[a]);return btoaPolyfill(n)}case`base64url`:return decodeString(N,`base64`).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``);case`hex`:{let n=``;for(let a=0;a<N.length;a++)n+=N[a].toString(16).padStart(2,`0`);return n}case`utf16le`:{let n=``;for(let a=0;a+1<N.length;a+=2)n+=String.fromCharCode(N[a]|N[a+1]<<8);return n}default:return st.decode(N)}}function checkOffset(n,a,S){if(n+a>S)throw RangeError(`Attempt to access memory outside buffer bounds`)}var ot,st,ct,lt,ut,dt,ft,SlowBuffer,pt=__esmMin(()=>{it(),ot=new TextEncoder,st=new TextDecoder,ct=typeof SharedArrayBuffer<`u`,lt=class Buffer extends Uint8Array{static _isBuffer=!0;static alloc(n,a,S){if(typeof n!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof n}`);if(n<0)throw RangeError(`The value "${n}" is invalid for option "size"`);let C=new Buffer(n);return a!==void 0&&a!==0&&C.fill(a,0,n,S),C}static allocUnsafe(n){if(typeof n!=`number`)throw TypeError(`The "size" argument must be of type number. Received type ${typeof n}`);return new Buffer(n)}static allocUnsafeSlow(n){return Buffer.allocUnsafe(n)}static from(n,a,S){if(typeof n==`string`){let S=normalizeEncoding(a);if(a&&typeof a==`string`){let n=(``+a).toLowerCase().replace(/-/g,``);[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`,``].includes(n)||checkEncoding(a)}let C=encodeString(n,S);return new Buffer(C.buffer,C.byteOffset,C.byteLength)}if(ArrayBuffer.isView(n)){let a=new Buffer(n.buffer,n.byteOffset,n.byteLength),S=new Buffer(a.length);return S.set(a),S}if(n instanceof ArrayBuffer){let C=a||0;return new Buffer(n,C,S===void 0?n.byteLength-C:S)}if(ct&&n instanceof SharedArrayBuffer){let C=a||0,N=S===void 0?n.byteLength-C:S;return new Buffer(new Uint8Array(n,C,N))}if(Array.isArray(n)){let a=new Buffer(n.length);for(let S=0;S<n.length;S++)a[S]=n[S]&255;return a}throw TypeError(`The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array`)}static isBuffer(n){return n instanceof Buffer}static isEncoding(n){if(typeof n!=`string`)return!1;let a=n.toLowerCase().replace(/-/g,``);return[`utf8`,`ascii`,`latin1`,`binary`,`base64`,`base64url`,`hex`,`ucs2`,`utf16le`].includes(a)}static byteLength(n,a){if(typeof n!=`string`){if(ArrayBuffer.isView(n)||n instanceof ArrayBuffer||ct&&n instanceof SharedArrayBuffer)return n.byteLength;throw TypeError(`The "string" argument must be one of type string, Buffer, or ArrayBuffer`)}switch(normalizeEncoding(a)){case`utf8`:return ot.encode(n).byteLength;case`ascii`:case`latin1`:return n.length;case`base64`:case`base64url`:{let a=n.length;for(;a>0&&(n[a-1]===`=`||n[a-1]===` `);)a--;return a*3>>>2}case`hex`:return n.length>>>1;case`utf16le`:return n.length*2;default:return ot.encode(n).byteLength}}static compare(n,a){if(!(n instanceof Uint8Array)||!(a instanceof Uint8Array))throw TypeError(`Arguments must be Buffers or Uint8Arrays`);let S=Math.min(n.length,a.length);for(let C=0;C<S;C++){if(n[C]<a[C])return-1;if(n[C]>a[C])return 1}return n.length<a.length?-1:+(n.length>a.length)}static concat(n,a){if(n.length===0)return Buffer.alloc(0);if(a===void 0){a=0;for(let S=0;S<n.length;S++)a+=n[S].length}let S=Buffer.alloc(a),C=0;for(let N=0;N<n.length;N++){let F=n[N],I=Math.min(F.length,a-C);I<=0||(S.set(F.subarray(0,I),C),C+=I)}return S}static poolSize=8192;toString(n,a,S){let C=normalizeEncoding(n);return decodeString(this,C,a,S)}toJSON(){return{type:`Buffer`,data:Array.from(this)}}equals(n){if(!(n instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);if(this.length!==n.length)return!1;for(let a=0;a<this.length;a++)if(this[a]!==n[a])return!1;return!0}compare(n,a,S,C,N){if(!(n instanceof Uint8Array))throw TypeError(`Argument must be a Buffer or Uint8Array`);let F=C!==void 0||N!==void 0?this.subarray(C??0,N??this.length):this,I=a!==void 0||S!==void 0?n.subarray(a??0,S??n.length):n;return Buffer.compare(F,I)}copy(n,a=0,S=0,C){let N=C??this.length,F=Math.min(N-S,n.length-a);return F<=0?0:(n.set(this.subarray(S,S+F),a),F)}slice(n,a){let S=n??0,C=a??this.length,N=super.subarray(S,C);return new Buffer(N.buffer,N.byteOffset,N.byteLength)}subarray(n,a){let S=super.subarray(n,a);return new Buffer(S.buffer,S.byteOffset,S.byteLength)}write(n,a,S,C){a??=0;let N=encodeString(n,normalizeEncoding(C||(typeof S==`string`?S:void 0))),F=S!==void 0&&typeof S==`number`?Math.min(S,this.length-a):this.length-a,I=Math.min(N.length,F);return this.set(N.subarray(0,I),a),I}fill(n,a,S,C){let N=a??0,F=S??this.length;if(typeof n==`number`)super.fill(n&255,N,F);else if(typeof n==`string`){let a=encodeString(n,normalizeEncoding(C));if(a.length===0)super.fill(0,N,F);else if(a.length===1)super.fill(a[0],N,F);else for(let n=N;n<F;n++)this[n]=a[(n-N)%a.length]}else if(n instanceof Uint8Array)if(n.length===0)super.fill(0,N,F);else for(let a=N;a<F;a++)this[a]=n[(a-N)%n.length];return this}indexOf(n,a,S){if(typeof n==`number`)return super.indexOf(n&255,a);let C=typeof n==`string`?encodeString(n,normalizeEncoding(S)):n,N=a??0;outer:for(let n=N;n<=this.length-C.length;n++){for(let a=0;a<C.length;a++)if(this[n+a]!==C[a])continue outer;return n}return-1}lastIndexOf(n,a,S){if(typeof n==`number`)return a===void 0?super.lastIndexOf(n&255):super.lastIndexOf(n&255,a);let C=typeof n==`string`?encodeString(n,normalizeEncoding(S)):n,N=a===void 0?this.length-C.length:Math.min(a,this.length-C.length);outer:for(let n=N;n>=0;n--){for(let a=0;a<C.length;a++)if(this[n+a]!==C[a])continue outer;return n}return-1}includes(n,a,S){return this.indexOf(n,a,S)!==-1}readUInt8(n=0){return checkOffset(n,1,this.length),this[n]}readUInt16BE(n=0){return checkOffset(n,2,this.length),this[n]<<8|this[n+1]}readUInt16LE(n=0){return checkOffset(n,2,this.length),this[n]|this[n+1]<<8}readUInt32BE(n=0){return checkOffset(n,4,this.length),this[n]*16777216+(this[n+1]<<16|this[n+2]<<8|this[n+3])}readUInt32LE(n=0){return checkOffset(n,4,this.length),this[n+3]*16777216+(this[n+2]<<16|this[n+1]<<8|this[n])>>>0}readInt8(n=0){return checkOffset(n,1,this.length),this[n]|(this[n]&128?4294967040:0)}readInt16BE(n=0){checkOffset(n,2,this.length);let a=this[n]<<8|this[n+1];return a&32768?a|4294901760:a}readInt16LE(n=0){checkOffset(n,2,this.length);let a=this[n]|this[n+1]<<8;return a&32768?a|4294901760:a}readInt32BE(n=0){return checkOffset(n,4,this.length),this[n]<<24|this[n+1]<<16|this[n+2]<<8|this[n+3]}readInt32LE(n=0){return checkOffset(n,4,this.length),this[n]|this[n+1]<<8|this[n+2]<<16|this[n+3]<<24}readFloatBE(n=0){return checkOffset(n,4,this.length),new DataView(this.buffer,this.byteOffset+n,4).getFloat32(0,!1)}readFloatLE(n=0){return checkOffset(n,4,this.length),new DataView(this.buffer,this.byteOffset+n,4).getFloat32(0,!0)}readDoubleBE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getFloat64(0,!1)}readDoubleLE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getFloat64(0,!0)}readBigInt64BE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getBigInt64(0,!1)}readBigInt64LE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getBigInt64(0,!0)}readBigUInt64BE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getBigUint64(0,!1)}readBigUInt64LE(n=0){return checkOffset(n,8,this.length),new DataView(this.buffer,this.byteOffset+n,8).getBigUint64(0,!0)}readUIntBE(n,a){checkOffset(n,a,this.length);let S=0;for(let C=0;C<a;C++)S=S*256+this[n+C];return S}readUIntLE(n,a){checkOffset(n,a,this.length);let S=0,C=1;for(let N=0;N<a;N++)S+=this[n+N]*C,C*=256;return S}readIntBE(n,a){checkOffset(n,a,this.length);let S=0;for(let C=0;C<a;C++)S=S*256+this[n+C];return S>=2**(8*a-1)&&(S-=2**(8*a)),S}readIntLE(n,a){checkOffset(n,a,this.length);let S=0,C=1;for(let N=0;N<a;N++)S+=this[n+N]*C,C*=256;return S>=2**(8*a-1)&&(S-=2**(8*a)),S}writeUInt8(n,a=0){return checkOffset(a,1,this.length),this[a]=n&255,a+1}writeUInt16BE(n,a=0){return checkOffset(a,2,this.length),this[a]=n>>>8&255,this[a+1]=n&255,a+2}writeUInt16LE(n,a=0){return checkOffset(a,2,this.length),this[a]=n&255,this[a+1]=n>>>8&255,a+2}writeUInt32BE(n,a=0){return checkOffset(a,4,this.length),this[a]=n>>>24&255,this[a+1]=n>>>16&255,this[a+2]=n>>>8&255,this[a+3]=n&255,a+4}writeUInt32LE(n,a=0){return checkOffset(a,4,this.length),this[a]=n&255,this[a+1]=n>>>8&255,this[a+2]=n>>>16&255,this[a+3]=n>>>24&255,a+4}writeInt8(n,a=0){return checkOffset(a,1,this.length),n<0&&(n=255+n+1),this[a]=n&255,a+1}writeInt16BE(n,a=0){return checkOffset(a,2,this.length),this[a]=n>>>8&255,this[a+1]=n&255,a+2}writeInt16LE(n,a=0){return checkOffset(a,2,this.length),this[a]=n&255,this[a+1]=n>>>8&255,a+2}writeInt32BE(n,a=0){return checkOffset(a,4,this.length),this[a]=n>>>24&255,this[a+1]=n>>>16&255,this[a+2]=n>>>8&255,this[a+3]=n&255,a+4}writeInt32LE(n,a=0){return checkOffset(a,4,this.length),this[a]=n&255,this[a+1]=n>>>8&255,this[a+2]=n>>>16&255,this[a+3]=n>>>24&255,a+4}writeFloatBE(n,a=0){return checkOffset(a,4,this.length),new DataView(this.buffer,this.byteOffset+a,4).setFloat32(0,n,!1),a+4}writeFloatLE(n,a=0){return checkOffset(a,4,this.length),new DataView(this.buffer,this.byteOffset+a,4).setFloat32(0,n,!0),a+4}writeDoubleBE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setFloat64(0,n,!1),a+8}writeDoubleLE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setFloat64(0,n,!0),a+8}writeBigInt64BE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setBigInt64(0,n,!1),a+8}writeBigInt64LE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setBigInt64(0,n,!0),a+8}writeBigUInt64BE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setBigUint64(0,n,!1),a+8}writeBigUInt64LE(n,a=0){return checkOffset(a,8,this.length),new DataView(this.buffer,this.byteOffset+a,8).setBigUint64(0,n,!0),a+8}swap16(){let n=this.length;if(n%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(let a=0;a<n;a+=2){let n=this[a];this[a]=this[a+1],this[a+1]=n}return this}swap32(){let n=this.length;if(n%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(let a=0;a<n;a+=4){let n=this[a],S=this[a+1];this[a]=this[a+3],this[a+1]=this[a+2],this[a+2]=S,this[a+3]=n}return this}swap64(){let n=this.length;if(n%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(let a=0;a<n;a+=8){let n=this[a],S=this[a+1],C=this[a+2],N=this[a+3];this[a]=this[a+7],this[a+1]=this[a+6],this[a+2]=this[a+5],this[a+3]=this[a+4],this[a+4]=N,this[a+5]=C,this[a+6]=S,this[a+7]=n}return this}},ut=2**31-1,dt=2**28-16,ft={MAX_LENGTH:ut,MAX_STRING_LENGTH:dt},SlowBuffer=class extends lt{constructor(n){super(n)}}}),mt=__exportAll$3({Blob:()=>X,Buffer:()=>lt,File:()=>te,INSPECT_MAX_BYTES:()=>50,SlowBuffer:()=>SlowBuffer,atob:()=>ht,btoa:()=>gt,constants:()=>ft,default:()=>_t,kMaxLength:()=>ut,kStringMaxLength:()=>dt}),ht,gt,_t,vt=__esmMin(()=>{ne(),pt(),ht=globalThis.atob,gt=globalThis.btoa,_t={Buffer:lt,SlowBuffer,Blob:X,File:te,atob:ht,btoa:gt,kMaxLength:ut,kStringMaxLength:dt,constants:ft,INSPECT_MAX_BYTES:50}});vt(),`Buffer`in globalThis||Object.defineProperty(globalThis,`Buffer`,{value:lt,enumerable:!1,writable:!0,configurable:!0}),ue(),typeof globalThis.btoa!=`function`&&Object.defineProperty(globalThis,`btoa`,{value:function btoa(n){let a=new Uint8Array(n.length);for(let S=0;S<n.length;S++)a[S]=n.charCodeAt(S)&255;return le.base64_encode(a)},enumerable:!0,writable:!0,configurable:!0}),typeof globalThis.atob!=`function`&&Object.defineProperty(globalThis,`atob`,{value:function atob(n){let a=le.base64_decode(n),S=``;for(let n=0;n<a.length;n++)S+=String.fromCharCode(a[n]);return S},enumerable:!0,writable:!0,configurable:!0}),it(),typeof queueMicrotask!=`function`&&Object.defineProperty(globalThis,`queueMicrotask`,{value:He,enumerable:!0,writable:!0,configurable:!0});function onceWrapper(){let{target:n,type:a,listener:S}=this;return this.wrapperFn&&n.removeListener(a,this.wrapperFn),S.apply(n,arguments)}function _onceWrap(n,a,S){let C={target:n,type:a,listener:S,wrapperFn:void 0},N=onceWrapper.bind(C);return C.wrapperFn=N,N.listener=S,N}function arrayClone(n){switch(n.length){case 0:return[];case 1:return[n[0]];case 2:return[n[0],n[1]];case 3:return[n[0],n[1],n[2]];default:return n.slice()}}function checkListener(n){if(typeof n!=`function`)throw TypeError(`The "listener" argument must be of type Function. Received type `+typeof n)}function validateNumber(n,a){if(typeof n!=`number`||n!==n)throw TypeError(`The "${a}" argument must be of type number. Received type ${typeof n}`)}function spliceOne(n,a){for(;a+1<n.length;a++)n[a]=n[a+1];n.pop()}function unwrapListeners(n){let a=Array(n.length);for(let S=0;S<a.length;++S)a[S]=n[S].listener??n[S];return a}function createAbortError$1(n){let a=Error(`The operation was aborted`);return a.name=`AbortError`,a.code=`ABORT_ERR`,n?.reason&&(a.cause=n.reason),a}var yt,bt,xt,St=__esmMin(()=>{Be(),yt=Symbol(`kCapture`),bt=Symbol.for(`nodejs.rejection`),xt=class EventEmitter{static defaultMaxListeners=10;static errorMonitor=Symbol(`events.errorMonitor`);static captureRejectionSymbol=bt;static _captureRejections=!1;static get captureRejections(){return EventEmitter._captureRejections}static set captureRejections(n){if(typeof n!=`boolean`)throw TypeError(`The "captureRejections" argument must be of type boolean.`);EventEmitter._captureRejections=n}_events;_eventsCount;_maxListeners;[yt];constructor(n){this._events=Object.create(null),this._eventsCount=0,this._maxListeners=void 0,this[yt]=n?.captureRejections??EventEmitter._captureRejections}setMaxListeners(n){if(validateNumber(n,`n`),n<0)throw RangeError(`The value of "n" is out of range. It must be a non-negative number. Received `+n);return this._maxListeners=n,this}getMaxListeners(){return this._maxListeners??EventEmitter.defaultMaxListeners}emit(n,...a){let S=this._events,C=n===`error`;if(S!==void 0)C&&S[EventEmitter.errorMonitor]!==void 0&&this.emit(EventEmitter.errorMonitor,...a),C&&=S.error===void 0;else if(!C)return!1;if(C){let n;if(n=a.length>0?a[0]:Error(`Unhandled error.`),n instanceof Error)throw n;let S=Error(`Unhandled error. (`+n+`)`);throw S.context=n,S}let N=S[n];if(N===void 0)return!1;if(typeof N==`function`){let S=N.apply(this,a);S!=null&&this[yt]&&this._addCatch(S,n,a)}else{let S=arrayClone(N),C=S.length;for(let N=0;N<C;++N){let C=S[N].apply(this,a);C!=null&&this[yt]&&this._addCatch(C,n,a)}}return!0}_addCatch(n,a,S){typeof n?.then==`function`&&n.then(void 0,n=>{let C=this[bt];if(typeof C==`function`)C.call(this,n,a,...S);else{let a=this[yt];try{this[yt]=!1,this.emit(`error`,n)}finally{this[yt]=a}}})}addListener(n,a){return this._addListener(n,a,!1)}on(n,a){return this._addListener(n,a,!1)}prependListener(n,a){return this._addListener(n,a,!0)}_addListener(n,a,S){checkListener(a);let C=this._events;C===void 0?(C=this._events=Object.create(null),this._eventsCount=0):C.newListener!==void 0&&(this.emit(`newListener`,n,a.listener??a),C=this._events);let N=C[n];N===void 0?(C[n]=a,++this._eventsCount):typeof N==`function`?C[n]=S?[a,N]:[N,a]:S?N.unshift(a):N.push(a);let F=this.getMaxListeners();if(F>0){let a=typeof C[n]==`function`?1:C[n].length;if(a>F&&!C[n].warned){typeof C[n]!=`function`&&(C[n].warned=!0);let S=Error(`Possible EventEmitter memory leak detected. ${a} ${String(n)} listeners added to [${this.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);S.name=`MaxListenersExceededWarning`,ze.warn(S.message)}}return this}once(n,a){return checkListener(a),this.on(n,_onceWrap(this,n,a)),this}prependOnceListener(n,a){return checkListener(a),this.prependListener(n,_onceWrap(this,n,a)),this}removeListener(n,a){checkListener(a);let S=this._events;if(S===void 0)return this;let C=S[n];if(C===void 0)return this;if(C===a||C.listener===a)--this._eventsCount===0?this._events=Object.create(null):(delete S[n],S.removeListener&&this.emit(`removeListener`,n,C.listener??a));else if(typeof C!=`function`){let N=-1;for(let n=C.length-1;n>=0;n--)if(C[n]===a||C[n].listener===a){N=n;break}if(N<0)return this;N===0?C.shift():spliceOne(C,N),C.length===1&&(S[n]=C[0]),S.removeListener!==void 0&&this.emit(`removeListener`,n,a.listener??a)}return this}off(n,a){return this.removeListener(n,a)}removeAllListeners(n){let a=this._events;if(a===void 0)return this;if(a.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):a[n]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete a[n]),this;if(arguments.length===0){let n=Object.keys(a);for(let a=0;a<n.length;++a){let S=n[a];S!==`removeListener`&&this.removeAllListeners(S)}return this.removeAllListeners(`removeListener`),this._events=Object.create(null),this._eventsCount=0,this}let S=a[n];if(typeof S==`function`)this.removeListener(n,S);else if(S!==void 0)for(let a=S.length-1;a>=0;a--)this.removeListener(n,S[a]);return this}listeners(n){let a=this._events;if(a===void 0)return[];let S=a[n];return S===void 0?[]:typeof S==`function`?[S.listener??S]:unwrapListeners(S)}rawListeners(n){let a=this._events;if(a===void 0)return[];let S=a[n];return S===void 0?[]:typeof S==`function`?[S]:arrayClone(S)}listenerCount(n){let a=this._events;if(a===void 0)return 0;let S=a[n];return S===void 0?0:typeof S==`function`?1:S.length}eventNames(){return(this._eventsCount??0)>0?Reflect.ownKeys(this._events):[]}static once(n,a,S){return new Promise((C,N)=>{let F=S?.signal;if(F?.aborted){N(createAbortError$1(F));return}if(typeof n.addEventListener==`function`){let S=n,handler=(...n)=>{F&&F.removeEventListener(`abort`,abortHandler),C(n)},errorHandler=n=>{F&&F.removeEventListener(`abort`,abortHandler),S.removeEventListener(`error`,errorHandler),N(n)},abortHandler=()=>{S.removeEventListener(a,handler),S.removeEventListener(`error`,errorHandler),N(createAbortError$1(F))};S.addEventListener(a,handler,{once:!0}),a!==`error`&&S.addEventListener(`error`,errorHandler,{once:!0}),F&&F.addEventListener(`abort`,abortHandler,{once:!0});return}let I=n,eventHandler=(...n)=>{F&&F.removeEventListener(`abort`,abortHandler),errorHandler!==void 0&&I.removeListener(`error`,errorHandler),C(n)},errorHandler;a!==`error`&&(errorHandler=n=>{I.removeListener(a,eventHandler),F&&F.removeEventListener(`abort`,abortHandler),N(n)},I.once(`error`,errorHandler)),I.once(a,eventHandler);let abortHandler=()=>{I.removeListener(a,eventHandler),errorHandler&&I.removeListener(`error`,errorHandler),N(createAbortError$1(F))};F&&F.addEventListener(`abort`,abortHandler,{once:!0})})}static on(n,a,S){let C=S?.signal;if(C?.aborted)throw createAbortError$1(C);let N=S?.highWaterMark??2**53-1,F=S?.lowWaterMark??1;validateNumber(N,`highWaterMark`),validateNumber(F,`lowWaterMark`);let I=[],H=[],W=null,K=!1,q=!1,eventHandler=(...a)=>{if(H.length>0){let{resolve:n}=H.shift();n({value:a,done:!1})}else I.push(a),I.length>=N&&!q&&(q=!0,typeof n.pause==`function`&&n.pause())},errorHandler=n=>{if(W=n,H.length>0){let{reject:a}=H.shift();a(n)}Y.return()},abortHandler=()=>{errorHandler(createAbortError$1(C))};n.on(a,eventHandler),a!==`error`&&n.on(`error`,errorHandler),C&&C.addEventListener(`abort`,abortHandler,{once:!0});let cleanup=()=>{n.removeListener(a,eventHandler),n.removeListener(`error`,errorHandler),C&&C.removeEventListener(`abort`,abortHandler),K=!0;for(let{resolve:n}of H)n({value:void 0,done:!0});H.length=0,I.length=0},Y={next(){if(I.length>0){let a=I.shift();return q&&I.length<F&&(q=!1,typeof n.resume==`function`&&n.resume()),Promise.resolve({value:a,done:!1})}if(W){let n=Promise.reject(W);return W=null,n}return K?Promise.resolve({value:void 0,done:!0}):new Promise((n,a)=>{H.push({resolve:n,reject:a})})},return(){return cleanup(),Promise.resolve({value:void 0,done:!0})},throw(n){return K||(W=n,cleanup()),Promise.reject(n)},[Symbol.asyncIterator](){return this}};return Y}static listenerCount(n,a){return n.listenerCount(a)}static getEventListeners(n,a){return typeof n.listeners==`function`?n.listeners(a):[]}static setMaxListeners(n,...a){if(validateNumber(n,`n`),n<0)throw RangeError(`The value of "n" is out of range.`);if(a.length===0)EventEmitter.defaultMaxListeners=n;else for(let S of a)typeof S.setMaxListeners==`function`&&S.setMaxListeners(n)}static getMaxListeners(n){return typeof n.getMaxListeners==`function`?n.getMaxListeners():EventEmitter.defaultMaxListeners}static addAbortListener(n,a){n.aborted&&Promise.resolve().then(()=>a());let handler=()=>a();return n.addEventListener(`abort`,handler,{once:!0}),{[Symbol.dispose](){n.removeEventListener(`abort`,handler)}}}},xt.EventEmitter=xt;for(let n of[`setMaxListeners`,`getMaxListeners`,`emit`,`addListener`,`on`,`prependListener`,`once`,`prependOnceListener`,`removeListener`,`off`,`removeAllListeners`,`listeners`,`rawListeners`,`listenerCount`,`eventNames`]){let a=xt.prototype[n];typeof a==`function`&&Object.defineProperty(xt.prototype,n,{enumerable:!0,configurable:!0,writable:!0,value:a})}Object.defineProperty(xt.prototype,`_events`,{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(xt.prototype,`_eventsCount`,{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(xt.prototype,`_maxListeners`,{enumerable:!0,configurable:!0,writable:!0,value:void 0}),__name$1(createAbortError$1,`createAbortError`)}),Ct=__exportAll$3({EventEmitter:()=>wt,addAbortListener:()=>Pt,captureRejectionSymbol:()=>Tt,default:()=>wt,defaultMaxListeners:()=>Dt,errorMonitor:()=>Et,getEventListeners:()=>Mt,getMaxListeners:()=>kt,listenerCount:()=>Nt,on:()=>jt,once:()=>At,setMaxListeners:()=>Ot}),wt,Tt,Et,Dt,Ot,kt,At,jt,Mt,Nt,Pt,Ft=__esmMin(()=>{St(),it(),wt=makeCallable(xt),wt.EventEmitter=wt,Tt=wt.captureRejectionSymbol,Et=wt.errorMonitor,Dt=wt.defaultMaxListeners,Ot=wt.setMaxListeners,kt=wt.getMaxListeners,At=wt.once,jt=wt.on,Mt=wt.getEventListeners,Nt=wt.listenerCount,Pt=wt.addAbortListener});Ft();let It=null;const Lt=globalThis.imports?.gi;if(Lt)try{It=Lt.GjsifyTerminal}catch{}const Rt=It;Be(),it();const zt=new TextEncoder;function getGjsGlobal(){return globalThis}function detectGjsVersion(){try{let n=getGjsGlobal().imports?.system;if(n?.version!==void 0){let a=Number(n.version);return`${Math.floor(a/1e4)}.${Math.floor(a%1e4/100)}.${a%100}`}}catch{}}function detectNodeVersion(){if(typeof globalThis.process?.versions?.node==`string`)return globalThis.process.versions.node}function detectVersionInfo(){if(detectNodeVersion())return{version:globalThis.process.version,versions:{...globalThis.process.versions},title:globalThis.process?.title||`node`};let n=detectGjsVersion(),a={node:`20.0.0`};return n&&(a.gjs=n),{version:`v20.0.0`,versions:a,title:`gjs`}}function detectPpid(){if(typeof globalThis.process?.ppid==`number`)return globalThis.process.ppid;try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let[,a]=n.file_get_contents(`/proc/self/status`);if(a){let n=new TextDecoder().decode(a).match(/PPid:\s+(\d+)/);if(n)return parseInt(n[1],10)}}}catch{}return 0}function detectPlatform(){try{let n=getGjsGlobal().imports?.gi?.GLib;if(n&&n.get_os_info(`ID`))return`linux`}catch{}return getGjsGlobal().imports?.system===void 0&&typeof globalThis.process?.platform==`string`?globalThis.process.platform:`linux`}function detectArch(){return typeof globalThis.process?.arch==`string`?globalThis.process.arch:`x64`}function getCwd(){try{let n=getGjsGlobal().imports?.gi?.GLib;if(n?.get_current_dir)return n.get_current_dir()}catch{}return`/`}function getEnvProxy(){if(typeof globalThis.process?.env==`object`)return globalThis.process.env;try{let n=getGjsGlobal().imports?.gi?.GLib;if(n)return new Proxy({},{get(a,S){if(typeof S==`string`)return n.getenv(S)??void 0},set(a,S,C){return typeof S==`string`?(n.setenv(S,String(C),!0),!0):!1},deleteProperty(a,S){return typeof S==`string`?(n.unsetenv(S),!0):!1},has(a,S){return typeof S==`string`?n.getenv(S)!==null:!1},ownKeys(a){return n.listenv()},getOwnPropertyDescriptor(a,S){if(typeof S!=`string`)return;let C=n.getenv(S);if(C!==null)return{configurable:!0,enumerable:!0,writable:!0,value:C}}})}catch{}return{}}function getArgv(){if(globalThis.process?.argv!==void 0)return globalThis.process.argv;try{let n=getGjsGlobal().imports?.system;if(n?.programArgs)return[`gjs`,n.programInvocationName||``,...n.programArgs]}catch{}return[`gjs`]}function getExecPath(){if(typeof globalThis.process?.execPath==`string`)return globalThis.process.execPath;try{let n=getGjsGlobal().imports?.system;if(n?.programInvocationName)return n.programInvocationName}catch{}return`/usr/bin/gjs`}function getPid$1(){if(typeof globalThis.process?.pid==`number`)return globalThis.process.pid;try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let[,a]=n.file_get_contents(`/proc/self/stat`);if(a){let n=new TextDecoder().decode(a),S=parseInt(n,10);if(!isNaN(S))return S}}}catch{}return 0}__name$1(getPid$1,`getPid`);const Bt=Date.now();function getGioNamespace(){let n=globalThis.imports?.gi;if(!n)return null;let a=null;try{a=n.GioUnix}catch{}if(!a)try{a=n.Gio}catch{}return a}var ProcessWriteStream=class extends wt{fd;writable=!0;_outGio=null;constructor(n){super(),this.fd=n;let a=getGioNamespace();if(a){let n=a.UnixOutputStream??a.OutputStream;if(n)try{this._outGio=n.new(this.fd,!1)}catch{}}}write(n){if(this._outGio)try{let a=typeof n==`string`?zt.encode(n):n;return this._outGio.write_all(a,null),!0}catch{}return this.fd===2?ze.error(n):ze.log(n),!0}get isTTY(){if(Rt)return Rt.Terminal.is_tty(this.fd);try{let n=getGjsGlobal().imports?.gi?.GLib;if(n)return!!n.log_writer_supports_color(this.fd)}catch{}return!1}get columns(){if(Rt){let[n,,a]=Rt.Terminal.get_size(this.fd);if(n&&a>0)return a}try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let a=parseInt(n.getenv(`COLUMNS`)??`0`,10);if(a>0)return a}}catch{}return 80}end(){}destroy(){}get rows(){if(Rt){let[n,a]=Rt.Terminal.get_size(this.fd);if(n&&a>0)return a}try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let a=parseInt(n.getenv(`LINES`)??`0`,10);if(a>0)return a}}catch{}return 24}},ProcessReadStream=class extends wt{fd;isRaw=!1;_gio=null;_stdinGio=null;_reading=!1;_flowing=!1;_sttyCleanupRegistered=!1;_mainLoopHeld=!1;_pendingRead=!1;constructor(n){super(),this.fd=n,this._gio=getGioNamespace()}get isTTY(){return Rt?Rt.Terminal.is_tty(this.fd):!1}setRawMode(n){return Rt&&Rt.Terminal.set_raw_mode(this.fd,n)?(this.isRaw=n,this):(this._setRawModeViaStty(n),this.isRaw=n,this)}_setRawModeViaStty(n){try{let a=globalThis.imports?.gi,S=a?.Gio??a?.Gio;if(!S)return;let C=S.SubprocessFlags?.STDIN_INHERIT??2,N=n?[`stty`,`-icanon`,`-echo`,`-icrnl`,`min`,`1`,`time`,`0`]:[`stty`,`icanon`,`echo`,`icrnl`];if(new S.SubprocessLauncher({flags:C}).spawnv(N).wait(null),n&&!this._sttyCleanupRegistered){this._sttyCleanupRegistered=!0;let n=globalThis.process;n?.once&&typeof n.once==`function`&&n.once(`exit`,()=>this._setRawModeViaStty(!1))}}catch{}}setEncoding(n){return this}resume(){return this._flowing=!0,this._gio&&this.fd===0&&!this._reading&&this._startReading(),this}pause(){if(this._flowing=!1,this._reading=!1,this._mainLoopHeld){this._mainLoopHeld=!1;let n=globalThis.imports?.gi,a=n?.GLib??n?.GLib;a?.idle_add?a.idle_add(300,()=>(this._mainLoopHeld||quitMainLoop(),!1)):quitMainLoop()}return this}read(){return null}_startReading(){if(!this._gio||this._reading)return;if(this._pendingRead){this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop());return}if(this._reading=!0,this._mainLoopHeld||(this._mainLoopHeld=!0,ensureMainLoop()),!this._stdinGio){let n=this._gio.UnixInputStream??this._gio.InputStream;if(!n){this._reading=!1;return}try{this._stdinGio=n.new(this.fd,!1)}catch{this._reading=!1;return}}let loop=()=>{if(!this._reading){this._pendingRead=!1;return}this._pendingRead=!0,this._stdinGio.read_bytes_async(4096,0,null,(n,a)=>{this._pendingRead=!1;try{let S=n.read_bytes_finish(a)?.get_data?.()??null;if(S&&S.byteLength>0)this.emit(`data`,Buffer.from(S));else if(S!==null&&S.byteLength===0){this._reading=!1,this.emit(`end`);return}}catch{this._reading=!1;return}this._reading&&loop()})};loop()}};function getMonotonicTime(){try{let n=getGjsGlobal().imports?.gi?.GLib;if(n?.get_monotonic_time)return BigInt(n.get_monotonic_time())*1000n}catch{}return typeof performance?.now==`function`?BigInt(Math.round(performance.now()*1e6)):BigInt(Date.now())*1000000n}const Vt=getMonotonicTime();var Process=class extends wt{platform;arch;env;argv;argv0;execPath;pid;ppid;version;versions;title;execArgv;config;exitCode;constructor(){super(),this.platform=detectPlatform(),this.arch=detectArch(),this.env=getEnvProxy(),this.argv=getArgv(),this.argv0=this.argv[0]||`gjs`,this.execPath=getExecPath(),this.execArgv=globalThis.process?.execArgv??[],this.config=globalThis.process?.config??{target_defaults:{},variables:{}},this.pid=getPid$1(),this.ppid=detectPpid();let n=detectVersionInfo();this.version=n.version,this.versions=n.versions,this.title=n.title}cwd(){return getCwd()}chdir(n){try{let a=getGjsGlobal().imports?.gi?.GLib;if(a?.chdir){if(!a.file_test(n,16)){let a=Error(`ENOENT: no such file or directory, chdir '${n}'`);throw a.code=`ENOENT`,a.syscall=`chdir`,a.path=n,a}a.chdir(n);return}}catch(n){if(n&&typeof n==`object`&&n.code===`ENOENT`)throw n}let a=globalThis.process;if(a&&a!==this&&typeof a.chdir==`function`){a.chdir(n);return}throw Error(`process.chdir() is not supported in this environment`)}kill(n,a){let S=globalThis.process;if(S&&S!==this&&typeof S.kill==`function`)return S.kill(n,a);try{let S=getGjsGlobal().imports?.gi?.GLib;if(S){let C=typeof a==`number`?String(a):a||`SIGTERM`,N=C.startsWith(`SIG`)?`-${C.slice(3)}`:`-${C}`;return S.spawn_command_line_sync(`kill ${N} ${n}`),!0}}catch{}throw Error(`process.kill() is not supported in this environment`)}exit(n){this.exitCode=n??this.exitCode??0,this.emit(`exit`,this.exitCode);let a=getGjsGlobal().imports,S=a?.gi?.GLib,C=a?.system,N=S?.idle_add,F=S?.SOURCE_REMOVE,I=S?.PRIORITY_DEFAULT;if(C?.exit&&N&&typeof I==`number`&&typeof F==`boolean`){let n=this.exitCode;return ensureMainLoop(),N(I,()=>(quitMainLoop(),C.exit(n),F)),new Promise(()=>{})}try{C?.exit&&C.exit(this.exitCode)}catch{}let H=globalThis.process;throw H&&H!==this&&typeof H.exit==`function`&&H.exit(this.exitCode),Error(`process.exit(${this.exitCode})`)}nextTick(n,...a){typeof queueMicrotask==`function`?queueMicrotask(()=>n(...a)):Promise.resolve().then(()=>n(...a))}hrtime(n){let a=getMonotonicTime()-Vt,S=Number(a/1000000000n),C=Number(a%1000000000n);if(n){let a=S-n[0],N=C-n[1];return N<0&&(a--,N+=1e9),[a,N]}return[S,C]}uptime(){return(Date.now()-Bt)/1e3}memoryUsage(){try{let n=getGjsGlobal().imports?.gi?.GLib;if(n){let[,a]=n.file_get_contents(`/proc/self/status`);if(a){let n=new TextDecoder().decode(a).match(/VmRSS:\s+(\d+)/),S=n?parseInt(n[1],10)*1024:0;return{rss:S,heapTotal:S,heapUsed:S,external:0,arrayBuffers:0}}}}catch{}let n=globalThis.process;return n&&n!==this&&typeof n.memoryUsage==`function`?n.memoryUsage():{rss:0,heapTotal:0,heapUsed:0,external:0,arrayBuffers:0}}cpuUsage(n){let a=globalThis.process;return a&&a!==this&&typeof a.cpuUsage==`function`?a.cpuUsage(n):{user:0,system:0}}stdout=new ProcessWriteStream(1);stderr=new ProcessWriteStream(2);stdin=new ProcessReadStream(0);abort(){this.exit(1)}umask(n){return 18}emitWarning(n,a){ze.warn(typeof n==`string`?`(${a||`Warning`}): ${n}`:n.message)}};Process.prototype.hrtime.bigint=function(){return getMonotonicTime()-Vt};const Ht=new Process;if(Rt)try{let n=new Rt.ResizeWatcher;n.connect(`resized`,(n,a,S)=>{Ht.stdout.emit(`resize`),Ht.stderr.emit(`resize`)}),n.start()}catch{}const Ut=Ht.platform;Ht.arch,Ht.env,Ht.argv,Ht.argv0;const Wt=Ht.execPath;Ht.pid,Ht.ppid,Ht.version,Ht.versions,Ht.cwd.bind(Ht),Ht.chdir.bind(Ht),Ht.exit.bind(Ht),Ht.nextTick.bind(Ht);const Gt=Ht.hrtime.bind(Ht);Ht.uptime.bind(Ht),Ht.memoryUsage.bind(Ht),Ht.cpuUsage.bind(Ht),Ht.kill.bind(Ht),Ht.abort.bind(Ht),Ht.umask.bind(Ht),Ht.emitWarning.bind(Ht);const Kt=Ht.execArgv;Ht.config;const qt=Ht.stdout;Ht.stderr;const Jt=Ht.stdin;it(),typeof Promise.withResolvers!=`function`&&(Promise.withResolvers=function(){let n,a;return{promise:new Promise((S,C)=>{n=S,a=C}),resolve:n,reject:a}}),initErrorV8Methods(Error),`global`in globalThis||Object.defineProperty(globalThis,`global`,{value:globalThis,writable:!1,enumerable:!1,configurable:!0}),Object.defineProperty(globalThis,`process`,{value:Ht,enumerable:!1,writable:!0,configurable:!0}),it(),typeof globalThis.structuredClone!=`function`&&Object.defineProperty(globalThis,`structuredClone`,{value:structuredClone$1,enumerable:!0,writable:!0,configurable:!0});function getGLib(){return globalThis.imports?.gi?.GLib}const Yt=getGLib()!==void 0;var GjsifyTimeout=class{_id=null;_refed=!0;_callback;_delay;_args;_repeat;constructor(n,a,S,C){this._callback=n,this._delay=a,this._args=S,this._repeat=C,this._schedule()}_schedule(){let n=getGLib();if(!n)return;let a=n.timeout_add.bind(n);this._id=a(n.PRIORITY_DEFAULT,this._delay,()=>{try{this._callback.apply(globalThis,this._args)}catch(n){setTimeout(()=>{throw n},0)}return this._repeat?n.SOURCE_CONTINUE:(this._id=null,n.SOURCE_REMOVE)})}ref(){return this._refed=!0,this}unref(){return this._refed=!1,this}hasRef(){return this._refed}refresh(){return this._cancel(),this._schedule(),this}_cancel(){if(this._id!==null){try{getGLib()?.Source.remove(this._id)}catch{}this._id=null}}[Symbol.toPrimitive](){return this._id}[Symbol.dispose](){this._cancel()}};function removeById(n){if(n instanceof GjsifyTimeout)n._cancel();else if(typeof n==`number`)try{getGLib()?.Source.remove(n)}catch{}}if(Yt){let setT=(n,a=0,...S)=>new GjsifyTimeout(n,Math.max(0,a|0),S,!1),setI=(n,a=0,...S)=>new GjsifyTimeout(n,Math.max(0,a|0),S,!0),n=globalThis;n.setTimeout=setT,n.clearTimeout=removeById,n.setInterval=setI,n.clearInterval=removeById}function setImmediate$2(n,...a){return setTimeout(n,0,...a)}__name$1(setImmediate$2,`setImmediate`);function clearImmediate(n){clearTimeout(n)}`setImmediate`in globalThis||Object.defineProperty(globalThis,`setImmediate`,{value:setImmediate$2,enumerable:!0,writable:!0,configurable:!0}),`clearImmediate`in globalThis||Object.defineProperty(globalThis,`clearImmediate`,{value:clearImmediate,enumerable:!0,writable:!0,configurable:!0});var Xt=__exportAll$3({URL:()=>$t,URLSearchParams:()=>Qt,default:()=>en,domainToASCII:()=>domainToASCII,domainToUnicode:()=>domainToUnicode,fileURLToPath:()=>fileURLToPath,format:()=>format$4,parse:()=>parse$4,pathToFileURL:()=>pathToFileURL,resolve:()=>resolve$3});function decodeComponent(n){try{return decodeURIComponent(n.replace(/\+/g,` `))}catch{return n}}function encodeComponent(n){return encodeURIComponent(n).replace(/%20/g,`+`)}function parse$4(n,a,S){if(typeof n!=`string`)throw TypeError(`The "url" argument must be of type string. Received type `+typeof n);let C={protocol:null,slashes:null,auth:null,host:null,port:null,hostname:null,hash:null,search:null,query:null,pathname:null,path:null,href:n},N=n.trim(),F=N.indexOf(`#`);F!==-1&&(C.hash=N.slice(F),N=N.slice(0,F));let I=N.indexOf(`?`);I!==-1&&(C.search=N.slice(I),C.query=a?Object.fromEntries(new Qt(N.slice(I+1))):N.slice(I+1),N=N.slice(0,I));let H=/^([a-z][a-z0-9.+-]*:)/i.exec(N);if(H&&(C.protocol=H[1].toLowerCase(),N=N.slice(C.protocol.length)),(S||C.protocol)&&N.startsWith(`//`)&&(C.slashes=!0,N=N.slice(2)),C.slashes||C.protocol&&![`javascript:`,`data:`,`mailto:`].includes(C.protocol)){let n=-1;for(let a=0;a<N.length;a++){let S=N[a];if(S===`/`||S===`\\`){n=a;break}}let a=n===-1?N:N.slice(0,n);N=n===-1?``:N.slice(n);let S=a.lastIndexOf(`@`);S===-1?parseHostPort(a,C):(C.auth=decodeURIComponent(a.slice(0,S)),parseHostPort(a.slice(S+1),C))}return C.pathname=N||(C.slashes?`/`:null),(C.pathname!==null||C.search!==null)&&(C.path=(C.pathname||``)+(C.search||``)),C.href=format$4(C),C}function parseHostPort(n,a){if(!n)return;let S=n.indexOf(`[`);if(S!==-1){let C=n.indexOf(`]`,S);if(C!==-1){let N=n.slice(C+1);N.startsWith(`:`)&&(a.port=N.slice(1)),a.hostname=n.slice(S,C+1),a.host=a.hostname+(a.port?`:`+a.port:``);return}}let C=n.lastIndexOf(`:`);if(C!==-1){let S=n.slice(C+1);/^\d*$/.test(S)?(a.port=S||null,a.hostname=n.slice(0,C).toLowerCase()):a.hostname=n.toLowerCase()}else a.hostname=n.toLowerCase();a.host=a.hostname+(a.port?`:`+a.port:``)}function format$4(n){if(typeof n==`string`)return n;if(n instanceof $t)return n.href;let a=n,S=``;if(a.protocol&&(S+=a.protocol),(a.slashes||a.protocol&&![`javascript:`,`data:`,`mailto:`].includes(a.protocol||``))&&(S+=`//`),a.auth&&(S+=encodeURIComponent(a.auth)+`@`),a.host?S+=a.host:(a.hostname&&(S+=a.hostname),a.port&&(S+=`:`+a.port)),a.pathname&&(S+=a.pathname),a.search)S+=a.search;else if(a.query&&typeof a.query==`object`){let n=new Qt(a.query).toString();n&&(S+=`?`+n)}return a.hash&&(S+=a.hash),S}function resolve$3(n,a){return new $t(a,new $t(n,`resolve://`)).href.replace(/^resolve:\/\//,``)}function fileURLToPath(n){if(typeof n==`string`&&(n=new $t(n)),!(n instanceof $t))throw TypeError(`The "url" argument must be of type string or URL. Received type `+typeof n);if(n.protocol!==`file:`)throw TypeError(`The URL must be of scheme file`);if(n.hostname!==``&&n.hostname!==`localhost`)throw TypeError(`File URL host must be "localhost" or empty on linux`);let a=n.pathname;for(let n=0;n<a.length;n++)if(a[n]===`%`){let S=a.codePointAt(n+2)|32;if(a[n+1]===`2`&&S===102)throw TypeError(`File URL path must not include encoded / characters`)}return decodeURIComponent(a)}function pathToFileURL(n){let a=n;if(n[0]!==`/`)if(typeof globalThis.process?.cwd==`function`)a=globalThis.process.cwd()+`/`+n;else try{le?.get_current_dir&&(a=le.get_current_dir()+`/`+n)}catch{}return new $t(`file://`+encodePathForURL(a))}function encodePathForURL(n){let a=``;for(let S=0;S<n.length;S++){let C=n[S];C>=`a`&&C<=`z`||C>=`A`&&C<=`Z`||C>=`0`&&C<=`9`||C===`/`||C===`-`||C===`_`||C===`.`||C===`~`||C===`:`||C===`@`||C===`!`?a+=C:a+=encodeURIComponent(C)}return a}function domainToASCII(n){try{return new $t(`http://${n}`).hostname}catch{return``}}function domainToUnicode(n){try{return new $t(`http://${n}`).hostname}catch{return``}}var Zt,Qt,$t,en,tn=__esmMin(()=>{ue(),Zt=le.UriFlags.HAS_PASSWORD|le.UriFlags.ENCODED|le.UriFlags.SCHEME_NORMALIZE,Qt=class URLSearchParams{_entries=[];constructor(n){if(n)if(typeof n==`string`){let a=n.startsWith(`?`)?n.slice(1):n;if(a)for(let n of a.split(`&`)){let a=n.indexOf(`=`);a===-1?this._entries.push([decodeComponent(n),``]):this._entries.push([decodeComponent(n.slice(0,a)),decodeComponent(n.slice(a+1))])}}else if(Array.isArray(n))for(let[a,S]of n)this._entries.push([String(a),String(S)]);else if(n instanceof URLSearchParams)this._entries=n._entries.map(([n,a])=>[n,a]);else for(let a of Object.keys(n))this._entries.push([a,String(n[a])])}get(n){for(let[a,S]of this._entries)if(a===n)return S;return null}getAll(n){return this._entries.filter(([a])=>a===n).map(([,n])=>n)}set(n,a){let S=!1;if(this._entries=this._entries.filter(([a])=>a===n?S?!1:(S=!0,!0):!0),S){for(let S=0;S<this._entries.length;S++)if(this._entries[S][0]===n){this._entries[S][1]=a;break}}else this._entries.push([n,a])}has(n){return this._entries.some(([a])=>a===n)}delete(n){this._entries=this._entries.filter(([a])=>a!==n)}append(n,a){this._entries.push([n,a])}sort(){this._entries.sort((n,a)=>n[0]<a[0]?-1:+(n[0]>a[0]))}toString(){return this._entries.map(([n,a])=>encodeComponent(n)+`=`+encodeComponent(a)).join(`&`)}forEach(n){for(let[a,S]of this._entries)n(S,a,this)}*entries(){yield*this._entries}*keys(){for(let[n]of this._entries)yield n}*values(){for(let[,n]of this._entries)yield n}[Symbol.iterator](){return this.entries()}get size(){return this._entries.length}},$t=class URL{#e;#t;constructor(n,a){let S=n instanceof URL?n.href:String(n);try{if(a!==void 0){let n=a instanceof URL?a.href:String(a),C=le.Uri.parse(n,Zt);this.#e=C.parse_relative(S,Zt)}else this.#e=le.Uri.parse(S,Zt)}catch{throw TypeError(`Invalid URL: ${S}`)}if(!this.#e)throw TypeError(`Invalid URL: ${S}`);this.#t=new Qt(this.#e.get_query()||``)}get protocol(){return this.#e.get_scheme()+`:`}get hostname(){return(this.#e.get_host()||``).toLowerCase()}get port(){let n=this.#e.get_port();if(n===-1)return``;let a=this.#e.get_scheme();return(a===`http`||a===`ws`)&&n===80||(a===`https`||a===`wss`)&&n===443||a===`ftp`&&n===21?``:String(n)}get host(){let n=this.hostname,a=this.port;return a?`${n}:${a}`:n}get pathname(){return this.#e.get_path()||`/`}get search(){let n=this.#e.get_query();return n?`?`+n:``}get hash(){let n=this.#e.get_fragment();return n?`#`+n:``}get origin(){let n=this.protocol;return n===`http:`||n===`https:`||n===`ftp:`?`${n}//${this.host}`:`null`}get username(){return this.#e.get_user()||``}get password(){return this.#e.get_password()||``}get href(){let n=this.protocol,a=this.#e.get_scheme();(a===`http`||a===`https`||a===`ftp`||a===`file`||a===`ws`||a===`wss`||this.hostname)&&(n+=`//`);let S=this.username,C=this.password;S&&(n+=S,C&&(n+=`:`+C),n+=`@`),n+=this.hostname,this.port&&(n+=`:`+this.port);let N=this.pathname;return n+=N,n+=this.search,n+=this.hash,n}get searchParams(){return this.#t}toString(){return this.href}toJSON(){return this.href}static _objectURLPaths=new Map;static _objectURLCounter=0;static createObjectURL(n){let a=n?._tmpPath;if(typeof a==`string`&&a.length>0){let n=`file://${a}`;return URL._objectURLPaths.set(n,a),n}return`file:///dev/null`}static revokeObjectURL(n){let a=URL._objectURLPaths.get(n);if(a){try{le.unlink(a)}catch{}URL._objectURLPaths.delete(n)}}},__name$1(parse$4,`parse`),__name$1(format$4,`format`),__name$1(resolve$3,`resolve`),en={URL:$t,URLSearchParams:Qt,parse:parse$4,format:format$4,resolve:resolve$3,fileURLToPath,pathToFileURL,domainToASCII,domainToUnicode}});tn(),typeof globalThis.URL!=`function`&&Object.defineProperty(globalThis,`URL`,{value:$t,enumerable:!1,writable:!0,configurable:!0}),typeof globalThis.URLSearchParams!=`function`&&Object.defineProperty(globalThis,`URLSearchParams`,{value:Qt,enumerable:!1,writable:!0,configurable:!0});var nn=__exportAll$3({PerformanceEntry:()=>on,PerformanceMark:()=>cn,PerformanceMeasure:()=>ln,PerformanceObserver:()=>an,PerformanceObserverEntryList:()=>sn,default:()=>un,eventLoopUtilization:()=>eventLoopUtilization,monitorEventLoopDelay:()=>monitorEventLoopDelay,performance:()=>rn,timerify:()=>timerify});function eventLoopUtilization(n,a){return{idle:0,active:0,utilization:0}}function timerify(n){let wrapped=function(...a){let S=rn.now(),C=n.apply(this,a);return rn.now()-S,C};return Object.defineProperty(wrapped,`name`,{value:n.name}),wrapped}function monitorEventLoopDelay(n){let a=new Map;return{enable(){},disable(){},reset(){},percentile(n){return 0},get min(){return 0},get max(){return 0},get mean(){return 0},get stddev(){return 0},get percentiles(){return a}}}var rn,PerformanceObserverStub,PerformanceEntryStub,PerformanceObserverEntryListStub,an,on,sn,cn,ln,un,dn=__esmMin(()=>{if(globalThis.performance)rn=globalThis.performance;else{let n,_now;try{let a=globalThis.imports.gi.GLib;n=a.get_monotonic_time(),_now=()=>(a.get_monotonic_time()-n)/1e3}catch{let a=Date.now();n=0,_now=()=>Date.now()-a}let a=[],S=Date.now()-_now();rn={timeOrigin:S,now:_now,mark(n){let S={name:n,entryType:`mark`,startTime:_now(),duration:0};return a.push(S),S},measure(n,S,C){let N=0,F=_now();if(S){let n=a.find(n=>n.entryType===`mark`&&n.name===S);n&&(N=n.startTime)}if(C){let n=a.find(n=>n.entryType===`mark`&&n.name===C);n&&(F=n.startTime)}let I={name:n,entryType:`measure`,startTime:N,duration:F-N};return a.push(I),I},getEntries(){return[...a]},getEntriesByName(n){return a.filter(a=>a.name===n)},getEntriesByType(n){return a.filter(a=>a.entryType===n)},clearMarks(n){for(let S=a.length-1;S>=0;S--)a[S].entryType===`mark`&&(!n||a[S].name===n)&&a.splice(S,1)},clearMeasures(n){for(let S=a.length-1;S>=0;S--)a[S].entryType===`measure`&&(!n||a[S].name===n)&&a.splice(S,1)},clearResourceTimings(){},setResourceTimingBufferSize(){},toJSON(){return{timeOrigin:S}}}}PerformanceObserverStub=class{_callback;constructor(n){this._callback=n}observe(n){}disconnect(){}takeRecords(){return[]}},PerformanceEntryStub=class{name=``;entryType=``;startTime=0;duration=0;toJSON(){return{name:this.name,entryType:this.entryType,startTime:this.startTime,duration:this.duration}}},PerformanceObserverEntryListStub=class{getEntries(){return[]}getEntriesByName(n){return[]}getEntriesByType(n){return[]}},an=globalThis.PerformanceObserver||PerformanceObserverStub,on=globalThis.PerformanceEntry||PerformanceEntryStub,sn=globalThis.PerformanceObserverEntryList||PerformanceObserverEntryListStub,cn=globalThis.PerformanceMark||class PerformanceMark extends PerformanceEntryStub{},ln=globalThis.PerformanceMeasure||class PerformanceMeasure extends PerformanceEntryStub{},un={performance:rn,PerformanceObserver:an,PerformanceEntry:on,PerformanceObserverEntryList:sn,PerformanceMark:cn,PerformanceMeasure:ln,eventLoopUtilization,timerify,monitorEventLoopDelay}});dn(),globalThis.performance===void 0&&(globalThis.performance=rn),typeof globalThis.PerformanceObserver!=`function`&&(globalThis.PerformanceObserver=an);const fn={IndexSizeError:1,HierarchyRequestError:3,WrongDocumentError:4,InvalidCharacterError:5,NoModificationAllowedError:7,NotFoundError:8,NotSupportedError:9,InUseAttributeError:10,InvalidStateError:11,SyntaxError:12,InvalidModificationError:13,NamespaceError:14,InvalidAccessError:15,TypeMismatchError:17,SecurityError:18,NetworkError:19,AbortError:20,URLMismatchError:21,QuotaExceededError:22,TimeoutError:23,InvalidNodeTypeError:24,DataCloneError:25};var _DOMExceptionPolyfill=class extends Error{code;constructor(n,a){super(n),this.name=a||`Error`,this.code=Object.hasOwn(fn,this.name)?fn[this.name]:0}};const pn=globalThis.DOMException===void 0?_DOMExceptionPolyfill:globalThis.DOMException;Be();const mn=Symbol(`type`),hn=Symbol(`bubbles`),gn=Symbol(`cancelable`),_n=Symbol(`composed`),vn=Symbol(`target`),yn=Symbol(`currentTarget`),bn=Symbol(`eventPhase`),xn=Symbol(`defaultPrevented`),Sn=Symbol(`isTrusted`),Cn=Symbol(`timeStamp`),wn=Symbol(`stop`),Tn=Symbol(`immediateStop`),En=Symbol(`dispatching`),Q=Symbol(`inPassiveListener`);var Event=class{[mn];[hn];[gn];[_n];[vn]=null;[yn]=null;[bn]=0;[xn]=!1;[Sn]=!1;[Cn];[wn]=!1;[Tn]=!1;[En]=!1;[Q]=!1;get type(){return this[mn]}get bubbles(){return this[hn]}get cancelable(){return this[gn]}get composed(){return this[_n]}get target(){return this[vn]}get currentTarget(){return this[yn]}get eventPhase(){return this[bn]}get defaultPrevented(){return this[xn]}get timeStamp(){return this[Cn]}get cancelBubble(){return this[wn]}set cancelBubble(n){n&&this.stopPropagation()}get returnValue(){return!this[xn]}set returnValue(n){n||this.preventDefault()}get srcElement(){return this[vn]}static NONE=0;static CAPTURING_PHASE=1;static AT_TARGET=2;static BUBBLING_PHASE=3;get[Symbol.toStringTag](){return`Event`}constructor(n,a){this[mn]=n,this[hn]=a?.bubbles??!1,this[gn]=a?.cancelable??!1,this[_n]=a?.composed??!1,this[Cn]=Date.now(),Object.defineProperty(this,`isTrusted`,{get:()=>this[Sn],enumerable:!0,configurable:!1})}composedPath(){return this[yn]?[this[yn]]:[]}preventDefault(){this[gn]&&!this[Q]&&(this[xn]=!0)}stopPropagation(){this[wn]=!0}stopImmediatePropagation(){this[wn]=!0,this[Tn]=!0}},EventTarget=class{_listeners=new Map;get[Symbol.toStringTag](){return`EventTarget`}addEventListener(n,a,S){if(a===null)return;let C=typeof S==`boolean`?S:S?.capture??!1,N=typeof S==`object`?S?.once??!1:!1,F=typeof S==`object`?S?.passive??!1:!1,I=this._listeners.get(n);I||(I=[],this._listeners.set(n,I));for(let n of I)if(n.listener===a&&n.capture===C)return;let H={listener:a,capture:C,once:N,passive:F,removed:!1};I.push(H),typeof S==`object`&&S?.signal&&S.signal.addEventListener(`abort`,()=>{this.removeEventListener(n,a,{capture:C})},{once:!0})}removeEventListener(n,a,S){if(a===null)return;let C=typeof S==`boolean`?S:S?.capture??!1,N=this._listeners.get(n);if(!N)return;let F=N.findIndex(n=>n.listener===a&&n.capture===C);F!==-1&&(N[F].removed=!0,N.splice(F,1),N.length===0&&this._listeners.delete(n))}dispatchEvent(n){if(n[En])throw new pn(`The event is already being dispatched.`,`InvalidStateError`);n[En]=!0,n[vn]=this,n[yn]=this,n[bn]=Event.AT_TARGET;let a=this._listeners.get(n.type);if(a){let S=[...a];for(let a of S)if(!a.removed){if(n[Tn]||n[wn])break;a.once&&this.removeEventListener(n.type,a.listener,{capture:a.capture});try{a.passive&&(n[Q]=!0),typeof a.listener==`function`?a.listener.call(this,n):typeof a.listener.handleEvent==`function`&&a.listener.handleEvent.call(a.listener,n)}catch(n){ze.error(n)}finally{n[Q]=!1}}}return n[bn]=Event.NONE,n[yn]=null,n[En]=!1,!n.defaultPrevented}};for(let[n,a]of[[`NONE`,0],[`CAPTURING_PHASE`,1],[`AT_TARGET`,2],[`BUBBLING_PHASE`,3]])Object.defineProperty(Event.prototype,n,{value:a,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(Event,n,{value:a,writable:!1,enumerable:!0,configurable:!1});const Dn=Symbol(`abort`),On=Symbol(`internal`);var kn=class AbortSignal extends EventTarget{#e=!1;reason=void 0;onabort=null;constructor(n){if(super(),n!==On)throw TypeError(`Illegal constructor.`)}get aborted(){if(!(this instanceof AbortSignal))throw TypeError(`'get aborted' called on an object that is not a valid instance of AbortSignal.`);return this.#e}get[Symbol.toStringTag](){return`AbortSignal`}throwIfAborted(){if(this.#e)throw this.reason}[Dn](n){if(this.#e)return;this.#e=!0,this.reason=n??new pn(`The operation was aborted.`,`AbortError`);let a=new Event(`abort`);typeof this.onabort==`function`&&this.onabort.call(this,a),this.dispatchEvent(a)}static abort(n){let a=new AbortSignal(On);return a[Dn](n),a}static timeout(n){let a=new AbortSignal(On);return setTimeout(()=>{a[Dn](new pn(`The operation timed out.`,`TimeoutError`))},n),a}static any(n){let a=new AbortSignal(On);for(let S of n)if(S.aborted)return a[Dn](S.reason),a;let onAbort=()=>{if(!a.aborted){let S=n.find(n=>n.aborted);a[Dn](S?.reason)}};for(let a of n)a.addEventListener(`abort`,onAbort,{once:!0});return a}},An=class AbortController{signal;constructor(){this.signal=new kn(On)}abort(n){if(!(this instanceof AbortController))throw TypeError(`'abort' called on an object that is not a valid instance of AbortController.`);this.signal[Dn](n)}};globalThis.AbortController===void 0&&(globalThis.AbortController=An),globalThis.AbortSignal===void 0&&(globalThis.AbortSignal=kn);const jn=Symbol(`kState`),Mn=Symbol(`kType`);function isBrandCheck(n){return a=>typeof a==`object`&&!!a&&a[jn]!==void 0&&a[Mn]===n}function dequeueValue(n){let{value:a,size:S}=n[jn].queue.shift();return n[jn].queueTotalSize=Math.max(0,n[jn].queueTotalSize-S),a}function resetQueue(n){n[jn].queue=[],n[jn].queueTotalSize=0}function peekQueueValue(n){return n[jn].queue[0].value}function enqueueValueWithSize(n,a,S){if(S=+S,typeof S!=`number`||S<0||Number.isNaN(S)||S===1/0)throw RangeError(`Invalid size: ${S}`);n[jn].queue.push({value:a,size:S}),n[jn].queueTotalSize+=S}function extractHighWaterMark(n,a){if(n===void 0)return a;if(n=+n,typeof n!=`number`||Number.isNaN(n)||n<0)throw RangeError(`Invalid highWaterMark: ${n}`);return n}function extractSizeAlgorithm(n){if(n===void 0)return()=>1;if(typeof n!=`function`)throw TypeError(`strategy.size must be a function`);return n}function transferArrayBuffer(n){return typeof ArrayBuffer.prototype.transfer==`function`?n.transfer():n.slice(0)}function isDetachedBuffer(n){if(typeof SharedArrayBuffer<`u`&&n instanceof SharedArrayBuffer||n.byteLength!==0)return!1;try{return n.slice(0,0),!1}catch{return!0}}function typedArrayConstructorByTag(n){switch(n){case`Int8Array`:return Int8Array;case`Uint8Array`:return Uint8Array;case`Uint8ClampedArray`:return Uint8ClampedArray;case`Int16Array`:return Int16Array;case`Uint16Array`:return Uint16Array;case`Int32Array`:return Int32Array;case`Uint32Array`:return Uint32Array;case`Float32Array`:return Float32Array;case`Float64Array`:return Float64Array;case`BigInt64Array`:return typeof BigInt64Array<`u`?BigInt64Array:void 0;case`BigUint64Array`:return typeof BigUint64Array<`u`?BigUint64Array:void 0;default:return}}function elementSizeByTag(n){switch(n){case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:return 1;case`Int16Array`:case`Uint16Array`:return 2;case`Int32Array`:case`Uint32Array`:case`Float32Array`:return 4;case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:return 8;default:return 1}}function setPromiseHandled(n){n.then(()=>{},()=>{})}function createPromiseCallback(n,a,S){if(typeof a!=`function`)throw TypeError(`${n} must be a function`);return async(...n)=>a.call(S,...n)}async function nonOpFlush(){}function nonOpStart(){}async function nonOpPull(){}async function nonOpCancel(){}async function nonOpWrite(){}const Nn={__proto__:Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),next:void 0,return:void 0};function createAsyncFromSyncIterator(n){let a={[Symbol.iterator]:()=>n.iterator},S=async function*(){return yield*a}();return{iterator:S,nextMethod:S.next,done:!1}}function getIterator(n,a=`sync`,S){if(S===void 0)if(a===`async`){if(S=n[Symbol.asyncIterator],S==null){let a=n[Symbol.iterator];if(a===void 0)throw TypeError(`Object is not iterable`);return createAsyncFromSyncIterator(getIterator(n,`sync`,a))}}else S=n[Symbol.iterator];if(S===void 0)throw TypeError(`Object is not iterable`);let C=S.call(n);if(typeof C!=`object`||!C)throw TypeError(`The iterator method must return an object`);return{iterator:C,nextMethod:C.next,done:!1}}function iteratorNext(n,a){let S;if(S=a===void 0?n.nextMethod.call(n.iterator):n.nextMethod.call(n.iterator,a),typeof S!=`object`||!S)throw TypeError(`The iterator.next() method must return an object`);return S}const Pn=typeof globalThis.AbortController==`function`?globalThis.AbortController:class AbortControllerShim{signal={aborted:!1,reason:void 0,addEventListener(){},removeEventListener(){}};abort(n){this.signal.aborted=!0,this.signal.reason=n}},Fn=Symbol(`kAbort`),In=Symbol(`kCloseSentinel`),Ln=Symbol(`kError`),Rn=Symbol(`kSkipThrow`);var WritableStream=class{[Mn]=`WritableStream`;[jn];constructor(n={},a={}){if(n!=null&&typeof n!=`object`)throw TypeError(`sink must be an object`);if(a!=null&&typeof a!=`object`)throw TypeError(`strategy must be an object`);let S=n?.type;if(S!==void 0)throw RangeError(`Invalid type: ${S}`);this[jn]=createWritableStreamState();let C=extractSizeAlgorithm(a?.size),N=extractHighWaterMark(a?.highWaterMark,1);setupWritableStreamDefaultControllerFromSink(this,n,N,C)}get locked(){if(!zn(this))throw TypeError(`Invalid this`);return isWritableStreamLocked(this)}abort(n){return zn(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamAbort(this,n):Promise.reject(TypeError(`Invalid this`))}close(){return zn(this)?isWritableStreamLocked(this)?Promise.reject(TypeError(`WritableStream is locked`)):writableStreamCloseQueuedOrInFlight(this)?Promise.reject(TypeError(`Failure closing WritableStream`)):writableStreamClose(this):Promise.reject(TypeError(`Invalid this`))}getWriter(){if(!zn(this))throw TypeError(`Invalid this`);return new WritableStreamDefaultWriter(this)}get[Symbol.toStringTag](){return`WritableStream`}},WritableStreamDefaultWriter=class{[Mn]=`WritableStreamDefaultWriter`;[jn];constructor(n){if(!zn(n))throw TypeError(`Expected a WritableStream`);this[jn]={stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0},ready:{promise:void 0,resolve:void 0,reject:void 0}},setupWritableStreamDefaultWriter(this,n)}get closed(){return Bn(this)?this[jn].close.promise:Promise.reject(TypeError(`Invalid this`))}get desiredSize(){if(!Bn(this))throw TypeError(`Invalid this`);if(this[jn].stream===void 0)throw TypeError(`Writer is not bound to a WritableStream`);return writableStreamDefaultWriterGetDesiredSize(this)}get ready(){return Bn(this)?this[jn].ready.promise:Promise.reject(TypeError(`Invalid this`))}abort(n){return Bn(this)?this[jn].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterAbort(this,n):Promise.reject(TypeError(`Invalid this`))}close(){if(!Bn(this))return Promise.reject(TypeError(`Invalid this`));let{stream:n}=this[jn];return n===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamCloseQueuedOrInFlight(n)?Promise.reject(TypeError(`Failure to close WritableStream`)):writableStreamDefaultWriterClose(this)}releaseLock(){if(!Bn(this))throw TypeError(`Invalid this`);let{stream:n}=this[jn];n!==void 0&&writableStreamDefaultWriterRelease(this)}write(n){return Bn(this)?this[jn].stream===void 0?Promise.reject(TypeError(`Writer is not bound to a WritableStream`)):writableStreamDefaultWriterWrite(this,n):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`WritableStreamDefaultWriter`}},WritableStreamDefaultController=class{[Mn]=`WritableStreamDefaultController`;[jn];constructor(n){if(n!==Rn)throw TypeError(`Illegal constructor`)}[Fn](n){let a=this[jn].abortAlgorithm(n);return writableStreamDefaultControllerClearAlgorithms(this),a}[Ln](){resetQueue(this)}get signal(){if(!Vn(this))throw TypeError(`Invalid this`);return this[jn].abortController.signal}error(n){if(!Vn(this))throw TypeError(`Invalid this`);this[jn].stream[jn].state===`writable`&&writableStreamDefaultControllerError(this,n)}get[Symbol.toStringTag](){return`WritableStreamDefaultController`}};const zn=isBrandCheck(`WritableStream`),Bn=isBrandCheck(`WritableStreamDefaultWriter`),Vn=isBrandCheck(`WritableStreamDefaultController`);function createEmptyPromiseRecord(){return{promise:void 0,resolve:void 0,reject:void 0}}function createWritableStreamState(){return{close:Promise.withResolvers(),closeRequest:createEmptyPromiseRecord(),inFlightWriteRequest:createEmptyPromiseRecord(),inFlightCloseRequest:createEmptyPromiseRecord(),pendingAbortRequest:{abort:createEmptyPromiseRecord(),reason:void 0,wasAlreadyErroring:!1},backpressure:!1,controller:void 0,state:`writable`,storedError:void 0,writeRequests:[],writer:void 0}}function isWritableStreamLocked(n){return n[jn].writer!==void 0}function setupWritableStreamDefaultWriter(n,a){if(isWritableStreamLocked(a))throw TypeError(`WritableStream is locked`);switch(n[jn].stream=a,a[jn].writer=n,a[jn].state){case`writable`:!writableStreamCloseQueuedOrInFlight(a)&&a[jn].backpressure?n[jn].ready=Promise.withResolvers():n[jn].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},n[jn].close=Promise.withResolvers();break;case`erroring`:n[jn].ready={promise:Promise.reject(a[jn].storedError),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].ready.promise),n[jn].close=Promise.withResolvers();break;case`closed`:n[jn].ready={promise:Promise.resolve(),resolve:void 0,reject:void 0},n[jn].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;default:n[jn].ready={promise:Promise.reject(a[jn].storedError),resolve:void 0,reject:void 0},n[jn].close={promise:Promise.reject(a[jn].storedError),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].ready.promise),setPromiseHandled(n[jn].close.promise)}}function writableStreamAbort(n,a){let{state:S,controller:C}=n[jn];if(S===`closed`||S===`errored`)return Promise.resolve();if(C[jn].abortController.abort(a),n[jn].pendingAbortRequest.abort.promise!==void 0)return n[jn].pendingAbortRequest.abort.promise;let N=!1;S===`erroring`&&(N=!0,a=void 0);let F=Promise.withResolvers();return n[jn].pendingAbortRequest={abort:F,reason:a,wasAlreadyErroring:N},N||writableStreamStartErroring(n,a),F.promise}function writableStreamClose(n){let{state:a,writer:S,backpressure:C,controller:N}=n[jn];if(a===`closed`||a===`errored`)return Promise.reject(TypeError(`WritableStream is closed`));n[jn].closeRequest=Promise.withResolvers();let{promise:F}=n[jn].closeRequest;return S!==void 0&&C&&a===`writable`&&S[jn].ready.resolve?.(),writableStreamDefaultControllerClose(N),F}function writableStreamUpdateBackpressure(n,a){let{writer:S}=n[jn];S!==void 0&&n[jn].backpressure!==a&&(a?S[jn].ready=Promise.withResolvers():S[jn].ready.resolve?.()),n[jn].backpressure=a}function writableStreamStartErroring(n,a){let{controller:S,writer:C}=n[jn];n[jn].state=`erroring`,n[jn].storedError=a,C!==void 0&&writableStreamDefaultWriterEnsureReadyPromiseRejected(C,a),!writableStreamHasOperationMarkedInFlight(n)&&S[jn].started&&writableStreamFinishErroring(n)}function writableStreamRejectCloseAndClosedPromiseIfNeeded(n){n[jn].closeRequest.promise!==void 0&&(n[jn].closeRequest.reject?.(n[jn].storedError),n[jn].closeRequest={promise:void 0,resolve:void 0,reject:void 0}),setPromiseHandled(n[jn].close.promise),n[jn].close.reject?.(n[jn].storedError);let{writer:a}=n[jn];a!==void 0&&(setPromiseHandled(a[jn].close.promise),a[jn].close.reject?.(n[jn].storedError))}function writableStreamMarkFirstWriteRequestInFlight(n){let a=n[jn].writeRequests.shift();n[jn].inFlightWriteRequest=a}function writableStreamMarkCloseRequestInFlight(n){n[jn].inFlightCloseRequest=n[jn].closeRequest,n[jn].closeRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamHasOperationMarkedInFlight(n){return n[jn].inFlightWriteRequest.promise!==void 0||n[jn].inFlightCloseRequest.promise!==void 0}function writableStreamFinishInFlightWriteWithError(n,a){n[jn].inFlightWriteRequest.reject?.(a),n[jn].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0},writableStreamDealWithRejection(n,a)}function writableStreamFinishInFlightWrite(n){n[jn].inFlightWriteRequest.resolve?.(),n[jn].inFlightWriteRequest={promise:void 0,resolve:void 0,reject:void 0}}function writableStreamFinishInFlightCloseWithError(n,a){n[jn].inFlightCloseRequest.reject?.(a),n[jn].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},n[jn].pendingAbortRequest.abort.promise!==void 0&&(n[jn].pendingAbortRequest.abort.reject?.(a),n[jn].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1}),writableStreamDealWithRejection(n,a)}function writableStreamFinishInFlightClose(n){n[jn].inFlightCloseRequest.resolve?.(),n[jn].inFlightCloseRequest={promise:void 0,resolve:void 0,reject:void 0},n[jn].state===`erroring`&&(n[jn].storedError=void 0,n[jn].pendingAbortRequest.abort.promise!==void 0&&(n[jn].pendingAbortRequest.abort.resolve?.(),n[jn].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1})),n[jn].state=`closed`,n[jn].writer!==void 0&&n[jn].writer[jn].close.resolve?.(),n[jn].close.resolve?.()}function writableStreamFinishErroring(n){n[jn].state=`errored`,n[jn].controller[Ln]();let a=n[jn].storedError;for(let S of n[jn].writeRequests)S.reject?.(a);if(n[jn].writeRequests=[],n[jn].pendingAbortRequest.abort.promise===void 0){writableStreamRejectCloseAndClosedPromiseIfNeeded(n);return}let S=n[jn].pendingAbortRequest;if(n[jn].pendingAbortRequest={abort:{promise:void 0,resolve:void 0,reject:void 0},reason:void 0,wasAlreadyErroring:!1},S.wasAlreadyErroring){S.abort.reject?.(a),writableStreamRejectCloseAndClosedPromiseIfNeeded(n);return}n[jn].controller[Fn](S.reason).then(()=>{S.abort.resolve?.(),writableStreamRejectCloseAndClosedPromiseIfNeeded(n)},a=>{S.abort.reject?.(a),writableStreamRejectCloseAndClosedPromiseIfNeeded(n)})}function writableStreamDealWithRejection(n,a){if(n[jn].state===`writable`){writableStreamStartErroring(n,a);return}writableStreamFinishErroring(n)}function writableStreamCloseQueuedOrInFlight(n){return n[jn].closeRequest.promise!==void 0||n[jn].inFlightCloseRequest.promise!==void 0}function writableStreamAddWriteRequest(n){let{promise:a,resolve:S,reject:C}=Promise.withResolvers();return n[jn].writeRequests.push({promise:a,resolve:S,reject:C}),a}function writableStreamDefaultWriterWrite(n,a){let{stream:S}=n[jn],{controller:C}=S[jn],N=writableStreamDefaultControllerGetChunkSize(C,a);if(S!==n[jn].stream)return Promise.reject(TypeError(`Mismatched WritableStreams`));let{state:F}=S[jn];if(F===`errored`)return Promise.reject(S[jn].storedError);if(writableStreamCloseQueuedOrInFlight(S)||F===`closed`)return Promise.reject(TypeError(`WritableStream is closed`));if(F===`erroring`)return Promise.reject(S[jn].storedError);let I=writableStreamAddWriteRequest(S);return writableStreamDefaultControllerWrite(C,a,N),I}function writableStreamDefaultWriterRelease(n){let{stream:a}=n[jn],S=TypeError(`Writer has been released`);writableStreamDefaultWriterEnsureReadyPromiseRejected(n,S),writableStreamDefaultWriterEnsureClosedPromiseRejected(n,S),a[jn].writer=void 0,n[jn].stream=void 0}function writableStreamDefaultWriterGetDesiredSize(n){let{stream:a}=n[jn];switch(a[jn].state){case`errored`:case`erroring`:return null;case`closed`:return 0}return writableStreamDefaultControllerGetDesiredSize(a[jn].controller)}function writableStreamDefaultWriterEnsureReadyPromiseRejected(n,a){n[jn].ready.reject?(n[jn].ready.reject(a),n[jn].ready.resolve=void 0,n[jn].ready.reject=void 0):n[jn].ready={promise:Promise.reject(a),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].ready.promise)}function writableStreamDefaultWriterEnsureClosedPromiseRejected(n,a){n[jn].close.reject?(n[jn].close.reject(a),n[jn].close.resolve=void 0,n[jn].close.reject=void 0):n[jn].close={promise:Promise.reject(a),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].close.promise)}function writableStreamDefaultWriterCloseWithErrorPropagation(n){let{stream:a}=n[jn],{state:S}=a[jn];return writableStreamCloseQueuedOrInFlight(a)||S===`closed`?Promise.resolve():S===`errored`?Promise.reject(a[jn].storedError):writableStreamDefaultWriterClose(n)}function writableStreamDefaultWriterClose(n){return writableStreamClose(n[jn].stream)}function writableStreamDefaultWriterAbort(n,a){return writableStreamAbort(n[jn].stream,a)}function writableStreamDefaultControllerWrite(n,a,S){try{enqueueValueWithSize(n,a,S)}catch(a){writableStreamDefaultControllerErrorIfNeeded(n,a);return}let{stream:C}=n[jn];!writableStreamCloseQueuedOrInFlight(C)&&C[jn].state===`writable`&&writableStreamUpdateBackpressure(C,writableStreamDefaultControllerGetBackpressure(n)),writableStreamDefaultControllerAdvanceQueueIfNeeded(n)}function writableStreamDefaultControllerProcessWrite(n,a){let{stream:S,writeAlgorithm:C}=n[jn];writableStreamMarkFirstWriteRequestInFlight(S),C(a,n).then(()=>{writableStreamFinishInFlightWrite(S);let{state:a}=S[jn];dequeueValue(n),!writableStreamCloseQueuedOrInFlight(S)&&a===`writable`&&writableStreamUpdateBackpressure(S,writableStreamDefaultControllerGetBackpressure(n)),writableStreamDefaultControllerAdvanceQueueIfNeeded(n)},a=>{S[jn].state===`writable`&&writableStreamDefaultControllerClearAlgorithms(n),writableStreamFinishInFlightWriteWithError(S,a)})}function writableStreamDefaultControllerProcessClose(n){let{closeAlgorithm:a,queue:S,stream:C}=n[jn];writableStreamMarkCloseRequestInFlight(C),dequeueValue(n);let N=a();writableStreamDefaultControllerClearAlgorithms(n),N.then(()=>writableStreamFinishInFlightClose(C),n=>writableStreamFinishInFlightCloseWithError(C,n))}function writableStreamDefaultControllerGetDesiredSize(n){return n[jn].highWaterMark-n[jn].queueTotalSize}function writableStreamDefaultControllerGetChunkSize(n,a){let{stream:S,sizeAlgorithm:C}=n[jn];if(C===void 0)return 1;try{return C(a)}catch(a){return writableStreamDefaultControllerErrorIfNeeded(n,a),1}}function writableStreamDefaultControllerErrorIfNeeded(n,a){n[jn].stream[jn].state===`writable`&&writableStreamDefaultControllerError(n,a)}function writableStreamDefaultControllerError(n,a){writableStreamDefaultControllerClearAlgorithms(n),writableStreamStartErroring(n[jn].stream,a)}function writableStreamDefaultControllerClose(n){enqueueValueWithSize(n,In,0),writableStreamDefaultControllerAdvanceQueueIfNeeded(n)}function writableStreamDefaultControllerClearAlgorithms(n){n[jn].writeAlgorithm=void 0,n[jn].closeAlgorithm=void 0,n[jn].abortAlgorithm=void 0,n[jn].sizeAlgorithm=void 0}function writableStreamDefaultControllerGetBackpressure(n){return writableStreamDefaultControllerGetDesiredSize(n)<=0}function writableStreamDefaultControllerAdvanceQueueIfNeeded(n){let{queue:a,started:S,stream:C}=n[jn];if(!S||C[jn].inFlightWriteRequest.promise!==void 0)return;if(C[jn].state===`erroring`){writableStreamFinishErroring(C);return}if(!a.length)return;let N=peekQueueValue(n);N===In?writableStreamDefaultControllerProcessClose(n):writableStreamDefaultControllerProcessWrite(n,N)}function setupWritableStreamDefaultControllerFromSink(n,a,S,C){let N=new WritableStreamDefaultController(Rn),F=a?.start,I=a?.write,H=a?.close,W=a?.abort;setupWritableStreamDefaultController(n,N,F?F.bind(a,N):nonOpStart,I?createPromiseCallback(`sink.write`,I,a):nonOpWrite,H?createPromiseCallback(`sink.close`,H,a):nonOpCancel,W?createPromiseCallback(`sink.abort`,W,a):nonOpCancel,S,C)}function setupWritableStreamDefaultController(n,a,S,C,N,F,I,H){a[jn]={abortAlgorithm:F,closeAlgorithm:N,highWaterMark:I,queue:[],queueTotalSize:0,abortController:new Pn,sizeAlgorithm:H,started:!1,stream:n,writeAlgorithm:C},n[jn].controller=a,writableStreamUpdateBackpressure(n,writableStreamDefaultControllerGetBackpressure(a));let W=S();new Promise(n=>n(W)).then(()=>{a[jn].started=!0,writableStreamDefaultControllerAdvanceQueueIfNeeded(a)},S=>{a[jn].started=!0,writableStreamDealWithRejection(n,S)})}function createWritableStream(n,a,S,C,N=1,F=()=>1){let I=Object.create(WritableStream.prototype);return I[Mn]=`WritableStream`,I[jn]=createWritableStreamState(),setupWritableStreamDefaultController(I,new WritableStreamDefaultController(Rn),n,a,S,C,N,F),I}it();const Hn=Symbol(`kCancel`),Un=Symbol(`kClose`),Wn=Symbol(`kChunk`),Gn=Symbol(`kError`),Kn=Symbol(`kPull`),qn=Symbol(`kRelease`),Jn=Symbol(`kSkipThrow`);let Yn,Xn;function lazyReadableReleasedError(){return Yn||(Yn=TypeError(`Reader released`),Yn)}function lazyReadableReleasingError(){return Xn||(Xn=TypeError(`Releasing reader`),Xn)}function createAbortError(){if(typeof globalThis.DOMException==`function`)return new DOMException(`The operation was aborted`,`AbortError`);let n=Error(`The operation was aborted`);return n.name=`AbortError`,n}function createReadableStreamState(){return{disturbed:!1,reader:void 0,state:`readable`,storedError:void 0,controller:void 0,closedPromise:Promise.withResolvers()}}var ReadableStream$1=class{static{__name$1(this,`ReadableStream`)}[Mn]=`ReadableStream`;[jn];constructor(n={},a={}){if(n!=null&&typeof n!=`object`)throw TypeError(`source must be an object`);if(a!=null&&typeof a!=`object`)throw TypeError(`strategy must be an object`);this[jn]=createReadableStreamState();let S=a?.size,C=a?.highWaterMark,N=n?.type;if(N!==void 0){if(`${N}`==`bytes`){if(S!==void 0)throw RangeError(`strategy.size must not be set for a byte stream`);setupReadableByteStreamControllerFromSource(this,n,extractHighWaterMark(C,0));return}throw RangeError(`Invalid type: ${N}`)}setupReadableStreamDefaultControllerFromSource(this,n,extractHighWaterMark(C,1),extractSizeAlgorithm(S))}get locked(){if(!Zn(this))throw TypeError(`Invalid this`);return isReadableStreamLocked(this)}static from(n){return readableStreamFromIterable(n)}cancel(n=void 0){return Zn(this)?isReadableStreamLocked(this)?Promise.reject(TypeError(`ReadableStream is locked`)):readableStreamCancel(this,n):Promise.reject(TypeError(`Invalid this`))}getReader(n={}){if(!Zn(this))throw TypeError(`Invalid this`);if(n!=null&&typeof n!=`object`)throw TypeError(`options must be an object`);let a=n?.mode;if(a===void 0)return new ReadableStreamDefaultReader(this);if(`${a}`==`byob`)return new ReadableStreamBYOBReader(this);throw RangeError(`Invalid mode: ${a}`)}pipeThrough(n,a={}){if(!Zn(this))throw TypeError(`Invalid this`);let S=n?.readable;if(!Zn(S))throw TypeError(`transform.readable must be a ReadableStream`);let C=n?.writable;if(!zn(C))throw TypeError(`transform.writable must be a WritableStream`);if(a!=null&&typeof a!=`object`)throw TypeError(`options must be an object`);let N=a?.preventAbort,F=a?.preventCancel,I=a?.preventClose,H=a?.signal;if(H!==void 0&&!(H instanceof Object&&`aborted`in H))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(C))throw TypeError(`The WritableStream is locked`);return setPromiseHandled(readableStreamPipeTo(this,C,!!I,!!N,!!F,H)),S}pipeTo(n,a={}){try{if(!Zn(this))throw TypeError(`Invalid this`);if(!zn(n))throw TypeError(`destination must be a WritableStream`);if(a!=null&&typeof a!=`object`)throw TypeError(`options must be an object`);let S=a?.preventAbort,C=a?.preventCancel,N=a?.preventClose,F=a?.signal;if(F!==void 0&&!(F instanceof Object&&`aborted`in F))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(isWritableStreamLocked(n))throw TypeError(`The WritableStream is locked`);return readableStreamPipeTo(this,n,!!N,!!S,!!C,F)}catch(n){return Promise.reject(n)}}tee(){if(!Zn(this))throw TypeError(`Invalid this`);let n=this[jn].controller;return er(n)?readableByteStreamTee(this):readableStreamDefaultTee(this,!1)}values(n={}){if(!Zn(this))throw TypeError(`Invalid this`);if(n!=null&&typeof n!=`object`)throw TypeError(`options must be an object`);let a=!!n?.preventCancel,S=new ReadableStreamDefaultReader(this),C={done:!1,current:void 0},N=!1;function nextSteps(){if(C.done)return Promise.resolve({done:!0,value:void 0});if(S[jn].stream===void 0)return Promise.reject(TypeError(`The reader is not bound to a ReadableStream`));let{promise:n,resolve:a,reject:N}=Promise.withResolvers();return readableStreamDefaultReaderRead(S,{[Wn](n){C.current=void 0,a({value:n,done:!1})},[Un](){C.current=void 0,C.done=!0,readableStreamReaderGenericRelease(S),a({done:!0,value:void 0})},[Gn](n){C.current=void 0,C.done=!0,readableStreamReaderGenericRelease(S),N(n)}}),n}async function returnSteps(n){if(C.done)return{done:!0,value:n};if(C.done=!0,S[jn].stream===void 0)throw TypeError(`The reader is not bound to a ReadableStream`);if(!a){let a=readableStreamReaderGenericCancel(S,n);return readableStreamReaderGenericRelease(S),await a,{done:!0,value:n}}return readableStreamReaderGenericRelease(S),{done:!0,value:n}}return Object.setPrototypeOf({next(){return N||=(C.current=Promise.resolve(),!0),C.current=C.current===void 0?nextSteps():C.current.then(nextSteps,nextSteps),C.current},return(n){return N=!0,C.current=C.current===void 0?returnSteps(n):C.current.then(()=>returnSteps(n),()=>returnSteps(n)),C.current},[Symbol.asyncIterator](){return this}},Nn)}[Symbol.asyncIterator](){return this.values()}get[Symbol.toStringTag](){return`ReadableStream`}},DefaultReadRequest=class{[jn];constructor(){this[jn]=Promise.withResolvers()}[Wn](n){this[jn].resolve?.({value:n,done:!1})}[Un](){this[jn].resolve?.({value:void 0,done:!0})}[Gn](n){this[jn].reject?.(n)}get promise(){return this[jn].promise}},ReadableStreamDefaultReader=class{[Mn]=`ReadableStreamDefaultReader`;[jn];constructor(n){if(!Zn(n))throw TypeError(`Expected a ReadableStream`);this[jn]={readRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamDefaultReader(this,n)}read(){if(!$n(this))return Promise.reject(TypeError(`Invalid this`));if(this[jn].stream===void 0)return Promise.reject(TypeError(`The reader is not attached to a stream`));let n=this[jn].stream,a=n[jn].controller;if(n[jn].state===`readable`&&Qn(a)&&a[jn].queue.length>0){n[jn].disturbed=!0;let S=dequeueValue(a);return a[jn].closeRequested&&!a[jn].queue.length?(readableStreamDefaultControllerClearAlgorithms(a),readableStreamClose(n)):readableStreamDefaultControllerCallPullIfNeeded(a),Promise.resolve({value:S,done:!1})}let S=new DefaultReadRequest;return readableStreamDefaultReaderRead(this,S),S.promise}releaseLock(){if(!$n(this))throw TypeError(`Invalid this`);this[jn].stream!==void 0&&readableStreamDefaultReaderRelease(this)}get closed(){return $n(this)?this[jn].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(n=void 0){return $n(this)?this[jn].stream===void 0?Promise.reject(TypeError(`The reader is not attached to a stream`)):readableStreamReaderGenericCancel(this,n):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamDefaultReader`}},ReadableStreamDefaultController=class{[Mn]=`ReadableStreamDefaultController`;[jn]={};constructor(n){if(n!==Jn)throw TypeError(`Illegal constructor`)}get desiredSize(){return readableStreamDefaultControllerGetDesiredSize(this)}close(){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerClose(this)}enqueue(n=void 0){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerEnqueue(this,n)}error(n=void 0){readableStreamDefaultControllerError(this,n)}[Hn](n){return readableStreamDefaultControllerCancelSteps(this,n)}[Kn](n){readableStreamDefaultControllerPullSteps(this,n)}[qn](){}get[Symbol.toStringTag](){return`ReadableStreamDefaultController`}};const Zn=isBrandCheck(`ReadableStream`),Qn=isBrandCheck(`ReadableStreamDefaultController`),$n=isBrandCheck(`ReadableStreamDefaultReader`);function isReadableStreamLocked(n){return n[jn].reader!==void 0}function readableStreamCancel(n,a){switch(n[jn].disturbed=!0,n[jn].state){case`closed`:return Promise.resolve();case`errored`:return Promise.reject(n[jn].storedError)}readableStreamClose(n);let S=n[jn].reader;if(S!==void 0&&readableStreamHasBYOBReader(n)){let n=S[jn].readIntoRequests;S[jn].readIntoRequests=[];for(let a=0;a<n.length;a++)n[a][Un](void 0)}return n[jn].controller[Hn](a).then(()=>{})}function readableStreamClose(n){n[jn].state=`closed`,n[jn].closedPromise.resolve();let{reader:a}=n[jn];if(a!==void 0&&(a[jn].close.resolve?.(),readableStreamHasDefaultReader(n))){for(let n=0;n<a[jn].readRequests.length;n++)a[jn].readRequests[n][Un]();a[jn].readRequests=[]}}function readableStreamError(n,a){n[jn].state=`errored`,n[jn].storedError=a,setPromiseHandled(n[jn].closedPromise.promise),n[jn].closedPromise.reject(a);let{reader:S}=n[jn];if(S!==void 0){if(setPromiseHandled(S[jn].close.promise),S[jn].close.reject?.(a),readableStreamHasDefaultReader(n)){for(let n=0;n<S[jn].readRequests.length;n++)S[jn].readRequests[n][Gn](a);S[jn].readRequests=[]}else if(readableStreamHasBYOBReader(n)){for(let n=0;n<S[jn].readIntoRequests.length;n++)S[jn].readIntoRequests[n][Gn](a);S[jn].readIntoRequests=[]}}}function readableStreamHasDefaultReader(n){let{reader:a}=n[jn];return a===void 0?!1:a[jn]!==void 0&&a[Mn]===`ReadableStreamDefaultReader`}function readableStreamGetNumReadRequests(n){return n[jn].reader[jn].readRequests.length}function readableStreamFulfillReadRequest(n,a,S){let{reader:C}=n[jn],N=C[jn].readRequests.shift();S?N[Un]():N[Wn](a)}function readableStreamAddReadRequest(n,a){n[jn].reader[jn].readRequests.push(a)}function readableStreamReaderGenericCancel(n,a){let{stream:S}=n[jn];return readableStreamCancel(S,a)}function readableStreamReaderGenericInitialize(n,a){switch(n[jn].stream=a,a[jn].reader=n,a[jn].state){case`readable`:n[jn].close=Promise.withResolvers();break;case`closed`:n[jn].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;case`errored`:n[jn].close={promise:Promise.reject(a[jn].storedError),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].close.promise);break}}function readableStreamReaderGenericRelease(n){let{stream:a}=n[jn],S=lazyReadableReleasedError();a[jn].state===`readable`?n[jn].close.reject?.(S):n[jn].close={promise:Promise.reject(S),resolve:void 0,reject:void 0},setPromiseHandled(n[jn].close.promise),a[jn].controller[qn](),a[jn].reader=void 0,n[jn].stream=void 0}function readableStreamDefaultReaderRelease(n){readableStreamReaderGenericRelease(n),readableStreamDefaultReaderErrorReadRequests(n,lazyReadableReleasingError())}function readableStreamDefaultReaderErrorReadRequests(n,a){for(let S=0;S<n[jn].readRequests.length;++S)n[jn].readRequests[S][Gn](a);n[jn].readRequests=[]}function readableStreamDefaultReaderRead(n,a){let{stream:S}=n[jn];switch(S[jn].disturbed=!0,S[jn].state){case`closed`:a[Un]();break;case`errored`:a[Gn](S[jn].storedError);break;case`readable`:S[jn].controller[Kn](a);break}}function setupReadableStreamDefaultReader(n,a){if(isReadableStreamLocked(a))throw TypeError(`ReadableStream is locked`);readableStreamReaderGenericInitialize(n,a),n[jn].readRequests=[]}function readableStreamDefaultControllerClose(n){readableStreamDefaultControllerCanCloseOrEnqueue(n)&&(n[jn].closeRequested=!0,n[jn].queue.length||(readableStreamDefaultControllerClearAlgorithms(n),readableStreamClose(n[jn].stream)))}function readableStreamDefaultControllerEnqueue(n,a){if(!readableStreamDefaultControllerCanCloseOrEnqueue(n))return;let{stream:S}=n[jn];if(isReadableStreamLocked(S)&&readableStreamGetNumReadRequests(S))readableStreamFulfillReadRequest(S,a,!1);else try{enqueueValueWithSize(n,a,n[jn].sizeAlgorithm(a))}catch(a){throw readableStreamDefaultControllerError(n,a),a}readableStreamDefaultControllerCallPullIfNeeded(n)}function readableStreamDefaultControllerCanCloseOrEnqueue(n){let{stream:a}=n[jn];return!n[jn].closeRequested&&a[jn].state===`readable`}function readableStreamDefaultControllerGetDesiredSize(n){let{stream:a,highWaterMark:S,queueTotalSize:C}=n[jn];switch(a[jn].state){case`errored`:return null;case`closed`:return 0;default:return S-C}}function readableStreamDefaultControllerHasBackpressure(n){return!readableStreamDefaultControllerShouldCallPull(n)}function readableStreamDefaultControllerShouldCallPull(n){let{stream:a}=n[jn];if(!readableStreamDefaultControllerCanCloseOrEnqueue(n)||!n[jn].started)return!1;if(isReadableStreamLocked(a)&&readableStreamGetNumReadRequests(a))return!0;let S=readableStreamDefaultControllerGetDesiredSize(n);return S!==null&&S>0}function readableStreamDefaultControllerCallPullIfNeeded(n){if(readableStreamDefaultControllerShouldCallPull(n)){if(n[jn].pulling){n[jn].pullAgain=!0;return}n[jn].pulling=!0,n[jn].pullAlgorithm(n).then(()=>{n[jn].pulling=!1,n[jn].pullAgain&&(n[jn].pullAgain=!1,readableStreamDefaultControllerCallPullIfNeeded(n))},a=>readableStreamDefaultControllerError(n,a))}}function readableStreamDefaultControllerClearAlgorithms(n){n[jn].pullAlgorithm=void 0,n[jn].cancelAlgorithm=void 0,n[jn].sizeAlgorithm=void 0}function readableStreamDefaultControllerError(n,a){let{stream:S}=n[jn];S[jn].state===`readable`&&(resetQueue(n),readableStreamDefaultControllerClearAlgorithms(n),readableStreamError(S,a))}function readableStreamDefaultControllerCancelSteps(n,a){resetQueue(n);let S=n[jn].cancelAlgorithm(a);return readableStreamDefaultControllerClearAlgorithms(n),S}function readableStreamDefaultControllerPullSteps(n,a){let{stream:S,queue:C}=n[jn];if(C.length){let N=dequeueValue(n);n[jn].closeRequested&&!C.length?(readableStreamDefaultControllerClearAlgorithms(n),readableStreamClose(S)):readableStreamDefaultControllerCallPullIfNeeded(n),a[Wn](N);return}readableStreamAddReadRequest(S,a),readableStreamDefaultControllerCallPullIfNeeded(n)}function setupReadableStreamDefaultController(n,a,S,C,N,F,I){a[jn]={cancelAlgorithm:N,closeRequested:!1,highWaterMark:F,pullAgain:!1,pullAlgorithm:C,pulling:!1,queue:[],queueTotalSize:0,started:!1,sizeAlgorithm:I,stream:n},n[jn].controller=a;let H=S();new Promise(n=>n(H)).then(()=>{a[jn].started=!0,readableStreamDefaultControllerCallPullIfNeeded(a)},n=>readableStreamDefaultControllerError(a,n))}function setupReadableStreamDefaultControllerFromSource(n,a,S,C){let N=new ReadableStreamDefaultController(Jn),F=a?.start,I=a?.pull,H=a?.cancel;setupReadableStreamDefaultController(n,N,F?F.bind(a,N):nonOpStart,I?createPromiseCallback(`source.pull`,I,a):nonOpPull,H?createPromiseCallback(`source.cancel`,H,a):nonOpCancel,S,C)}function createReadableStream(n,a,S,C=1,N=()=>1){let F=Object.create(ReadableStream$1.prototype);return F[Mn]=`ReadableStream`,F[jn]=createReadableStreamState(),setupReadableStreamDefaultController(F,new ReadableStreamDefaultController(Jn),n,a,S,C,N),F}function readableStreamFromIterable(n){let a,S=getIterator(n,`async`),C=nonOpStart;async function pullAlgorithm(){let n=iteratorNext(S);return Promise.resolve(n).then(n=>{if(typeof n!=`object`||!n)throw TypeError(`The promise returned by the iterator.next() method must fulfill with an object`);n.done?readableStreamDefaultControllerClose(a[jn].controller):readableStreamDefaultControllerEnqueue(a[jn].controller,n.value)})}async function cancelAlgorithm(n){let a=S.iterator,C=a.return;if(C===void 0)return Promise.resolve();let N=C.call(a,n);return Promise.resolve(N).then(n=>{if(typeof n!=`object`||!n)throw TypeError(`The promise returned by the iterator.return() method must fulfill with an object`)})}return a=createReadableStream(C,pullAlgorithm,cancelAlgorithm,0),a}function readableStreamPipeTo(n,a,S,C,N,F){let I,H;try{I=new ReadableStreamDefaultReader(n),H=new WritableStreamDefaultWriter(a)}catch(n){return Promise.reject(n)}n[jn].disturbed=!0;let W=!1,{promise:K,resolve:q,reject:Y}=Promise.withResolvers(),X={currentWrite:Promise.resolve()},te;function finalize(n,a){writableStreamDefaultWriterRelease(H),readableStreamReaderGenericRelease(I),F!==void 0&&te&&(F.removeEventListener(`abort`,te),te=void 0),n?Y(a):q()}async function waitForCurrentWrite(){let n=X.currentWrite;await n,n!==X.currentWrite&&await waitForCurrentWrite()}function shutdownWithAnAction(n,S,C){if(W)return;if(W=!0,a[jn].state===`writable`&&!writableStreamCloseQueuedOrInFlight(a)){waitForCurrentWrite().then(complete,n=>finalize(!0,n));return}complete();function complete(){n().then(()=>finalize(!!S,C),n=>finalize(!0,n))}}function shutdown(n,S){if(!W){if(W=!0,a[jn].state===`writable`&&!writableStreamCloseQueuedOrInFlight(a)){waitForCurrentWrite().then(()=>finalize(!!n,S),n=>finalize(!0,n));return}finalize(!!n,S)}}function abortAlgorithm(){let S;S=F.reason&&F.reason.name===`AbortError`?createAbortError():F.reason;let I=[];C||I.push(()=>a[jn].state===`writable`?writableStreamAbort(a,S):Promise.resolve()),N||I.push(()=>n[jn].state===`readable`?readableStreamCancel(n,S):Promise.resolve()),shutdownWithAnAction(()=>Promise.all(I.map(n=>n())).then(()=>void 0),!0,S)}function watchErrored(n,a,S){n[jn].state===`errored`?S(n[jn].storedError):a.then(void 0,S)}function watchClosed(n,a,S){n[jn].state===`closed`?S():a.then(S,()=>{})}class PipeToReadRequest{[Wn](n){He(()=>{X.currentWrite=writableStreamDefaultWriterWrite(H,n),setPromiseHandled(X.currentWrite),ne.resolve(!1)})}[Un](){ne.resolve(!0)}[Gn](n){ne.reject(n)}}let ne={resolve:null,reject:null};async function step(){if(W||a[jn].backpressure&&(await H[jn].ready.promise,W))return!0;let S=n[jn].controller;if(n[jn].state===`readable`&&Qn(S)&&S[jn].queue.length>0){for(;S[jn].queue.length>0;){if(W)return!0;let C=dequeueValue(S);if(S[jn].closeRequested&&!S[jn].queue.length&&(readableStreamDefaultControllerClearAlgorithms(S),readableStreamClose(n)),X.currentWrite=writableStreamDefaultWriterWrite(H,C),setPromiseHandled(X.currentWrite),a[jn].backpressure||a[jn].state!==`writable`||writableStreamCloseQueuedOrInFlight(a))break}return readableStreamDefaultControllerCallPullIfNeeded(S),n[jn].state===`closed`}let{promise:C,resolve:N,reject:F}=Promise.withResolvers();return ne={resolve:N,reject:F},readableStreamDefaultReaderRead(I,new PipeToReadRequest),C}async function run(){for(;!await step(););}if(F!==void 0){if(F.aborted)return abortAlgorithm(),K;te=abortAlgorithm,F.addEventListener(`abort`,te,{once:!0})}if(setPromiseHandled(run()),watchErrored(n,I[jn].close.promise,n=>{if(!C)return shutdownWithAnAction(()=>writableStreamAbort(a,n),!0,n);shutdown(!0,n)}),watchErrored(a,H[jn].close.promise,a=>{if(!N)return shutdownWithAnAction(()=>readableStreamCancel(n,a),!0,a);shutdown(!0,a)}),watchClosed(n,I[jn].close.promise,()=>{if(!S)return shutdownWithAnAction(()=>writableStreamDefaultWriterCloseWithErrorPropagation(H));shutdown()}),writableStreamCloseQueuedOrInFlight(a)||a[jn].state===`closed`){let a=TypeError(`Destination WritableStream is closed`);N?shutdown(!0,a):shutdownWithAnAction(()=>readableStreamCancel(n,a),!0,a)}return K}function readableStreamDefaultTee(n,a){let S=new ReadableStreamDefaultReader(n),C=!1,N=!1,F=!1,I,H,W,K,q=Promise.withResolvers();async function pullAlgorithm(){C||(C=!0,readableStreamDefaultReaderRead(S,{[Wn](n){He(()=>{C=!1;let S=n,I=n;if(!F&&a)try{I=structuredClone(I)}catch{}N||readableStreamDefaultControllerEnqueue(W[jn].controller,S),F||readableStreamDefaultControllerEnqueue(K[jn].controller,I)})},[Un](){He(()=>{C=!1,N||readableStreamDefaultControllerClose(W[jn].controller),F||readableStreamDefaultControllerClose(K[jn].controller),(!N||!F)&&q.resolve(void 0)})},[Gn](){C=!1}}))}function cancel1Algorithm(a){if(N=!0,I=a,F){let a=[I,H];q.resolve(readableStreamCancel(n,a))}return q.promise}function cancel2Algorithm(a){if(F=!0,H=a,N){let a=[I,H];q.resolve(readableStreamCancel(n,a))}return q.promise}return W=createReadableStream(nonOpStart,pullAlgorithm,cancel1Algorithm),K=createReadableStream(nonOpStart,pullAlgorithm,cancel2Algorithm),S[jn].close.promise.then(void 0,n=>{readableStreamDefaultControllerError(W[jn].controller,n),readableStreamDefaultControllerError(K[jn].controller,n),(!N||!F)&&q.resolve(void 0)}),[W,K]}var BYOBReadIntoRequest=class{[jn];constructor(){this[jn]=Promise.withResolvers()}[Wn](n){this[jn].resolve?.({value:n,done:!1})}[Un](n){this[jn].resolve?.({value:n,done:!0})}[Gn](n){this[jn].reject?.(n)}get promise(){return this[jn].promise}},ReadableStreamBYOBReader=class{[Mn]=`ReadableStreamBYOBReader`;[jn];constructor(n){if(!Zn(n))throw TypeError(`Expected a ReadableStream`);this[jn]={readIntoRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamBYOBReader(this,n)}read(n,a={}){if(!tr(this))return Promise.reject(TypeError(`Invalid this`));if(typeof n!=`object`||!n||!ArrayBuffer.isView(n))return Promise.reject(TypeError(`view must be an ArrayBufferView`));let S=n.buffer,C=n.byteLength;if(C===0)return Promise.reject(TypeError(`view must have non-zero byteLength`));if(S.byteLength===0)return isDetachedBuffer(S)?Promise.reject(TypeError(`view's buffer has been detached`)):Promise.reject(TypeError(`view's buffer must have non-zero byteLength`));let N=a?.min??1;if(typeof N!=`number`||N<1||!Number.isInteger(N)||Number.isNaN(N))return Promise.reject(TypeError(`options.min must be a positive integer`));let F=n[Symbol.toStringTag];if(F!==void 0&&F!==`DataView`){if(N>n.length)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`))}else if(N>C)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`));if(this[jn].stream===void 0)return Promise.reject(TypeError(`Reader has no associated stream`));let I=new BYOBReadIntoRequest;return readableStreamBYOBReaderRead(this,n,N,I),I.promise}releaseLock(){if(!tr(this))throw TypeError(`Invalid this`);this[jn].stream!==void 0&&readableStreamBYOBReaderRelease(this)}get closed(){return tr(this)?this[jn].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(n=void 0){return tr(this)?this[jn].stream===void 0?Promise.reject(TypeError(`Reader has no associated stream`)):readableStreamReaderGenericCancel(this,n):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamBYOBReader`}},ReadableStreamBYOBRequest=class{[Mn]=`ReadableStreamBYOBRequest`;[jn]={};constructor(n){if(n!==Jn)throw TypeError(`Illegal constructor`)}get view(){if(!nr(this))throw TypeError(`Invalid this`);return this[jn].view}respond(n){if(!nr(this))throw TypeError(`Invalid this`);if(this[jn].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(n=+n,!Number.isInteger(n)||n<0||!Number.isFinite(n))throw RangeError(`bytesWritten must be a non-negative integer`);let a=this[jn].view;if(isDetachedBuffer(a.buffer))throw TypeError(`The BYOB request's buffer has been detached`);readableByteStreamControllerRespond(this[jn].controller,n)}respondWithNewView(n){if(!nr(this))throw TypeError(`Invalid this`);if(this[jn].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(typeof n!=`object`||!n||!ArrayBuffer.isView(n))throw TypeError(`view must be an ArrayBufferView`);if(isDetachedBuffer(n.buffer))throw TypeError(`The given view's buffer has been detached`);readableByteStreamControllerRespondWithNewView(this[jn].controller,n)}get[Symbol.toStringTag](){return`ReadableStreamBYOBRequest`}},ReadableByteStreamController=class{[Mn]=`ReadableByteStreamController`;[jn]={};constructor(n){if(n!==Jn)throw TypeError(`Illegal constructor`)}get byobRequest(){if(!er(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetBYOBRequest(this)}get desiredSize(){if(!er(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetDesiredSize(this)}close(){if(!er(this))throw TypeError(`Invalid this`);if(this[jn].closeRequested)throw TypeError(`Close already requested`);if(this[jn].stream[jn].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerClose(this)}enqueue(n){if(!er(this))throw TypeError(`Invalid this`);if(typeof n!=`object`||!n||!ArrayBuffer.isView(n))throw TypeError(`chunk must be an ArrayBufferView`);if(n.byteLength===0)throw TypeError(`chunk length must be non-zero`);if(n.buffer.byteLength===0)throw TypeError(`chunk's buffer length must be non-zero`);if(this[jn].closeRequested)throw TypeError(`Cannot enqueue after close has been requested`);if(this[jn].stream[jn].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerEnqueue(this,n)}error(n=void 0){if(!er(this))throw TypeError(`Invalid this`);readableByteStreamControllerError(this,n)}[Hn](n){return readableByteStreamControllerCancelSteps(this,n)}[Kn](n){readableByteStreamControllerPullSteps(this,n)}[qn](){if(this[jn].pendingPullIntos.length>0){let n=this[jn].pendingPullIntos[0];n.readerType=`none`,this[jn].pendingPullIntos=[n]}}get[Symbol.toStringTag](){return`ReadableByteStreamController`}};const er=isBrandCheck(`ReadableByteStreamController`),tr=isBrandCheck(`ReadableStreamBYOBReader`),nr=isBrandCheck(`ReadableStreamBYOBRequest`);function readableStreamHasBYOBReader(n){let{reader:a}=n[jn];return a===void 0?!1:a[jn]!==void 0&&a[Mn]===`ReadableStreamBYOBReader`}function readableStreamGetNumReadIntoRequests(n){return n[jn].reader[jn].readIntoRequests.length}function readableStreamAddReadIntoRequest(n,a){n[jn].reader[jn].readIntoRequests.push(a)}function readableStreamFulfillReadIntoRequest(n,a,S){let{reader:C}=n[jn],N=C[jn].readIntoRequests.shift();S?N[Un](a):N[Wn](a)}function setupReadableStreamBYOBReader(n,a){if(isReadableStreamLocked(a))throw TypeError(`ReadableStream is locked`);if(!er(a[jn].controller))throw TypeError(`Cannot use a BYOB reader with a non-byte stream`);readableStreamReaderGenericInitialize(n,a),n[jn].readIntoRequests=[]}function readableStreamBYOBReaderRead(n,a,S,C){let{stream:N}=n[jn];N[jn].disturbed=!0,N[jn].state===`errored`?C[Gn](N[jn].storedError):readableByteStreamControllerPullInto(N[jn].controller,a,S,C)}function readableStreamBYOBReaderRelease(n){readableStreamReaderGenericRelease(n);let a=TypeError(`Reader was released`);for(let S=0;S<n[jn].readIntoRequests.length;S++)n[jn].readIntoRequests[S][Gn](a);n[jn].readIntoRequests=[]}function readableByteStreamControllerClearAlgorithms(n){n[jn].pullAlgorithm=void 0,n[jn].cancelAlgorithm=void 0}function readableByteStreamControllerClearPendingPullIntos(n){readableByteStreamControllerInvalidateBYOBRequest(n),n[jn].pendingPullIntos=[]}function readableByteStreamControllerInvalidateBYOBRequest(n){let a=n[jn].byobRequest;a!=null&&(a[jn].controller=void 0,a[jn].view=null,n[jn].byobRequest=null)}function readableByteStreamControllerError(n,a){let{stream:S}=n[jn];S[jn].state===`readable`&&(readableByteStreamControllerClearPendingPullIntos(n),resetQueue(n),readableByteStreamControllerClearAlgorithms(n),readableStreamError(S,a))}function readableByteStreamControllerGetDesiredSize(n){let a=n[jn].stream[jn].state;return a===`errored`?null:a===`closed`?0:n[jn].highWaterMark-n[jn].queueTotalSize}function readableByteStreamControllerShouldCallPull(n){let{stream:a}=n[jn];if(a[jn].state!==`readable`||n[jn].closeRequested||!n[jn].started)return!1;if(readableStreamHasDefaultReader(a)&&readableStreamGetNumReadRequests(a)>0||readableStreamHasBYOBReader(a)&&readableStreamGetNumReadIntoRequests(a)>0)return!0;let S=readableByteStreamControllerGetDesiredSize(n);return S!==null&&S>0}function readableByteStreamControllerCallPullIfNeeded(n){if(readableByteStreamControllerShouldCallPull(n)){if(n[jn].pulling){n[jn].pullAgain=!0;return}n[jn].pulling=!0,n[jn].pullAlgorithm(n).then(()=>{n[jn].pulling=!1,n[jn].pullAgain&&(n[jn].pullAgain=!1,readableByteStreamControllerCallPullIfNeeded(n))},a=>readableByteStreamControllerError(n,a))}}function readableByteStreamControllerHandleQueueDrain(n){n[jn].queueTotalSize===0&&n[jn].closeRequested?(readableByteStreamControllerClearAlgorithms(n),readableStreamClose(n[jn].stream)):readableByteStreamControllerCallPullIfNeeded(n)}function readableByteStreamControllerEnqueueChunkToQueue(n,a,S,C){n[jn].queue.push({buffer:a,byteOffset:S,byteLength:C}),n[jn].queueTotalSize+=C}function readableByteStreamControllerEnqueueClonedChunkToQueue(n,a,S,C){let N;try{N=a.slice(S,S+C)}catch(a){readableByteStreamControllerError(n,a);return}readableByteStreamControllerEnqueueChunkToQueue(n,N,0,C)}function readableByteStreamControllerEnqueueDetachedPullIntoToQueue(n,a){a.bytesFilled>0&&readableByteStreamControllerEnqueueClonedChunkToQueue(n,a.buffer,a.byteOffset,a.bytesFilled),readableByteStreamControllerShiftPendingPullInto(n)}function readableByteStreamControllerShiftPendingPullInto(n){return n[jn].pendingPullIntos.shift()}function readableByteStreamControllerFillHeadPullIntoDescriptor(n,a,S){S.bytesFilled+=a}function readableByteStreamControllerConvertPullIntoDescriptor(n){let a=n.bytesFilled,S=n.elementSize,C=transferArrayBuffer(n.buffer);return n.buffer=C,new n.viewConstructor(C,n.byteOffset,a/S)}function readableByteStreamControllerCommitPullIntoDescriptor(n,a){let S=!1;n[jn].state===`closed`&&(S=!0);let C=readableByteStreamControllerConvertPullIntoDescriptor(a);a.readerType===`default`?readableStreamFulfillReadRequest(n,C,S):readableStreamFulfillReadIntoRequest(n,C,S)}function readableByteStreamControllerFillPullIntoDescriptorFromQueue(n,a){let S=Math.min(n[jn].queueTotalSize,a.byteLength-a.bytesFilled),C=a.bytesFilled+S,N=S,F=!1,I=C-C%a.elementSize;I>=a.minimumFill&&(N=I-a.bytesFilled,F=!0);let H=n[jn].queue;for(;N>0;){let S=H[0],C=Math.min(N,S.byteLength),F=a.byteOffset+a.bytesFilled,I=new Uint8Array(a.buffer,F,C),W=new Uint8Array(S.buffer,S.byteOffset,C);I.set(W),S.byteLength===C?H.shift():(S.byteOffset+=C,S.byteLength-=C),n[jn].queueTotalSize-=C,readableByteStreamControllerFillHeadPullIntoDescriptor(n,C,a),N-=C}return F}function readableByteStreamControllerFillReadRequestFromQueue(n,a){let S=n[jn].queue.shift();n[jn].queueTotalSize-=S.byteLength,readableByteStreamControllerHandleQueueDrain(n);let C=new Uint8Array(S.buffer,S.byteOffset,S.byteLength);a[Wn](C)}function readableByteStreamControllerProcessReadRequestsUsingQueue(n){let a=n[jn].stream[jn].reader;for(;a[jn].readRequests.length!==0;){if(n[jn].queueTotalSize===0)return;readableByteStreamControllerFillReadRequestFromQueue(n,a[jn].readRequests.shift())}}function readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(n){for(;n[jn].pendingPullIntos.length!==0;){if(n[jn].queueTotalSize===0)return;let a=n[jn].pendingPullIntos[0];readableByteStreamControllerFillPullIntoDescriptorFromQueue(n,a)&&(readableByteStreamControllerShiftPendingPullInto(n),readableByteStreamControllerCommitPullIntoDescriptor(n[jn].stream,a))}}function readableByteStreamControllerGetBYOBRequest(n){if(n[jn].byobRequest===null&&n[jn].pendingPullIntos.length!==0){let a=n[jn].pendingPullIntos[0],S=new Uint8Array(a.buffer,a.byteOffset+a.bytesFilled,a.byteLength-a.bytesFilled),C=new ReadableStreamBYOBRequest(Jn);C[jn]={controller:n,view:S},n[jn].byobRequest=C}return n[jn].byobRequest}function readableByteStreamControllerEnqueue(n,a){let{stream:S}=n[jn];if(n[jn].closeRequested||S[jn].state!==`readable`)return;let C=a.buffer,N=a.byteLength,F=a.byteOffset;if(isDetachedBuffer(C))throw TypeError(`chunk's buffer is detached`);let I=transferArrayBuffer(C);if(n[jn].pendingPullIntos.length!==0){let a=n[jn].pendingPullIntos[0];if(isDetachedBuffer(a.buffer))throw TypeError(`BYOB request's buffer has been detached`);readableByteStreamControllerInvalidateBYOBRequest(n),a.buffer=transferArrayBuffer(a.buffer),a.readerType===`none`&&readableByteStreamControllerEnqueueDetachedPullIntoToQueue(n,a)}readableStreamHasDefaultReader(S)?(readableByteStreamControllerProcessReadRequestsUsingQueue(n),readableStreamGetNumReadRequests(S)===0?readableByteStreamControllerEnqueueChunkToQueue(n,I,F,N):(n[jn].pendingPullIntos.length!==0&&readableByteStreamControllerShiftPendingPullInto(n),readableStreamFulfillReadRequest(S,new Uint8Array(I,F,N),!1))):readableStreamHasBYOBReader(S)?(readableByteStreamControllerEnqueueChunkToQueue(n,I,F,N),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(n)):readableByteStreamControllerEnqueueChunkToQueue(n,I,F,N),readableByteStreamControllerCallPullIfNeeded(n)}function readableByteStreamControllerClose(n){let{stream:a}=n[jn];if(!(n[jn].closeRequested||a[jn].state!==`readable`)){if(n[jn].queueTotalSize>0){n[jn].closeRequested=!0;return}if(n[jn].pendingPullIntos.length!==0){let a=n[jn].pendingPullIntos[0];if(a.bytesFilled%a.elementSize!==0){let a=TypeError(`Insufficient bytes to fill elements in the given buffer`);throw readableByteStreamControllerError(n,a),a}}readableByteStreamControllerClearAlgorithms(n),readableStreamClose(a)}}function readableByteStreamControllerPullInto(n,a,S,C){let N=n[jn].stream,F=a[Symbol.toStringTag],I,H;if(F===void 0||F===`DataView`)I=DataView,H=1;else{let n=typedArrayConstructorByTag(F);if(!n){C[Gn](TypeError(`Unsupported typed array: ${F}`));return}I=n,H=elementSizeByTag(F)}let W=a.buffer,K=a.byteLength,q=a.byteOffset,Y=S*H,X;try{X=transferArrayBuffer(W)}catch(n){C[Gn](n);return}let te={buffer:X,bufferByteLength:X.byteLength,byteOffset:q,byteLength:K,bytesFilled:0,minimumFill:Y,elementSize:H,viewConstructor:I,readerType:`byob`};if(n[jn].pendingPullIntos.length!==0){n[jn].pendingPullIntos.push(te),readableStreamAddReadIntoRequest(N,C);return}if(N[jn].state===`closed`){let n=new I(te.buffer,te.byteOffset,0);C[Un](n);return}if(n[jn].queueTotalSize>0){if(readableByteStreamControllerFillPullIntoDescriptorFromQueue(n,te)){let a=readableByteStreamControllerConvertPullIntoDescriptor(te);readableByteStreamControllerHandleQueueDrain(n),C[Wn](a);return}if(n[jn].closeRequested){let a=TypeError(`Insufficient bytes to fill elements in the given buffer`);readableByteStreamControllerError(n,a),C[Gn](a);return}}n[jn].pendingPullIntos.push(te),readableStreamAddReadIntoRequest(N,C),readableByteStreamControllerCallPullIfNeeded(n)}function readableByteStreamControllerRespond(n,a){let S=n[jn].pendingPullIntos[0];if(n[jn].stream[jn].state===`closed`){if(a!==0)throw TypeError(`bytesWritten must be 0 when calling respond() on a closed stream`)}else{if(a===0)throw TypeError(`bytesWritten must be greater than 0 when calling respond() on a readable stream`);if(S.bytesFilled+a>S.byteLength)throw RangeError(`bytesWritten out of range`)}S.buffer=transferArrayBuffer(S.buffer),readableByteStreamControllerRespondInternal(n,a)}function readableByteStreamControllerRespondWithNewView(n,a){let S=n[jn].pendingPullIntos[0],C=n[jn].stream[jn].state,N=a.byteLength,F=a.byteOffset,I=a.buffer;if(C===`closed`){if(N!==0)throw TypeError(`view's length must be 0 when calling respondWithNewView() on a closed stream`)}else if(N===0)throw TypeError(`view's length must be greater than 0 when calling respondWithNewView() on a readable stream`);if(S.byteOffset+S.bytesFilled!==F)throw RangeError(`The region specified by view does not match byobRequest`);if(S.bufferByteLength!==I.byteLength)throw RangeError(`The buffer of view has different capacity than byobRequest`);if(S.bytesFilled+N>S.byteLength)throw RangeError(`The region specified by view is larger than byobRequest`);S.buffer=transferArrayBuffer(I),readableByteStreamControllerRespondInternal(n,N)}function readableByteStreamControllerRespondInternal(n,a){let S=n[jn].pendingPullIntos[0];readableByteStreamControllerInvalidateBYOBRequest(n),n[jn].stream[jn].state===`closed`?readableByteStreamControllerRespondInClosedState(n,S):readableByteStreamControllerRespondInReadableState(n,a,S),readableByteStreamControllerCallPullIfNeeded(n)}function readableByteStreamControllerRespondInClosedState(n,a){a.readerType===`none`&&readableByteStreamControllerShiftPendingPullInto(n);let S=n[jn].stream;if(readableStreamHasBYOBReader(S))for(;readableStreamGetNumReadIntoRequests(S)>0;)readableByteStreamControllerCommitPullIntoDescriptor(S,readableByteStreamControllerShiftPendingPullInto(n))}function readableByteStreamControllerRespondInReadableState(n,a,S){if(readableByteStreamControllerFillHeadPullIntoDescriptor(n,a,S),S.readerType===`none`){readableByteStreamControllerEnqueueDetachedPullIntoToQueue(n,S),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(n);return}if(S.bytesFilled<S.minimumFill)return;readableByteStreamControllerShiftPendingPullInto(n);let C=S.bytesFilled%S.elementSize;if(C>0){let a=S.byteOffset+S.bytesFilled;readableByteStreamControllerEnqueueClonedChunkToQueue(n,S.buffer,a-C,C)}S.bytesFilled-=C,readableByteStreamControllerCommitPullIntoDescriptor(n[jn].stream,S),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(n)}function readableByteStreamControllerCancelSteps(n,a){readableByteStreamControllerClearPendingPullIntos(n),resetQueue(n);let S=n[jn].cancelAlgorithm(a);return readableByteStreamControllerClearAlgorithms(n),S}function readableByteStreamControllerPullSteps(n,a){let S=n[jn].stream;if(n[jn].queueTotalSize>0){readableByteStreamControllerFillReadRequestFromQueue(n,a);return}let C=n[jn].autoAllocateChunkSize;if(C!==void 0){let S;try{S=new ArrayBuffer(C)}catch(n){a[Gn](n);return}let N={buffer:S,bufferByteLength:C,byteOffset:0,byteLength:C,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:`default`};n[jn].pendingPullIntos.push(N)}readableStreamAddReadRequest(S,a),readableByteStreamControllerCallPullIfNeeded(n)}function setupReadableByteStreamController(n,a,S,C,N,F,I){a[jn]={cancelAlgorithm:N,closeRequested:!1,highWaterMark:F,pullAgain:!1,pullAlgorithm:C,pulling:!1,queue:[],queueTotalSize:0,started:!1,stream:n,byobRequest:null,pendingPullIntos:[],autoAllocateChunkSize:I},n[jn].controller=a;let H=S();new Promise(n=>n(H)).then(()=>{a[jn].started=!0,readableByteStreamControllerCallPullIfNeeded(a)},n=>readableByteStreamControllerError(a,n))}function setupReadableByteStreamControllerFromSource(n,a,S){let C=new ReadableByteStreamController(Jn),N=a?.start,F=a?.pull,I=a?.cancel,H=a?.autoAllocateChunkSize;if(H!==void 0&&(H===0||!Number.isInteger(H)||H<0))throw TypeError(`autoAllocateChunkSize must be a positive integer`);setupReadableByteStreamController(n,C,N?N.bind(a,C):nonOpStart,F?createPromiseCallback(`source.pull`,F,a):nonOpPull,I?createPromiseCallback(`source.cancel`,I,a):nonOpCancel,S,H)}function readableByteStreamTee(n){let a=new ReadableStreamDefaultReader(n),S=!1,C=!1,N=!1,F,I,H=Promise.withResolvers(),W,K,q,Y;function pullAlgorithm(){return S?Promise.resolve():(S=!0,a.read().then(n=>{if(S=!1,n.done){C||q.close(),N||Y.close();return}let a=n.value,F=new Uint8Array(a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength));C||q.enqueue(F),N||Y.enqueue(new Uint8Array(F))},()=>{}),Promise.resolve())}return W=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(a){if(C=!0,F=a,N){let a=readableStreamCancel(n,[F,I]);return H.resolve(),a}return H.promise}}),K=new ReadableStream$1({type:`bytes`,pull:pullAlgorithm,cancel(a){if(N=!0,I=a,C){let a=readableStreamCancel(n,[F,I]);return H.resolve(),a}return H.promise}}),q=W[jn].controller,Y=K[jn].controller,a.closed.catch(n=>{q.error(n),Y.error(n),(!C||!N)&&H.resolve()}),[W,K]}const rr=Symbol(`kSkipThrow`);var TransformStream=class{[Mn]=`TransformStream`;[jn];constructor(n={},a={},S={}){if(n!=null&&typeof n!=`object`)throw TypeError(`transformer must be an object`);if(a!=null&&typeof a!=`object`)throw TypeError(`writableStrategy must be an object`);if(S!=null&&typeof S!=`object`)throw TypeError(`readableStrategy must be an object`);let C=n?.readableType,N=n?.writableType,F=n?.start;if(C!==void 0)throw RangeError(`Invalid readableType: ${C}`);if(N!==void 0)throw RangeError(`Invalid writableType: ${N}`);let I=extractHighWaterMark(S?.highWaterMark,0),H=extractSizeAlgorithm(S?.size),W=extractHighWaterMark(a?.highWaterMark,1),K=extractSizeAlgorithm(a?.size),q=Promise.withResolvers();initializeTransformStream(this,q,W,K,I,H),setupTransformStreamDefaultControllerFromTransformer(this,n),F===void 0?q.resolve():q.resolve(F.call(n,this[jn].controller))}get readable(){if(!ir(this))throw TypeError(`Invalid this`);return this[jn].readable}get writable(){if(!ir(this))throw TypeError(`Invalid this`);return this[jn].writable}get[Symbol.toStringTag](){return`TransformStream`}},TransformStreamDefaultController=class{[Mn]=`TransformStreamDefaultController`;[jn];constructor(n){if(n!==rr)throw TypeError(`Illegal constructor`)}get desiredSize(){if(!ar(this))throw TypeError(`Invalid this`);let{stream:n}=this[jn],{readable:a}=n[jn],S=a[jn].controller;return readableStreamDefaultControllerGetDesiredSize(S)}enqueue(n){if(!ar(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerEnqueue(this,n)}error(n){if(!ar(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerError(this,n)}terminate(){if(!ar(this))throw TypeError(`Invalid this`);transformStreamDefaultControllerTerminate(this)}get[Symbol.toStringTag](){return`TransformStreamDefaultController`}};const ir=isBrandCheck(`TransformStream`),ar=isBrandCheck(`TransformStreamDefaultController`);async function defaultTransformAlgorithm(n,a){transformStreamDefaultControllerEnqueue(a,n)}function initializeTransformStream(n,a,S,C,N,F){let startAlgorithm=()=>a.promise,I=createWritableStream(startAlgorithm,a=>transformStreamDefaultSinkWriteAlgorithm(n,a),()=>transformStreamDefaultSinkCloseAlgorithm(n),a=>transformStreamDefaultSinkAbortAlgorithm(n,a),S,C);n[jn]={readable:createReadableStream(startAlgorithm,()=>transformStreamDefaultSourcePullAlgorithm(n),a=>transformStreamDefaultSourceCancelAlgorithm(n,a),N,F),writable:I,controller:void 0,backpressure:void 0,backpressureChange:{promise:void 0,resolve:void 0,reject:void 0}},transformStreamSetBackpressure(n,!0)}function transformStreamError(n,a){let{readable:S}=n[jn];readableStreamDefaultControllerError(S[jn].controller,a),transformStreamErrorWritableAndUnblockWrite(n,a)}function transformStreamErrorWritableAndUnblockWrite(n,a){let{controller:S,writable:C}=n[jn];transformStreamDefaultControllerClearAlgorithms(S),writableStreamDefaultControllerErrorIfNeeded(C[jn].controller,a),transformStreamUnblockWrite(n)}function transformStreamUnblockWrite(n){n[jn].backpressure&&transformStreamSetBackpressure(n,!1)}function transformStreamSetBackpressure(n,a){n[jn].backpressureChange.promise!==void 0&&n[jn].backpressureChange.resolve?.(),n[jn].backpressureChange=Promise.withResolvers(),n[jn].backpressure=a}function setupTransformStreamDefaultController(n,a,S,C,N){a[jn]={stream:n,transformAlgorithm:S,flushAlgorithm:C,cancelAlgorithm:N,finishPromise:void 0},n[jn].controller=a}function setupTransformStreamDefaultControllerFromTransformer(n,a){let S=new TransformStreamDefaultController(rr),C=a?.transform,N=a?.flush,F=a?.cancel;setupTransformStreamDefaultController(n,S,C?createPromiseCallback(`transformer.transform`,C,a):defaultTransformAlgorithm,N?createPromiseCallback(`transformer.flush`,N,a):nonOpFlush,F?createPromiseCallback(`transformer.cancel`,F,a):nonOpCancel)}function transformStreamDefaultControllerClearAlgorithms(n){n[jn].transformAlgorithm=void 0,n[jn].flushAlgorithm=void 0,n[jn].cancelAlgorithm=void 0}function transformStreamDefaultControllerEnqueue(n,a){let{stream:S}=n[jn],{readable:C}=S[jn],N=C[jn].controller;if(!readableStreamDefaultControllerCanCloseOrEnqueue(N))throw TypeError(`Unable to enqueue`);try{readableStreamDefaultControllerEnqueue(N,a)}catch(n){throw transformStreamErrorWritableAndUnblockWrite(S,n),C[jn].storedError}readableStreamDefaultControllerHasBackpressure(N)!==S[jn].backpressure&&transformStreamSetBackpressure(S,!0)}function transformStreamDefaultControllerError(n,a){transformStreamError(n[jn].stream,a)}async function transformStreamDefaultControllerPerformTransform(n,a){try{let S=n[jn].transformAlgorithm;return S===void 0?void 0:await S(a,n)}catch(a){throw transformStreamError(n[jn].stream,a),a}}function transformStreamDefaultControllerTerminate(n){let{stream:a}=n[jn],{readable:S}=a[jn];readableStreamDefaultControllerClose(S[jn].controller),transformStreamErrorWritableAndUnblockWrite(a,TypeError(`TransformStream has been terminated`))}function transformStreamDefaultSinkWriteAlgorithm(n,a){let{controller:S}=n[jn];return n[jn].backpressure?n[jn].backpressureChange.promise.then(()=>{let{writable:C}=n[jn];if(C[jn].state===`erroring`)throw C[jn].storedError;return transformStreamDefaultControllerPerformTransform(S,a)}):transformStreamDefaultControllerPerformTransform(S,a)}async function transformStreamDefaultSinkAbortAlgorithm(n,a){let{controller:S,readable:C}=n[jn];if(S[jn].finishPromise!==void 0)return S[jn].finishPromise;let{promise:N,resolve:F,reject:I}=Promise.withResolvers();S[jn].finishPromise=N;let H=S[jn].cancelAlgorithm(a);return transformStreamDefaultControllerClearAlgorithms(S),H.then(()=>{C[jn].state===`errored`?I(C[jn].storedError):(readableStreamDefaultControllerError(C[jn].controller,a),F())},n=>{readableStreamDefaultControllerError(C[jn].controller,n),I(n)}),S[jn].finishPromise}function transformStreamDefaultSinkCloseAlgorithm(n){let{readable:a,controller:S}=n[jn];if(S[jn].finishPromise!==void 0)return S[jn].finishPromise;let{promise:C,resolve:N,reject:F}=Promise.withResolvers();S[jn].finishPromise=C;let I=S[jn].flushAlgorithm(S);return transformStreamDefaultControllerClearAlgorithms(S),I.then(()=>{a[jn].state===`errored`?F(a[jn].storedError):(readableStreamDefaultControllerClose(a[jn].controller),N())},n=>{readableStreamDefaultControllerError(a[jn].controller,n),F(n)}),S[jn].finishPromise}function transformStreamDefaultSourcePullAlgorithm(n){return transformStreamSetBackpressure(n,!1),n[jn].backpressureChange.promise}function transformStreamDefaultSourceCancelAlgorithm(n,a){let{controller:S,writable:C}=n[jn];if(S[jn].finishPromise!==void 0)return S[jn].finishPromise;let{promise:N,resolve:F,reject:I}=Promise.withResolvers();S[jn].finishPromise=N;let H=S[jn].cancelAlgorithm(a);return transformStreamDefaultControllerClearAlgorithms(S),H.then(()=>{C[jn].state===`errored`?I(C[jn].storedError):(writableStreamDefaultControllerErrorIfNeeded(C[jn].controller,a),transformStreamUnblockWrite(n),F())},a=>{writableStreamDefaultControllerErrorIfNeeded(C[jn].controller,a),transformStreamUnblockWrite(n),I(a)}),S[jn].finishPromise}const sr=Object.defineProperty(n=>n.byteLength,`name`,{value:`size`}),cr=Object.defineProperty(()=>1,`name`,{value:`size`});var ByteLengthQueuingStrategy=class{#e;constructor(n){if(typeof n!=`object`||!n)throw TypeError(`init must be an object`);if(n.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+n.highWaterMark}get highWaterMark(){return this.#e}get size(){return sr}get[Symbol.toStringTag](){return`ByteLengthQueuingStrategy`}},CountQueuingStrategy=class{#e;constructor(n){if(typeof n!=`object`||!n)throw TypeError(`init must be an object`);if(n.highWaterMark===void 0)throw TypeError(`init.highWaterMark is required`);this.#e=+n.highWaterMark}get highWaterMark(){return this.#e}get size(){return cr}get[Symbol.toStringTag](){return`CountQueuingStrategy`}},TextEncoderStream=class{#e=null;#t=new TextEncoder;#n;constructor(){this.#n=new TransformStream({transform:(n,a)=>{if(n=String(n),n===``)return;this.#e!==null&&(n=this.#e+n);let S=n.charCodeAt(n.length-1);55296<=S&&S<=56319?(this.#e=n.slice(-1),n=n.slice(0,-1)):this.#e=null,n&&a.enqueue(this.#t.encode(n))},flush:n=>{this.#e!==null&&n.enqueue(new Uint8Array([239,191,189]))}})}get encoding(){return`utf-8`}get readable(){return this.#n.readable}get writable(){return this.#n.writable}};function hasStreamingSupport(){try{return new TextDecoder().decode(new Uint8Array([195]),{stream:!0}),!0}catch{return!1}}const lr=hasStreamingSupport();function incompleteUtf8Tail$1(n){let a=n.length;if(a===0)return 0;for(let S=1;S<=Math.min(3,a);S++){let C=n[a-S];if(!(C&128))return 0;if((C&192)!=128){let n;if((C&224)==192)n=2;else if((C&240)==224)n=3;else if((C&248)==240)n=4;else return 0;return S<n?S:0}}return 0}__name$1(incompleteUtf8Tail$1,`incompleteUtf8Tail`);var TextDecoderStream=class{#e;#t;constructor(n,a){if(this.#e=new TextDecoder(n,a),lr)this.#t=new TransformStream({transform:(n,a)=>{let S=toUint8Array$3(n),C=this.#e.decode(S,{stream:!0});C&&a.enqueue(C)},flush:n=>{let a=this.#e.decode();a&&n.enqueue(a)},cancel:()=>{this.#e.decode()}});else{let n=new Uint8Array;this.#t=new TransformStream({transform:(a,S)=>{let C=toUint8Array$3(a),N;n.length>0?(N=new Uint8Array(n.length+C.length),N.set(n,0),N.set(C,n.length)):N=C;let F=incompleteUtf8Tail$1(N),I;if(F>0?(I=N.slice(0,N.length-F),n=N.slice(N.length-F)):(I=N,n=new Uint8Array),I.length>0){let n=this.#e.decode(I);n&&S.enqueue(n)}},flush:a=>{if(n.length>0){let S=this.#e.decode(n);S&&a.enqueue(S),n=new Uint8Array}},cancel:()=>{n=new Uint8Array}})}}get encoding(){return this.#e.encoding}get fatal(){return this.#e.fatal}get ignoreBOM(){return this.#e.ignoreBOM}get readable(){return this.#t.readable}get writable(){return this.#t.writable}};function toUint8Array$3(n){if(n instanceof Uint8Array)return n;if(n instanceof ArrayBuffer)return new Uint8Array(n);if(ArrayBuffer.isView(n))return new Uint8Array(n.buffer,n.byteOffset,n.byteLength);throw TypeError(`chunk must be a BufferSource`)}__name$1(toUint8Array$3,`toUint8Array`);function isNativeStreamUsable$3(n,a){try{return typeof n==`function`?typeof n.prototype[a]==`function`:!1}catch{return!1}}__name$1(isNativeStreamUsable$3,`isNativeStreamUsable`);const ur=isNativeStreamUsable$3(globalThis.ReadableStream,`getReader`)?globalThis.ReadableStream:ReadableStream$1,dr=isNativeStreamUsable$3(globalThis.WritableStream,`getWriter`)?globalThis.WritableStream:WritableStream,fr=isNativeStreamUsable$3(globalThis.TransformStream,`readable`)?globalThis.TransformStream:TransformStream,pr=typeof globalThis.ByteLengthQueuingStrategy==`function`?globalThis.ByteLengthQueuingStrategy:ByteLengthQueuingStrategy,mr=typeof globalThis.CountQueuingStrategy==`function`?globalThis.CountQueuingStrategy:CountQueuingStrategy,hr=typeof globalThis.TextEncoderStream==`function`?globalThis.TextEncoderStream:TextEncoderStream,gr=typeof globalThis.TextDecoderStream==`function`?globalThis.TextDecoderStream:TextDecoderStream;var _r=__esmMin(()=>{it()});function _setPipeImpl(n){vr=n}var vr,Stream_,yr=__esmMin(()=>{Ft(),Stream_=class extends wt{constructor(n){super(n)}pipe(n,a){return vr(this,n,a)}}});function getDefaultHighWaterMark(n){return n?Sr:br}function setDefaultHighWaterMark(n,a){if(typeof a!=`number`||a<0||Number.isNaN(a))throw TypeError(`Invalid highWaterMark: ${a}`);n?Sr=a:br=a}function validateHighWaterMark(n,a){if(a!==void 0&&(typeof a!=`number`||Number.isNaN(a))){let S=TypeError(`The value of "${n}" is invalid. Received ${a}`);throw S.code=`ERR_INVALID_ARG_VALUE`,S}}var br,Sr,Cr=__esmMin(()=>{br=16384,Sr=16});function chunkLength(n){if(n==null)return 1;let a=n.length;return typeof a==`number`?a:1}function sliceChunk(n,a,S){if(typeof n==`string`)return S===void 0?n.slice(a):n.slice(a,S);let C=n.slice;return typeof C==`function`?C.call(n,a,S):n}var wr,Tr=__esmMin(()=>{yr(),Cr(),it(),wr=class Readable_ extends Stream_{readable=!0;readableFlowing=null;readableLength=0;readableHighWaterMark;readableEncoding;readableObjectMode;readableEnded=!1;readableAborted=!1;destroyed=!1;_pipeDests=[];_buffer=[];_readableState={ended:!1,endEmitted:!1,reading:!1,constructed:!0,highWaterMark:0,objectMode:!1,pipes:[]};_err;_readablePending=!1;_readImpl;_destroyImpl;_constructImpl;constructor(n){super(n),this.readableHighWaterMark=n?.highWaterMark??getDefaultHighWaterMark(n?.objectMode??!1),this.readableEncoding=n?.encoding??null,this.readableObjectMode=n?.objectMode??!1,this._readableState.highWaterMark=this.readableHighWaterMark,this._readableState.objectMode=this.readableObjectMode,n?.read&&(this._readImpl=n.read),n?.destroy&&(this._destroyImpl=n.destroy),n?.construct&&(this._constructImpl=n.construct),(this._constructImpl||this._construct!==Readable_.prototype._construct)&&(this._readableState.constructed=!1,nextTick(()=>{this._construct(n=>{this._readableState.constructed=!0,n?this.destroy(n):this.readableFlowing===!0&&this._flow()})}))}_construct(n){this._constructImpl?this._constructImpl.call(this,n):n()}_read(n){this._readImpl&&this._readImpl.call(this,n)}read(n){if(!this._readableState.constructed)return null;if(this._buffer.length===0){if(this._readableState.ended)return null;this._readableState.reading=!0,this._read(n??this.readableHighWaterMark),this._readableState.reading=!1}if(this._buffer.length===0||n===0)return null;if(this.readableObjectMode){if(n===void 0){let n=this._buffer.shift();return--this.readableLength,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),n}if(n>this.readableLength)return null;let a=this._buffer.shift();return--this.readableLength,a}if(n!=null)return n>this.readableLength?null:this._readBytes(n);let a=this._buffer.splice(0);if(this.readableLength=0,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),a.length===1)return a[0];if(a.length===0)return null;if(typeof a[0]==`string`)return a.join(``);let S=globalThis.Buffer;return S?.concat?S.concat(a):a}_readBytes(n){let a=0,S=[];for(;a<n&&this._buffer.length>0;){let C=this._buffer[0],N=chunkLength(C);if(a+N<=n)S.push(this._buffer.shift()),a+=N,this.readableLength-=N;else{let N=n-a;S.push(sliceChunk(C,0,N)),this._buffer[0]=sliceChunk(C,N),this.readableLength-=N,a+=N}}if(S.length===1)return S[0];let C=globalThis.Buffer;return C?.concat?C.concat(S):S}push(n,a){if(n===null)return this._readableState.ended=!0,this.readableEnded=!0,this._buffer.length===0&&!this._readableState.endEmitted&&nextTick(()=>this._emitEnd()),this._scheduleReadable(),!1;if(!this.readableObjectMode&&!(typeof n==`string`||ArrayBuffer.isView(n))){let a=Object.assign(TypeError(`Invalid non-string/buffer chunk type: ${typeof n}`),{code:`ERR_INVALID_ARG_TYPE`});return nextTick(()=>this.emit(`error`,a)),!1}return this._buffer.push(n),this.readableLength+=this.readableObjectMode?1:chunkLength(n),this.readableFlowing&&!this._flowing&&nextTick(()=>this._flow()),this.readableFlowing!==!0&&this._scheduleReadable(),this.readableLength<this.readableHighWaterMark}_emitEnd(){this._readableState.endEmitted||(this._readableState.endEmitted=!0,this.emit(`end`),nextTick(()=>this._autoClose()))}_autoClose(){this.emit(`close`)}_scheduleReadable(){this._readablePending||this.listenerCount(`readable`)===0||(this._readablePending=!0,nextTick(()=>{this._readablePending=!1,this.destroyed||this.emit(`readable`)}))}on(n,a){return super.on(n,a),n===`data`&&this.readableFlowing!==!1&&this.resume(),n===`readable`&&(this._buffer.length>0||this._readableState.ended)&&this._scheduleReadable(),this}unshift(n){this._buffer.unshift(n),this.readableLength+=this.readableObjectMode?1:chunkLength(n)}setEncoding(n){return this.readableEncoding=n,this}pause(){return this.readableFlowing=!1,this.emit(`pause`),this}resume(){return this.readableFlowing!==!0&&(this.readableFlowing=!0,this.emit(`resume`),this._readableState.constructed&&this._flow()),this}_flowing=!1;_flow(){if(!(this.readableFlowing!==!0||this._flowing||this.destroyed)&&this._readableState.constructed){this._flowing=!0;try{for(;this._buffer.length>0&&this.readableFlowing&&!this.destroyed;){let n=this._buffer.shift();if(this.readableLength-=this.readableObjectMode?1:chunkLength(n),this.readableEncoding&&typeof n!=`string`){let a=globalThis.Buffer;a?.isBuffer&&a.isBuffer(n)?n=n.toString(this.readableEncoding):n instanceof Uint8Array&&(n=new TextDecoder(this.readableEncoding).decode(n))}this.emit(`data`,n)}if(this.destroyed)return;if(this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted){nextTick(()=>this._emitEnd());return}!this._readableState.ended&&!this._readableState.reading&&!this.destroyed&&(this._readableState.reading=!0,this._read(this.readableHighWaterMark),this._readableState.reading=!1)}finally{this._flowing=!1}this._buffer.length>0&&this.readableFlowing&&!this.destroyed&&nextTick(()=>this._flow())}}isPaused(){return this.readableFlowing===!1}unpipe(n){if(n){let a=this._pipeDests.findIndex(a=>a.dest===n);if(a!==-1){this._pipeDests[a].cleanup(),this._pipeDests.splice(a,1);let S=this._readableState.pipes.indexOf(n);S!==-1&&this._readableState.pipes.splice(S,1),n.emit(`unpipe`,this),this._pipeDests.length===0&&(this.readableFlowing=!1)}}else{for(let n of this._pipeDests)n.cleanup(),n.dest.emit(`unpipe`,this);this._pipeDests=[],this._readableState.pipes=[],this.readableFlowing=!1}return this}_destroy(n,a){this._destroyImpl?this._destroyImpl.call(this,n,a):a(n??void 0)}destroy(n){if(this.destroyed)return this;this.destroyed=!0,this.readable=!1,this.readableAborted=!this.readableEnded,n&&(this._err=n);let cb=n=>{n&&nextTick(()=>this.emit(`error`,n)),nextTick(()=>this.emit(`close`))};return Object.prototype.hasOwnProperty.call(this,`_destroy`)?this._destroy(n??null,cb):this._destroyImpl?this._destroyImpl.call(this,n??null,cb):cb(n),this}static toWeb(n){return new ReadableStream({start(a){n.on(`data`,n=>{typeof n==`string`?a.enqueue(new TextEncoder().encode(n)):n instanceof Uint8Array?a.enqueue(n):n&&typeof n.length==`number`&&a.enqueue(new Uint8Array(n))}),n.on(`end`,()=>{a.close()}),n.on(`error`,n=>{a.error(n)})},cancel(){n.destroy()}})}static fromWeb(n,a){let S=n.getReader();return new Readable_({...a,read(){S.read().then(({done:n,value:a})=>{n?this.push(null):this.push(a)},n=>{this.destroy(n)})},destroy(n,a){S.cancel(n?.message).then(()=>a(null),a)}})}[Symbol.asyncIterator](){let n=this,a=[],S=!1,C=null,N=null,F=null;return n.on(`data`,n=>{if(N){let a=N;N=null,F=null,a({value:n,done:!1})}else a.push(n)}),n.on(`end`,()=>{if(S=!0,N){let n=N;N=null,F=null,n({value:void 0,done:!0})}}),n.on(`error`,n=>{if(C=n,S=!0,F){let a=F;N=null,F=null,a(n)}}),{next(){return C?Promise.reject(C):a.length>0?Promise.resolve({value:a.shift(),done:!1}):S?Promise.resolve({value:void 0,done:!0}):new Promise((n,a)=>{N=n,F=a})},return(){return n.destroy(),Promise.resolve({value:void 0,done:!0})},[Symbol.asyncIterator](){return this}}}static from(n,a){let S=new Readable_({objectMode:!0,...a,read(){}});return typeof n==`string`||ArrayBuffer.isView(n)?(S.push(n),S.push(null),S):((async()=>{try{for await(let a of n)S.push(a)||await new Promise(n=>S.once(`drain`,n));S.push(null)}catch(n){S.destroy(n)}})(),S)}}});function chunkLen$1(n){if(n==null)return 1;let a=n.length;return typeof a==`number`?a:1}var Duplex_,Er=__esmMin(()=>{Cr(),Tr(),it(),Duplex_=class extends wr{writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;allowHalfOpen;_decodeStrings;_writableState={highWaterMark:0,objectMode:!1};_duplexCorkedBuffer=[];_duplexWriting=!1;_duplexWriteQueue=[];_writeImpl;_finalImpl;_defaultEncoding=`utf8`;_pendingWrites=0;_pendingEndCb=null;constructor(n){super(n),validateHighWaterMark(`writableHighWaterMark`,n?.writableHighWaterMark),validateHighWaterMark(`readableHighWaterMark`,n?.readableHighWaterMark),this.writableObjectMode=n?.writableObjectMode??n?.objectMode??!1,this.writableHighWaterMark=n?.highWaterMark??n?.writableHighWaterMark??getDefaultHighWaterMark(this.writableObjectMode),this._writableState.highWaterMark=this.writableHighWaterMark,this._writableState.objectMode=this.writableObjectMode,n?.highWaterMark===void 0&&n?.readableHighWaterMark!==void 0&&(this.readableHighWaterMark=n.readableHighWaterMark,this._readableState.highWaterMark=n.readableHighWaterMark),n?.readableObjectMode!==void 0&&(this.readableObjectMode=n.readableObjectMode,this._readableState.objectMode=n.readableObjectMode,n?.readableHighWaterMark===void 0&&n?.highWaterMark===void 0&&(this.readableHighWaterMark=getDefaultHighWaterMark(n.readableObjectMode),this._readableState.highWaterMark=this.readableHighWaterMark)),this.allowHalfOpen=n?.allowHalfOpen!==!1,this._decodeStrings=n?.decodeStrings!==!1,n?.write&&(this._writeImpl=n.write),n?.final&&(this._finalImpl=n.final),this.allowHalfOpen||this.once(`end`,()=>{this.writableEnded||nextTick(()=>this.end())})}_write(n,a,S){this._writeImpl?this._writeImpl.call(this,n,a,S):S()}_final(n){this._finalImpl?this._finalImpl.call(this,n):n()}destroy(n){return this.destroyed?this:(this.writable=!1,super.destroy(n))}write(n,a,S){let C,N;if(typeof a==`function`?(C=a,N=this._defaultEncoding):(N=a??this._defaultEncoding,C=S??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof n==`string`){let a=globalThis.Buffer;a&&(n=a.from(n,N),N=`buffer`)}if(typeof n!=`string`&&!this.writableObjectMode){let a=globalThis.Buffer;(a&&a.isBuffer(n)||n instanceof Uint8Array)&&(N=`buffer`)}if(this.writableEnded){let n=Error(`write after end`);return nextTick(()=>{C(n),this.emit(`error`,n)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen$1(n),this.writableCorked>0)return this._duplexCorkedBuffer.push({chunk:n,encoding:N,callback:C}),this.writableLength<this.writableHighWaterMark;let F=this.writableLength<this.writableHighWaterMark;return F||(this.writableNeedDrain=!0),this._duplexDoWrite(n,N,C),F}_duplexDoWrite(n,a,S){if(this._duplexWriting){this._duplexWriteQueue.push({chunk:n,encoding:a,callback:S});return}this._duplexWriting=!0,this._duplexStartWrite(n,a,S)}_duplexStartWrite(n,a,S){this._pendingWrites++,this._write(n,a,a=>{this._pendingWrites--,this.writableLength-=this.writableObjectMode?1:chunkLen$1(n),nextTick(a?()=>{if(S(a),this._duplexWriting=!1,this.emit(`error`,a),this._duplexWriteQueue.length>0){let n=this._duplexWriteQueue.shift();this._duplexWriting=!0,this._duplexStartWrite(n.chunk,n.encoding,n.callback)}}:()=>{if(S(),this._duplexWriteQueue.length>0){let n=this._duplexWriteQueue.shift();this._duplexStartWrite(n.chunk,n.encoding,n.callback);return}if(this._duplexWriting=!1,this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._pendingWrites===0&&this._pendingEndCb){let n=this._pendingEndCb;this._pendingEndCb=null,n()}})})}end(n,a,S){typeof n==`function`&&(S=n,n=void 0),typeof a==`function`&&(S=a,a=void 0),n!=null&&this.write(n,a),this.writableEnded=!0;let doFinal=()=>{this._final(n=>{this.writableFinished=!0,this._doPrefinishHooks(()=>{nextTick(()=>{n&&this.emit(`error`,n),this.emit(`finish`),nextTick(()=>this.emit(`close`)),S&&S()})})})};return this._pendingWrites>0||this._duplexWriting||this._duplexWriteQueue.length>0?this._pendingEndCb=doFinal:doFinal(),this}_doPrefinishHooks(n){n()}cork(){this.writableCorked++}uncork(){if(this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._duplexCorkedBuffer.length>0)){let n=this._duplexCorkedBuffer.splice(0);for(let{chunk:a,encoding:S,callback:C}of n)this._write(a,S,n=>{this.writableLength-=this.writableObjectMode?1:chunkLen$1(a),n?(C(n),this.emit(`error`,n)):C()});this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,nextTick(()=>this.emit(`drain`)))}}setDefaultEncoding(n){return this._defaultEncoding=n,this}},__name$1(chunkLen$1,`chunkLen`)});function pipe(n,a,S){let C=n,N=S?.end!==!1,F=!1,ondrain=()=>{F=!1,a.removeListener(`drain`,ondrain);let n=C;typeof n.resume==`function`&&n.resume()},ondata=n=>{if(a.writable){let S=C;a.write(n)===!1&&typeof S.pause==`function`&&(S.pause(),F||(F=!0,a.on(`drain`,ondrain)))}};C.on(`data`,ondata);let I=!1,onend=()=>{I||(I=!0,N&&a.end())},onclose=()=>{if(!I&&(I=!0,N&&!(C instanceof wr))){let n=a;typeof n.destroy==`function`&&n.destroy()}};N&&(C.on(`end`,onend),C.on(`close`,onclose));let cleanup=()=>{C.removeListener(`data`,ondata),F&&a.removeListener(`drain`,ondrain),C.removeListener(`end`,onend),C.removeListener(`close`,onclose),C.removeListener(`end`,cleanup),C.removeListener(`close`,cleanup),a.removeListener(`close`,cleanup)};return C.on(`end`,cleanup),C.on(`close`,cleanup),a.on(`close`,cleanup),C instanceof wr&&(C._pipeDests.push({dest:a,cleanup}),C._readableState.pipes.push(a)),a.emit(`pipe`,C),a}var Dr=__esmMin(()=>{yr(),Tr(),_setPipeImpl(pipe)});function chunkLen(n){if(n==null)return 1;let a=n.length;return typeof a==`number`?a:1}var Or,kr=__esmMin(()=>{yr(),Cr(),it(),Or=class Writable_ extends Stream_{static[Symbol.hasInstance](n){let a=this;return a.prototype!==void 0&&Object.prototype.isPrototypeOf.call(a.prototype,n)?!0:a.prototype!==Writable_.prototype||n==null?!1:typeof n.writableHighWaterMark==`number`}writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;destroyed=!1;_err;_writableState={ended:!1,finished:!1,constructed:!0,writing:!1};_corkedBuffer=[];_writeBuffer=[];_pendingConstruct=[];_ending=!1;_endCallback;_pendingEnd=null;_writeImpl;_writev;_finalImpl;_destroyImpl;_constructImpl;_decodeStrings;_defaultEncoding=`utf8`;constructor(n){super(n),this.writableHighWaterMark=n?.highWaterMark??getDefaultHighWaterMark(n?.objectMode??!1),this.writableObjectMode=n?.objectMode??!1,this._decodeStrings=n?.decodeStrings!==!1,n?.write&&(this._writeImpl=n.write),n?.writev&&(this._writev=n.writev),n?.final&&(this._finalImpl=n.final),n?.destroy&&(this._destroyImpl=n.destroy),n?.construct&&(this._constructImpl=n.construct),(this._constructImpl||this._construct!==Writable_.prototype._construct)&&(this._writableState.constructed=!1,nextTick(()=>{this._construct(n=>{this._writableState.constructed=!0,n?this.destroy(n):this._maybeFlush()})}))}_construct(n){this._constructImpl?this._constructImpl.call(this,n):n()}_write(n,a,S){this._writeImpl?this._writeImpl.call(this,n,a,S):S()}_final(n){this._finalImpl?this._finalImpl.call(this,n):n()}_maybeFlush(){let n=this._pendingConstruct.splice(0);if(n.length>0){let[a,...S]=n;this._writeBuffer.push(...S),this._doWrite(a.chunk,a.encoding,a.callback)}if(this._pendingEnd){let{chunk:n,encoding:a,callback:S}=this._pendingEnd;this._pendingEnd=null,this._doEnd(n,a,S)}}_doWrite(n,a,S){this._writableState.writing=!0;let C=!0;this._write(n,a,a=>{if(this.writableLength-=this.writableObjectMode?1:chunkLen(n),C){nextTick(()=>{if(a){S(a),this.emit(`error`,a);return}S(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}),a||this._drainWriteBuffer();return}nextTick(a?()=>{S(a),this.emit(`error`,a),this._drainWriteBuffer()}:()=>{S(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._drainWriteBuffer()})}),C=!1}_drainWriteBuffer(){if(this._writeBuffer.length>0){let n=this._writeBuffer.shift();this._doWrite(n.chunk,n.encoding,n.callback)}else this._writableState.writing=!1,this._maybeFinish()}_maybeFinish(){!this._ending||this._writableState.finished||this._writableState.writing||this._writeBuffer.length>0||(this._ending=!1,this._final(n=>{this.writableFinished=!0,this._writableState.finished=!0,nextTick(()=>{n&&this.emit(`error`,n),this.emit(`finish`),nextTick(()=>this.emit(`close`)),this._endCallback&&this._endCallback()})}))}write(n,a,S){let C,N;if(typeof a==`function`?(C=a,N=this._defaultEncoding):(N=a??this._defaultEncoding,C=S??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof n==`string`){let a=globalThis.Buffer;a&&(n=a.from(n,N),N=`buffer`)}if(typeof n!=`string`&&!this.writableObjectMode){let a=globalThis.Buffer;(a&&a.isBuffer(n)||n instanceof Uint8Array)&&(N=`buffer`)}if(this.writableEnded){let n=Error(`write after end`);return nextTick(()=>{C(n),this.emit(`error`,n)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen(n),this.writableCorked>0)return this._corkedBuffer.push({chunk:n,encoding:N,callback:C}),this.writableLength<this.writableHighWaterMark;if(!this._writableState.constructed)return this._pendingConstruct.push({chunk:n,encoding:N,callback:C}),this.writableLength<this.writableHighWaterMark;let F=this.writableLength<this.writableHighWaterMark;return F||(this.writableNeedDrain=!0),this._writableState.writing?this._writeBuffer.push({chunk:n,encoding:N,callback:C}):this._doWrite(n,N,C),F}_doEnd(n,a,S){n!=null&&this.write(n,a),this.writableEnded=!0,this._writableState.ended=!0,this._ending=!0,this._endCallback=S,this._maybeFinish()}end(n,a,S){return typeof n==`function`&&(S=n,n=void 0),typeof a==`function`&&(S=a,a=void 0),this.writableEnded?(S&&nextTick(S),this):this._writableState.constructed?(this._doEnd(n,a,S),this):(this._pendingEnd={chunk:n,encoding:a,callback:S},this)}cork(){this.writableCorked++}uncork(){this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._corkedBuffer.length>0&&this._flushCorkedBuffer())}_flushCorkedBuffer(){if(this._writev&&this._corkedBuffer.length>1){let n=this._corkedBuffer.splice(0),a=n.map(n=>({chunk:n.chunk,encoding:n.encoding}));this._writev.call(this,a,a=>{for(let a of n)this.writableLength-=this.writableObjectMode?1:chunkLen(a.chunk);if(a){for(let S of n)S.callback(a);this.emit(`error`,a)}else{for(let a of n)a.callback();this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}})}else{let n=this._corkedBuffer.splice(0);if(n.length>0){let[a,...S]=n;this._writeBuffer.push(...S),this._doWrite(a.chunk,a.encoding,a.callback)}}}setDefaultEncoding(n){return this._defaultEncoding=n,this}destroy(n){if(this.destroyed)return this;this.destroyed=!0,this.writable=!1,n&&(this._err=n);let cb=n=>{n&&nextTick(()=>this.emit(`error`,n)),nextTick(()=>this.emit(`close`))};return this._destroyImpl?this._destroyImpl.call(this,n??null,cb):cb(n),this}}}),Ar,jr=__esmMin(()=>{Er(),it(),Ar=class Transform_ extends Duplex_{constructor(n){super({...n,write:void 0,final:void 0});let a=this;n?.transform&&(a._transform=n.transform),n?.flush&&(a._flush=n.flush),n?.final&&(a._final=n.final)}_transform(n,a,S){throw Object.assign(Error(`The _transform() method is not implemented`),{code:`ERR_METHOD_NOT_IMPLEMENTED`})}_flush(n){n()}_write(n,a,S){let C=!1;try{this._transform(n,a,(n,a)=>{if(C){let n=Object.assign(Error(`Callback called multiple times`),{code:`ERR_MULTIPLE_CALLBACK`});nextTick(()=>this.emit(`error`,n));return}if(C=!0,n){S(n);return}a!=null&&this.push(a),S()})}catch(n){if(n?.code===`ERR_METHOD_NOT_IMPLEMENTED`)throw n;S(n)}}_final(n){this._flush((a,S)=>{if(a){n(a);return}S!=null&&this.push(S),this.push(null),n()})}_doPrefinishHooks(n){let a=Transform_.prototype._final;this._final===a?n():a.call(this,n)}}}),PassThrough_,Mr=__esmMin(()=>{jr(),PassThrough_=class extends Ar{constructor(n){super({...n,transform(n,a,S){S(null,n)}})}}});function pipeline(...n){let a=n,S=typeof a[a.length-1]==`function`?a.pop():void 0,C=a;if(C.length<2)throw Error(`pipeline requires at least 2 streams`);let N=null;function onError(n){if(!N){N=n;for(let n of C)typeof n.destroy==`function`&&n.destroy();S&&S(n)}}let F=C[0];for(let n=1;n<C.length;n++){let a=C[n];F.pipe(a),F.on(`error`,onError),F=a}let I=C[C.length-1];return I.on(`error`,onError),I.on(`finish`,()=>{S&&!N&&S(null)}),I}var Nr=__esmMin(()=>{});function finished$1(n,a,S){let C;C=typeof a==`function`?a:S;let N=!1;function done(n){N||(N=!0,C(n))}let onFinish=()=>done(),onEnd=()=>done(),onError=n=>done(n),onClose=()=>{let a=n,S=n;!a.writableFinished&&!S.readableEnded&&done(Error(`premature close`))};n.on(`finish`,onFinish),n.on(`end`,onEnd),n.on(`error`,onError),n.on(`close`,onClose);let F=n,I=typeof n.write==`function`,H=typeof n.read==`function`,W=F.writableFinished===!0,K=F.readableEnded===!0;if(F.destroyed===!0){let n=F._err;He(n?()=>done(n):I&&W||H&&K?()=>done():()=>done(Error(`premature close`)))}else (I&&!H&&W||!I&&H&&K||I&&H&&W&&K)&&He(()=>done());return function cleanup(){n.removeListener(`finish`,onFinish),n.removeListener(`end`,onEnd),n.removeListener(`error`,onError),n.removeListener(`close`,onClose)}}function addAbortSignal(n,a){if(!(n instanceof AbortSignal))throw TypeError(`The first argument must be an AbortSignal`);if(!(a instanceof Stream_))throw TypeError(`The second argument must be a Stream`);let S=a;if(n.aborted)S.destroy(Error(`The operation was aborted`));else{let onAbort=()=>{S.destroy(Error(`The operation was aborted`))};n.addEventListener(`abort`,onAbort,{once:!0}),a.once(`close`,()=>{n.removeEventListener(`abort`,onAbort)})}return a}function isReadable(n){if(n==null)return!1;let a=n;return typeof a.readable!=`boolean`||typeof a.read!=`function`||a.destroyed===!0||a.readableEnded===!0?!1:a.readable===!0}function isWritable(n){if(n==null)return!1;let a=n;return typeof a.writable!=`boolean`||typeof a.write!=`function`||a.destroyed===!0||a.writableEnded===!0?!1:a.writable===!0}function isDestroyed(n){return n==null?!1:n.destroyed===!0}function isDisturbed(n){if(n==null)return!1;let a=n;return a.readableDidRead===!0||a.readableFlowing!==null&&a.readableFlowing!==void 0}function isErrored(n){if(n==null)return!1;let a=n;return a.destroyed===!0&&typeof a.readable==`boolean`&&a.readable===!1||a.destroyed===!0&&typeof a.writable==`boolean`&&a.writable===!1}var Pr=__esmMin(()=>{yr(),it(),__name$1(finished$1,`finished`)}),Fr=__exportAll$3({Duplex:()=>zr,PassThrough:()=>Vr,Readable:()=>Lr,Stream:()=>Ir,Transform:()=>Br,Writable:()=>Rr,addAbortSignal:()=>addAbortSignal,default:()=>Hr,finished:()=>finished$1,getDefaultHighWaterMark:()=>getDefaultHighWaterMark,isDestroyed:()=>isDestroyed,isDisturbed:()=>isDisturbed,isErrored:()=>isErrored,isReadable:()=>isReadable,isWritable:()=>isWritable,pipeline:()=>pipeline,setDefaultHighWaterMark:()=>setDefaultHighWaterMark}),Ir,Lr,Rr,zr,Br,Vr,Hr,Ur=__esmMin(()=>{_r(),yr(),Cr(),Tr(),Er(),Dr(),kr(),jr(),Mr(),Nr(),Pr(),Ir=makeCallable(Stream_),Lr=makeCallable(wr),Rr=makeCallable(Or),zr=makeCallable(Duplex_),Br=makeCallable(Ar),Vr=makeCallable(PassThrough_),Hr=Object.assign(Ir,{Stream:Ir,Readable:Lr,Writable:Rr,Duplex:zr,Transform:Br,PassThrough:Vr,pipeline,finished:finished$1,addAbortSignal,isReadable,isWritable,isDestroyed,isDisturbed,isErrored,getDefaultHighWaterMark,setDefaultHighWaterMark})});function getGioCompressorFormat(n){switch(n){case`gzip`:return xe.ZlibCompressorFormat.GZIP;case`deflate`:return xe.ZlibCompressorFormat.ZLIB;case`deflate-raw`:return xe.ZlibCompressorFormat.RAW}}function toUint8Array$2(n){return typeof n==`string`?new TextEncoder().encode(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}function createGzip(n){return new ZlibTransform(`gzip`,`compress`,n)}function createGunzip(n){return new ZlibTransform(`gzip`,`decompress`,n)}function createDeflate(n){return new ZlibTransform(`deflate`,`compress`,n)}function createInflate(n){return new ZlibTransform(`deflate`,`decompress`,n)}function createDeflateRaw(n){return new ZlibTransform(`deflate-raw`,`compress`,n)}function createInflateRaw(n){return new ZlibTransform(`deflate-raw`,`decompress`,n)}function createUnzip(n){return new ZlibTransform(`gzip`,`decompress`,n)}function createBrotliCompress(n){throw Error(`createBrotliCompress is not supported on GJS (no Brotli in GLib)`)}function createBrotliDecompress(n){throw Error(`createBrotliDecompress is not supported on GJS (no Brotli in GLib)`)}var ZlibTransform,Wr=__esmMin(()=>{Se(),ue(),Ur(),__name$1(toUint8Array$2,`toUint8Array`),ZlibTransform=class extends Br{_format;_mode;_chunks=[];constructor(n,a,S){super(S),this._format=n,this._mode=a}_transform(n,a,S){this._chunks.push(toUint8Array$2(n)),S()}_flush(n){let a=this._chunks.reduce((n,a)=>n+a.length,0),S=new Uint8Array(a),C=0;for(let n of this._chunks)S.set(n,C),C+=n.length;this._chunks=[];try{let a=this._mode===`compress`?this._compress(S):this._decompress(S);this.push(Buffer.from(a)),n()}catch(a){n(a instanceof Error?a:Error(String(a)))}}_compress(n){let a=new xe.ZlibCompressor({format:getGioCompressorFormat(this._format)}),S=new xe.ConverterOutputStream({base_stream:xe.MemoryOutputStream.new_resizable(),converter:a});S.write_bytes(new le.Bytes(n),null),S.close(null);let C=S.get_base_stream().steal_as_bytes();return new Uint8Array(C.get_data()??[])}_decompress(n){let a=new xe.ZlibDecompressor({format:getGioCompressorFormat(this._format)}),S=xe.MemoryInputStream.new_from_bytes(new le.Bytes(n)),C=new xe.ConverterInputStream({base_stream:S,converter:a}),N=[];for(;;){let n=C.read_bytes(4096,null);if(n.get_size()===0)break;N.push(new Uint8Array(n.get_data()))}C.close(null);let F=N.reduce((n,a)=>n+a.length,0),I=new Uint8Array(F),H=0;for(let n of N)I.set(n,H),H+=n.length;return I}}}),Gr=__exportAll$3({ZlibTransform:()=>ZlibTransform,brotliCompress:()=>brotliCompress,brotliCompressSync:()=>brotliCompressSync,brotliDecompress:()=>brotliDecompress,brotliDecompressSync:()=>brotliDecompressSync,constants:()=>qr,createBrotliCompress:()=>createBrotliCompress,createBrotliDecompress:()=>createBrotliDecompress,createDeflate:()=>createDeflate,createDeflateRaw:()=>createDeflateRaw,createGunzip:()=>createGunzip,createGzip:()=>createGzip,createInflate:()=>createInflate,createInflateRaw:()=>createInflateRaw,createUnzip:()=>createUnzip,default:()=>Jr,deflate:()=>deflate,deflateRaw:()=>deflateRaw,deflateRawSync:()=>deflateRawSync,deflateSync:()=>deflateSync,gunzip:()=>gunzip$1,gunzipSync:()=>gunzipSync,gzip:()=>gzip$1,gzipSync:()=>gzipSync,inflate:()=>inflate,inflateRaw:()=>inflateRaw,inflateRawSync:()=>inflateRawSync,inflateSync:()=>inflateSync});function getGioFormat(n){switch(n){case`gzip`:return xe.ZlibCompressorFormat.GZIP;case`deflate`:return xe.ZlibCompressorFormat.ZLIB;case`deflate-raw`:return xe.ZlibCompressorFormat.RAW}}function compressWithGio(n,a){let S=new xe.ZlibCompressor({format:getGioFormat(a)}),C=new xe.ConverterOutputStream({base_stream:xe.MemoryOutputStream.new_resizable(),converter:S});C.write_bytes(new le.Bytes(n),null),C.close(null);let N=C.get_base_stream().steal_as_bytes();return new Uint8Array(N.get_data()??[])}function decompressStreamWithGio(n,a){let S=new xe.ZlibDecompressor({format:getGioFormat(a)}),C=xe.MemoryInputStream.new_from_bytes(new le.Bytes(n)),N=new xe.ConverterInputStream({base_stream:C,converter:S}),F=[];for(;;){let n=N.read_bytes(4096,null);if(n.get_size()===0)break;F.push(new Uint8Array(n.get_data()))}N.close(null);let I=F.reduce((n,a)=>n+a.length,0),H=new Uint8Array(I),W=0;for(let n of F)H.set(n,W),W+=n.length;return H}function findGzipMemberEnd(n){let a=new xe.ZlibDecompressor({format:xe.ZlibCompressorFormat.GZIP}),S=new Uint8Array(65536),C=0,N=!1;for(;!N;){let F=n.subarray(C);try{let[n,I]=a.convert(F,S,xe.ConverterFlags.NONE);C+=I,n===xe.ConverterResult.FINISHED&&(N=!0)}catch{N=!0}}return C}function decompressWithGio(n,a){if(a!==`gzip`)return decompressStreamWithGio(n,a);let S=[],C=0;for(;C<n.length&&!(n.length-C<2||n[C]!==31||n[C+1]!==139);){let a=n.subarray(C),N=findGzipMemberEnd(a);if(N<=0)break;let F=decompressStreamWithGio(a.subarray(0,N),`gzip`);S.push(F),C+=N}if(S.length===0)return decompressStreamWithGio(n,`gzip`);let N=S.reduce((n,a)=>n+a.length,0),F=new Uint8Array(N),I=0;for(let n of S)F.set(n,I),I+=n.length;return F}async function compressWithWeb(n,a){let S=new CompressionStream(a),C=S.writable.getWriter();C.write(new Uint8Array(n.buffer,n.byteOffset,n.byteLength)),C.close();let N=[],F=S.readable.getReader();for(;;){let{done:n,value:a}=await F.read();if(n)break;N.push(a)}let I=N.reduce((n,a)=>n+a.length,0),H=new Uint8Array(I),W=0;for(let n of N)H.set(n,W),W+=n.length;return H}async function decompressWithWeb(n,a){let S=new DecompressionStream(a),C=S.writable.getWriter();C.write(new Uint8Array(n.buffer,n.byteOffset,n.byteLength)),C.close();let N=[],F=S.readable.getReader();for(;;){let{done:n,value:a}=await F.read();if(n)break;N.push(a)}let I=N.reduce((n,a)=>n+a.length,0),H=new Uint8Array(I),W=0;for(let n of N)H.set(n,W),W+=n.length;return H}async function compress(n,a){return Kr?compressWithWeb(n,a):compressWithGio(n,a)}async function decompress(n,a){return Kr?decompressWithWeb(n,a):decompressWithGio(n,a)}function toUint8Array$1(n){return typeof n==`string`?new TextEncoder().encode(n):n instanceof ArrayBuffer?new Uint8Array(n):n}function gzip$1(n,a,S){let C=typeof a==`function`?a:S;compress(toUint8Array$1(n),`gzip`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function gunzip$1(n,a,S){let C=typeof a==`function`?a:S;decompress(toUint8Array$1(n),`gzip`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function deflate(n,a,S){let C=typeof a==`function`?a:S;compress(toUint8Array$1(n),`deflate`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function inflate(n,a,S){let C=typeof a==`function`?a:S;decompress(toUint8Array$1(n),`deflate`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function deflateRaw(n,a,S){let C=typeof a==`function`?a:S;compress(toUint8Array$1(n),`deflate-raw`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function inflateRaw(n,a,S){let C=typeof a==`function`?a:S;decompress(toUint8Array$1(n),`deflate-raw`).then(n=>C(null,n),n=>C(n instanceof Error?n:Error(String(n)),new Uint8Array))}function gzipSync(n,a){return compressWithGio(toUint8Array$1(n),`gzip`)}function gunzipSync(n,a){return decompressWithGio(toUint8Array$1(n),`gzip`)}function deflateSync(n,a){return compressWithGio(toUint8Array$1(n),`deflate`)}function inflateSync(n,a){return decompressWithGio(toUint8Array$1(n),`deflate`)}function deflateRawSync(n,a){return compressWithGio(toUint8Array$1(n),`deflate-raw`)}function inflateRawSync(n,a){return decompressWithGio(toUint8Array$1(n),`deflate-raw`)}function brotliCompress(n,a,S){(typeof a==`function`?a:S)(Error(`brotliCompress: Brotli is not supported in this environment`),null)}function brotliDecompress(n,a,S){(typeof a==`function`?a:S)(Error(`brotliDecompress: Brotli is not supported in this environment`),null)}function brotliCompressSync(n,a){throw Error(`brotliCompressSync: Brotli is not supported in this environment`)}function brotliDecompressSync(n,a){throw Error(`brotliDecompressSync: Brotli is not supported in this environment`)}var Kr,qr,Jr,Yr=__esmMin(()=>{Wr(),Se(),ue(),Kr=globalThis.CompressionStream!==void 0,__name$1(toUint8Array$1,`toUint8Array`),__name$1(gzip$1,`gzip`),__name$1(gunzip$1,`gunzip`),qr={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_DEFLATED:8},Jr={gzip:gzip$1,gunzip:gunzip$1,deflate,inflate,deflateRaw,inflateRaw,gzipSync,gunzipSync,deflateSync,inflateSync,deflateRawSync,inflateRawSync,brotliCompress,brotliDecompress,brotliCompressSync,brotliDecompressSync,createGzip,createGunzip,createDeflate,createInflate,createDeflateRaw,createInflateRaw,createUnzip,createBrotliCompress,createBrotliDecompress,constants:qr}});const Xr=new Set([`gzip`,`deflate`,`deflate-raw`]);function validateFormat(n){if(!Xr.has(n))throw TypeError(`Unsupported compression format: '${n}'. Supported formats: 'gzip', 'deflate', 'deflate-raw'.`);return n}const Zr=typeof globalThis.CompressionStream==`function`&&typeof globalThis.DecompressionStream==`function`;let Qr=!1,$r,ei,ti,ni,ri,ii;async function loadZlib(){if(Qr)return;let n=await Promise.resolve().then(()=>(Yr(),Gr));$r=n.gzipSync,ei=n.gunzipSync,ti=n.deflateSync,ni=n.inflateSync,ri=n.deflateRawSync,ii=n.inflateRawSync,Qr=!0}function getCompressFn(n){switch(n){case`gzip`:return n=>$r(n);case`deflate`:return n=>ti(n);case`deflate-raw`:return n=>ri(n)}}function getDecompressFn(n){switch(n){case`gzip`:return n=>ei(n);case`deflate`:return n=>ni(n);case`deflate-raw`:return n=>ii(n)}}let ai,oi;Zr?(ai=globalThis.CompressionStream,oi=globalThis.DecompressionStream):(loadZlib(),ai=class CompressionStream{readable;writable;constructor(n){let a=validateFormat(n);if(!Qr)throw Error(`zlib not yet loaded. Ensure module initialization is complete.`);let S=getCompressFn(a),C=new fr({transform(n,a){try{a.enqueue(S(n))}catch(n){a.error(n)}}});this.readable=C.readable,this.writable=C.writable}},oi=class DecompressionStream{readable;writable;constructor(n){let a=validateFormat(n);if(!Qr)throw Error(`zlib not yet loaded. Ensure module initialization is complete.`);let S=getDecompressFn(a),C=new fr({transform(n,a){try{a.enqueue(S(n))}catch(n){a.error(n)}}});this.readable=C.readable,this.writable=C.writable}}),globalThis.CompressionStream===void 0&&(globalThis.CompressionStream=ai),globalThis.DecompressionStream===void 0&&(globalThis.DecompressionStream=oi),globalThis.DOMException===void 0&&(globalThis.DOMException=pn);var si,__name,ci=__esmMin(()=>{si=Object.defineProperty,__name=(n,a)=>si(n,`name`,{value:a,configurable:!0})}),li=S;function validateHeaderName(n){if(typeof n!=`string`||!/^[\^`\-\w!#$%&'*+.|~]+$/.test(n)){let a=TypeError(`Header name must be a valid HTTP token ["${n}"]`);throw Object.defineProperty(a,`code`,{value:`ERR_INVALID_HTTP_TOKEN`}),a}}function validateHeaderValue(n,a){if(a===void 0){let a=TypeError(`Header "${n}" value must not be undefined`);throw Object.defineProperty(a,`code`,{value:`ERR_HTTP_INVALID_HEADER_VALUE`}),a}if(typeof a==`string`&&/[^\t -~€-ÿ]/.test(a)){let a=TypeError(`Invalid character in header content ["${n}"]`);throw Object.defineProperty(a,`code`,{value:`ERR_INVALID_CHAR`}),a}}const di=Symbol(`Headers.headers`);function isBoxedPrimitive$2(n){return n instanceof String||n instanceof Number||n instanceof Boolean||typeof Symbol<`u`&&n instanceof Symbol||typeof BigInt<`u`&&n instanceof BigInt}__name$1(isBoxedPrimitive$2,`isBoxedPrimitive`);var fi=class Headers{[di];constructor(n){if(this[di]=new Map,n!=null){if(n instanceof Headers){for(let[a,S]of n[di])this[di].set(a,[...S]);return}if(typeof n==`object`&&!isBoxedPrimitive$2(n)){let a=n[Symbol.iterator];if(a==null)for(let[a,S]of Object.entries(n))validateHeaderName(a),validateHeaderValue(a,String(S)),this.append(a,String(S));else{if(typeof a!=`function`)throw TypeError(`Header pairs must be iterable`);for(let a of n){if(typeof a!=`object`||isBoxedPrimitive$2(a))throw TypeError(`Each header pair must be an iterable object`);let n=[...a];if(n.length!==2)throw TypeError(`Each header pair must be a name/value tuple`);validateHeaderName(n[0]),validateHeaderValue(n[0],String(n[1])),this.append(n[0],String(n[1]))}}}else throw TypeError(`Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)'`)}}append(n,a){validateHeaderName(n),validateHeaderValue(n,a);let S=String(n).toLowerCase(),C=String(a),N=this[di].get(S);N?N.push(C):this[di].set(S,[C])}set(n,a){validateHeaderName(n),validateHeaderValue(n,a);let S=String(n).toLowerCase();this[di].set(S,[String(a)])}delete(n){this[di].delete(String(n).toLowerCase())}has(n){return this[di].has(String(n).toLowerCase())}get(n){let a=this[di].get(String(n).toLowerCase());if(!a||a.length===0)return null;let S=a.join(`, `);return/^content-encoding$/i.test(n)&&(S=S.toLowerCase()),S}getAll(n){return this[di].get(String(n).toLowerCase())??[]}getSetCookie(){return this[di].get(`set-cookie`)??[]}forEach(n,a){for(let S of this.keys())Reflect.apply(n,a,[this.get(S),S,this])}*keys(){let n=[...this[di].keys()].sort(),a=new Set;for(let S of n)a.has(S)||(a.add(S),yield S)}*values(){for(let n of this.keys())yield this.get(n)}*entries(){for(let n of this.keys())yield[n,this.get(n)]}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return`Headers`}toString(){return Object.prototype.toString.call(this)}raw(){let n={};for(let a of this.keys())n[a]=this.getAll(a);return n}_appendToSoupMessage(n,a=li.MessageHeadersType.REQUEST){let S=n?n.get_request_headers():new li.MessageHeaders(a);for(let[n,a]of this.entries())S.append(n,a);return S}static _newFromSoupMessage(n,a=li.MessageHeadersType.RESPONSE){let S=new Headers,C;return C=a===li.MessageHeadersType.RESPONSE?n.get_response_headers():n.get_request_headers(),C.foreach((n,a)=>{S.append(n,a)}),S}[Symbol.for(`nodejs.util.inspect.custom`)](){let n={};for(let a of this.keys()){let S=this.getAll(a);a===`host`?n[a]=S[0]:n[a]=S.length>1?S:S[0]}return n}};Object.defineProperties(fi.prototype,[`get`,`entries`,`forEach`,`values`].reduce((n,a)=>(n[a]={enumerable:!0},n),{}));var pi=__esmMin(()=>{vt()});pi();var FetchBaseError=class extends Error{type;constructor(n,a){super(n),typeof Error.captureStackTrace==`function`&&Error.captureStackTrace(this,this.constructor),this.type=a}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}},FetchError=class extends FetchBaseError{code;errno;erroredSysCall;constructor(n,a,S){super(n,a),S&&(this.code=this.errno=S.code,this.erroredSysCall=S.syscall)}};tn();const mi=Symbol.toStringTag,isURLSearchParameters=n=>typeof n==`object`&&typeof n.append==`function`&&typeof n.delete==`function`&&typeof n.get==`function`&&typeof n.getAll==`function`&&typeof n.has==`function`&&typeof n.set==`function`&&typeof n.sort==`function`&&n[mi]===`URLSearchParams`,isBlob=n=>{if(!n||typeof n!=`object`)return!1;let a=n;return typeof a.arrayBuffer==`function`&&typeof a.type==`string`&&typeof a.stream==`function`&&typeof a.constructor==`function`&&/^(Blob|File)$/.test(a[mi])},isAbortSignal=n=>{if(typeof n!=`object`||!n)return!1;let a=n;return a[mi]===`AbortSignal`||a[mi]===`EventTarget`},isDomainOrSubdomain=(n,a)=>{let S=new $t(a).hostname,C=new $t(n).hostname;return S===C||S.endsWith(`.${C}`)},isSameProtocol=(n,a)=>new $t(a).protocol===new $t(n).protocol;var hi,gi,File,_i=__esmMin(()=>{hi=Symbol(`File.name`),gi=Symbol(`File.lastModified`),File=class extends Blob{[hi];[gi];webkitRelativePath=``;constructor(n,a,S){super(n,S),this[hi]=String(a),this[gi]=S?.lastModified??Date.now()}get name(){return this[hi]}get lastModified(){return this[gi]}get[Symbol.toStringTag](){return`File`}}});function generateBoundary(){let n=`----formdata-`;for(let a=0;a<24;a++)n+=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789`.charAt(Math.floor(Math.random()*62));return n}function escape(n){return n.replace(/\n/g,`%0A`).replace(/\r/g,`%0D`).replace(/"/g,`%22`)}function formDataToBlob(n,a){a??=generateBoundary();let S=[],C=`--${a}\r\nContent-Disposition: form-data; name="`;for(let[a,N]of n.entries())if(typeof N==`string`)S.push(`${C}${escape(a)}"\r\n\r\n${N.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
7
7
  `)}\r\n`);else{let n=N instanceof File?N:new File([N],`blob`,{type:N.type});S.push(`${C}${escape(a)}"; filename="${escape(n.name)}"\r\nContent-Type: ${n.type||`application/octet-stream`}\r\n\r\n`),S.push(n),S.push(`\r
8
8
  `)}return S.push(`--${a}--`),new Blob(S,{type:`multipart/form-data; boundary=${a}`})}var vi=__esmMin(()=>{_i()});function normalizeValue(n,a,S){return typeof a==`string`?a:(a instanceof Blob&&!(a instanceof File)&&(a=new File([a],S??`blob`,{type:a.type})),a instanceof File&&S!==void 0&&(a=new File([a],S,{type:a.type,lastModified:a.lastModified})),a)}var yi,FormData,bi=__esmMin(()=>{_i(),yi=Symbol(`FormData.entries`),FormData=class{[yi]=[];constructor(){}append(n,a,S){this[yi].push({name:String(n),value:normalizeValue(n,a,S)})}delete(n){let a=String(n);this[yi]=this[yi].filter(n=>n.name!==a)}get(n){let a=String(n),S=this[yi].find(n=>n.name===a);return S?S.value:null}getAll(n){let a=String(n);return this[yi].filter(n=>n.name===a).map(n=>n.value)}has(n){let a=String(n);return this[yi].some(n=>n.name===a)}set(n,a,S){let C=String(n),N=normalizeValue(C,a,S),F=!1;this[yi]=this[yi].filter(n=>n.name===C?F?!1:(F=!0,n.value=N,!0):!0),F||this[yi].push({name:C,value:N})}forEach(n,a){for(let S of this[yi])n.call(a,S.value,S.name,this)}*entries(){for(let n of this[yi])yield[n.name,n.value]}*keys(){for(let n of this[yi])yield n.name}*values(){for(let n of this[yi])yield n.value}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return`FormData`}}}),xi=__esmMin(()=>{vi(),bi()}),Si=__exportAll$3({toFormData:()=>toFormData});function _fileName(n){let a=n.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!a)return;let S=a[2]||a[3]||``,C=S.slice(S.lastIndexOf(`\\`)+1);return C=C.replace(/%22/g,`"`),C=C.replace(/&#(\d{4});/g,(n,a)=>String.fromCharCode(a)),C}async function toFormData(n,a){if(!/multipart/i.test(a))throw TypeError(`Failed to fetch`);let S=a.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!S)throw TypeError(`no or bad content-type header, no multipart boundary`);let C=new MultipartParser(S[1]||S[2]),N,F,I,H,W,K,q=[],Y=new FormData,onPartData=n=>{I+=X.decode(n,{stream:!0})},appendToFile=n=>{q.push(n)},appendFileToFormData=()=>{let n=new te(q,K,{type:W});Y.append(H,n)},appendEntryToFormData=()=>{Y.append(H,I)},X=new TextDecoder(`utf-8`);X.decode(),C.onPartBegin=function(){C.onPartData=onPartData,C.onPartEnd=appendEntryToFormData,N=``,F=``,I=``,H=``,W=``,K=null,q.length=0},C.onHeaderField=function(n){N+=X.decode(n,{stream:!0})},C.onHeaderValue=function(n){F+=X.decode(n,{stream:!0})},C.onHeaderEnd=function(){if(F+=X.decode(),N=N.toLowerCase(),N===`content-disposition`){let n=F.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);n&&(H=n[2]||n[3]||``),K=_fileName(F),K&&(C.onPartData=appendToFile,C.onPartEnd=appendFileToFormData)}else N===`content-type`&&(W=F);F=``,N=``};for await(let a of n)C.write(a);return C.end(),Y}var Ci,wi,Ti,lower,Ei,MultipartParser,Di=__esmMin(()=>{xi(),Ci=function(n){return n[n.START_BOUNDARY=0]=`START_BOUNDARY`,n[n.HEADER_FIELD_START=1]=`HEADER_FIELD_START`,n[n.HEADER_FIELD=2]=`HEADER_FIELD`,n[n.HEADER_VALUE_START=3]=`HEADER_VALUE_START`,n[n.HEADER_VALUE=4]=`HEADER_VALUE`,n[n.HEADER_VALUE_ALMOST_DONE=5]=`HEADER_VALUE_ALMOST_DONE`,n[n.HEADERS_ALMOST_DONE=6]=`HEADERS_ALMOST_DONE`,n[n.PART_DATA_START=7]=`PART_DATA_START`,n[n.PART_DATA=8]=`PART_DATA`,n[n.END=9]=`END`,n}(Ci||{}),wi=1,Ti={PART_BOUNDARY:wi,LAST_BOUNDARY:wi*=2},lower=n=>n|32,Ei=__name$1((...n)=>{},`noop`),MultipartParser=class{index=0;flags=0;boundary;lookbehind;state=0;onHeaderEnd=Ei;onHeaderField=Ei;onHeadersEnd=Ei;onHeaderValue=Ei;onPartBegin=Ei;onPartData=Ei;onPartEnd=Ei;boundaryChars={};constructor(n){n=`\r
9
9
  --`+n;let a=new Uint8Array(n.length);for(let S=0;S<n.length;S++)a[S]=n.charCodeAt(S),this.boundaryChars[a[S]]=!0;this.boundary=a,this.lookbehind=new Uint8Array(this.boundary.length+8)}write(n){let a=0,S=n.length,C=this.index,{lookbehind:N,boundary:F,boundaryChars:I,index:H,state:W,flags:K}=this,q=this.boundary.length,Y=q-1,X=n.length,te,ne,mark=n=>{this[n+`Mark`]=a},clear=n=>{delete this[n+`Mark`]},callback=(n,a,S,C)=>{(a===void 0||a!==S)&&this[n](C&&C.subarray(a,S))},dataCallback=(S,C=!1)=>{let N=S+`Mark`;N in this&&(C?(callback(S,this[N],a,n),delete this[N]):(callback(S,this[N],n.length,n),this[N]=0))};for(a=0;a<S;a++)switch(te=n[a],W){case 0:if(H===F.length-2){if(te===45)K|=Ti.LAST_BOUNDARY;else if(te!==13)return;H++;break}else if(H-1==F.length-2){if(K&Ti.LAST_BOUNDARY&&te===45)W=9,K=0;else if(!(K&Ti.LAST_BOUNDARY)&&te===10)H=0,callback(`onPartBegin`),W=1;else return;break}te!==F[H+2]&&(H=-2),te===F[H+2]&&H++;break;case 1:W=2,mark(`onHeaderField`),H=0;case 2:if(te===13){clear(`onHeaderField`),W=6;break}if(H++,te===45)break;if(te===58){if(H===1)return;dataCallback(`onHeaderField`,!0),W=3;break}if(ne=lower(te),ne<97||ne>122)return;break;case 3:if(te===32)break;mark(`onHeaderValue`),W=4;case 4:te===13&&(dataCallback(`onHeaderValue`,!0),callback(`onHeaderEnd`),W=5);break;case 5:if(te!==10)return;W=1;break;case 6:if(te!==10)return;callback(`onHeadersEnd`),W=7;break;case 7:W=8,mark(`onPartData`);case 8:if(C=H,H===0){for(a+=Y;a<X&&!(n[a]in I);)a+=q;a-=Y,te=n[a]}if(H<F.length)F[H]===te?(H===0&&dataCallback(`onPartData`,!0),H++):H=0;else if(H===F.length)H++,te===13?K|=Ti.PART_BOUNDARY:te===45?K|=Ti.LAST_BOUNDARY:H=0;else if(H-1===F.length)if(K&Ti.PART_BOUNDARY){if(H=0,te===10){K&=~Ti.PART_BOUNDARY,callback(`onPartEnd`),callback(`onPartBegin`),W=1;break}}else K&Ti.LAST_BOUNDARY&&te===45?(callback(`onPartEnd`),W=9,K=0):H=0;if(H>0)N[H-1]=te;else if(C>0){let n=new Uint8Array(N.buffer,N.byteOffset,N.byteLength);callback(`onPartData`,0,C,n),C=0,mark(`onPartData`),a--}break;case 9:break;default:throw Error(`Unexpected state entered: ${W}`)}dataCallback(`onHeaderField`),dataCallback(`onHeaderValue`),dataCallback(`onPartData`),this.index=H,this.state=W,this.flags=K}end(){if(this.state===1&&this.index===0||this.state===8&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==9)throw Error(`MultipartParser.end(): stream ended unexpectedly`)}}});Be(),ci(),pi(),tn(),vt(),Ur(),xi(),__name((n,a)=>new Promise((S,C)=>{pipeline(n,a,n=>{n?C(n):S()})}),`pipeline`);const Oi=Symbol(`Body internals`);function isAnyArrayBuffer$2(n){return n instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&n instanceof SharedArrayBuffer}__name$1(isAnyArrayBuffer$2,`isAnyArrayBuffer`);var Body=class{[Oi]={body:null,stream:null,boundary:``,disturbed:!1,error:null};size=0;constructor(n,a={size:0}){if(this.size=a.size||0,n==null)this[Oi].body=null;else if(isURLSearchParameters(n))this[Oi].body=lt.from(n.toString());else if(isBlob(n))this[Oi].body=n;else if(lt.isBuffer(n))this[Oi].body=n;else if(isAnyArrayBuffer$2(n))this[Oi].body=lt.from(n);else if(ArrayBuffer.isView(n))this[Oi].body=lt.from(n.buffer,n.byteOffset,n.byteLength);else if(n instanceof Lr)this[Oi].body=n;else if(typeof ReadableStream<`u`&&n instanceof ReadableStream)this[Oi].body=readableStreamToReadable(n);else if(n instanceof FormData){let a=formDataToBlob(n);this[Oi].body=a,this[Oi].boundary=a.type?.split(`boundary=`)?.[1]??``}else typeof n==`string`?this[Oi].body=lt.from(n):n instanceof Qt?this[Oi].body=lt.from(n.toString()):(ze.warn(`Unknown body type "${typeof n}", try to parse the body to string!`),this[Oi].body=lt.from(String(n)));let S=this[Oi].body;lt.isBuffer(S)?this[Oi].stream=Lr.from(S):isBlob(S)?this[Oi].stream=Lr.from(blobToAsyncIterable(S)):S instanceof Lr&&(this[Oi].stream=S),S instanceof Ir&&S.on(`error`,n=>{let a=n instanceof FetchBaseError?n:new FetchError(`Invalid response body while trying to fetch ${this.url}: ${n.message}`,`system`,n);this[Oi].error=a})}get body(){let n=this[Oi].stream;if(!n)return null;if(typeof ReadableStream<`u`){let a=!1;return new ReadableStream({start(S){n.on(`data`,n=>{if(!a)try{S.enqueue(n instanceof Uint8Array?n:new Uint8Array(n))}catch{}}),n.on(`end`,()=>{if(!a){a=!0;try{S.close()}catch{}}}),n.on(`error`,n=>{if(!a){a=!0;try{S.error(n)}catch{}}})},cancel(){a=!0,n.destroy()}})}return null}get _stream(){return this[Oi].stream}get _rawBodyBuffer(){let n=this[Oi].body;return n===null?null:lt.isBuffer(n)?n:n instanceof Uint8Array?lt.from(n.buffer,n.byteOffset,n.byteLength):null}get bodyUsed(){return this[Oi].disturbed}async arrayBuffer(){let{buffer:n,byteOffset:a,byteLength:S}=await consumeBody(this);return n.slice(a,a+S)}async formData(){let n=this.headers?.get(`content-type`);if(n?.startsWith(`application/x-www-form-urlencoded`)){let n=new FormData,a=new Qt(await this.text());for(let[S,C]of a)n.append(S,C);return n}let{toFormData:a}=await Promise.resolve().then(()=>(Di(),Si));return a(this.body,n)}async blob(){let n=this.headers?.get(`content-type`)||this[Oi].body&&this[Oi].body.type||``;return new X([await this.arrayBuffer()],{type:n})}async json(){let n=await this.text();return JSON.parse(n)}async text(){let n=await consumeBody(this);return new TextDecoder().decode(n)}};Object.defineProperties(Body.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});async function consumeBody(n){if(n[Oi].disturbed)throw TypeError(`body used already for: ${n.url}`);if(n[Oi].disturbed=!0,n[Oi].error)throw n[Oi].error;let{_stream:a}=n;if(a===null||!(a instanceof Ir))return lt.alloc(0);let S=[],C=0;try{for await(let N of a){if(n.size>0&&C+N.length>n.size){let S=new FetchError(`content size at ${n.url} over limit: ${n.size}`,`max-size`);throw a.destroy(S),S}C+=N.length,S.push(N)}}catch(a){let S=a instanceof Error?a:Error(String(a));throw a instanceof FetchBaseError?a:new FetchError(`Invalid response body while trying to fetch ${n.url}: ${S.message}`,`system`,S)}try{return S.every(n=>typeof n==`string`)?lt.from(S.join(``)):lt.concat(S,C)}catch(a){let S=a instanceof Error?a:Error(String(a));throw new FetchError(`Could not create Buffer from response body for ${n.url}: ${S.message}`,`system`,S)}}const clone=(n,a)=>{let S,C,{body:N}=n[Oi];if(n.bodyUsed)throw Error(`cannot clone body after it is used`);return N instanceof Ir&&typeof N.getBoundary!=`function`&&(S=new Vr({highWaterMark:a}),C=new Vr({highWaterMark:a}),N.pipe(S),N.pipe(C),n[Oi].stream=S,N=C),N},extractContentType=(n,a)=>n===null?null:typeof n==`string`?`text/plain;charset=UTF-8`:isURLSearchParameters(n)?`application/x-www-form-urlencoded;charset=UTF-8`:isBlob(n)?n.type||null:lt.isBuffer(n)||isAnyArrayBuffer$2(n)||ArrayBuffer.isView(n)?null:n instanceof FormData?`multipart/form-data; boundary=${a[Oi].boundary}`:n instanceof Ir?null:`text/plain;charset=UTF-8`,getTotalBytes=n=>{let{body:a}=n[Oi];if(a===null)return 0;if(isBlob(a))return a.size;if(lt.isBuffer(a))return a.length;if(a&&typeof a.getLengthSync==`function`){let n=a;return n.hasKnownLength&&n.hasKnownLength()?n.getLengthSync():null}return null};function readableStreamToReadable(n){let a=n.getReader();return new Lr({async read(){try{let{done:n,value:S}=await a.read();n?this.push(null):this.push(lt.from(S))}catch(n){this.destroy(n)}},destroy(n,S){a.cancel().then(()=>S(null),S)}})}async function*blobToAsyncIterable(n){if(typeof n.stream==`function`){let a=n.stream().getReader();for(;;){let{done:n,value:S}=await a.read();if(n)break;yield S}}else yield new Uint8Array(await n.arrayBuffer())}const ki=new Set([301,302,303,307,308]),isRedirect=n=>ki.has(n);tn(),ue(),Se();const Ai=Symbol(`Response internals`);var ji=class Response extends Body{[Ai];_inputStream=null;constructor(n=null,a={}){super(n,a);let S=a.status==null?200:a.status,C=new fi(a.headers);if(n!==null&&!C.has(`Content-Type`)){let a=extractContentType(n,this);a&&C.append(`Content-Type`,a)}this[Ai]={type:`default`,url:a.url,status:S,statusText:a.statusText||``,headers:C,counter:a.counter,highWaterMark:a.highWaterMark}}get type(){return this[Ai].type}get url(){return this[Ai].url||``}get status(){return this[Ai].status}get ok(){return this[Ai].status>=200&&this[Ai].status<300}get redirected(){return this[Ai].counter>0}get statusText(){return this[Ai].statusText}get headers(){return this[Ai].headers}get highWaterMark(){return this[Ai].highWaterMark}clone(){return new Response(clone(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(n,a=302){if(!isRedirect(a))throw RangeError(`Failed to execute "redirect" on "response": Invalid status code`);return new Response(null,{headers:{location:new $t(n).toString()},status:a})}static error(){let n=new Response(null,{status:0,statusText:``});return n[Ai].type=`error`,n}static json(n,a){let S=JSON.stringify(n),C={...a},N=new fi(C.headers);return N.has(`content-type`)||N.set(`content-type`,`application/json`),C.headers=N,new Response(S,C)}get[Symbol.toStringTag](){return`Response`}async text(){if(!this._inputStream)return super.text();let n=xe.MemoryOutputStream.new_resizable();await new Promise((a,S)=>{n.splice_async(this._inputStream,xe.OutputStreamSpliceFlags.CLOSE_TARGET|xe.OutputStreamSpliceFlags.CLOSE_SOURCE,le.PRIORITY_DEFAULT,null,(C,N)=>{try{a(n.splice_finish(N))}catch(n){S(n)}})});let a=n.steal_as_bytes();return new TextDecoder().decode(a.toArray())}};Object.defineProperties(ji.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}}),Ur(),ue(),it();async function soupSendAsync(n,a,S=le.PRIORITY_DEFAULT,C=null){return new Promise((N,F)=>{n.send_async(a,S,C,(a,S)=>{try{N(n.send_finish(S))}catch(n){F(n)}})})}function inputStreamToReadable(n,a={}){return Lr.from(inputStreamAsyncIterator(n),a)}Se(),ue(),Ur(),it(),Se(),it(),Ft(),Se();function isIP(n){if(typeof n!=`string`)return 0;let a=n.includes(`%`)?n.split(`%`)[0]:n,S=xe.InetAddress.new_from_string(a);if(!S)return 0;switch(S.get_family()){case xe.SocketFamily.INVALID:return 0;case xe.SocketFamily.IPV4:return 4;case xe.SocketFamily.IPV6:return 6}}tn();function stripURLForUseAsAReferrer(n,a=!1){if(n==null||n===`no-referrer`)return`no-referrer`;let S=new $t(n);return/^(about|blob|data):$/.test(S.protocol)?`no-referrer`:(S.username=``,S.password=``,S.hash=``,a&&(S.pathname=``,S.search=``),S)}const Mi=new Set([``,`no-referrer`,`no-referrer-when-downgrade`,`same-origin`,`origin`,`strict-origin`,`origin-when-cross-origin`,`strict-origin-when-cross-origin`,`unsafe-url`]);function validateReferrerPolicy(n){if(!Mi.has(n))throw TypeError(`Invalid referrerPolicy: ${n}`);return n}function isOriginPotentiallyTrustworthy(n){if(/^(http|ws)s:$/.test(n.protocol))return!0;let a=n.host.replace(/(^\[)|(]$)/g,``),S=isIP(a);return S===4&&/^127\./.test(a)||S===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(a)?!0:n.host===`localhost`||n.host.endsWith(`.localhost`)?!1:n.protocol===`file:`}function isUrlPotentiallyTrustworthy(n){return/^about:(blank|srcdoc)$/.test(n.toString())||(typeof n==`string`&&(n=new $t(n)),n.protocol===`data:`)||/^(blob|filesystem):$/.test(n.protocol)?!0:isOriginPotentiallyTrustworthy(n)}function determineRequestsReferrer(n,a={}){let{referrerURLCallback:S,referrerOriginCallback:C}=a;if(n.referrer===`no-referrer`||n.referrerPolicy===``)return null;let N=n.referrerPolicy;if(n.referrer===`about:client`)return`no-referrer`;let F=new $t(n.referrer),I=stripURLForUseAsAReferrer(F),H=stripURLForUseAsAReferrer(F,!0);I.toString().length>4096&&(I=H),S&&(I=S(I)),C&&(H=C(H));let W=new $t(n.url);switch(N){case`no-referrer`:return`no-referrer`;case`origin`:return H;case`unsafe-url`:return I;case`strict-origin`:return isUrlPotentiallyTrustworthy(I)&&!isUrlPotentiallyTrustworthy(W)?`no-referrer`:H.toString();case`strict-origin-when-cross-origin`:return I.origin===W.origin?I:isUrlPotentiallyTrustworthy(I)&&!isUrlPotentiallyTrustworthy(W)?`no-referrer`:H;case`same-origin`:return I.origin===W.origin?I:`no-referrer`;case`origin-when-cross-origin`:return I.origin===W.origin?I:H;case`no-referrer-when-downgrade`:return isUrlPotentiallyTrustworthy(I)&&!isUrlPotentiallyTrustworthy(W)?`no-referrer`:I;default:throw TypeError(`Invalid referrerPolicy: ${N}`)}}function parseReferrerPolicyFromHeader(n){let a=(n.get(`referrer-policy`)||``).split(/[,\s]+/),S=``;for(let n of a)n&&Mi.has(n)&&(S=n);return S}tn(),ue(),Se();const Ni=Symbol(`Request internals`),isRequest=n=>typeof n==`object`&&typeof n.url==`string`;var $=class Request extends Body{cache;credentials;destination;get headers(){return this[Ni].headers}integrity;keepalive;get method(){return this[Ni].method}mode;get redirect(){return this[Ni].redirect}get referrer(){if(this[Ni].referrer===`no-referrer`)return``;if(this[Ni].referrer===`client`)return`about:client`;if(this[Ni].referrer)return this[Ni].referrer.toString()}get referrerPolicy(){return this[Ni].referrerPolicy}set referrerPolicy(n){this[Ni].referrerPolicy=validateReferrerPolicy(n)}get signal(){return this[Ni].signal}get url(){return this[Ni].parsedURL.toString()}get _uri(){return le.Uri.parse(this.url,le.UriFlags.NONE)}get _session(){return this[Ni].session}get _message(){return this[Ni].message}get _inputStream(){return this[Ni].inputStream}get[Symbol.toStringTag](){return`Request`}[Ni];follow;compress=!1;counter=0;agent=``;highWaterMark=16384;insecureHTTPParser=!1;constructor(n,a){let S=n,C=a||{},N,F={};if(isRequest(n)?(N=new $t(S.url),F=S):N=new $t(n),N.username!==``||N.password!==``)throw TypeError(`${N} is an url with embedded credentials.`);let I=C.method||F.method||`GET`;if(/^(delete|get|head|options|post|put)$/i.test(I)&&(I=I.toUpperCase()),(a?.body!=null||isRequest(n)&&S.body!==null)&&(I===`GET`||I===`HEAD`))throw TypeError(`Request with GET/HEAD method cannot have body`);let H=a?.body?a.body:isRequest(n)&&S.body!==null?clone(n):null;super(H,{size:C.size||0});let W=new fi(a?.headers||S.headers||{});if(H!==null&&!W.has(`Content-Type`)){let n=extractContentType(H,this);n&&W.set(`Content-Type`,n)}let K=isRequest(n)?S.signal:null;if(a&&`signal`in a&&(K=a.signal),K!=null&&!isAbortSignal(K))throw TypeError(`Expected signal to be an instanceof AbortSignal or EventTarget`);let q=a?.referrer==null?S.referrer:a.referrer;if(q===``)q=`no-referrer`;else if(q){let n=new $t(q);q=/^about:(\/\/)?client$/.test(n.toString())?`client`:n}else q=void 0;let Y=N.protocol,X=null,te=null;(Y===`http:`||Y===`https:`)&&(X=new li.Session,te=new li.Message({method:I,uri:le.Uri.parse(N.toString(),le.UriFlags.NONE)})),this[Ni]={method:I,redirect:a?.redirect||S.redirect||`follow`,headers:W,parsedURL:N,signal:K,referrer:q,referrerPolicy:``,session:X,message:te},this.follow=C.follow===void 0?S.follow===void 0?20:S.follow:C.follow,this.compress=C.compress===void 0?S.compress===void 0?!0:S.compress:C.compress,this.counter=C.counter||S.counter||0,this.agent=C.agent||S.agent,this.highWaterMark=C.highWaterMark||S.highWaterMark||16384,this.insecureHTTPParser=C.insecureHTTPParser||S.insecureHTTPParser||!1,this.referrerPolicy=a?.referrerPolicy||S.referrerPolicy||``}async _send(n){let{session:a,message:S}=this[Ni];if(!a||!S)throw Error(`Cannot send request: no Soup session (non-HTTP URL?)`);try{a.remove_feature_by_type(li.ContentDecoder.$gtype)}catch{}n.headers._appendToSoupMessage(S);let C=this._rawBodyBuffer;if(C!==null&&C.byteLength>0){let a=n.headers.get(`content-type`)||null;S.set_request_body_from_bytes(a,new le.Bytes(C))}let N=new xe.Cancellable;return this[Ni].inputStream=await soupSendAsync(a,S,le.PRIORITY_DEFAULT,N),this[Ni].readable=inputStreamToReadable(this[Ni].inputStream),{inputStream:this[Ni].inputStream,readable:this[Ni].readable,cancellable:N}}clone(){return new Request(this)}async arrayBuffer(){return super.arrayBuffer()}async blob(){return super.blob()}async formData(){return super.formData()}async json(){return super.json()}async text(){return super.text()}};Object.defineProperties($.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});const getSoupRequestOptions=n=>{let{parsedURL:a}=n[Ni],S=new fi(n[Ni].headers);S.has(`Accept`)||S.set(`Accept`,`*/*`);let C=null;if(n.body===null&&/^(post|put)$/i.test(n.method)&&(C=`0`),n.body!==null){let a=getTotalBytes(n);typeof a==`number`&&!Number.isNaN(a)&&(C=String(a))}C&&S.set(`Content-Length`,C),n.referrerPolicy===``&&(n.referrerPolicy=`strict-origin-when-cross-origin`),n.referrer&&n.referrer!==`no-referrer`?n[Ni].referrer=determineRequestsReferrer(n):n[Ni].referrer=`no-referrer`,n[Ni].referrer instanceof $t&&S.set(`Referer`,n.referrer),S.has(`User-Agent`)||S.set(`User-Agent`,`gjsify-fetch`),n.compress&&!S.has(`Accept-Encoding`)&&S.set(`Accept-Encoding`,`gzip, deflate`);let{agent:N}=n;return typeof N==`function`&&(N=N(a)),!S.has(`Connection`)&&!N&&S.set(`Connection`,`close`),{parsedURL:a,options:{headers:S}}};function parseDataUri(n){let a=n.match(/^data:([^,]*?)(;base64)?,(.*)$/s);if(!a)throw TypeError(`Invalid data URI: ${n.slice(0,50)}...`);let S=a[1]||`text/plain;charset=US-ASCII`,C=!!a[2],N=a[3],F;if(C){let n=atob(N);F=new Uint8Array(n.length);for(let a=0;a<n.length;a++)F[a]=n.charCodeAt(a)}else F=new TextEncoder().encode(decodeURIComponent(N));return{buffer:F,typeFull:S}}var AbortError=class extends FetchBaseError{constructor(n,a=`aborted`){super(n,a)}};Be(),tn(),Ur(),ue();const Pi=new Set([`data:`,`http:`,`https:`,`file:`]);function rewriteRootRelativeUrl(n){if(typeof n!=`string`||!n.startsWith(`/`)||n.startsWith(`//`))return n;let a=globalThis.__GJSIFY_DEBUG_FETCH===!0;try{let S=globalThis.imports,C=S?.system?.programPath??S?.system?.programInvocationName??``;if(!C)return n;let N=`file://${le.path_get_dirname(C)}${n}`;return a&&ze.log(`[fetch] rewrite ${n} → ${N}`),N}catch(S){return a&&ze.warn(`[fetch] rewrite FAILED: ${S?.message??S}`),n}}async function fetch$1(n,a={}){n=rewriteRootRelativeUrl(n);let S=new $(n,a),{parsedURL:C,options:N}=getSoupRequestOptions(S);if(!Pi.has(C.protocol))throw TypeError(`@gjsify/fetch cannot load ${n}. URL scheme "${C.protocol.replace(/:$/,``)}" is not supported.`);if(C.protocol===`data:`){let{buffer:n,typeFull:a}=parseDataUri(S.url);return new ji(Buffer.from(n),{headers:{"Content-Type":a}})}if(C.protocol===`file:`){let n=globalThis.__GJSIFY_DEBUG_FETCH===!0;n&&ze.log(`[fetch] file:// ${S.url}`);try{let a=le.filename_from_uri(S.url)[0];n&&ze.log(`[fetch] file:// path=${a}`);let[C,N]=le.file_get_contents(a);if(n&&ze.log(`[fetch] file:// ok=${C} bytes=${N?.byteLength??`?`}`),!C)throw new FetchError(`Failed to read file: ${a}`,`system`);let F=N,I=new Uint8Array(F.byteLength);I.set(F);let H=new ji(I);return n&&ze.log(`[fetch] file:// response created`),H}catch(a){let C=a instanceof Error?a:Error(String(a));throw n&&ze.warn(`[fetch] file:// FAIL: ${C.message}`),new FetchError(`request to ${S.url} failed, reason: ${C.message}`,`system`,C)}}let{signal:F}=S;if(F&&F.aborted)throw new AbortError(`The operation was aborted.`);let I,H;try{let n=await S._send(N);I=n.readable,H=n.cancellable}catch(n){let a=n instanceof Error?n:Error(String(n));throw new FetchError(`request to ${S.url} failed, reason: ${a.message}`,`system`,a)}let abortHandler=()=>{H.cancel()};F&&F.addEventListener(`abort`,abortHandler,{once:!0});let finalize=()=>{F&&F.removeEventListener(`abort`,abortHandler)};H.connect(()=>{I.destroy(new AbortError(`The operation was aborted.`))}),I.on(`error`,n=>{finalize()});let W=S._message,K=fi._newFromSoupMessage(W),q=W.status_code,Y=W.get_reason_phrase();if(isRedirect(q)){let n=K.get(`Location`),C=null;try{C=n===null?null:new $t(n,S.url)}catch{if(S.redirect!==`manual`)throw finalize(),new FetchError(`uri requested responds with an invalid redirect URL: ${n}`,`invalid-redirect`)}switch(S.redirect){case`error`:throw finalize(),new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${S.url}`,`no-redirect`);case`manual`:break;case`follow`:{if(C===null)break;if(S.counter>=S.follow)throw finalize(),new FetchError(`maximum redirect reached at: ${S.url}`,`max-redirect`);let n={headers:new fi(S.headers),follow:S.follow,counter:S.counter+1,agent:S.agent,compress:S.compress,method:S.method,body:clone(S),signal:S.signal,size:S.size,referrer:S.referrer,referrerPolicy:S.referrerPolicy};if(!isDomainOrSubdomain(S.url,C)||!isSameProtocol(S.url,C))for(let a of[`authorization`,`www-authenticate`,`cookie`,`cookie2`])n.headers.delete(a);if(q!==303&&S.body&&a.body instanceof Hr.Readable)throw finalize(),new FetchError(`Cannot follow redirect with body being a readable stream`,`unsupported-redirect`);(q===303||(q===301||q===302)&&S.method===`POST`)&&(n.method=`GET`,n.body=void 0,n.headers.delete(`content-length`));let N=parseReferrerPolicyFromHeader(K);return N&&(n.referrerPolicy=N),finalize(),fetch$1(new $(C,n))}default:throw TypeError(`Redirect option '${S.redirect}' is not a valid value of RequestRedirect`)}}let X={url:S.url,status:q,statusText:Y,headers:K,size:S.size,counter:S.counter,highWaterMark:S.highWaterMark},te=K.get(`Content-Encoding`);if(!S.compress||S.method===`HEAD`||te===null||q===204||q===304)return finalize(),new ji(I,X);if(typeof DecompressionStream<`u`){let n=null;if(te===`gzip`||te===`x-gzip`?n=`gzip`:(te===`deflate`||te===`x-deflate`)&&(n=`deflate`),n){let a=new ji(I,X).body;if(a){let S=a.pipeThrough(new DecompressionStream(n));return finalize(),new ji(S,X)}}}return finalize(),new ji(I,X)}__name$1(fetch$1,`fetch`),globalThis.fetch===void 0&&(globalThis.fetch=fetch$1),globalThis.Headers===void 0&&(globalThis.Headers=fi),globalThis.Request===void 0&&(globalThis.Request=$),globalThis.Response===void 0&&(globalThis.Response=ji),globalThis.ByteLengthQueuingStrategy===void 0&&(globalThis.ByteLengthQueuingStrategy=pr),globalThis.CountQueuingStrategy===void 0&&(globalThis.CountQueuingStrategy=mr);function isNativeStreamUsable$2(n,a){try{return typeof n==`function`?typeof n.prototype[a]==`function`:!1}catch{return!1}}__name$1(isNativeStreamUsable$2,`isNativeStreamUsable`),isNativeStreamUsable$2(globalThis.ReadableStream,`getReader`)||(globalThis.ReadableStream=ur),globalThis.ReadableStreamBYOBReader===void 0&&(globalThis.ReadableStreamBYOBReader=ReadableStreamBYOBReader),globalThis.ReadableStreamBYOBRequest===void 0&&(globalThis.ReadableStreamBYOBRequest=ReadableStreamBYOBRequest),globalThis.ReadableByteStreamController===void 0&&(globalThis.ReadableByteStreamController=ReadableByteStreamController),globalThis.ReadableStreamDefaultController===void 0&&(globalThis.ReadableStreamDefaultController=ReadableStreamDefaultController),globalThis.ReadableStreamDefaultReader===void 0&&(globalThis.ReadableStreamDefaultReader=ReadableStreamDefaultReader),globalThis.TextEncoderStream===void 0&&(globalThis.TextEncoderStream=hr),globalThis.TextDecoderStream===void 0&&(globalThis.TextDecoderStream=gr);function isNativeStreamUsable$1(n,a){try{return typeof n==`function`?typeof n.prototype[a]==`function`:!1}catch{return!1}}__name$1(isNativeStreamUsable$1,`isNativeStreamUsable`),isNativeStreamUsable$1(globalThis.TransformStream,`readable`)||(globalThis.TransformStream=fr);function isNativeStreamUsable(n,a){try{return typeof n==`function`?typeof n.prototype[a]==`function`:!1}catch{return!1}}isNativeStreamUsable(globalThis.WritableStream,`getWriter`)||(globalThis.WritableStream=dr);var CryptoKey=class{type;extractable;algorithm;usages;_handle;constructor(n,a,S,C,N){this.type=n,this.extractable=a,this.algorithm=Object.freeze({...S}),this.usages=Object.freeze([...C]),this._handle=N}get[Symbol.toStringTag](){return`CryptoKey`}};function normalizeAlgorithm$1(n){if(typeof n==`string`)return{name:n};if(!n||typeof n.name!=`string`)throw TypeError(`Algorithm must have a name property`);return n}__name$1(normalizeAlgorithm$1,`normalizeAlgorithm`);const Fi={"SHA-1":`sha1`,"SHA-256":`sha256`,"SHA-384":`sha384`,"SHA-512":`sha512`};function toNodeHashName(n){let a=Fi[n.toUpperCase()]||Fi[n];if(!a)throw new pn(`Unrecognized hash name: ${n}`,`NotSupportedError`);return a}const Ii={"P-256":`prime256v1`,"P-384":`secp384r1`,"P-521":`secp521r1`};function toNodeCurveName(n){let a=Ii[n];if(!a)throw new pn(`Unrecognized curve name: ${n}`,`NotSupportedError`);return a}function hashSize$1(n){switch(toNodeHashName(n)){case`sha1`:return 20;case`sha256`:return 32;case`sha384`:return 48;case`sha512`:return 64;default:throw new pn(`Unsupported hash: ${n}`,`NotSupportedError`)}}__name$1(hashSize$1,`hashSize`);function validateUsages(n,a){for(let S of n)if(!a.includes(S))throw new pn(`Invalid key usage: ${S}`,`SyntaxError`);if(n.length===0)throw new pn(`Key usages must not be empty`,`SyntaxError`)}function checkUsage(n,a){if(!n.usages.includes(a))throw new pn(`Key does not support the '${a}' usage`,`InvalidAccessError`)}const Li=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Ri=new Uint8Array(128);for(let n=0;n<64;n++)Ri[Li.charCodeAt(n)]=n;function bytesToBase64$1(n){let a=``,S=n.length;for(let C=0;C<S;C+=3){let N=n[C],F=C+1<S?n[C+1]:0,I=C+2<S?n[C+2]:0;a+=Li[N>>2&63],a+=Li[(N<<4|F>>4)&63],a+=C+1<S?Li[(F<<2|I>>6)&63]:`=`,a+=C+2<S?Li[I&63]:`=`}return a}__name$1(bytesToBase64$1,`bytesToBase64`);function base64ToBytes(n){let a=n;for(;a.endsWith(`=`);)a=a.slice(0,-1);let S=[],C=0,N=0;for(let n=0;n<a.length;n++)N=N<<6|Ri[a.charCodeAt(n)],C+=6,C>=8&&(C-=8,S.push(N>>C&255));return new Uint8Array(S)}function base64urlEncode(n){return bytesToBase64$1(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function base64urlDecode(n){let a=n.replace(/-/g,`+`).replace(/_/g,`/`);for(;a.length%4;)a+=`=`;return base64ToBytes(a)}function toUint8Array(n){if(n instanceof Uint8Array)return n;if(n instanceof ArrayBuffer)return new Uint8Array(n);if(ArrayBuffer.isView(n))return new Uint8Array(n.buffer,n.byteOffset,n.byteLength);throw TypeError(`Expected BufferSource`)}function gmul(n,a){let S=0;for(let C=0;C<8;C++){a&1&&(S^=n);let C=n&128;n=n<<1&255,C&&(n^=27),a>>=1}return S}function keyExpansion(n){let a=n.length/4,S=a+6,C=4*(S+1),N=Array(C);for(let S=0;S<a;S++)N[S]=new Uint8Array([n[4*S],n[4*S+1],n[4*S+2],n[4*S+3]]);for(let n=a;n<C;n++){let S=new Uint8Array(N[n-1]);n%a===0?S=new Uint8Array([zi[S[1]]^Vi[n/a-1],zi[S[2]],zi[S[3]],zi[S[0]]]):a>6&&n%a===4&&(S=new Uint8Array([zi[S[0]],zi[S[1]],zi[S[2]],zi[S[3]]])),N[n]=new Uint8Array(4);for(let C=0;C<4;C++)N[n][C]=N[n-a][C]^S[C]}let F=[];for(let n=0;n<=S;n++){let a=new Uint8Array(16);for(let S=0;S<4;S++)a[4*S]=N[4*n+S][0],a[4*S+1]=N[4*n+S][1],a[4*S+2]=N[4*n+S][2],a[4*S+3]=N[4*n+S][3];F.push(a)}return F}function aesEncryptBlock(n,a){let S=new Uint8Array(n),C=a.length-1;for(let n=0;n<16;n++)S[n]^=a[0][n];for(let n=1;n<C;n++){for(let n=0;n<16;n++)S[n]=zi[S[n]];let C=S[1];S[1]=S[5],S[5]=S[9],S[9]=S[13],S[13]=C;let N=S[2],F=S[6];S[2]=S[10],S[6]=S[14],S[10]=N,S[14]=F;let I=S[15];S[15]=S[11],S[11]=S[7],S[7]=S[3],S[3]=I;for(let n=0;n<4;n++){let a=n*4,C=S[a],N=S[a+1],F=S[a+2],I=S[a+3];S[a]=gmul(2,C)^gmul(3,N)^F^I,S[a+1]=C^gmul(2,N)^gmul(3,F)^I,S[a+2]=C^N^gmul(2,F)^gmul(3,I),S[a+3]=gmul(3,C)^N^F^gmul(2,I)}for(let C=0;C<16;C++)S[C]^=a[n][C]}for(let n=0;n<16;n++)S[n]=zi[S[n]];let N=S[1];S[1]=S[5],S[5]=S[9],S[9]=S[13],S[13]=N;let F=S[2],I=S[6];S[2]=S[10],S[6]=S[14],S[10]=F,S[14]=I;let H=S[15];S[15]=S[11],S[11]=S[7],S[7]=S[3],S[3]=H;for(let n=0;n<16;n++)S[n]^=a[C][n];return S}function aesDecryptBlock(n,a){let S=new Uint8Array(n),C=a.length-1;for(let n=0;n<16;n++)S[n]^=a[C][n];for(let n=C-1;n>0;n--){let C=S[13];S[13]=S[9],S[9]=S[5],S[5]=S[1],S[1]=C;let N=S[10],F=S[14];S[10]=S[2],S[14]=S[6],S[2]=N,S[6]=F;let I=S[3];S[3]=S[7],S[7]=S[11],S[11]=S[15],S[15]=I;for(let n=0;n<16;n++)S[n]=Bi[S[n]];for(let C=0;C<16;C++)S[C]^=a[n][C];for(let n=0;n<4;n++){let a=n*4,C=S[a],N=S[a+1],F=S[a+2],I=S[a+3];S[a]=gmul(14,C)^gmul(11,N)^gmul(13,F)^gmul(9,I),S[a+1]=gmul(9,C)^gmul(14,N)^gmul(11,F)^gmul(13,I),S[a+2]=gmul(13,C)^gmul(9,N)^gmul(14,F)^gmul(11,I),S[a+3]=gmul(11,C)^gmul(13,N)^gmul(9,F)^gmul(14,I)}}let N=S[13];S[13]=S[9],S[9]=S[5],S[5]=S[1],S[1]=N;let F=S[10],I=S[14];S[10]=S[2],S[14]=S[6],S[2]=F,S[6]=I;let H=S[3];S[3]=S[7],S[7]=S[11],S[11]=S[15],S[15]=H;for(let n=0;n<16;n++)S[n]=Bi[S[n]];for(let n=0;n<16;n++)S[n]^=a[0][n];return S}function incrementCounter(n){for(let a=15;a>=0&&++n[a]===0;a--);}function gcmIncrementCounter(n){for(let a=15;a>=12&&++n[a]===0;a--);}function gfMul(n,a){let S=new Uint8Array(16),C=new Uint8Array(n);for(let n=0;n<128;n++){if(a[n>>>3]&1<<7-(n&7))for(let n=0;n<16;n++)S[n]^=C[n];let N=C[15]&1;for(let n=15;n>0;n--)C[n]=C[n]>>>1|(C[n-1]&1)<<7;C[0]>>>=1,N&&(C[0]^=225)}return S}function ghash(n,a,S){let C=new Uint8Array(16),N=Math.ceil(a.length/16)||0;for(let S=0;S<N;S++){let N=S*16,F=Math.min(N+16,a.length);for(let n=0;n<16;n++){let S=N+n;S<F&&(C[n]^=a[S])}let I=gfMul(C,n);C.set(I)}let F=Math.ceil(S.length/16)||0;for(let a=0;a<F;a++){let N=a*16,F=Math.min(N+16,S.length);for(let n=0;n<16;n++){let a=N+n;a<F&&(C[n]^=S[a])}let I=gfMul(C,n);C.set(I)}let I=new Uint8Array(16),H=a.length*8,W=S.length*8,K=Math.floor(H/4294967296),q=H>>>0;I[0]=K>>>24&255,I[1]=K>>>16&255,I[2]=K>>>8&255,I[3]=K&255,I[4]=q>>>24&255,I[5]=q>>>16&255,I[6]=q>>>8&255,I[7]=q&255;let Y=Math.floor(W/4294967296),X=W>>>0;I[8]=Y>>>24&255,I[9]=Y>>>16&255,I[10]=Y>>>8&255,I[11]=Y&255,I[12]=X>>>24&255,I[13]=X>>>16&255,I[14]=X>>>8&255,I[15]=X&255;for(let n=0;n<16;n++)C[n]^=I[n];let te=gfMul(C,n);return C.set(te),C}function parseAlgorithm(n){let a=n.toLowerCase().match(/^aes-(128|192|256)-(cbc|ctr|ecb|cfb|ofb|gcm)$/);if(!a)throw Error(`Unsupported cipher algorithm: ${n}`);let S=parseInt(a[1]),C=a[2];return{keySize:S/8,ivSize:C===`ecb`?0:C===`gcm`?12:16,mode:C}}function toBuffer$2(n,a){return typeof n==`string`?lt.from(n,a||`utf8`):lt.from(n)}function encodeOutput(n,a){return a?lt.from(n).toString(a):lt.from(n)}function incompleteUtf8Tail(n){if(n.length===0)return 0;let a=n.length;for(let S=1;S<=Math.min(4,a);S++){let C=n[a-S];if(!(C&128))return 0;if((C&192)==128)continue;let N;if((C&224)==192)N=2;else if((C&240)==224)N=3;else if((C&248)==240)N=4;else return 0;return S<N?S:0}return 0}function pkcs7Pad(n){let a=16-n.length%16,S=new Uint8Array(n.length+a);S.set(n);for(let C=n.length;C<S.length;C++)S[C]=a;return S}function pkcs7Unpad(n){if(n.length===0||n.length%16!=0)throw Error(`bad decrypt`);let a=n[n.length-1];if(a===0||a>16)throw Error(`bad decrypt`);for(let S=n.length-a;S<n.length;S++)if(n[S]!==a)throw Error(`bad decrypt`);return new Uint8Array(n.slice(0,n.length-a))}function createCipher(n,a){throw Error(`crypto.createCipher() is deprecated. Use createCipheriv() instead.`)}function createCipheriv(n,a,S){return new Cipher(n,typeof a==`string`?lt.from(a):new Uint8Array(a),S==null?null:typeof S==`string`?lt.from(S):new Uint8Array(S))}function createDecipher(n,a){throw Error(`crypto.createDecipher() is deprecated. Use createDecipheriv() instead.`)}function createDecipheriv(n,a,S){return new Decipher(n,typeof a==`string`?lt.from(a):new Uint8Array(a),S==null?null:typeof S==`string`?lt.from(S):new Uint8Array(S))}function getCiphers(){return[`aes-128-cbc`,`aes-128-ecb`,`aes-192-cbc`,`aes-192-ecb`,`aes-256-cbc`,`aes-256-ecb`,`aes-128-ctr`,`aes-192-ctr`,`aes-256-ctr`,`aes-128-cfb`,`aes-192-cfb`,`aes-256-cfb`,`aes-128-gcm`,`aes-192-gcm`,`aes-256-gcm`]}var zi,Bi,Vi,CipherBase,Cipher,Decipher,Hi=__esmMin(()=>{vt(),zi=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),Bi=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),Vi=[1,2,4,8,16,32,64,128,27,54],__name$1(toBuffer$2,`toBuffer`),CipherBase=class{_roundKeys;_iv;_mode;_buffer=new Uint8Array;_autoPadding=!0;_finalized=!1;constructor(n,a,S){let C=parseAlgorithm(n);if(a.length!==C.keySize)throw Error(`Invalid key length ${a.length}, expected ${C.keySize} for ${n}`);if(C.ivSize>0&&(!S||S.length!==C.ivSize))throw Error(`Invalid IV length ${S?.length??0}, expected ${C.ivSize} for ${n}`);this._roundKeys=keyExpansion(a),this._iv=S?new Uint8Array(S):new Uint8Array(16),this._mode=C.mode}setAutoPadding(n){return this._autoPadding=n,this}},Cipher=class extends CipherBase{_prevBlock;_counter;_gcmH=null;_gcmJ0=null;_gcmAAD=new Uint8Array;_gcmCiphertext=[];_gcmCiphertextLen=0;_gcmAuthTag=null;_gcmAADSet=!1;constructor(n,a,S){super(n,a,S),this._prevBlock=new Uint8Array(this._iv),this._mode===`gcm`?(this._gcmH=aesEncryptBlock(new Uint8Array(16),this._roundKeys),this._gcmJ0=new Uint8Array(16),this._gcmJ0.set(this._iv.subarray(0,12)),this._gcmJ0[15]=1,this._counter=new Uint8Array(this._gcmJ0),gcmIncrementCounter(this._counter)):this._counter=new Uint8Array(this._iv)}setAAD(n){if(this._mode!==`gcm`)throw Error(`setAAD is only supported in GCM mode`);if(this._gcmCiphertextLen>0)throw Error(`setAAD must be called before update()`);return this._gcmAAD=new Uint8Array(n),this._gcmAADSet=!0,this}getAuthTag(){if(this._mode!==`gcm`)throw Error(`getAuthTag is only supported in GCM mode`);if(!this._gcmAuthTag)throw Error(`getAuthTag must be called after final()`);return lt.from(this._gcmAuthTag)}update(n,a,S){let C=toBuffer$2(n,a),N=new Uint8Array(this._buffer.length+C.length);if(N.set(this._buffer),N.set(C,this._buffer.length),this._mode===`gcm`){let n=this._processGcmEncrypt(N);return this._buffer=new Uint8Array,encodeOutput(n,S)}if(this._mode===`ctr`||this._mode===`cfb`||this._mode===`ofb`){let n=this._processStream(N);return this._buffer=new Uint8Array,encodeOutput(n,S)}let F=Math.floor(N.length/16)*16,I=[];for(let n=0;n<F;n+=16){let a=N.slice(n,n+16);I.push(this._encryptBlock(a))}this._buffer=N.slice(F);let H=new Uint8Array(I.length*16);for(let n=0;n<I.length;n++)H.set(I[n],n*16);return encodeOutput(H,S)}final(n){if(this._finalized)throw Error(`Cipher already finalized`);if(this._finalized=!0,this._mode===`gcm`){let a=new Uint8Array;this._buffer.length>0&&(a=this._processGcmEncrypt(this._buffer),this._buffer=new Uint8Array);let S=new Uint8Array(this._gcmCiphertextLen),C=0;for(let n of this._gcmCiphertext)S.set(n,C),C+=n.length;let N=ghash(this._gcmH,this._gcmAAD,S),F=aesEncryptBlock(this._gcmJ0,this._roundKeys),I=new Uint8Array(16);for(let n=0;n<16;n++)I[n]=N[n]^F[n];return this._gcmAuthTag=lt.from(I),encodeOutput(a,n)}if(this._mode===`ctr`||this._mode===`cfb`||this._mode===`ofb`){if(this._buffer.length>0){let a=this._processStream(this._buffer);return this._buffer=new Uint8Array,encodeOutput(a,n)}return encodeOutput(new Uint8Array,n)}let a=this._buffer;if(this._autoPadding)a=pkcs7Pad(a);else if(a.length%16!=0)throw Error(`data not multiple of block size`);let S=[];for(let n=0;n<a.length;n+=16)S.push(this._encryptBlock(a.slice(n,n+16)));if(this._buffer=new Uint8Array,S.length===0)return encodeOutput(new Uint8Array,n);let C=new Uint8Array(S.length*16);for(let n=0;n<S.length;n++)C.set(S[n],n*16);return encodeOutput(C,n)}_encryptBlock(n){if(this._mode===`cbc`){let a=new Uint8Array(16);for(let S=0;S<16;S++)a[S]=n[S]^this._prevBlock[S];let S=aesEncryptBlock(a,this._roundKeys);return this._prevBlock=S,S}else if(this._mode===`ecb`)return aesEncryptBlock(n,this._roundKeys);throw Error(`Block encryption not supported for mode: ${this._mode}`)}_processStream(n){let a=new Uint8Array(n.length);for(let S=0;S<n.length;S+=16){let C=aesEncryptBlock(this._counter,this._roundKeys),N=Math.min(16,n.length-S);for(let F=0;F<N;F++)a[S+F]=n[S+F]^C[F];incrementCounter(this._counter)}return a}_processGcmEncrypt(n){let a=new Uint8Array(n.length);for(let S=0;S<n.length;S+=16){let C=aesEncryptBlock(this._counter,this._roundKeys),N=Math.min(16,n.length-S);for(let F=0;F<N;F++)a[S+F]=n[S+F]^C[F];gcmIncrementCounter(this._counter)}return this._gcmCiphertext.push(new Uint8Array(a)),this._gcmCiphertextLen+=a.length,a}},Decipher=class extends CipherBase{_prevBlock;_counter;_pendingUtf8=new Uint8Array;_gcmH=null;_gcmJ0=null;_gcmAAD=new Uint8Array;_gcmCiphertext=[];_gcmCiphertextLen=0;_gcmExpectedTag=null;_gcmAADSet=!1;constructor(n,a,S){super(n,a,S),this._prevBlock=new Uint8Array(this._iv),this._mode===`gcm`?(this._gcmH=aesEncryptBlock(new Uint8Array(16),this._roundKeys),this._gcmJ0=new Uint8Array(16),this._gcmJ0.set(this._iv.subarray(0,12)),this._gcmJ0[15]=1,this._counter=new Uint8Array(this._gcmJ0),gcmIncrementCounter(this._counter)):this._counter=new Uint8Array(this._iv)}setAAD(n){if(this._mode!==`gcm`)throw Error(`setAAD is only supported in GCM mode`);if(this._gcmCiphertextLen>0)throw Error(`setAAD must be called before update()`);return this._gcmAAD=new Uint8Array(n),this._gcmAADSet=!0,this}setAuthTag(n){if(this._mode!==`gcm`)throw Error(`setAuthTag is only supported in GCM mode`);return this._gcmExpectedTag=lt.from(n),this}_encodeWithUtf8Handling(n,a,S){if(!a||a!==`utf8`&&a!==`utf-8`)return encodeOutput(n,a);let C;if(this._pendingUtf8.length>0?(C=new Uint8Array(this._pendingUtf8.length+n.length),C.set(this._pendingUtf8),C.set(n,this._pendingUtf8.length),this._pendingUtf8=new Uint8Array):C=n,!S){let n=incompleteUtf8Tail(C);n>0&&(this._pendingUtf8=new Uint8Array(C.slice(C.length-n)),C=new Uint8Array(C.slice(0,C.length-n)))}return lt.from(C).toString(`utf8`)}update(n,a,S){let C=toBuffer$2(n,a),N=new Uint8Array(this._buffer.length+C.length);if(N.set(this._buffer),N.set(C,this._buffer.length),this._mode===`gcm`){this._gcmCiphertext.push(new Uint8Array(N)),this._gcmCiphertextLen+=N.length;let n=this._processGcmDecrypt(N);return this._buffer=new Uint8Array,this._encodeWithUtf8Handling(n,S,!1)}if(this._mode===`ctr`||this._mode===`cfb`||this._mode===`ofb`){let n=this._processStream(N);return this._buffer=new Uint8Array,this._encodeWithUtf8Handling(n,S,!1)}let F=Math.floor(N.length/16);if(F===0)return this._buffer=N,this._encodeWithUtf8Handling(new Uint8Array,S,!1);let I=(this._autoPadding?F-1:F)*16,H=[];for(let n=0;n<I;n+=16){let a=N.slice(n,n+16);H.push(this._decryptBlock(a))}this._buffer=N.slice(I);let W=new Uint8Array(H.length*16);for(let n=0;n<H.length;n++)W.set(H[n],n*16);return this._encodeWithUtf8Handling(W,S,!1)}final(n){if(this._finalized)throw Error(`Decipher already finalized`);if(this._finalized=!0,this._mode===`gcm`){let a=new Uint8Array;if(this._buffer.length>0&&(this._gcmCiphertext.push(new Uint8Array(this._buffer)),this._gcmCiphertextLen+=this._buffer.length,a=this._processGcmDecrypt(this._buffer),this._buffer=new Uint8Array),!this._gcmExpectedTag)throw Error(`Unsupported state or unable to authenticate data`);let S=new Uint8Array(this._gcmCiphertextLen),C=0;for(let n of this._gcmCiphertext)S.set(n,C),C+=n.length;let N=ghash(this._gcmH,this._gcmAAD,S),F=aesEncryptBlock(this._gcmJ0,this._roundKeys),I=new Uint8Array(16);for(let n=0;n<16;n++)I[n]=N[n]^F[n];let H=this._gcmExpectedTag,W=Math.min(H.length,16),K=0;for(let n=0;n<W;n++)K|=I[n]^H[n];if(K!==0)throw Error(`Unsupported state or unable to authenticate data`);return this._encodeWithUtf8Handling(a,n,!0)}if(this._mode===`ctr`||this._mode===`cfb`||this._mode===`ofb`){if(this._buffer.length>0){let a=this._processStream(this._buffer);return this._buffer=new Uint8Array,this._encodeWithUtf8Handling(a,n,!0)}return this._encodeWithUtf8Handling(new Uint8Array,n,!0)}if(this._buffer.length===0)return this._encodeWithUtf8Handling(new Uint8Array,n,!0);if(this._buffer.length%16!=0)throw Error(`bad decrypt`);let a=[];for(let n=0;n<this._buffer.length;n+=16)a.push(this._decryptBlock(this._buffer.slice(n,n+16)));let S=new Uint8Array(a.length*16);for(let n=0;n<a.length;n++)S.set(a[n],n*16);let C=this._autoPadding?pkcs7Unpad(S):S;return this._buffer=new Uint8Array,this._encodeWithUtf8Handling(C,n,!0)}_decryptBlock(n){if(this._mode===`cbc`){let a=aesDecryptBlock(n,this._roundKeys),S=new Uint8Array(16);for(let n=0;n<16;n++)S[n]=a[n]^this._prevBlock[n];return this._prevBlock=new Uint8Array(n),S}else if(this._mode===`ecb`)return aesDecryptBlock(n,this._roundKeys);throw Error(`Block decryption not supported for mode: ${this._mode}`)}_processStream(n){let a=new Uint8Array(n.length);for(let S=0;S<n.length;S+=16){let C=aesEncryptBlock(this._counter,this._roundKeys),N=Math.min(16,n.length-S);for(let F=0;F<N;F++)a[S+F]=n[S+F]^C[F];incrementCounter(this._counter)}return a}_processGcmDecrypt(n){let a=new Uint8Array(n.length);for(let S=0;S<n.length;S+=16){let C=aesEncryptBlock(this._counter,this._roundKeys),N=Math.min(16,n.length-S);for(let F=0;F<N;F++)a[S+F]=n[S+F]^C[F];gcmIncrementCounter(this._counter)}return a}}}),Ui,Wi=__esmMin(()=>{Ui={RSA_PKCS1_PADDING:1,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_PKCS1_PSS_PADDING:6,DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8}});function fillRandom(n){if(Gi)for(let a=0;a<n.length;a+=65536){let S=Math.min(n.length-a,65536),C=new Uint8Array(n.buffer,n.byteOffset+a,S);globalThis.crypto.getRandomValues(C)}else try{let a=imports.gi.GLib;for(let S=0;S<n.length;S++)n[S]=a.random_int_range(0,256)}catch{for(let a=0;a<n.length;a++)n[a]=Math.floor(Math.random()*256)}}function randomBytes(n,a){if(typeof n!=`number`||n<0||!Number.isInteger(n))throw TypeError(`The "size" argument must be a non-negative integer. Received ${n}`);try{let S=lt.alloc(n);if(n>0&&fillRandom(new Uint8Array(S.buffer,S.byteOffset,S.byteLength)),a)a(null,S);else return S}catch(n){if(a)a(n,lt.alloc(0));else throw n}}function randomFillSync(n,a=0,S){let C=S??n.length-a;if(a<0||a>n.length)throw RangeError(`The value of "offset" is out of range. Received ${a}`);if(C<0||a+C>n.length)throw RangeError(`The value of "size" is out of range. Received ${C}`);if(C>0){let S=(n instanceof lt,n.byteOffset);fillRandom(new Uint8Array(n.buffer,S+a,C))}return n}function randomFill(n,a,S,C){let N,F,I;typeof a==`function`?(I=a,N=0,F=n.length):typeof S==`function`?(I=S,N=a,F=n.length-a):(I=C,N=a,F=S);try{randomFillSync(n,N,F),I(null,n)}catch(a){I(a,n)}}function randomUUID(){if(Gi&&typeof globalThis.crypto.randomUUID==`function`)return globalThis.crypto.randomUUID();let n=new Uint8Array(16);fillRandom(n),n[6]=n[6]&15|64,n[8]=n[8]&63|128;let a=Array.from(n,n=>n.toString(16).padStart(2,`0`)).join(``);return`${a.slice(0,8)}-${a.slice(8,12)}-${a.slice(12,16)}-${a.slice(16,20)}-${a.slice(20)}`}function randomInt(n,a,S){let C,N,F;if(typeof a==`function`?(F=a,N=n,C=0):typeof a==`number`?(C=n,N=a,F=S):(N=n,C=0,F=S),!Number.isInteger(C))throw TypeError(`The "min" argument must be a safe integer. Received ${C}`);if(!Number.isInteger(N))throw TypeError(`The "max" argument must be a safe integer. Received ${N}`);if(C>=N)throw RangeError(`The value of "min" must be less than "max". Received min: ${C}, max: ${N}`);let I=N-C,H=new Uint32Array(1);fillRandom(new Uint8Array(H.buffer));let W=C+H[0]%I;if(F)F(null,W);else return W}var Gi,Ki=__esmMin(()=>{vt(),Gi=globalThis.crypto!==void 0&&typeof globalThis.crypto.getRandomValues==`function`});function modPow(n,a,S){if(S===1n)return 0n;n=(n%S+S)%S;let C=1n;for(;a>0n;)a&1n&&(C=C*n%S),a>>=1n,n=n*n%S;return C}function bigIntToBytes(n,a){let S=new Uint8Array(a),C=n;for(let n=a-1;n>=0;n--)S[n]=Number(C&255n),C>>=8n;return S}function bytesToBigInt(n){let a=0n;for(let S=0;S<n.length;S++)a=a<<8n|BigInt(n[S]);return a}var qi=__esmMin(()=>{});function bigIntToBuffer(n){if(n===0n)return lt.from([0]);let a=n.toString(16);return a.length%2!=0&&(a=`0`+a),lt.from(a,`hex`)}function bufferToBigInt(n){if(n.length===0)return 0n;let a=lt.from(n).toString(`hex`);return a.length===0?0n:BigInt(`0x`+a)}function bitLength(n){return n===0n?0:n.toString(2).length}function simpleSieve(n){for(let a of Yi){let S=BigInt(a);if(n%S===0n)return n===S}return!0}function fermatTest(n){return modPow(2n,n-1n,n)===1n}function millerRabinTest(n){if(n<2n)return!1;if(n===2n||n===3n)return!0;if(n%2n==0n)return!1;let a=n-1n,S=0;for(;a%2n==0n;)a/=2n,S++;for(let C of[2n,3n,5n,7n,11n,13n]){if(C>=n)continue;let N=modPow(C,a,n);if(N===1n||N===n-1n)continue;let F=!0;for(let a=0;a<S-1;a++)if(N=modPow(N,2n,n),N===n-1n){F=!1;break}if(F)return!1}return!0}function checkPrime(n,a){let S=a.toString(`hex`),C=0;if(n%2n==0n||!simpleSieve(n)||!fermatTest(n)||!millerRabinTest(n))return C+=1,S===`02`||S===`05`?C+=8:C+=4,C;switch(millerRabinTest(n>>1n)||(C+=2),S){case`02`:n%24n!=11n&&(C+=8);break;case`05`:{let a=n%10n;a!==3n&&a!==7n&&(C+=8)}break;default:C+=4}return C}function getCachedCheckPrime(n,a){let S=a.toString(`hex`)+`_`+n.toString(16);if(S in Xi)return Xi[S];let C=checkPrime(n,a);return Xi[S]=C,C}function formatReturnValue$1(n,a){let S=bigIntToBuffer(n);return a?S.toString(a):S}function generatePrime(n,a){let S=bufferToBigInt(a);if(n<16)return S===2n||S===5n?lt.from([140,123]):lt.from([140,39]);let C=Math.ceil(n/8),N=2n,F=4n;for(;;){let a=bufferToBigInt(randomBytes(C));for(;bitLength(a)>n;)a>>=1n;if(a%N===0n&&(a+=1n),a&N||(a+=N),S===N)for(;a%24n!=11n;)a+=F;else if(S===5n)for(;a%10n!=3n;)a+=F;let I=a>>1n;if(simpleSieve(I)&&simpleSieve(a)&&fermatTest(I)&&fermatTest(a)&&millerRabinTest(I)&&millerRabinTest(a))return bigIntToBuffer(a)}}function createDiffieHellman(n,a,S,C){if(a!==void 0&&typeof a!=`number`&&(lt.isBuffer(a)||a instanceof Uint8Array||typeof a==`string`&&!(a in Zi)))return createDiffieHellman(n,`binary`,a,S);let N=a||`binary`,F=C||`binary`,I=lt.from([2]);if(S!==void 0&&(typeof S==`number`?(I=lt.alloc(1),I[0]=S):I=lt.isBuffer(S)?S:lt.from(S,F)),typeof n==`number`)return new DiffieHellman(generatePrime(n,I),I,!0);let H;return H=lt.isBuffer(n)?n:n instanceof Uint8Array?lt.from(n):lt.from(n,N),new DiffieHellman(H,I,!0)}function getDiffieHellman(n){let a=Ji[n];if(!a)throw Error(`Unknown group: ${n}. Supported groups: ${Object.keys(Ji).join(`, `)}`);return new DiffieHellman(lt.from(a.prime,`hex`),lt.from(a.gen,`hex`),!1)}var Ji,Yi,Xi,DiffieHellman,Zi,Qi,$i,ea=__esmMin(()=>{qi(),Ki(),vt(),Ji={modp1:{gen:`02`,prime:`ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff`},modp2:{gen:`02`,prime:`ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff`},modp5:{gen:`02`,prime:`ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff`},modp14:{gen:`02`,prime:`ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff`},modp15:{gen:`02`,prime:`ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff`},modp16:{gen:`02`,prime:`ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff`},modp17:{gen:`02`,prime:`ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff`},modp18:{gen:`02`,prime:`ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff`}},Yi=[];{let n=1e3,a=new Uint8Array(n+1);for(let S=2;S*S<=n;S++)if(!a[S])for(let C=S*S;C<=n;C+=S)a[C]=1;for(let S=2;S<=n;S++)a[S]||Yi.push(S)}Xi={},__name$1(formatReturnValue$1,`formatReturnValue`),DiffieHellman=class{_prime;_generator;_generatorBuf;_primeByteLength;_pubKey;_privKey;_primeCode;_malleable;constructor(n,a,S=!1){this._prime=bufferToBigInt(n),this._generatorBuf=a,this._generator=bufferToBigInt(a),this._primeByteLength=n.length,this._pubKey=void 0,this._privKey=void 0,this._primeCode=void 0,this._malleable=S,S||(this._primeCode=0,this.setPublicKey=void 0,this.setPrivateKey=void 0)}get verifyError(){return typeof this._primeCode!=`number`&&(this._primeCode=getCachedCheckPrime(this._prime,this._generatorBuf)),this._primeCode}generateKeys(n){if(!this._privKey){let n=randomBytes(this._primeByteLength);this._privKey=bufferToBigInt(n)}return this._pubKey=modPow(this._generator,this._privKey,this._prime),this.getPublicKey(n)}computeSecret(n,a,S){let C;C=typeof n==`string`?lt.from(n,a||`utf8`):lt.from(n);let N=bufferToBigInt(C);if(!this._privKey)throw Error(`You must generate keys before computing a secret`);if(N<=0n||N>=this._prime)throw Error(`Supplied key is too large`);let F=bigIntToBuffer(modPow(N,this._privKey,this._prime)),I=this._primeByteLength;if(F.length<I){let n=lt.alloc(I);F.copy(n,I-F.length),F=n}return S?F.toString(S):F}getPrime(n){return formatReturnValue$1(this._prime,n)}getGenerator(n){return formatReturnValue$1(this._generator,n)}getPublicKey(n){if(!this._pubKey)throw Error(`No public key - call generateKeys() first`);return formatReturnValue$1(this._pubKey,n)}getPrivateKey(n){if(!this._privKey)throw Error(`No private key - call generateKeys() first`);return formatReturnValue$1(this._privKey,n)}setPublicKey(n,a){if(!this._malleable)throw Error(`setPublicKey is not available for predefined DH groups`);let S=typeof n==`string`?lt.from(n,a||`utf8`):lt.from(n);this._pubKey=bufferToBigInt(S)}setPrivateKey(n,a){if(!this._malleable)throw Error(`setPrivateKey is not available for predefined DH groups`);let S=typeof n==`string`?lt.from(n,a||`utf8`):lt.from(n);this._privKey=bufferToBigInt(S)}},Zi={binary:!0,hex:!0,base64:!0,latin1:!0,utf8:!0,"utf-8":!0,base64url:!0,ascii:!0,ucs2:!0,"ucs-2":!0,utf16le:!0,"utf-16le":!0},Qi=getDiffieHellman,$i=getDiffieHellman});function mod(n,a){let S=n%a;return S<0n?S+a:S}function modInverse$2(n,a){if(n=mod(n,a),n===0n)throw Error(`No modular inverse for zero`);let[S,C]=[n,a],[N,F]=[1n,0n];for(;C!==0n;){let n=S/C;[S,C]=[C,S-n*C],[N,F]=[F,N-n*F]}if(S!==1n)throw Error(`Modular inverse does not exist`);return mod(N,a)}function pointAdd(n,a,S){if(n===null)return a;if(a===null)return n;let{p:C}=S;if(n.x===a.x)return mod(n.y+a.y,C)===0n?null:pointDouble(n,S);let N=mod(a.x-n.x,C),F=mod(mod(a.y-n.y,C)*modInverse$2(N,C),C),I=mod(F*F-n.x-a.x,C);return{x:I,y:mod(F*(n.x-I)-n.y,C)}}function pointDouble(n,a){if(n===null)return null;let{a:S,p:C}=a;if(n.y===0n)return null;let N=mod(mod(3n*n.x*n.x+S,C)*modInverse$2(mod(2n*n.y,C),C),C),F=mod(N*N-2n*n.x,C);return{x:F,y:mod(N*(n.x-F)-n.y,C)}}function scalarMul(n,a,S){if(a===null||n===0n)return null;let{n:C}=S;if(n=mod(n,C),n===0n)return null;let N=null,F=a,I=n.toString(2);for(let n=0;n<I.length;n++)I[n]===`1`?(N=pointAdd(N,F,S),F=pointDouble(F,S)):(F=pointAdd(N,F,S),N=pointDouble(N,S));return N}function bigintToBuffer(n,a){let S=n.toString(16).padStart(a*2,`0`);return lt.from(S,`hex`)}function bufferToBigint(n){let a=lt.from(n).toString(`hex`);return a.length===0?0n:BigInt(`0x`+a)}function encodePublicKey(n,a,S=`uncompressed`){if(n===null)throw Error(`Cannot encode the point at infinity`);let C=bigintToBuffer(n.x,a);if(S===`compressed`){let a=n.y%2n==0n?2:3;return lt.concat([lt.from([a]),C])}let N=bigintToBuffer(n.y,a);if(S===`hybrid`){let a=n.y%2n==0n?6:7;return lt.concat([lt.from([a]),C,N])}return lt.concat([lt.from([4]),C,N])}function decodePublicKey(n,a){let S=lt.from(n);if(S.length===0)throw Error(`Invalid public key: empty buffer`);let C=S[0],{p:N,a:F,b:I,byteLength:H}=a;if(C===4||C===6||C===7){if(S.length!==1+2*H)throw Error(`Invalid public key length: expected ${1+2*H} bytes, got ${S.length}`);let n=bufferToBigint(S.subarray(1,1+H)),a=bufferToBigint(S.subarray(1+H));if(mod(a*a,N)!==mod(n*n*n+F*n+I,N))throw Error(`Invalid public key: point is not on the curve`);return{x:n,y:a}}if(C===2||C===3){if(S.length!==1+H)throw Error(`Invalid public key length: expected ${1+H} bytes, got ${S.length}`);let n=bufferToBigint(S.subarray(1,1+H)),a=sqrtMod(mod(n*n*n+F*n+I,N),N);if(a===null)throw Error(`Invalid public key: no valid y coordinate for the given x`);let W=C===3;return{x:n,y:a%2n!=0n===W?a:mod(N-a,N)}}throw Error(`Invalid public key prefix: 0x${C.toString(16).padStart(2,`0`)}`)}function sqrtMod(n,a){if(n=mod(n,a),n===0n)return 0n;if(modPow(n,(a-1n)/2n,a)!==1n)return null;if(mod(a,4n)===3n)return modPow(n,(a+1n)/4n,a);let S=0n,C=a-1n;for(;mod(C,2n)===0n;)C/=2n,S++;let N=2n;for(;modPow(N,(a-1n)/2n,a)!==a-1n;)N++;let F=S,I=modPow(N,C,a),H=modPow(n,C,a),W=modPow(n,(C+1n)/2n,a);for(;;){if(H===0n)return 0n;if(H===1n)return W;let n=1n,S=mod(H*H,a);for(;S!==1n;)S=mod(S*S,a),n++;let C=modPow(I,modPow(2n,F-n-1n,a-1n),a);F=n,I=mod(C*C,a),H=mod(H*I,a),W=mod(W*C,a)}}function toBuffer$1(n,a){if(lt.isBuffer(n))return n;if(n instanceof Uint8Array)return lt.from(n);if(typeof n==`string`)return lt.from(n,a||`utf8`);if(ArrayBuffer.isView(n))return lt.from(n.buffer,n.byteOffset,n.byteLength);throw TypeError(`The "key" argument must be of type string or an instance of Buffer, TypedArray, or DataView.`)}function formatReturnValue(n,a){return a?n.toString(a):n}function resolveCurve(n){let a=na[n.toLowerCase()];if(!a)throw Error(`Unsupported curve: ${n}`);let S=ta[a];if(!S)throw Error(`Unsupported curve: ${n}`);return{canonical:a,params:S}}function createECDH(n){return new ECDH(n)}function getCurves(){return[`secp256k1`,`prime256v1`,`secp256r1`,`secp384r1`,`secp521r1`]}var ta,na,ECDH,ra=__esmMin(()=>{qi(),Ki(),vt(),ta={secp256k1:{p:115792089237316195423570985008687907853269984665640564039457584007908834671663n,a:0n,b:7n,Gx:55066263022277343669578718895168534326250603453777594175500187360389116729240n,Gy:32670510020758816978083085130507043184471273380659243275938904335757337482424n,n:115792089237316195423570985008687907852837564279074904382605163141518161494337n,byteLength:32},prime256v1:{p:115792089210356248762697446949407573530086143415290314195533631308867097853951n,a:115792089210356248762697446949407573530086143415290314195533631308867097853951n-3n,b:41058363725152142129326129780047268409114441015993725554835256314039467401291n,Gx:48439561293906451759052585252797914202762949526041747995844080717082404635286n,Gy:36134250956749795798585127919587881956611106672985015071877198253568414405109n,n:115792089210356248762697446949407573529996955224135760342422259061068512044369n,byteLength:32},secp384r1:{p:39402006196394479212279040100143613805079739270465446667948293404245721771496870329047266088258938001861606973112319n,a:39402006196394479212279040100143613805079739270465446667948293404245721771496870329047266088258938001861606973112319n-3n,b:27580193559959705877849011840389048093056905856361568521428707301988689241309860865136260764883745107765439761230575n,Gx:26247035095799689268623156744566981891852923491109213387815615900925518854738050089022388053975719786650872476732087n,Gy:8325710961489029985546751289520108179287853048861315594709205902480503199884419224438643760392947333078086511627871n,n:39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643n,byteLength:48},secp521r1:{p:6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151n,a:6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151n-3n,b:1093849038073734274511112390766805569936207598951683748994586394495953116150735016013708737573759623248592132296706313309438452531591012912142327488478985984n,Gx:2661740802050217063228768716723360960729859168756973147706671368418802944996427808491545080627771902352094241225065558662157113545570916814161637315895999846n,Gy:3757180025770020463545507224491183603594455134769762486694567779615544477440556316691234405012945539562144444537289428522585666729196580810124344277578376784n,n:6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449n,byteLength:66}},na={secp256k1:`secp256k1`,prime256v1:`prime256v1`,secp256r1:`prime256v1`,"p-256":`prime256v1`,p256:`prime256v1`,secp384r1:`secp384r1`,"p-384":`secp384r1`,p384:`secp384r1`,secp521r1:`secp521r1`,"p-521":`secp521r1`,p521:`secp521r1`},__name$1(modInverse$2,`modInverse`),__name$1(toBuffer$1,`toBuffer`),ECDH=class{_curve;_curveName;_privateKey=null;_publicKey=null;constructor(n){let a=resolveCurve(n);this._curve=a.params,this._curveName=a.canonical}generateKeys(n,a){let{n:S,byteLength:C}=this._curve,N;do N=bufferToBigint(randomBytes(C));while(N===0n||N>=S);this._privateKey=N;let F={x:this._curve.Gx,y:this._curve.Gy};return this._publicKey=scalarMul(N,F,this._curve),this.getPublicKey(n,a)}computeSecret(n,a,S){if(this._privateKey===null)throw Error(`ECDH key not generated. Call generateKeys() or setPrivateKey() first.`);let C=decodePublicKey(toBuffer$1(n,a),this._curve);if(C===null)throw Error(`Invalid public key: point at infinity`);let N=scalarMul(this._privateKey,C,this._curve);if(N===null)throw Error(`Shared secret computation resulted in the point at infinity`);return formatReturnValue(bigintToBuffer(N.x,this._curve.byteLength),S)}getPublicKey(n,a){if(this._publicKey===null)throw Error(`ECDH key not generated. Call generateKeys() or setPrivateKey() first.`);return formatReturnValue(encodePublicKey(this._publicKey,this._curve.byteLength,a||`uncompressed`),n)}getPrivateKey(n){if(this._privateKey===null)throw Error(`ECDH key not generated. Call generateKeys() or setPrivateKey() first.`);return formatReturnValue(bigintToBuffer(this._privateKey,this._curve.byteLength),n)}setPublicKey(n,a){let S=toBuffer$1(n,a);this._publicKey=decodePublicKey(S,this._curve)}setPrivateKey(n,a){let S=bufferToBigint(toBuffer$1(n,a));if(S===0n||S>=this._curve.n)throw Error(`Private key is out of range [1, n-1]`);this._privateKey=S;let C={x:this._curve.Gx,y:this._curve.Gy};this._publicKey=scalarMul(S,C,this._curve)}}});function normalizeAlgorithm(n){return n.toLowerCase().replace(/-/g,``)}function hashSize(n){let a=ia[normalizeAlgorithm(n)];if(a===void 0)throw Error(`Unknown hash algorithm: ${n}`);return a}function toBuffer(n,a){return typeof n==`string`?lt.from(n,a||`utf8`):n instanceof DataView?lt.from(n.buffer,n.byteOffset,n.byteLength):(n instanceof ArrayBuffer,lt.from(n))}var ia,aa,oa,sa=__esmMin(()=>{vt(),ia={md5:16,sha1:20,sha256:32,sha384:48,sha512:64},aa={md5:64,sha1:64,sha256:64,sha384:128,sha512:128},oa=new Set([`md5`,`sha1`,`sha256`,`sha384`,`sha512`])});function getChecksumType(n){let a=ca[normalizeAlgorithm(n)];if(a===void 0){let a=Error(`Unknown message digest: ${n}`);throw a.code=`ERR_CRYPTO_HASH_UNKNOWN`,a}return a}function getHashes(){return[`md5`,`sha1`,`sha256`,`sha384`,`sha512`]}function hash(n,a,S){return new la(n).update(a).digest(S)}var ca,la,ua=__esmMin(()=>{sa(),vt(),ue(),Ur(),it(),ca={md5:le.ChecksumType.MD5,sha1:le.ChecksumType.SHA1,sha256:le.ChecksumType.SHA256,sha384:le.ChecksumType.SHA384,sha512:le.ChecksumType.SHA512},la=class Hash extends Br{_algorithm;_checksum;_finalized=!1;constructor(n){super();let a=normalizeAlgorithm(n),S=getChecksumType(a);this._algorithm=a,this._checksum=new le.Checksum(S)}update(n,a){if(this._finalized)throw Error(`Digest already called`);let S;if(typeof n==`string`){let C=normalizeEncoding(a);S=lt.from(n,C)}else S=n instanceof Uint8Array?n:lt.from(n);return this._checksum.update(S),this}digest(n){if(this._finalized)throw Error(`Digest already called`);this._finalized=!0;let a=this._checksum.get_string(),S=lt.from(a,`hex`);return n?S.toString(n):S}copy(){if(this._finalized)throw Error(`Digest already called`);let n=Object.create(Hash.prototype);return Br.call(n),n._algorithm=this._algorithm,n._finalized=!1,n._checksum=this._checksum.copy(),n}_transform(n,a,S){try{this.update(n,a),S()}catch(n){S(n)}}_flush(n){try{this.push(this.digest()),n()}catch(a){n(a)}}}}),Hmac,da=__esmMin(()=>{sa(),ua(),vt(),Ur(),it(),Hmac=class extends Br{_algorithm;_innerHash;_outerKeyPad;_finalized=!1;constructor(n,a){super();let S=normalizeAlgorithm(n);if(!oa.has(S)){let a=Error(`Unknown message digest: ${n}`);throw a.code=`ERR_CRYPTO_HASH_UNKNOWN`,a}this._algorithm=S;let C;C=typeof a==`string`?lt.from(a,`utf8`):a instanceof Uint8Array?a:lt.from(a);let N=aa[S];if(C.length>N){let n=new la(S);n.update(C),C=n.digest()}let F=new Uint8Array(N);F.set(C);let I=new Uint8Array(N),H=new Uint8Array(N);for(let n=0;n<N;n++)I[n]=F[n]^54,H[n]=F[n]^92;this._outerKeyPad=H,this._innerHash=new la(S),this._innerHash.update(I)}update(n,a){if(this._finalized)throw Error(`Digest already called`);let S;if(typeof n==`string`){let C=normalizeEncoding(a);S=lt.from(n,C)}else S=n instanceof Uint8Array?n:lt.from(n);return this._innerHash.update(S),this}digest(n){if(this._finalized)throw Error(`Digest already called`);this._finalized=!0;let a=this._innerHash.digest(),S=new la(this._algorithm);S.update(this._outerKeyPad),S.update(a);let C=S.digest();return n?C.toString(n):C}_transform(n,a,S){try{this.update(n,a),S()}catch(n){S(n)}}_flush(n){try{this.push(this.digest()),n()}catch(a){n(a)}}}});function getCurve(n){let a=na[n.toLowerCase()];if(!a)throw Error(`Unsupported curve: ${n}`);return ta[a]}function truncateHash(n,a){let S=a.n.toString(2).length,C=bytesToBigInt(n),N=n.length*8;return N>S&&(C>>=BigInt(N-S)),C}function hmacDigest$2(n,a,S){let C=new Hmac(n,a);return C.update(S),new Uint8Array(C.digest())}function rfc6979(n,a,S,C){let N=C.byteLength,F=S.length,I=new Uint8Array(F).fill(1),H=new Uint8Array(F).fill(0),W=bigIntToBytes(a,N),K=bigIntToBytes(mod(truncateHash(S,C),C.n),N),q=new Uint8Array(F+1+N+N);q.set(I,0),q[F]=0,q.set(W,F+1),q.set(K,F+1+N),H=hmacDigest$2(n,H,q),I=hmacDigest$2(n,H,I);let Y=new Uint8Array(F+1+N+N);Y.set(I,0),Y[F]=1,Y.set(W,F+1),Y.set(K,F+1+N),H=hmacDigest$2(n,H,Y),I=hmacDigest$2(n,H,I);for(let a=0;a<100;a++){let a=new Uint8Array;for(;a.length<N;){I=hmacDigest$2(n,H,I);let S=new Uint8Array(a.length+I.length);S.set(a,0),S.set(I,a.length),a=S}let S=truncateHash(a.slice(0,N),C);if(S>=1n&&S<C.n)return S;let W=new Uint8Array(F+1);W.set(I,0),W[F]=0,H=hmacDigest$2(n,H,W),I=hmacDigest$2(n,H,I)}throw Error(`RFC 6979: failed to generate valid k after 100 attempts`)}function ecdsaSign(n,a,S,C){let N=getCurve(C),F={x:N.Gx,y:N.Gy},I=bytesToBigInt(a),H=new la(n);H.update(S);let W=new Uint8Array(H.digest()),K=truncateHash(W,N),q=rfc6979(n,I,W,N),Y=scalarMul(q,F,N);if(Y===null)throw Error(`ECDSA: k * G is point at infinity`);let X=mod(Y.x,N.n);if(X===0n)throw Error(`ECDSA: r is zero`);let te=mod(modInverse$2(q,N.n)*(K+X*I),N.n);if(te===0n)throw Error(`ECDSA: s is zero`);let ne=N.byteLength,re=new Uint8Array(ne*2);return re.set(bigIntToBytes(X,ne),0),re.set(bigIntToBytes(te,ne),ne),re}function ecdsaVerify(n,a,S,C,N){let F=getCurve(N),I={x:F.Gx,y:F.Gy},H=F.byteLength;if(a[0]!==4||a.length!==1+H*2)return!1;let W={x:bytesToBigInt(a.slice(1,1+H)),y:bytesToBigInt(a.slice(1+H))};if(S.length!==H*2)return!1;let K=bytesToBigInt(S.slice(0,H)),q=bytesToBigInt(S.slice(H));if(K<1n||K>=F.n||q<1n||q>=F.n)return!1;let Y=new la(n);Y.update(C);let X=truncateHash(new Uint8Array(Y.digest()),F),te=modInverse$2(q,F.n),ne=mod(X*te,F.n),re=mod(K*te,F.n),ie=pointAdd(scalarMul(ne,I,F),scalarMul(re,W,F),F);return ie===null?!1:mod(ie.x,F.n)===K}var fa=__esmMin(()=>{qi(),ra(),ua(),da(),__name$1(hmacDigest$2,`hmacDigest`)});function hmacDigest$1(n,a,S){let C=new Hmac(n,a);return C.update(S),C.digest()}function hkdfExtract(n,a,S){return hmacDigest$1(n,S,a)}function hkdfExpand(n,a,S,C,N){let F=Math.ceil(C/N);if(F>255)throw Error(`HKDF cannot generate more than 255 * HashLen bytes`);let I=lt.allocUnsafe(F*N),H=lt.alloc(0);for(let C=1;C<=F;C++)H=hmacDigest$1(n,a,lt.concat([H,S,lt.from([C])])),H.copy(I,(C-1)*N);return lt.from(I.buffer,I.byteOffset,C)}function hkdfSync(n,a,S,C,N){let F=normalizeAlgorithm(n),I=ia[F];if(!oa.has(F)||I===void 0)throw TypeError(`Unknown message digest: ${n}`);if(typeof N!=`number`||N<0)throw TypeError(`keylen must be a non-negative number`);let H=toBuffer(a),W=toBuffer(S),K=toBuffer(C),q=hkdfExpand(F,hkdfExtract(F,H,W.length===0?lt.alloc(I,0):W),K,N,I),Y=new ArrayBuffer(q.length);return new Uint8Array(Y).set(q),Y}function hkdf(n,a,S,C,N,F){setTimeout(()=>{try{F(null,hkdfSync(n,a,S,C,N))}catch(n){F(n instanceof Error?n:Error(String(n)))}},0)}var pa=__esmMin(()=>{sa(),da(),vt(),__name$1(hmacDigest$1,`hmacDigest`)});function timingSafeEqual(n,a){if(n.length!==a.length)throw RangeError(`Input buffers must have the same byte length`);let S=0;for(let C=0;C<n.length;C++)S|=n[C]^a[C];return S===0}var ma=__esmMin(()=>{});function hmacDigest(n,a,S){let C=new Hmac(n,a);return C.update(S),C.digest()}function validateParameters(n,a){if(typeof n!=`number`||n<0||!Number.isFinite(n)||n===0)throw TypeError(`iterations must be a positive number`);if(typeof a!=`number`||a<0||!Number.isFinite(a)||a>2147483647)throw TypeError(`keylen must be a positive number`)}function pbkdf2Sync(n,a,S,C,N){validateParameters(S,C);let F=toBuffer(n),I=toBuffer(a),H=normalizeAlgorithm(N||`sha1`),W=ia[H];if(!oa.has(H)||W===void 0)throw TypeError(`Unknown message digest: ${N||`sha1`}`);if(C===0)return lt.alloc(0);let K=Math.ceil(C/W),q=lt.allocUnsafe(K*W);for(let n=1;n<=K;n++){let a=lt.allocUnsafe(I.length+4);I.copy(a,0),a.writeUInt32BE(n,I.length);let C=hmacDigest(H,F,a),N=lt.from(C);for(let n=1;n<S;n++){C=hmacDigest(H,F,C);for(let n=0;n<W;n++)N[n]^=C[n]}N.copy(q,(n-1)*W)}return lt.from(q.buffer,q.byteOffset,C)}function pbkdf2(n,a,S,C,N,F){try{validateParameters(S,C)}catch(n){throw n}setTimeout(()=>{try{F(null,pbkdf2Sync(n,a,S,C,N))}catch(n){F(n instanceof Error?n:Error(String(n)))}},0)}var ha=__esmMin(()=>{sa(),da(),vt()});function R$2(n,a){return(n<<a|n>>>32-a)>>>0}function salsa20_8(n){let a=new Uint32Array(16);for(let S=0;S<16;S++)a[S]=n[S];for(let n=0;n<4;n++)a[4]^=R$2(a[0]+a[12],7),a[8]^=R$2(a[4]+a[0],9),a[12]^=R$2(a[8]+a[4],13),a[0]^=R$2(a[12]+a[8],18),a[9]^=R$2(a[5]+a[1],7),a[13]^=R$2(a[9]+a[5],9),a[1]^=R$2(a[13]+a[9],13),a[5]^=R$2(a[1]+a[13],18),a[14]^=R$2(a[10]+a[6],7),a[2]^=R$2(a[14]+a[10],9),a[6]^=R$2(a[2]+a[14],13),a[10]^=R$2(a[6]+a[2],18),a[3]^=R$2(a[15]+a[11],7),a[7]^=R$2(a[3]+a[15],9),a[11]^=R$2(a[7]+a[3],13),a[15]^=R$2(a[11]+a[7],18),a[1]^=R$2(a[0]+a[3],7),a[2]^=R$2(a[1]+a[0],9),a[3]^=R$2(a[2]+a[1],13),a[0]^=R$2(a[3]+a[2],18),a[6]^=R$2(a[5]+a[4],7),a[7]^=R$2(a[6]+a[5],9),a[4]^=R$2(a[7]+a[6],13),a[5]^=R$2(a[4]+a[7],18),a[11]^=R$2(a[10]+a[9],7),a[8]^=R$2(a[11]+a[10],9),a[9]^=R$2(a[8]+a[11],13),a[10]^=R$2(a[9]+a[8],18),a[12]^=R$2(a[15]+a[14],7),a[13]^=R$2(a[12]+a[15],9),a[14]^=R$2(a[13]+a[12],13),a[15]^=R$2(a[14]+a[13],18);for(let S=0;S<16;S++)n[S]=n[S]+a[S]>>>0}function blockMix(n,a){let S=2*a*16,C=new Uint32Array(16);for(let a=0;a<16;a++)C[a]=n[S-16+a];let N=new Uint32Array(S);for(let S=0;S<2*a;S++){for(let a=0;a<16;a++)C[a]^=n[S*16+a];salsa20_8(C);for(let n=0;n<16;n++)N[S*16+n]=C[n]}for(let S=0;S<a;S++)for(let a=0;a<16;a++)n[S*16+a]=N[2*S*16+a];for(let S=0;S<a;S++)for(let C=0;C<16;C++)n[(a+S)*16+C]=N[(2*S+1)*16+C]}function roMix(n,a,S){let C=2*S*16,N=Array(a);for(let C=0;C<a;C++)N[C]=new Uint32Array(n),blockMix(n,S);for(let F=0;F<a;F++){let F=n[C-16]&a-1;for(let a=0;a<C;a++)n[a]^=N[F][a];blockMix(n,S)}}function bytesToWords(n){let a=new Uint32Array(n.length/4);for(let S=0;S<a.length;S++)a[S]=n[S*4]|n[S*4+1]<<8|n[S*4+2]<<16|n[S*4+3]<<24;return a}function wordsToBytes(n){let a=new Uint8Array(n.length*4);for(let S=0;S<n.length;S++)a[S*4]=n[S]&255,a[S*4+1]=n[S]>>8&255,a[S*4+2]=n[S]>>16&255,a[S*4+3]=n[S]>>24&255;return a}function scryptCore(n,a,S,C,N,F){let I=128*C,H=pbkdf2Sync(n,a,1,N*I,`sha256`);for(let n=0;n<N;n++){let a=new Uint8Array(H.buffer,H.byteOffset+n*I,I),N=bytesToWords(a);roMix(N,S,C);let F=wordsToBytes(N);a.set(F)}return pbkdf2Sync(n,H,1,F,`sha256`)}function scryptSync(n,a,S,C){let N=lt.from(n),F=lt.from(a),I=C?.N??16384,H=C?.r??8,W=C?.p??1;if(I<=0||I&I-1)throw Error(`N must be a positive power of 2`);return scryptCore(N,F,I,H,W,S)}function scrypt(n,a,S,C,N){let F={},I;typeof C==`function`?I=C:(F=C,I=N);try{let C=scryptSync(n,a,S,F);setTimeout(()=>I(null,C),0)}catch(n){setTimeout(()=>I(n instanceof Error?n:Error(String(n)),lt.alloc(0)),0)}}var ga=__esmMin(()=>{ha(),vt(),__name$1(R$2,`R`)});function pemToDer(n){let a=n.trim().split(/\r?\n/),S=a.findIndex(n=>n.startsWith(`-----BEGIN `));if(S===-1)throw Error(`Invalid PEM: no BEGIN line found`);let C=a[S].match(/^-----BEGIN (.+)-----$/);if(!C)throw Error(`Invalid PEM header format`);let N=C[1],F=a.findIndex((n,a)=>a>S&&n.startsWith(`-----END `));if(F===-1)throw Error(`Invalid PEM: no END line found`);let I=a.slice(S+1,F).join(``),H=lt.from(I,`base64`);return{type:N,der:new Uint8Array(H.buffer,H.byteOffset,H.byteLength)}}function parseTlv(n,a){if(a>=n.length)throw Error(`ASN.1 parse error: unexpected end of data`);let S=n[a++],C,N=n[a++];if(N<128)C=N;else{let S=N&127;if(S===0)throw Error(`ASN.1 parse error: indefinite length not supported`);C=0;for(let N=0;N<S;N++)C=C<<8|n[a++]}let F=n.slice(a,a+C),I=a+C,H={tag:S,data:F};return S===48&&(H.children=parseSequenceChildren(F)),{value:H,next:I}}function parseSequenceChildren(n){let a=[],S=0;for(;S<n.length;){let{value:C,next:N}=parseTlv(n,S);a.push(C),S=N}return a}function parseDer(n){let{value:a}=parseTlv(n,0);return a}function integerToBigInt(n){let a=0;for(;a<n.length-1&&n[a]===0;)a++;let S=0n;for(let C=a;C<n.length;C++)S=S<<8n|BigInt(n[C]);return S}function oidsEqual(n,a){if(n.length!==a.length)return!1;for(let S=0;S<n.length;S++)if(n[S]!==a[S])return!1;return!0}function parseRsaPublicKeyPkcs1(n){let a=n.children;if(!a||a.length<2)throw Error(`Invalid PKCS#1 RSAPublicKey structure`);return{n:integerToBigInt(a[0].data),e:integerToBigInt(a[1].data)}}function parseRsaPrivateKeyPkcs1(n){let a=n.children;if(!a||a.length<6)throw Error(`Invalid PKCS#1 RSAPrivateKey structure`);return{n:integerToBigInt(a[1].data),e:integerToBigInt(a[2].data),d:integerToBigInt(a[3].data),p:integerToBigInt(a[4].data),q:integerToBigInt(a[5].data)}}function parseSubjectPublicKeyInfo(n){let a=n.children;if(!a||a.length<2)throw Error(`Invalid SubjectPublicKeyInfo structure`);let S=a[0];if(!S.children||S.children.length<1)throw Error(`Invalid AlgorithmIdentifier`);let C=S.children[0];if(C.tag!==6||!oidsEqual(C.data,_a))throw Error(`Unsupported algorithm: only RSA is supported`);let N=a[1];if(N.tag!==3)throw Error(`Expected BIT STRING for public key data`);return parseRsaPublicKeyPkcs1(parseDer(N.data.slice(1)))}function parsePrivateKeyInfo(n){let a=n.children;if(!a||a.length<3)throw Error(`Invalid PrivateKeyInfo structure`);let S=a[1];if(!S.children||S.children.length<1)throw Error(`Invalid AlgorithmIdentifier`);let C=S.children[0];if(C.tag!==6||!oidsEqual(C.data,_a))throw Error(`Unsupported algorithm: only RSA is supported`);let N=a[2];if(N.tag!==4)throw Error(`Expected OCTET STRING for private key data`);return parseRsaPrivateKeyPkcs1(parseDer(N.data))}function encodeLength(n){if(n<128)return new Uint8Array([n]);let a=[],S=n;for(;S>0;)a.unshift(S&255),S>>=8;return new Uint8Array([128|a.length,...a])}function encodeTlv(n,a){let S=encodeLength(a.length),C=new Uint8Array(1+S.length+a.length);return C[0]=n,C.set(S,1),C.set(a,1+S.length),C}function bigintToAsn1Integer(n){if(n===0n)return encodeTlv(2,new Uint8Array([0]));let a=n.toString(16),S=a.length%2?`0`+a:a,C=[];for(let n=0;n<S.length;n+=2)C.push(parseInt(S.substring(n,n+2),16));return C[0]&128&&C.unshift(0),encodeTlv(2,new Uint8Array(C))}function encodeSequence(n){let a=0;for(let S of n)a+=S.length;let S=new Uint8Array(a),C=0;for(let a of n)S.set(a,C),C+=a.length;return encodeTlv(48,S)}function encodeBitString(n){let a=new Uint8Array(1+n.length);return a[0]=0,a.set(n,1),encodeTlv(3,a)}function encodeOctetString(n){return encodeTlv(4,n)}function encodeOid(n){return encodeTlv(6,n)}function encodeNull(){return new Uint8Array([5,0])}function encodeRsaPublicKeyPkcs1(n){return encodeSequence([bigintToAsn1Integer(n.n),bigintToAsn1Integer(n.e)])}function encodeSubjectPublicKeyInfo(n){return encodeSequence([encodeSequence([encodeOid(_a),encodeNull()]),encodeBitString(encodeRsaPublicKeyPkcs1(n))])}function encodeRsaPrivateKeyPkcs1(n){let a=n.d%(n.p-1n),S=n.d%(n.q-1n),C=modInverse$1(n.q,n.p);return encodeSequence([bigintToAsn1Integer(0n),bigintToAsn1Integer(n.n),bigintToAsn1Integer(n.e),bigintToAsn1Integer(n.d),bigintToAsn1Integer(n.p),bigintToAsn1Integer(n.q),bigintToAsn1Integer(a),bigintToAsn1Integer(S),bigintToAsn1Integer(C)])}function encodePrivateKeyInfo(n){let a=encodeSequence([encodeOid(_a),encodeNull()]),S=encodeOctetString(encodeRsaPrivateKeyPkcs1(n));return encodeSequence([bigintToAsn1Integer(0n),a,S])}function derToPem(n,a){let S=lt.from(n).toString(`base64`),C=[`-----BEGIN ${a}-----`];for(let n=0;n<S.length;n+=64)C.push(S.substring(n,n+64));return C.push(`-----END ${a}-----`),C.join(`
@@ -629,7 +629,7 @@ ${[...S,a].map((n,a)=>`${a+1}. ${n}`).join(`
629
629
  `+` `.repeat(a)),Array(200).fill(0).map((n,a)=>`\r`+` `.repeat(a)),Array(200).fill(0).map((n,a)=>`\r
630
630
  `+` `.repeat(a)),Array(200).fill(0).map((n,a)=>`
631
631
  `+` `.repeat(a)),Array(200).fill(0).map((n,a)=>`\r`+` `.repeat(a)),Array(200).fill(0).map((n,a)=>`\r
632
- `+` `.repeat(a));var Im;(function(n){n.DEFAULT={allowTrailingComma:!1}})(Im||={});function Pe(n,a=[],S=Im.DEFAULT){let C=null,N=[],F=[];function i(n){Array.isArray(N)?N.push(n):C!==null&&(N[C]=n)}return r(i,`onValue`),We(n,{onObjectBegin:r(()=>{let n={};i(n),F.push(N),N=n,C=null},`onObjectBegin`),onObjectProperty:r(n=>{C=n},`onObjectProperty`),onObjectEnd:r(()=>{N=F.pop()},`onObjectEnd`),onArrayBegin:r(()=>{let n=[];i(n),F.push(N),N=n,C=null},`onArrayBegin`),onArrayEnd:r(()=>{N=F.pop()},`onArrayEnd`),onLiteralValue:i,onError:r((n,S,C)=>{a.push({error:n,offset:S,length:C})},`onError`)},S),N[0]}r(Pe,`parse$1`);function We(n,a,S=Im.DEFAULT){let C=Ne(n,!1),N=[],F=0;function i(n){return n?()=>F===0&&n(C.getTokenOffset(),C.getTokenLength(),C.getTokenStartLine(),C.getTokenStartCharacter()):()=>!0}r(i,`toNoArgVisit`);function f(n){return n?a=>F===0&&n(a,C.getTokenOffset(),C.getTokenLength(),C.getTokenStartLine(),C.getTokenStartCharacter()):()=>!0}r(f,`toOneArgVisit`);function u(n){return n?a=>F===0&&n(a,C.getTokenOffset(),C.getTokenLength(),C.getTokenStartLine(),C.getTokenStartCharacter(),()=>N.slice()):()=>!0}r(u,`toOneArgVisitWithPath`);function g(n){return n?()=>{F>0?F++:n(C.getTokenOffset(),C.getTokenLength(),C.getTokenStartLine(),C.getTokenStartCharacter(),()=>N.slice())===!1&&(F=1)}:()=>!0}r(g,`toBeginVisit`);function w(n){return n?()=>{F>0&&F--,F===0&&n(C.getTokenOffset(),C.getTokenLength(),C.getTokenStartLine(),C.getTokenStartCharacter())}:()=>!0}r(w,`toEndVisit`);let I=g(a.onObjectBegin),H=u(a.onObjectProperty),W=w(a.onObjectEnd),K=g(a.onArrayBegin),q=w(a.onArrayEnd),Y=u(a.onLiteralValue),X=f(a.onSeparator),te=i(a.onComment),ne=f(a.onError),re=S&&S.disallowComments,ie=S&&S.allowTrailingComma;function T(){for(;;){let n=C.scan();switch(C.getTokenError()){case 4:k(14);break;case 5:k(15);break;case 3:k(13);break;case 1:re||k(11);break;case 2:k(12);break;case 6:k(16);break}switch(n){case 12:case 13:re?k(10):te();break;case 16:k(1);break;case 15:case 14:break;default:return n}}}r(T,`scanNext`);function k(n,a=[],S=[]){if(ne(n),a.length+S.length>0){let n=C.getToken();for(;n!==17;){if(a.indexOf(n)!==-1){T();break}else if(S.indexOf(n)!==-1)break;n=T()}}}r(k,`handleError`);function P(n){let a=C.getTokenValue();return n?Y(a):(H(a),N.push(a)),T(),!0}r(P,`parseString`);function M(){switch(C.getToken()){case 11:let n=C.getTokenValue(),a=Number(n);isNaN(a)&&(k(2),a=0),Y(a);break;case 7:Y(null);break;case 8:Y(!0);break;case 9:Y(!1);break;default:return!1}return T(),!0}r(M,`parseLiteral`);function V(){return C.getToken()===10?(P(!1),C.getToken()===6?(X(`:`),T(),U()||k(4,[],[2,5])):k(5,[],[2,5]),N.pop(),!0):(k(3,[],[2,5]),!1)}r(V,`parseProperty`);function z(){I(),T();let n=!1;for(;C.getToken()!==2&&C.getToken()!==17;){if(C.getToken()===5){if(n||k(4,[],[]),X(`,`),T(),C.getToken()===2&&ie)break}else n&&k(6,[],[]);V()||k(4,[],[2,5]),n=!0}return W(),C.getToken()===2?T():k(7,[2],[]),!0}r(z,`parseObject`);function G(){K(),T();let n=!0,a=!1;for(;C.getToken()!==4&&C.getToken()!==17;){if(C.getToken()===5){if(a||k(4,[],[]),X(`,`),T(),C.getToken()===4&&ie)break}else a&&k(6,[],[]);n?(N.push(0),n=!1):N[N.length-1]++,U()||k(4,[],[4,5]),a=!0}return q(),n||N.pop(),C.getToken()===4?T():k(8,[4],[]),!0}r(G,`parseArray`);function U(){switch(C.getToken()){case 3:return G();case 1:return z();case 10:return P(!0);default:return M()}}return r(U,`parseValue`),T(),C.getToken()===17?S.allowEmptyContent?!0:(k(4,[],[]),!1):U()?(C.getToken()!==17&&k(9,[],[]),!0):(k(4,[],[]),!1)}r(We,`visit`);var Lm;(function(n){n[n.None=0]=`None`,n[n.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,n[n.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,n[n.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,n[n.InvalidUnicode=4]=`InvalidUnicode`,n[n.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,n[n.InvalidCharacter=6]=`InvalidCharacter`})(Lm||={});var Rm;(function(n){n[n.OpenBraceToken=1]=`OpenBraceToken`,n[n.CloseBraceToken=2]=`CloseBraceToken`,n[n.OpenBracketToken=3]=`OpenBracketToken`,n[n.CloseBracketToken=4]=`CloseBracketToken`,n[n.CommaToken=5]=`CommaToken`,n[n.ColonToken=6]=`ColonToken`,n[n.NullKeyword=7]=`NullKeyword`,n[n.TrueKeyword=8]=`TrueKeyword`,n[n.FalseKeyword=9]=`FalseKeyword`,n[n.StringLiteral=10]=`StringLiteral`,n[n.NumericLiteral=11]=`NumericLiteral`,n[n.LineCommentTrivia=12]=`LineCommentTrivia`,n[n.BlockCommentTrivia=13]=`BlockCommentTrivia`,n[n.LineBreakTrivia=14]=`LineBreakTrivia`,n[n.Trivia=15]=`Trivia`,n[n.Unknown=16]=`Unknown`,n[n.EOF=17]=`EOF`})(Rm||={});const zm=Pe;var Bm;(function(n){n[n.InvalidSymbol=1]=`InvalidSymbol`,n[n.InvalidNumberFormat=2]=`InvalidNumberFormat`,n[n.PropertyNameExpected=3]=`PropertyNameExpected`,n[n.ValueExpected=4]=`ValueExpected`,n[n.ColonExpected=5]=`ColonExpected`,n[n.CommaExpected=6]=`CommaExpected`,n[n.CloseBraceExpected=7]=`CloseBraceExpected`,n[n.CloseBracketExpected=8]=`CloseBracketExpected`,n[n.EndOfFileExpected=9]=`EndOfFileExpected`,n[n.InvalidCommentToken=10]=`InvalidCommentToken`,n[n.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,n[n.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,n[n.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,n[n.InvalidUnicode=14]=`InvalidUnicode`,n[n.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,n[n.InvalidCharacter=16]=`InvalidCharacter`})(Bm||={});const Vm=r((n,a)=>zm(Am(a,n,`utf8`)),`readJsonc`),Hm=Symbol(`implicitBaseUrl`),Um="${configDir}",Wm=r(()=>{let{findPnpApi:n}=Ec;return n&&n(process.cwd())},`getPnpApi`),Gm=r((n,a,S,C)=>{let N=`resolveFromPackageJsonPath:${n}:${a}:${S}`;if(C!=null&&C.has(N))return C.get(N);let F=Vm(n,C);if(!F)return;let I=a||`tsconfig.json`;if(!S&&F.exports)try{let[n]=v(F.exports,a,[`require`,`types`]);I=n}catch{return!1}else !a&&F.tsconfig&&(I=F.tsconfig);return I=Ko.join(n,`..`,I),C?.set(N,I),I},`resolveFromPackageJsonPath`),Km=`package.json`,qm=`tsconfig.json`,Jm=r((n,a,S)=>{let C=n;if(n===`..`&&(C=Ko.join(C,qm)),n[0]===`.`&&(C=Ko.resolve(a,C)),Ko.isAbsolute(C)){if(km(S,C)){if(jm(S,C).isFile())return C}else if(!C.endsWith(`.json`)){let n=`${C}.json`;if(km(S,n))return n}return}let[N,...F]=n.split(`/`),I=N[0]===`@`?`${N}/${F.shift()}`:N,H=F.join(`/`),W=Wm();if(W){let{resolveRequest:C}=W;try{if(I===n){let n=C(Ko.join(I,Km),a);if(n){let a=Gm(n,H,!1,S);if(a&&km(S,a))return a}}else{let S;try{S=C(n,a,{extensions:[`.json`]})}catch{S=C(Ko.join(n,qm),a)}if(S)return S}}catch{}}let K=Mm(Ko.resolve(a),Ko.join(`node_modules`,I),S);if(!K||!jm(S,K).isDirectory())return;let q=Ko.join(K,Km);if(km(S,q)){let n=Gm(q,H,!1,S);if(n===!1)return;if(n&&km(S,n)&&jm(S,n).isFile())return n}let Y=Ko.join(K,H),X=Y.endsWith(`.json`);if(!X){let n=`${Y}.json`;if(km(S,n))return n}if(km(S,Y)){if(jm(S,Y).isDirectory()){let n=Ko.join(Y,Km);if(km(S,n)){let a=Gm(n,``,!0,S);if(a&&km(S,a))return a}let a=Ko.join(Y,qm);if(km(S,a))return a}else if(X)return Y}},`resolveExtendsPath`),Ym=r((n,a)=>Pm(Ko.relative(n,a)),`pathRelative`),Xm=[`files`,`include`,`exclude`],Zm=r((n,a,S)=>{let C=Ko.join(a,S);return h$1(Ko.relative(n,C))||`./`},`resolveAndRelativize`),Qm=r((n,a,S)=>{let C=Ko.relative(n,a);return C?h$1(`${C}/${S.startsWith(`./`)?S.slice(2):S}`):S},`prefixPattern`),$m=r((n,a,S,C)=>{let N=Jm(n,a,C);if(!N)throw Error(`File '${n}' not found.`);if(S.has(N))throw Error(`Circularity detected while resolving configuration: ${N}`);S.add(N);let F=Ko.dirname(N),I=th(N,C,S);delete I.references;let{compilerOptions:H}=I;if(H){let{baseUrl:n}=H;n&&!n.startsWith(Um)&&(H.baseUrl=Zm(a,F,n));let{outDir:S}=H;S&&!S.startsWith(Um)&&(H.outDir=Zm(a,F,S));let{declarationDir:C}=H;C&&!C.startsWith(Um)&&(H.declarationDir=Zm(a,F,C));let{rootDir:N}=H;N&&!N.startsWith(Um)&&(H.rootDir=Zm(a,F,N));let{rootDirs:I}=H;I&&(H.rootDirs=I.map(n=>n.startsWith(Um)?n:Zm(a,F,n)));let{typeRoots:W}=H;W&&(H.typeRoots=W.map(n=>n.startsWith(Um)?n:Zm(a,F,n)))}for(let n of Xm){let S=I[n];S&&(I[n]=S.map(n=>n.startsWith(Um)?n:Qm(a,F,n)))}return I},`resolveExtends`),eh=[`outDir`,`declarationDir`],th=r((n,a,S=new Set)=>{let C;try{C=Vm(n,a)||{}}catch{throw Error(`Cannot resolve tsconfig at path: ${n}`)}if(typeof C!=`object`)throw SyntaxError(`Failed to parse tsconfig at: ${n}`);let N=Ko.dirname(n);if(C.compilerOptions){let{compilerOptions:n}=C;n.paths&&!n.baseUrl&&(n[Hm]=N)}if(C.extends){let n=Array.isArray(C.extends)?C.extends:[C.extends];delete C.extends;for(let F of n.reverse()){let n=$m(F,N,new Set(S),a),I={...n,...C,compilerOptions:{...n.compilerOptions,...C.compilerOptions}};n.watchOptions&&(I.watchOptions={...n.watchOptions,...C.watchOptions}),C=I}}if(C.compilerOptions){let{compilerOptions:n}=C;for(let a of[`baseUrl`,`rootDir`]){let S=n[a];S&&!S.startsWith(Um)&&(n[a]=Ym(N,Ko.resolve(N,S)))}for(let a of eh){let S=n[a];S&&(Array.isArray(C.exclude)||(C.exclude=eh.map(a=>n[a]).filter(Boolean)),S.startsWith(Um)||(S=Pm(S)),n[a]=S)}}else C.compilerOptions={};if(C.include&&=C.include.map(h$1),C.files&&=C.files.map(n=>n.startsWith(Um)?n:Pm(n)),C.watchOptions){let{watchOptions:n}=C;n.excludeDirectories&&=n.excludeDirectories.map(n=>h$1(Ko.resolve(N,n))),n.excludeFiles&&=n.excludeFiles.map(n=>h$1(Ko.resolve(N,n))),n.watchFile&&=n.watchFile.toLowerCase(),n.watchDirectory&&=n.watchDirectory.toLowerCase(),n.fallbackPolling&&=n.fallbackPolling.toLowerCase()}return C},`_parseTsconfig`),nh=r((n,a)=>{if(n.startsWith(Um))return h$1(Ko.join(a,n.slice(12)))},`interpolateConfigDir`),rh=[`outDir`,`declarationDir`,`outFile`,`rootDir`,`baseUrl`,`tsBuildInfoFile`],ih=r(n=>{if(n.strict)for(let a of[`noImplicitAny`,`noImplicitThis`,`strictNullChecks`,`strictFunctionTypes`,`strictBindCallApply`,`strictPropertyInitialization`,`strictBuiltinIteratorReturn`,`alwaysStrict`,`useUnknownInCatchVariables`])n[a]===void 0&&(n[a]=!0);if(n.composite&&(n.declaration??=!0,n.incremental??=!0),n.target){let a=n.target.toLowerCase();a===`es2015`&&(a=`es6`),n.target=a,a===`esnext`&&(n.module??=`es6`,n.useDefineForClassFields??=!0),(a===`es6`||a===`es2016`||a===`es2017`||a===`es2018`||a===`es2019`||a===`es2020`||a===`es2021`||a===`es2022`||a===`es2023`||a===`es2024`)&&(n.module??=`es6`),(a===`es2022`||a===`es2023`||a===`es2024`)&&(n.useDefineForClassFields??=!0)}if(n.module){let a=n.module.toLowerCase();if(a===`es2015`&&(a=`es6`),n.module=a,(a===`es6`||a===`es2020`||a===`es2022`||a===`esnext`||a===`none`||a===`system`||a===`umd`||a===`amd`)&&(n.moduleResolution??=`classic`),a===`system`&&(n.allowSyntheticDefaultImports??=!0),(a===`node16`||a===`node18`||a===`node20`||a===`nodenext`||a===`preserve`)&&(n.esModuleInterop??=!0,n.allowSyntheticDefaultImports??=!0),(a===`node16`||a===`node18`||a===`node20`||a===`nodenext`)&&(n.moduleDetection??=`force`),a===`node16`&&(n.target??=`es2022`,n.moduleResolution??=`node16`),a===`node18`&&(n.target??=`es2022`,n.moduleResolution??=`node16`),a===`node20`&&(n.target??=`es2023`,n.moduleResolution??=`node16`,n.resolveJsonModule??=!0),a===`nodenext`&&(n.target??=`esnext`,n.moduleResolution??=`nodenext`,n.resolveJsonModule??=!0),a===`node16`||a===`node18`||a===`node20`||a===`nodenext`){let a=n.target;(a===`es3`||a===`es2022`||a===`es2023`||a===`es2024`||a===`esnext`)&&(n.useDefineForClassFields??=!0)}a===`preserve`&&(n.moduleResolution??=`bundler`)}if(n.moduleResolution){let a=n.moduleResolution.toLowerCase();a===`node`&&(a=`node10`),n.moduleResolution=a,(a===`node16`||a===`nodenext`||a===`bundler`)&&(n.resolvePackageJsonExports??=!0,n.resolvePackageJsonImports??=!0),a===`bundler`&&(n.allowSyntheticDefaultImports??=!0,n.resolveJsonModule??=!0)}n.jsx&&=n.jsx.toLowerCase(),n.moduleDetection&&=n.moduleDetection.toLowerCase(),n.importsNotUsedAsValues&&=n.importsNotUsedAsValues.toLowerCase(),n.newLine&&=n.newLine.toLowerCase(),n.esModuleInterop&&(n.allowSyntheticDefaultImports??=!0),n.verbatimModuleSyntax&&(n.isolatedModules??=!0,n.preserveConstEnums??=!0),n.isolatedModules&&(n.preserveConstEnums??=!0),n.rewriteRelativeImportExtensions&&(n.allowImportingTsExtensions??=!0),n.lib&&=n.lib.map(n=>n.toLowerCase()),n.checkJs&&(n.allowJs??=!0)},`normalizeCompilerOptions`),ah=r((n,a=new Map)=>{let S=Ko.resolve(n),C=th(S,a),N=Ko.dirname(S),{compilerOptions:F}=C;if(F){for(let n of rh){let a=F[n];if(a){let S=nh(a,N);F[n]=S?Ym(N,S):a}}for(let n of[`rootDirs`,`typeRoots`]){let a=F[n];a&&(F[n]=a.map(n=>{let a=nh(n,N);return a?Ym(N,a):Pm(n)}))}let{paths:n}=F;if(n)for(let a of Object.keys(n))n[a]=n[a].map(n=>nh(n,N)??n);ih(F)}for(let n of Xm){let a=C[n];a&&(C[n]=a.map(n=>nh(n,N)??n))}return C},`parseTsconfig`);var oh=Object.defineProperty,sh=r((n,a)=>oh(n,`name`,{value:a,configurable:!0}),`s`);const ch=sh(n=>{let a=``;for(let S=0;S<n.length;S+=1){let C=n[S],N=C.toUpperCase();a+=C===N?C.toLowerCase():N}return a},`invertCase`),lh=new Map,uh=sh((n,a)=>{let S=Ko.join(n,`.is-fs-case-sensitive-test-${process.pid}`);try{return a.writeFileSync(S,``),!a.existsSync(ch(S))}finally{try{a.unlinkSync(S)}catch{}}},`checkDirectoryCaseWithWrite`),dh=sh((n,a,S)=>{try{return uh(n,S)}catch(n){if(a===void 0)return uh(ap.tmpdir(),S);throw n}},`checkDirectoryCaseWithFallback`),fh=sh((n,a=Ls,S=!0)=>{let C=n??process.cwd();if(S&&lh.has(C))return lh.get(C);let N,F=ch(C);return N=F!==C&&a.existsSync(C)?!a.existsSync(F):dh(C,n,a),S&&lh.set(C,N),N},`isFsCaseSensitive`),{join:ph}=Ko.posix,mh={ts:[`.ts`,`.tsx`,`.d.ts`],cts:[`.cts`,`.d.cts`],mts:[`.mts`,`.d.mts`]},hh=r(n=>{let a=[...mh.ts],S=[...mh.cts],C=[...mh.mts];return n!=null&&n.allowJs&&(a.push(`.js`,`.jsx`),S.push(`.cjs`),C.push(`.mjs`)),[...a,...S,...C]},`getSupportedExtensions`),gh=r(n=>{let a=[];if(!n)return a;let{outDir:S,declarationDir:C}=n;return S&&a.push(S),C&&a.push(C),a},`getDefaultExcludeSpec`),_h=r(n=>n.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),`escapeForRegexp`),vh=`(?!(${[`node_modules`,`bower_components`,`jspm_packages`].join(`|`)})(/|$))`,yh=/(?:^|\/)[^.*?]+$/,bh=`**/*`,xh=`[^/]`,Sh=`[^./]`,Ch=process.platform===`win32`,wh=r(({config:n,path:a},S=fh())=>{if(`extends`in n)throw Error(`tsconfig#extends must be resolved. Use getTsconfig or parseTsconfig to resolve it.`);if(!Ko.isAbsolute(a))throw Error(`The tsconfig path must be absolute`);Ch&&(a=h$1(a));let C=Ko.dirname(a),{files:N,include:F,exclude:I,compilerOptions:H}=n,W=r(n=>Ko.isAbsolute(n)?n:ph(C,n),`resolvePattern`),K=N?.map(W),q=hh(H),Y=S?``:`i`,X=(I||gh(H)).map(n=>{let a=_h(W(n)).replaceAll(String.raw`\*\*/`,`(.+/)?`).replaceAll(String.raw`\*`,`${xh}*`).replaceAll(String.raw`\?`,xh);return RegExp(`^${a}($|/)`,Y)}),te=N||F?F:[bh],ne=te?te.map(n=>{let a=W(n);yh.test(a)&&(a=ph(a,bh));let S=_h(a).replaceAll(String.raw`/\*\*`,`(/${vh}${Sh}${xh}*)*?`).replaceAll(/(\/)?\\\*/g,(n,a)=>{let S=`(${Sh}|(\\.(?!min\\.js$))?)*`;return a?`/${vh}${Sh}${S}`:S}).replaceAll(/(\/)?\\\?/g,(n,a)=>{let S=xh;return a?`/${vh}${S}`:S});return RegExp(`^${S}$`,Y)}):void 0;return a=>{if(!Ko.isAbsolute(a))throw Error(`filePath must be absolute`);if(Ch&&(a=h$1(a)),K!=null&&K.includes(a)||!(!q.some(n=>a.endsWith(n))||X.some(n=>n.test(a)))&&ne&&ne.some(n=>n.test(a)))return n}},`createFilesMatcher`),Th=r((n,a,S)=>{let C=Ko.resolve(n),N=h$1(n);for(;;){let n=Mm(N,a,S);if(!n)return;let F=Ko.resolve(n),I=ah(F,S),H={path:h$1(F),config:I};if(wh(H)(C))return H;let W=Ko.dirname(n),K=Ko.dirname(W);if(K===W)return;N=K}},`findConfigApplicable`),Eh=r((n=process.cwd(),a=`tsconfig.json`,S=new Map,C=!1)=>C?Th(n,a,S)?.path:Mm(h$1(n),a,S),`findTsconfig`),Dh=r((n=process.cwd(),a=`tsconfig.json`,S=new Map,C=!1)=>{if(!C){let C=Eh(n,a,S);return C?{path:C,config:ah(C,S)}:null}return Th(n,a,S)??null},`getTsconfig`),Oh=/\*/g,kh=r((n,a)=>{let S=n.match(Oh);if(S&&S.length>1)throw Error(a)},`assertStarCount`),Ah=r(n=>{if(n.includes(`*`)){let[a,S]=n.split(`*`);return{prefix:a,suffix:S}}return n},`parsePattern`),jh=r(({prefix:n,suffix:a},S)=>S.startsWith(n)&&S.endsWith(a),`isPatternMatch`),Mh=r((n,a,S)=>Object.entries(n).map(([n,C])=>(kh(n,`Pattern '${n}' can have at most one '*' character.`),{pattern:Ah(n),substitutions:C.map(C=>{if(kh(C,`Substitution '${C}' in pattern '${n}' can have at most one '*' character.`),!a&&!Nm.test(C)&&!Ko.isAbsolute(C))throw Error(`Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?`);return Ko.resolve(S,C)})})),`parsePaths`);r(n=>{let{compilerOptions:a}=n.config;if(!a)return null;let{baseUrl:S,paths:C}=a;if(!S&&!C)return null;let N=Hm in a&&a[Hm],F=Ko.resolve(Ko.dirname(n.path),S||N||`.`),I=C?Mh(C,S,F):[];return n=>{if(Nm.test(n))return[];let a=[];for(let S of I){if(S.pattern===n)return S.substitutions.map(h$1);typeof S.pattern!=`string`&&a.push(S)}let C,N=-1;for(let S of a)jh(S.pattern,n)&&S.pattern.prefix.length>N&&(N=S.pattern.prefix.length,C=S);if(!C)return S?[h$1(Ko.join(F,n))]:[];let H=n.slice(C.pattern.prefix.length,n.length-C.pattern.suffix.length);return C.substitutions.map(n=>h$1(n.replace(`*`,H)))}},`createPathsMatcher`),Be();function defaultSearchPlaces(n){return[`package.json`,`.${n}rc`,`.${n}rc.json`,`.${n}rc.yaml`,`.${n}rc.yml`,`.${n}rc.js`,`.${n}rc.ts`,`.${n}rc.mjs`,`.${n}rc.cjs`,`${n}.config.js`,`${n}.config.ts`,`${n}.config.mjs`,`${n}.config.cjs`]}function merge(n,...a){for(let S of a)if(S)for(let a of Object.keys(S)){let C=n[a],N=S[a];N!==void 0&&(isPlainObject$1(C)&&isPlainObject$1(N)?merge(C,N):n[a]=N)}return n}function isPlainObject$1(n){return typeof n==`object`&&!!n&&!Array.isArray(n)&&Object.getPrototypeOf(n)===Object.prototype}__name$1(isPlainObject$1,`isPlainObject`);function readDottedPath(n,a){if(!a.includes(`.`))return n[a];let S=n;for(let n of a.split(`.`)){if(typeof S!=`object`||!S)return;S=S[n]}return S}var Config=class{loadOptions={};constructor(n={}){Object.keys(n).length&&(this.loadOptions=n)}async load(n){let a=await(0,Fp.cosmiconfig)(fu,{...this.loadOptions,searchPlaces:(this.loadOptions.searchPlaces??defaultSearchPlaces(`gjsify`)).filter(n=>n!==`package.json`)}).search(n),S={};try{let a=await this.readPackageJSON(n);isPlainObject$1(a?.gjsify)&&merge(S,a.gjsify)}catch{}return a?.config&&isPlainObject$1(a.config)&&merge(S,a.config),S.bundler||={},S.library||={},S.typescript||={},{config:S,filepath:a?.filepath??``,isEmpty:!a&&Object.keys(S).length===3}}async readPackageJSON(n){return n=await resolvePackageJSON(n),await readPackageJSON(n)}async readTSConfig(n){return Dh(n)?.config||{}}async forBuild(n){let a=await this.load(process.cwd()),S={...a.config},C=a.filepath||process.cwd(),N=await this.readPackageJSON(C),F=await this.readTSConfig(C);if(F.reflection||=n.reflection,S.verbose=n.verbose||!1,S.exclude=n.exclude||[],n.consoleShim!==void 0&&(S.consoleShim=n.consoleShim),n.globals!==void 0&&(S.globals=n.globals),n.shebang!==void 0&&(S.shebang=n.shebang),n.excludeGlobals){let a=(Array.isArray(n.excludeGlobals)?n.excludeGlobals.join(`,`):String(n.excludeGlobals)).split(`,`).map(n=>n.trim()).filter(Boolean);a.length&&(S.excludeGlobals=[...S.excludeGlobals??[],...a])}merge(S.library??={},N,S.library),merge(S.typescript??={},F,S.typescript);let parseKvPairs=(n,a)=>{let S={};for(let C of n){let n=C.indexOf(`=`);if(n===-1)throw Error(`Invalid --${a} value '${C}'. Expected KEY=VALUE.`);let N=C.slice(0,n).trim(),F=C.slice(n+1);if(!N)throw Error(`Invalid --${a} value '${C}'. Empty key.`);S[N]=F}return S},I=parseKvPairs(n.define??[],`define`),H=parseKvPairs(n.alias??[],`alias`);Object.keys(H).length&&(S.aliases={...S.aliases??{},...H});let W={};if(S.defineFromPackageJson)for(let[n,a]of Object.entries(S.defineFromPackageJson)){if(!a||typeof a.field!=`string`||!a.field)throw Error(`gjsify config: defineFromPackageJson["${n}"] is missing a "field" string`);let S=readDottedPath(N,a.field);W[n]=S===void 0?`undefined`:JSON.stringify(S)}let K={};if(S.defineFromEnv)for(let[n,a]of Object.entries(S.defineFromEnv)){if(!a||typeof a.env!=`string`||!a.env)throw Error(`gjsify config: defineFromEnv["${n}"] is missing an "env" string`);let S=process.env[a.env],C=S===void 0?a.default:S;K[n]=C===void 0?`undefined`:JSON.stringify(C)}let q=S.bundler??={},Y=q.output??={},X=q.transform??={};return n.entryPoints?.length&&(q.input=n.entryPoints),q.input||=[`src/index.ts`],n.outfile!==void 0&&(Y.file=n.outfile),n.outdir!==void 0&&(Y.dir=n.outdir),n.format!==void 0&&(Y.format=n.format),n.minify!==void 0&&(Y.minify=n.minify),Y.minify===void 0&&(Y.minify=!0),Y.minify===!0&&(Y.keepNames=!0),n.logLevel&&(q.logLevel={silent:`silent`,error:`warn`,warning:`warn`,warn:`warn`,info:`info`,debug:`debug`,verbose:`debug`}[n.logLevel]??`warn`),n.external?.length&&(q.external=[...Array.isArray(q.external)?q.external:[],...n.external]),(Object.keys(I).length||Object.keys(W).length||Object.keys(K).length)&&(X.define={...X.define??{},...W,...K,...I}),S.verbose&&ze.debug(`configData`,S),S}};Be(),Rs(),qo(),Dc(),tn();async function loadNpmRolldown(){return(await import(`rolldown`)).rolldown}async function bundleToChunks(n){if(await shouldUseNative()){let a=await tryLoadNative();if(!a)throw Error(`@gjsify/rolldown-native not loadable`);let S=n.rolldownInput.plugins??[],C=[];for(let n of S)isPluginObject(n)&&C.push(toNativePlugin(n));let N=liftTransformExtras(stripUnserializable({...n.rolldownInput,input:normalizeInputForNative(n.rolldownInput.input),format:n.format}));delete N.plugins;let F=await a.bundleWithPlugins(N,C),I=[];for(let n of F.output)n.type===`chunk`&&I.push(n.code);return I}let a=await(await loadNpmRolldown())(n.rolldownInput);try{let S=await a.generate({format:n.format,minify:!1,sourcemap:!1}),C=[];for(let n of S.output)n.type===`chunk`&&C.push(n.code);return C}finally{await a.close()}}async function runBundle(n){if(await shouldUseNative())return await runNativeBundle(n);let a=await(await loadNpmRolldown())(n);try{return await a.write(n.output??{})}finally{await a.close()}}let Nh=null;async function shouldUseNative(){let n=(globalThis.process?.env??{}).GJSIFY_BUNDLER;if(n===`npm`)return!1;if(n===`native`){if(!await tryLoadNative())throw Error(`GJSIFY_BUNDLER=native but @gjsify/rolldown-native is not loadable (no prebuild for this architecture, or not running under GJS).`);return!0}return globalThis.imports?.gi===void 0?!1:await tryLoadNative()!==null}async function tryLoadNative(){return Nh||(Nh=(async()=>{let n=globalThis.imports?.gi!==void 0;if(!n)return null;try{let a=`@gjsify/rolldown-native`,S=a;n&&(S=pathToFileURL(createRequire(import.meta.url).resolve(a)).href);let C=await import(S);return C.hasNativeRolldown()?C:null}catch{return null}})(),Nh)}async function runNativeBundle(n){let a=await tryLoadNative();if(!a)throw Error(`@gjsify/rolldown-native not loadable`);let S=n.plugins??[],C=[];for(let n of S)isPluginObject(n)&&C.push(toNativePlugin(n));let{output:N,plugins:F,...I}=n,H=liftTransformExtras(stripUnserializable({...I,...N??{},input:normalizeInputForNative(n.input)}));globalThis.process?.env?.GJSIFY_DEBUG_NATIVE_OPTS&&ze.error(`[gjsify-bundler-pick] native opts JSON:`,JSON.stringify(H));let W=await a.bundleWithPlugins(H,C),K=n.output??{},q=K.dir??(K.file?zo(K.file):process.cwd());q&&await ms.mkdir(q,{recursive:!0});for(let n of W.output)if(n.type===`chunk`){let a=K.file&&W.output.length===1?K.file:Io(q,n.fileName);await ms.writeFile(a,n.code,`utf8`)}return synthRolldownOutput(W)}function stripUnserializable(n){let a={};for(let[S,C]of Object.entries(n))typeof C!=`function`&&(S===`sourcemap`&&typeof C==`boolean`||(a[S]=C));return a}function liftTransformExtras(n){let a=n.transform;if(!a)return n;let S={},C={...a};for(let n of[`define`,`inject`])n in C&&(S[n]=C[n],delete C[n]);return S.inject!==void 0&&!Array.isArray(S.inject)&&(S.inject=mapToInjectArray(S.inject)),{...n,transform:Object.keys(C).length===0?void 0:C,...S}}function mapToInjectArray(n){let a=[];for(let[S,C]of Object.entries(n))if(typeof C==`string`)a.push({type:`default`,from:C,alias:S});else{let[n,N]=C;a.push({type:`named`,from:n,imported:N,alias:S})}return a}function normalizeInputForNative(n){return n===void 0?[]:typeof n==`string`?[{import:n}]:Array.isArray(n)?n.map(n=>typeof n==`string`?{import:n}:n):Object.entries(n).map(([n,a])=>({name:n,import:a}))}function isPluginObject(n){return typeof n==`object`&&!!n&&!Array.isArray(n)}function pickHook(n){if(typeof n==`function`)return{fn:n};if(typeof n==`object`&&n&&`handler`in n){let a=n,S=filterToRegexSource(a.filter?.id),C={fn:a.handler};return S!==void 0&&(C.idFilter=S),C}}function filterToRegexSource(n){if(n!==void 0){if(Array.isArray(n)){let a=n.map(oneToSource).filter(n=>n!==void 0);return a.length===0?void 0:a.length===1?a[0]:`(?:${a.join(`|`)})`}return oneToSource(n)}}function oneToSource(n){if(n instanceof RegExp)return n.source;if(typeof n==`string`)return n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function toNativePlugin(n){let a={name:typeof n.name==`string`?n.name:`unnamed-plugin`},S={},C=pickHook(n.load);C&&(a.load=C.fn,C.idFilter&&(S.load=C.idFilter));let N=pickHook(n.transform);N&&(a.transform=N.fn,N.idFilter&&(S.transform=N.idFilter));let F=pickHook(n.resolveId);F&&(a.resolveId=F.fn,F.idFilter&&(S.resolveId=F.idFilter));let I=pickHook(n.renderChunk);I&&(a.renderChunk=I.fn);let H=pickHook(n.banner);H&&(a.banner=H.fn);let W=pickHook(n.footer);W&&(a.footer=W.fn);let K=pickHook(n.intro);K&&(a.intro=K.fn);let q=pickHook(n.outro);q&&(a.outro=q.fn);let Y=pickHook(n.buildStart);Y&&(a.buildStart=Y.fn);let X=pickHook(n.buildEnd);X&&(a.buildEnd=X.fn);let te=pickHook(n.generateBundle);te&&(a.generateBundle=te.fn);let ne=pickHook(n.writeBundle);ne&&(a.writeBundle=ne.fn);let re=pickHook(n.closeBundle);return re&&(a.closeBundle=re.fn),Object.keys(S).length>0&&(a.idFilter=S),a}function synthRolldownOutput(n){return{output:n.output.map(n=>n.type===`chunk`?{type:`chunk`,fileName:n.fileName,code:n.code,name:n.name,isEntry:n.isEntry,isDynamicEntry:n.isDynamicEntry,map:n.map??null,sourcemapFileName:n.sourcemapFilename??null,imports:n.imports,dynamicImports:n.dynamicImports,facadeModuleId:null,moduleIds:[],modules:{},exports:[],referencedFiles:[],importedBindings:{}}:{type:`asset`,fileName:n.fileName,names:n.names,originalFileNames:n.originalFileNames,source:n.sourceText??``,needsCodeReference:!1})}}const Ph=`assert.assert/strict.async_hooks.buffer.child_process.cluster.console.constants.crypto.dgram.diagnostics_channel.dns.dns/promises.domain.events.fs.fs/promises.http.http2.https.inspector.module.net.os.path.path/posix.path/win32.perf_hooks.process.punycode.querystring.readline.readline/promises.repl.stream.stream/web.stream/consumers.stream/promises.string_decoder.sys.test.timers.timers/promises.tls.tty.url.util.util/types.v8.vm.wasi.sqlite.worker_threads.zlib`.split(`.`),Fh=[`readable-stream`,`node-fetch`],Ih={jsdom:`@gjsify/empty`,"./polling-xhr.node.js":`./polling-xhr.js`,"./websocket.node.js":`./websocket.js`,"./globals.node.js":`./globals.js`},Lh={assert:`@gjsify/assert`,"assert/strict":`@gjsify/assert/strict`,async_hooks:`@gjsify/async_hooks`,buffer:`@gjsify/buffer`,child_process:`@gjsify/child_process`,cluster:`@gjsify/cluster`,console:`@gjsify/console`,constants:`@gjsify/constants`,crypto:`@gjsify/crypto`,dgram:`@gjsify/dgram`,diagnostics_channel:`@gjsify/diagnostics_channel`,dns:`@gjsify/dns`,"dns/promises":`@gjsify/dns/promises`,domain:`@gjsify/domain`,events:`@gjsify/events`,fs:`@gjsify/fs`,"fs/promises":`@gjsify/fs/promises`,http:`@gjsify/http`,http2:`@gjsify/http2`,https:`@gjsify/https`,inspector:`@gjsify/inspector`,module:`@gjsify/module`,net:`@gjsify/net`,os:`@gjsify/os`,path:`@gjsify/path`,"path/posix":`@gjsify/path/posix`,"path/win32":`@gjsify/path/win32`,perf_hooks:`@gjsify/perf_hooks`,process:`@gjsify/process`,punycode:`@gjsify/punycode`,querystring:`@gjsify/querystring`,readline:`@gjsify/readline`,"readline/promises":`@gjsify/readline/promises`,repl:`@gjsify/repl`,stream:`@gjsify/stream`,"stream/web":`@gjsify/stream/web`,"stream/consumers":`@gjsify/stream/consumers`,"stream/promises":`@gjsify/stream/promises`,string_decoder:`@gjsify/string_decoder`,sys:`@gjsify/sys`,timers:`@gjsify/timers`,"timers/promises":`@gjsify/timers/promises`,tls:`@gjsify/tls`,tty:`@gjsify/tty`,url:`@gjsify/url`,util:`@gjsify/util`,"util/types":`@gjsify/util/types`,v8:`@gjsify/v8`,vm:`@gjsify/vm`,wasi:`@gjsify/wasi`,sqlite:`@gjsify/sqlite`,worker_threads:`@gjsify/worker_threads`,zlib:`@gjsify/zlib`,"node-fetch":`@gjsify/fetch`,ws:`@gjsify/ws`,"isomorphic-ws":`@gjsify/websocket`},Rh={"abort-controller":`@gjsify/abort-controller`,"compression-streams":`@gjsify/compression-streams`,"dom-events":`@gjsify/dom-events`,"dom-exception":`@gjsify/dom-exception`,"event-target-shim":`@gjsify/dom-events`,eventsource:`@gjsify/eventsource`,fetch:`@gjsify/fetch`,formdata:`@gjsify/formdata`,"html-image-element":`@gjsify/html-image-element`,webcrypto:`@gjsify/webcrypto`,webgl:`@gjsify/webgl`,websocket:`@gjsify/websocket`,webstorage:`@gjsify/webstorage`,"abort-controller/register":`@gjsify/abort-controller/register`,"compression-streams/register":`@gjsify/compression-streams/register`,"dom-events/register":`@gjsify/dom-events/register`,"dom-events/register/event-target":`@gjsify/dom-events/register/event-target`,"dom-events/register/custom-events":`@gjsify/dom-events/register/custom-events`,"dom-events/register/ui-events":`@gjsify/dom-events/register/ui-events`,"dom-exception/register":`@gjsify/dom-exception/register`,"eventsource/register":`@gjsify/eventsource/register`,"websocket/register":`@gjsify/websocket/register`,"fetch/register":`@gjsify/fetch/register`,"fetch/register/fetch":`@gjsify/fetch/register/fetch`,"fetch/register/xhr":`@gjsify/fetch/register/xhr`,"webcrypto/register":`@gjsify/webcrypto/register`,"web-streams/register":`@gjsify/web-streams/register`,"web-streams/register/readable":`@gjsify/web-streams/register/readable`,"web-streams/register/writable":`@gjsify/web-streams/register/writable`,"web-streams/register/transform":`@gjsify/web-streams/register/transform`,"web-streams/register/text-streams":`@gjsify/web-streams/register/text-streams`,"web-streams/register/queuing":`@gjsify/web-streams/register/queuing`,xmlhttprequest:`@gjsify/fetch`,"xmlhttprequest/register":`@gjsify/fetch/register/xhr`,"@gjsify/xmlhttprequest":`@gjsify/fetch`,"@gjsify/xmlhttprequest/register":`@gjsify/fetch/register/xhr`,domparser:`@gjsify/domparser`,"domparser/register":`@gjsify/domparser/register`,webaudio:`@gjsify/webaudio`,"webaudio/register":`@gjsify/webaudio/register`,gamepad:`@gjsify/gamepad`,"gamepad/register":`@gjsify/gamepad/register`,webrtc:`@gjsify/webrtc`,"webrtc/register":`@gjsify/webrtc/register`,"webrtc/register/peer-connection":`@gjsify/webrtc/register/peer-connection`,"webrtc/register/data-channel":`@gjsify/webrtc/register/data-channel`,"webrtc/register/error":`@gjsify/webrtc/register/error`,"webrtc/register/media":`@gjsify/webrtc/register/media`,"webrtc/register/media-devices":`@gjsify/webrtc/register/media-devices`,webassembly:`@gjsify/webassembly`,"webassembly/register":`@gjsify/webassembly/register`,"webassembly/register/promise":`@gjsify/webassembly/register/promise`},zh={"@gjsify/node-globals":`@gjsify/empty`,"@gjsify/node-globals/register":`@gjsify/empty`,"@gjsify/node-globals/register/process":`@gjsify/empty`,"@gjsify/node-globals/register/buffer":`@gjsify/empty`,"@gjsify/node-globals/register/timers":`@gjsify/empty`,"@gjsify/node-globals/register/encoding":`@gjsify/empty`,"@gjsify/node-globals/register/url":`@gjsify/empty`,"@gjsify/node-globals/register/structured-clone":`@gjsify/empty`,"@gjsify/node-globals/register/microtask":`@gjsify/empty`,"@gjsify/web-globals":`@gjsify/empty`,"@gjsify/web-globals/register":`@gjsify/empty`,"@gjsify/web-globals/register/performance":`@gjsify/empty`,"@gjsify/web-globals/register/formdata":`@gjsify/empty`},Bh={},Vh={"abort-controller":`@gjsify/abort-controller/globals`,"compression-streams":`@gjsify/compression-streams/globals`,"dom-events":`@gjsify/dom-events/globals`,"dom-exception":`@gjsify/dom-exception/globals`,eventsource:`@gjsify/eventsource/globals`,formdata:`@gjsify/formdata/globals`,"html-image-element":`@gjsify/html-image-element`,webcrypto:`@gjsify/webcrypto/globals`,webgl:`@gjsify/webgl`,websocket:`@gjsify/websocket/globals`,webstorage:`@gjsify/webstorage`,"abort-controller/register":`@gjsify/empty`,"compression-streams/register":`@gjsify/empty`,"dom-events/register":`@gjsify/empty`,"dom-events/register/event-target":`@gjsify/empty`,"dom-events/register/custom-events":`@gjsify/empty`,"dom-events/register/ui-events":`@gjsify/empty`,"dom-exception/register":`@gjsify/empty`,"eventsource/register":`@gjsify/empty`,"websocket/register":`@gjsify/empty`,"fetch/register":`@gjsify/empty`,"fetch/register/fetch":`@gjsify/empty`,"fetch/register/xhr":`@gjsify/empty`,"webcrypto/register":`@gjsify/empty`,"web-streams/register":`@gjsify/empty`,"web-streams/register/readable":`@gjsify/empty`,"web-streams/register/writable":`@gjsify/empty`,"web-streams/register/transform":`@gjsify/empty`,"web-streams/register/text-streams":`@gjsify/empty`,"web-streams/register/queuing":`@gjsify/empty`,"@gjsify/abort-controller/register":`@gjsify/empty`,"@gjsify/compression-streams/register":`@gjsify/empty`,"@gjsify/dom-events/register":`@gjsify/empty`,"@gjsify/dom-events/register/event-target":`@gjsify/empty`,"@gjsify/dom-events/register/custom-events":`@gjsify/empty`,"@gjsify/dom-events/register/ui-events":`@gjsify/empty`,"@gjsify/dom-exception/register":`@gjsify/empty`,"@gjsify/eventsource/register":`@gjsify/empty`,"@gjsify/websocket/register":`@gjsify/empty`,"@gjsify/fetch/register":`@gjsify/empty`,"@gjsify/fetch/register/fetch":`@gjsify/empty`,"@gjsify/fetch/register/xhr":`@gjsify/empty`,"@gjsify/webcrypto/register":`@gjsify/empty`,"@gjsify/web-streams/register":`@gjsify/empty`,"@gjsify/web-streams/register/readable":`@gjsify/empty`,"@gjsify/web-streams/register/writable":`@gjsify/empty`,"@gjsify/web-streams/register/transform":`@gjsify/empty`,"@gjsify/web-streams/register/text-streams":`@gjsify/empty`,"@gjsify/web-streams/register/queuing":`@gjsify/empty`,"@gjsify/dom-elements/register":`@gjsify/empty`,"@gjsify/dom-elements/register/document":`@gjsify/empty`,"@gjsify/dom-elements/register/canvas":`@gjsify/empty`,"@gjsify/dom-elements/register/image":`@gjsify/empty`,"@gjsify/dom-elements/register/observers":`@gjsify/empty`,"@gjsify/dom-elements/register/font-face":`@gjsify/empty`,"@gjsify/dom-elements/register/match-media":`@gjsify/empty`,"@gjsify/dom-elements/register/location":`@gjsify/empty`,"@gjsify/dom-elements/register/navigator":`@gjsify/empty`,"@gjsify/buffer/register":`@gjsify/empty`,xmlhttprequest:`@gjsify/empty`,"xmlhttprequest/register":`@gjsify/empty`,"@gjsify/xmlhttprequest":`@gjsify/empty`,"@gjsify/xmlhttprequest/register":`@gjsify/empty`,domparser:`@gjsify/empty`,"domparser/register":`@gjsify/empty`,"@gjsify/domparser/register":`@gjsify/empty`,webaudio:`@gjsify/empty`,"webaudio/register":`@gjsify/empty`,"@gjsify/webaudio/register":`@gjsify/empty`,gamepad:`@gjsify/empty`,"gamepad/register":`@gjsify/empty`,"@gjsify/gamepad/register":`@gjsify/empty`,webrtc:`@gjsify/empty`,"webrtc/register":`@gjsify/empty`,"webrtc/register/peer-connection":`@gjsify/empty`,"webrtc/register/data-channel":`@gjsify/empty`,"webrtc/register/error":`@gjsify/empty`,"webrtc/register/media":`@gjsify/empty`,"webrtc/register/media-devices":`@gjsify/empty`,"@gjsify/webrtc":`@gjsify/empty`,"@gjsify/webrtc/register":`@gjsify/empty`,"@gjsify/webrtc/register/peer-connection":`@gjsify/empty`,"@gjsify/webrtc/register/data-channel":`@gjsify/empty`,"@gjsify/webrtc/register/error":`@gjsify/empty`,"@gjsify/webrtc/register/media":`@gjsify/empty`,"@gjsify/webrtc/register/media-devices":`@gjsify/empty`,webassembly:`@gjsify/webassembly/globals`,"webassembly/register":`@gjsify/empty`,"webassembly/register/promise":`@gjsify/empty`,"@gjsify/webassembly/register":`@gjsify/empty`,"@gjsify/webassembly/register/promise":`@gjsify/empty`},setNodeAliasPrefix=n=>{for(let a in n){if(a.startsWith(`node:`))continue;let S=`node:${a}`;n[S]||(n[S]=n[a])}return n},getAliasesGeneralForGjs=n=>Ih,getAliasesNodeForGjs=n=>setNodeAliasPrefix(Lh),getAliasesWebForGjs=n=>Rh,getAliasesGeneralForNode=n=>zh,getAliasesGjsForNode=n=>Bh,getAliasesWebForNode=n=>Vh,getAliasesForGjs=n=>({...getAliasesGeneralForGjs(n),...getAliasesNodeForGjs(n),...getAliasesWebForGjs(n)}),getAliasesForNode=n=>({...getAliasesGeneralForNode(n),...getAliasesGjsForNode(n),...getAliasesWebForNode(n)});[...Ph,...Ph.map(n=>`node:${n}`)],[...Fh];var Hh=__commonJSMin((n=>{Object.defineProperty(n,`__esModule`,{value:!0}),n.splitWhen=n.flatten=void 0;function flatten(n){return n.reduce((n,a)=>[].concat(n,a),[])}n.flatten=flatten;function splitWhen(n,a){let S=[[]],C=0;for(let N of n)a(N)?(C++,S[C]=[]):S[C].push(N);return S}n.splitWhen=splitWhen})),Uh=__commonJSMin((n=>{Object.defineProperty(n,`__esModule`,{value:!0}),n.isEnoentCodeError=void 0;function isEnoentCodeError(n){return n.code===`ENOENT`}n.isEnoentCodeError=isEnoentCodeError})),Wh=__commonJSMin((n=>{Object.defineProperty(n,`__esModule`,{value:!0}),n.createDirentFromStats=void 0;var DirentFromStats=class{constructor(n,a){this.name=n,this.isBlockDevice=a.isBlockDevice.bind(a),this.isCharacterDevice=a.isCharacterDevice.bind(a),this.isDirectory=a.isDirectory.bind(a),this.isFIFO=a.isFIFO.bind(a),this.isFile=a.isFile.bind(a),this.isSocket=a.isSocket.bind(a),this.isSymbolicLink=a.isSymbolicLink.bind(a)}};function createDirentFromStats(n,a){return new DirentFromStats(n,a)}n.createDirentFromStats=createDirentFromStats})),Gh=__commonJSMin((n=>{Object.defineProperty(n,`__esModule`,{value:!0}),n.convertPosixPathToPattern=n.convertWindowsPathToPattern=n.convertPathToPattern=n.escapePosixPath=n.escapeWindowsPath=n.escape=n.removeLeadingDotSegment=n.makeAbsolute=n.unixify=void 0;let a=(op(),__toCommonJS($f)),S=(qo(),__toCommonJS(Mo)),C=a.platform()===`win32`,N=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,F=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,I=/^\\\\([.?])/,H=/\\(?![!()+@[\]{}])/g;function unixify(n){return n.replace(/\\/g,`/`)}n.unixify=unixify;function makeAbsolute(n,a){return S.resolve(n,a)}n.makeAbsolute=makeAbsolute;function removeLeadingDotSegment(n){if(n.charAt(0)===`.`){let a=n.charAt(1);if(a===`/`||a===`\\`)return n.slice(2)}return n}n.removeLeadingDotSegment=removeLeadingDotSegment,n.escape=C?escapeWindowsPath:escapePosixPath;function escapeWindowsPath(n){return n.replace(F,`\\$2`)}n.escapeWindowsPath=escapeWindowsPath;function escapePosixPath(n){return n.replace(N,`\\$2`)}n.escapePosixPath=escapePosixPath,n.convertPathToPattern=C?convertWindowsPathToPattern:convertPosixPathToPattern;function convertWindowsPathToPattern(n){return escapeWindowsPath(n).replace(I,`//$1`).replace(H,`/`)}n.convertWindowsPathToPattern=convertWindowsPathToPattern;function convertPosixPathToPattern(n){return escapePosixPath(n)}n.convertPosixPathToPattern=convertPosixPathToPattern})),Kh=__commonJSMin(((n,a)=>{
632
+ `+` `.repeat(a));var Im;(function(n){n.DEFAULT={allowTrailingComma:!1}})(Im||={});function Pe(n,a=[],S=Im.DEFAULT){let C=null,N=[],F=[];function i(n){Array.isArray(N)?N.push(n):C!==null&&(N[C]=n)}return r(i,`onValue`),We(n,{onObjectBegin:r(()=>{let n={};i(n),F.push(N),N=n,C=null},`onObjectBegin`),onObjectProperty:r(n=>{C=n},`onObjectProperty`),onObjectEnd:r(()=>{N=F.pop()},`onObjectEnd`),onArrayBegin:r(()=>{let n=[];i(n),F.push(N),N=n,C=null},`onArrayBegin`),onArrayEnd:r(()=>{N=F.pop()},`onArrayEnd`),onLiteralValue:i,onError:r((n,S,C)=>{a.push({error:n,offset:S,length:C})},`onError`)},S),N[0]}r(Pe,`parse$1`);function We(n,a,S=Im.DEFAULT){let C=Ne(n,!1),N=[],F=0;function i(n){return n?()=>F===0&&n(C.getTokenOffset(),C.getTokenLength(),C.getTokenStartLine(),C.getTokenStartCharacter()):()=>!0}r(i,`toNoArgVisit`);function f(n){return n?a=>F===0&&n(a,C.getTokenOffset(),C.getTokenLength(),C.getTokenStartLine(),C.getTokenStartCharacter()):()=>!0}r(f,`toOneArgVisit`);function u(n){return n?a=>F===0&&n(a,C.getTokenOffset(),C.getTokenLength(),C.getTokenStartLine(),C.getTokenStartCharacter(),()=>N.slice()):()=>!0}r(u,`toOneArgVisitWithPath`);function g(n){return n?()=>{F>0?F++:n(C.getTokenOffset(),C.getTokenLength(),C.getTokenStartLine(),C.getTokenStartCharacter(),()=>N.slice())===!1&&(F=1)}:()=>!0}r(g,`toBeginVisit`);function w(n){return n?()=>{F>0&&F--,F===0&&n(C.getTokenOffset(),C.getTokenLength(),C.getTokenStartLine(),C.getTokenStartCharacter())}:()=>!0}r(w,`toEndVisit`);let I=g(a.onObjectBegin),H=u(a.onObjectProperty),W=w(a.onObjectEnd),K=g(a.onArrayBegin),q=w(a.onArrayEnd),Y=u(a.onLiteralValue),X=f(a.onSeparator),te=i(a.onComment),ne=f(a.onError),re=S&&S.disallowComments,ie=S&&S.allowTrailingComma;function T(){for(;;){let n=C.scan();switch(C.getTokenError()){case 4:k(14);break;case 5:k(15);break;case 3:k(13);break;case 1:re||k(11);break;case 2:k(12);break;case 6:k(16);break}switch(n){case 12:case 13:re?k(10):te();break;case 16:k(1);break;case 15:case 14:break;default:return n}}}r(T,`scanNext`);function k(n,a=[],S=[]){if(ne(n),a.length+S.length>0){let n=C.getToken();for(;n!==17;){if(a.indexOf(n)!==-1){T();break}else if(S.indexOf(n)!==-1)break;n=T()}}}r(k,`handleError`);function P(n){let a=C.getTokenValue();return n?Y(a):(H(a),N.push(a)),T(),!0}r(P,`parseString`);function M(){switch(C.getToken()){case 11:let n=C.getTokenValue(),a=Number(n);isNaN(a)&&(k(2),a=0),Y(a);break;case 7:Y(null);break;case 8:Y(!0);break;case 9:Y(!1);break;default:return!1}return T(),!0}r(M,`parseLiteral`);function V(){return C.getToken()===10?(P(!1),C.getToken()===6?(X(`:`),T(),U()||k(4,[],[2,5])):k(5,[],[2,5]),N.pop(),!0):(k(3,[],[2,5]),!1)}r(V,`parseProperty`);function z(){I(),T();let n=!1;for(;C.getToken()!==2&&C.getToken()!==17;){if(C.getToken()===5){if(n||k(4,[],[]),X(`,`),T(),C.getToken()===2&&ie)break}else n&&k(6,[],[]);V()||k(4,[],[2,5]),n=!0}return W(),C.getToken()===2?T():k(7,[2],[]),!0}r(z,`parseObject`);function G(){K(),T();let n=!0,a=!1;for(;C.getToken()!==4&&C.getToken()!==17;){if(C.getToken()===5){if(a||k(4,[],[]),X(`,`),T(),C.getToken()===4&&ie)break}else a&&k(6,[],[]);n?(N.push(0),n=!1):N[N.length-1]++,U()||k(4,[],[4,5]),a=!0}return q(),n||N.pop(),C.getToken()===4?T():k(8,[4],[]),!0}r(G,`parseArray`);function U(){switch(C.getToken()){case 3:return G();case 1:return z();case 10:return P(!0);default:return M()}}return r(U,`parseValue`),T(),C.getToken()===17?S.allowEmptyContent?!0:(k(4,[],[]),!1):U()?(C.getToken()!==17&&k(9,[],[]),!0):(k(4,[],[]),!1)}r(We,`visit`);var Lm;(function(n){n[n.None=0]=`None`,n[n.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,n[n.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,n[n.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,n[n.InvalidUnicode=4]=`InvalidUnicode`,n[n.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,n[n.InvalidCharacter=6]=`InvalidCharacter`})(Lm||={});var Rm;(function(n){n[n.OpenBraceToken=1]=`OpenBraceToken`,n[n.CloseBraceToken=2]=`CloseBraceToken`,n[n.OpenBracketToken=3]=`OpenBracketToken`,n[n.CloseBracketToken=4]=`CloseBracketToken`,n[n.CommaToken=5]=`CommaToken`,n[n.ColonToken=6]=`ColonToken`,n[n.NullKeyword=7]=`NullKeyword`,n[n.TrueKeyword=8]=`TrueKeyword`,n[n.FalseKeyword=9]=`FalseKeyword`,n[n.StringLiteral=10]=`StringLiteral`,n[n.NumericLiteral=11]=`NumericLiteral`,n[n.LineCommentTrivia=12]=`LineCommentTrivia`,n[n.BlockCommentTrivia=13]=`BlockCommentTrivia`,n[n.LineBreakTrivia=14]=`LineBreakTrivia`,n[n.Trivia=15]=`Trivia`,n[n.Unknown=16]=`Unknown`,n[n.EOF=17]=`EOF`})(Rm||={});const zm=Pe;var Bm;(function(n){n[n.InvalidSymbol=1]=`InvalidSymbol`,n[n.InvalidNumberFormat=2]=`InvalidNumberFormat`,n[n.PropertyNameExpected=3]=`PropertyNameExpected`,n[n.ValueExpected=4]=`ValueExpected`,n[n.ColonExpected=5]=`ColonExpected`,n[n.CommaExpected=6]=`CommaExpected`,n[n.CloseBraceExpected=7]=`CloseBraceExpected`,n[n.CloseBracketExpected=8]=`CloseBracketExpected`,n[n.EndOfFileExpected=9]=`EndOfFileExpected`,n[n.InvalidCommentToken=10]=`InvalidCommentToken`,n[n.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,n[n.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,n[n.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,n[n.InvalidUnicode=14]=`InvalidUnicode`,n[n.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,n[n.InvalidCharacter=16]=`InvalidCharacter`})(Bm||={});const Vm=r((n,a)=>zm(Am(a,n,`utf8`)),`readJsonc`),Hm=Symbol(`implicitBaseUrl`),Um="${configDir}",Wm=r(()=>{let{findPnpApi:n}=Ec;return n&&n(process.cwd())},`getPnpApi`),Gm=r((n,a,S,C)=>{let N=`resolveFromPackageJsonPath:${n}:${a}:${S}`;if(C!=null&&C.has(N))return C.get(N);let F=Vm(n,C);if(!F)return;let I=a||`tsconfig.json`;if(!S&&F.exports)try{let[n]=v(F.exports,a,[`require`,`types`]);I=n}catch{return!1}else !a&&F.tsconfig&&(I=F.tsconfig);return I=Ko.join(n,`..`,I),C?.set(N,I),I},`resolveFromPackageJsonPath`),Km=`package.json`,qm=`tsconfig.json`,Jm=r((n,a,S)=>{let C=n;if(n===`..`&&(C=Ko.join(C,qm)),n[0]===`.`&&(C=Ko.resolve(a,C)),Ko.isAbsolute(C)){if(km(S,C)){if(jm(S,C).isFile())return C}else if(!C.endsWith(`.json`)){let n=`${C}.json`;if(km(S,n))return n}return}let[N,...F]=n.split(`/`),I=N[0]===`@`?`${N}/${F.shift()}`:N,H=F.join(`/`),W=Wm();if(W){let{resolveRequest:C}=W;try{if(I===n){let n=C(Ko.join(I,Km),a);if(n){let a=Gm(n,H,!1,S);if(a&&km(S,a))return a}}else{let S;try{S=C(n,a,{extensions:[`.json`]})}catch{S=C(Ko.join(n,qm),a)}if(S)return S}}catch{}}let K=Mm(Ko.resolve(a),Ko.join(`node_modules`,I),S);if(!K||!jm(S,K).isDirectory())return;let q=Ko.join(K,Km);if(km(S,q)){let n=Gm(q,H,!1,S);if(n===!1)return;if(n&&km(S,n)&&jm(S,n).isFile())return n}let Y=Ko.join(K,H),X=Y.endsWith(`.json`);if(!X){let n=`${Y}.json`;if(km(S,n))return n}if(km(S,Y)){if(jm(S,Y).isDirectory()){let n=Ko.join(Y,Km);if(km(S,n)){let a=Gm(n,``,!0,S);if(a&&km(S,a))return a}let a=Ko.join(Y,qm);if(km(S,a))return a}else if(X)return Y}},`resolveExtendsPath`),Ym=r((n,a)=>Pm(Ko.relative(n,a)),`pathRelative`),Xm=[`files`,`include`,`exclude`],Zm=r((n,a,S)=>{let C=Ko.join(a,S);return h$1(Ko.relative(n,C))||`./`},`resolveAndRelativize`),Qm=r((n,a,S)=>{let C=Ko.relative(n,a);return C?h$1(`${C}/${S.startsWith(`./`)?S.slice(2):S}`):S},`prefixPattern`),$m=r((n,a,S,C)=>{let N=Jm(n,a,C);if(!N)throw Error(`File '${n}' not found.`);if(S.has(N))throw Error(`Circularity detected while resolving configuration: ${N}`);S.add(N);let F=Ko.dirname(N),I=th(N,C,S);delete I.references;let{compilerOptions:H}=I;if(H){let{baseUrl:n}=H;n&&!n.startsWith(Um)&&(H.baseUrl=Zm(a,F,n));let{outDir:S}=H;S&&!S.startsWith(Um)&&(H.outDir=Zm(a,F,S));let{declarationDir:C}=H;C&&!C.startsWith(Um)&&(H.declarationDir=Zm(a,F,C));let{rootDir:N}=H;N&&!N.startsWith(Um)&&(H.rootDir=Zm(a,F,N));let{rootDirs:I}=H;I&&(H.rootDirs=I.map(n=>n.startsWith(Um)?n:Zm(a,F,n)));let{typeRoots:W}=H;W&&(H.typeRoots=W.map(n=>n.startsWith(Um)?n:Zm(a,F,n)))}for(let n of Xm){let S=I[n];S&&(I[n]=S.map(n=>n.startsWith(Um)?n:Qm(a,F,n)))}return I},`resolveExtends`),eh=[`outDir`,`declarationDir`],th=r((n,a,S=new Set)=>{let C;try{C=Vm(n,a)||{}}catch{throw Error(`Cannot resolve tsconfig at path: ${n}`)}if(typeof C!=`object`)throw SyntaxError(`Failed to parse tsconfig at: ${n}`);let N=Ko.dirname(n);if(C.compilerOptions){let{compilerOptions:n}=C;n.paths&&!n.baseUrl&&(n[Hm]=N)}if(C.extends){let n=Array.isArray(C.extends)?C.extends:[C.extends];delete C.extends;for(let F of n.reverse()){let n=$m(F,N,new Set(S),a),I={...n,...C,compilerOptions:{...n.compilerOptions,...C.compilerOptions}};n.watchOptions&&(I.watchOptions={...n.watchOptions,...C.watchOptions}),C=I}}if(C.compilerOptions){let{compilerOptions:n}=C;for(let a of[`baseUrl`,`rootDir`]){let S=n[a];S&&!S.startsWith(Um)&&(n[a]=Ym(N,Ko.resolve(N,S)))}for(let a of eh){let S=n[a];S&&(Array.isArray(C.exclude)||(C.exclude=eh.map(a=>n[a]).filter(Boolean)),S.startsWith(Um)||(S=Pm(S)),n[a]=S)}}else C.compilerOptions={};if(C.include&&=C.include.map(h$1),C.files&&=C.files.map(n=>n.startsWith(Um)?n:Pm(n)),C.watchOptions){let{watchOptions:n}=C;n.excludeDirectories&&=n.excludeDirectories.map(n=>h$1(Ko.resolve(N,n))),n.excludeFiles&&=n.excludeFiles.map(n=>h$1(Ko.resolve(N,n))),n.watchFile&&=n.watchFile.toLowerCase(),n.watchDirectory&&=n.watchDirectory.toLowerCase(),n.fallbackPolling&&=n.fallbackPolling.toLowerCase()}return C},`_parseTsconfig`),nh=r((n,a)=>{if(n.startsWith(Um))return h$1(Ko.join(a,n.slice(12)))},`interpolateConfigDir`),rh=[`outDir`,`declarationDir`,`outFile`,`rootDir`,`baseUrl`,`tsBuildInfoFile`],ih=r(n=>{if(n.strict)for(let a of[`noImplicitAny`,`noImplicitThis`,`strictNullChecks`,`strictFunctionTypes`,`strictBindCallApply`,`strictPropertyInitialization`,`strictBuiltinIteratorReturn`,`alwaysStrict`,`useUnknownInCatchVariables`])n[a]===void 0&&(n[a]=!0);if(n.composite&&(n.declaration??=!0,n.incremental??=!0),n.target){let a=n.target.toLowerCase();a===`es2015`&&(a=`es6`),n.target=a,a===`esnext`&&(n.module??=`es6`,n.useDefineForClassFields??=!0),(a===`es6`||a===`es2016`||a===`es2017`||a===`es2018`||a===`es2019`||a===`es2020`||a===`es2021`||a===`es2022`||a===`es2023`||a===`es2024`)&&(n.module??=`es6`),(a===`es2022`||a===`es2023`||a===`es2024`)&&(n.useDefineForClassFields??=!0)}if(n.module){let a=n.module.toLowerCase();if(a===`es2015`&&(a=`es6`),n.module=a,(a===`es6`||a===`es2020`||a===`es2022`||a===`esnext`||a===`none`||a===`system`||a===`umd`||a===`amd`)&&(n.moduleResolution??=`classic`),a===`system`&&(n.allowSyntheticDefaultImports??=!0),(a===`node16`||a===`node18`||a===`node20`||a===`nodenext`||a===`preserve`)&&(n.esModuleInterop??=!0,n.allowSyntheticDefaultImports??=!0),(a===`node16`||a===`node18`||a===`node20`||a===`nodenext`)&&(n.moduleDetection??=`force`),a===`node16`&&(n.target??=`es2022`,n.moduleResolution??=`node16`),a===`node18`&&(n.target??=`es2022`,n.moduleResolution??=`node16`),a===`node20`&&(n.target??=`es2023`,n.moduleResolution??=`node16`,n.resolveJsonModule??=!0),a===`nodenext`&&(n.target??=`esnext`,n.moduleResolution??=`nodenext`,n.resolveJsonModule??=!0),a===`node16`||a===`node18`||a===`node20`||a===`nodenext`){let a=n.target;(a===`es3`||a===`es2022`||a===`es2023`||a===`es2024`||a===`esnext`)&&(n.useDefineForClassFields??=!0)}a===`preserve`&&(n.moduleResolution??=`bundler`)}if(n.moduleResolution){let a=n.moduleResolution.toLowerCase();a===`node`&&(a=`node10`),n.moduleResolution=a,(a===`node16`||a===`nodenext`||a===`bundler`)&&(n.resolvePackageJsonExports??=!0,n.resolvePackageJsonImports??=!0),a===`bundler`&&(n.allowSyntheticDefaultImports??=!0,n.resolveJsonModule??=!0)}n.jsx&&=n.jsx.toLowerCase(),n.moduleDetection&&=n.moduleDetection.toLowerCase(),n.importsNotUsedAsValues&&=n.importsNotUsedAsValues.toLowerCase(),n.newLine&&=n.newLine.toLowerCase(),n.esModuleInterop&&(n.allowSyntheticDefaultImports??=!0),n.verbatimModuleSyntax&&(n.isolatedModules??=!0,n.preserveConstEnums??=!0),n.isolatedModules&&(n.preserveConstEnums??=!0),n.rewriteRelativeImportExtensions&&(n.allowImportingTsExtensions??=!0),n.lib&&=n.lib.map(n=>n.toLowerCase()),n.checkJs&&(n.allowJs??=!0)},`normalizeCompilerOptions`),ah=r((n,a=new Map)=>{let S=Ko.resolve(n),C=th(S,a),N=Ko.dirname(S),{compilerOptions:F}=C;if(F){for(let n of rh){let a=F[n];if(a){let S=nh(a,N);F[n]=S?Ym(N,S):a}}for(let n of[`rootDirs`,`typeRoots`]){let a=F[n];a&&(F[n]=a.map(n=>{let a=nh(n,N);return a?Ym(N,a):Pm(n)}))}let{paths:n}=F;if(n)for(let a of Object.keys(n))n[a]=n[a].map(n=>nh(n,N)??n);ih(F)}for(let n of Xm){let a=C[n];a&&(C[n]=a.map(n=>nh(n,N)??n))}return C},`parseTsconfig`);var oh=Object.defineProperty,sh=r((n,a)=>oh(n,`name`,{value:a,configurable:!0}),`s`);const ch=sh(n=>{let a=``;for(let S=0;S<n.length;S+=1){let C=n[S],N=C.toUpperCase();a+=C===N?C.toLowerCase():N}return a},`invertCase`),lh=new Map,uh=sh((n,a)=>{let S=Ko.join(n,`.is-fs-case-sensitive-test-${process.pid}`);try{return a.writeFileSync(S,``),!a.existsSync(ch(S))}finally{try{a.unlinkSync(S)}catch{}}},`checkDirectoryCaseWithWrite`),dh=sh((n,a,S)=>{try{return uh(n,S)}catch(n){if(a===void 0)return uh(ap.tmpdir(),S);throw n}},`checkDirectoryCaseWithFallback`),fh=sh((n,a=Ls,S=!0)=>{let C=n??process.cwd();if(S&&lh.has(C))return lh.get(C);let N,F=ch(C);return N=F!==C&&a.existsSync(C)?!a.existsSync(F):dh(C,n,a),S&&lh.set(C,N),N},`isFsCaseSensitive`),{join:ph}=Ko.posix,mh={ts:[`.ts`,`.tsx`,`.d.ts`],cts:[`.cts`,`.d.cts`],mts:[`.mts`,`.d.mts`]},hh=r(n=>{let a=[...mh.ts],S=[...mh.cts],C=[...mh.mts];return n!=null&&n.allowJs&&(a.push(`.js`,`.jsx`),S.push(`.cjs`),C.push(`.mjs`)),[...a,...S,...C]},`getSupportedExtensions`),gh=r(n=>{let a=[];if(!n)return a;let{outDir:S,declarationDir:C}=n;return S&&a.push(S),C&&a.push(C),a},`getDefaultExcludeSpec`),_h=r(n=>n.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),`escapeForRegexp`),vh=`(?!(${[`node_modules`,`bower_components`,`jspm_packages`].join(`|`)})(/|$))`,yh=/(?:^|\/)[^.*?]+$/,bh=`**/*`,xh=`[^/]`,Sh=`[^./]`,Ch=process.platform===`win32`,wh=r(({config:n,path:a},S=fh())=>{if(`extends`in n)throw Error(`tsconfig#extends must be resolved. Use getTsconfig or parseTsconfig to resolve it.`);if(!Ko.isAbsolute(a))throw Error(`The tsconfig path must be absolute`);Ch&&(a=h$1(a));let C=Ko.dirname(a),{files:N,include:F,exclude:I,compilerOptions:H}=n,W=r(n=>Ko.isAbsolute(n)?n:ph(C,n),`resolvePattern`),K=N?.map(W),q=hh(H),Y=S?``:`i`,X=(I||gh(H)).map(n=>{let a=_h(W(n)).replaceAll(String.raw`\*\*/`,`(.+/)?`).replaceAll(String.raw`\*`,`${xh}*`).replaceAll(String.raw`\?`,xh);return RegExp(`^${a}($|/)`,Y)}),te=N||F?F:[bh],ne=te?te.map(n=>{let a=W(n);yh.test(a)&&(a=ph(a,bh));let S=_h(a).replaceAll(String.raw`/\*\*`,`(/${vh}${Sh}${xh}*)*?`).replaceAll(/(\/)?\\\*/g,(n,a)=>{let S=`(${Sh}|(\\.(?!min\\.js$))?)*`;return a?`/${vh}${Sh}${S}`:S}).replaceAll(/(\/)?\\\?/g,(n,a)=>{let S=xh;return a?`/${vh}${S}`:S});return RegExp(`^${S}$`,Y)}):void 0;return a=>{if(!Ko.isAbsolute(a))throw Error(`filePath must be absolute`);if(Ch&&(a=h$1(a)),K!=null&&K.includes(a)||!(!q.some(n=>a.endsWith(n))||X.some(n=>n.test(a)))&&ne&&ne.some(n=>n.test(a)))return n}},`createFilesMatcher`),Th=r((n,a,S)=>{let C=Ko.resolve(n),N=h$1(n);for(;;){let n=Mm(N,a,S);if(!n)return;let F=Ko.resolve(n),I=ah(F,S),H={path:h$1(F),config:I};if(wh(H)(C))return H;let W=Ko.dirname(n),K=Ko.dirname(W);if(K===W)return;N=K}},`findConfigApplicable`),Eh=r((n=process.cwd(),a=`tsconfig.json`,S=new Map,C=!1)=>C?Th(n,a,S)?.path:Mm(h$1(n),a,S),`findTsconfig`),Dh=r((n=process.cwd(),a=`tsconfig.json`,S=new Map,C=!1)=>{if(!C){let C=Eh(n,a,S);return C?{path:C,config:ah(C,S)}:null}return Th(n,a,S)??null},`getTsconfig`),Oh=/\*/g,kh=r((n,a)=>{let S=n.match(Oh);if(S&&S.length>1)throw Error(a)},`assertStarCount`),Ah=r(n=>{if(n.includes(`*`)){let[a,S]=n.split(`*`);return{prefix:a,suffix:S}}return n},`parsePattern`),jh=r(({prefix:n,suffix:a},S)=>S.startsWith(n)&&S.endsWith(a),`isPatternMatch`),Mh=r((n,a,S)=>Object.entries(n).map(([n,C])=>(kh(n,`Pattern '${n}' can have at most one '*' character.`),{pattern:Ah(n),substitutions:C.map(C=>{if(kh(C,`Substitution '${C}' in pattern '${n}' can have at most one '*' character.`),!a&&!Nm.test(C)&&!Ko.isAbsolute(C))throw Error(`Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?`);return Ko.resolve(S,C)})})),`parsePaths`);r(n=>{let{compilerOptions:a}=n.config;if(!a)return null;let{baseUrl:S,paths:C}=a;if(!S&&!C)return null;let N=Hm in a&&a[Hm],F=Ko.resolve(Ko.dirname(n.path),S||N||`.`),I=C?Mh(C,S,F):[];return n=>{if(Nm.test(n))return[];let a=[];for(let S of I){if(S.pattern===n)return S.substitutions.map(h$1);typeof S.pattern!=`string`&&a.push(S)}let C,N=-1;for(let S of a)jh(S.pattern,n)&&S.pattern.prefix.length>N&&(N=S.pattern.prefix.length,C=S);if(!C)return S?[h$1(Ko.join(F,n))]:[];let H=n.slice(C.pattern.prefix.length,n.length-C.pattern.suffix.length);return C.substitutions.map(n=>h$1(n.replace(`*`,H)))}},`createPathsMatcher`),Be();function defaultSearchPlaces(n){return[`package.json`,`.${n}rc`,`.${n}rc.json`,`.${n}rc.yaml`,`.${n}rc.yml`,`.${n}rc.js`,`.${n}rc.ts`,`.${n}rc.mjs`,`.${n}rc.cjs`,`${n}.config.js`,`${n}.config.ts`,`${n}.config.mjs`,`${n}.config.cjs`]}function merge(n,...a){for(let S of a)if(S)for(let a of Object.keys(S)){let C=n[a],N=S[a];N!==void 0&&(isPlainObject$1(C)&&isPlainObject$1(N)?merge(C,N):n[a]=N)}return n}function isPlainObject$1(n){return typeof n==`object`&&!!n&&!Array.isArray(n)&&Object.getPrototypeOf(n)===Object.prototype}__name$1(isPlainObject$1,`isPlainObject`);function readDottedPath(n,a){if(!a.includes(`.`))return n[a];let S=n;for(let n of a.split(`.`)){if(typeof S!=`object`||!S)return;S=S[n]}return S}var Config=class{loadOptions={};constructor(n={}){Object.keys(n).length&&(this.loadOptions=n)}async load(n){let a=await(0,Fp.cosmiconfig)(fu,{...this.loadOptions,searchPlaces:(this.loadOptions.searchPlaces??defaultSearchPlaces(`gjsify`)).filter(n=>n!==`package.json`)}).search(n),S={};try{let a=await this.readPackageJSON(n);isPlainObject$1(a?.gjsify)&&merge(S,a.gjsify)}catch{}return a?.config&&isPlainObject$1(a.config)&&merge(S,a.config),S.bundler||={},S.library||={},S.typescript||={},{config:S,filepath:a?.filepath??``,isEmpty:!a&&Object.keys(S).length===3}}async readPackageJSON(n){return n=await resolvePackageJSON(n),await readPackageJSON(n)}async readTSConfig(n){return Dh(n)?.config||{}}async forBuild(n){let a=await this.load(process.cwd()),S={...a.config},C=a.filepath||process.cwd(),N=await this.readPackageJSON(C),F=await this.readTSConfig(C);if(F.reflection||=n.reflection,S.verbose=n.verbose||!1,S.exclude=n.exclude||[],n.consoleShim!==void 0&&(S.consoleShim=n.consoleShim),n.globals!==void 0&&(S.globals=n.globals),n.shebang!==void 0&&(S.shebang=n.shebang),n.excludeGlobals){let a=(Array.isArray(n.excludeGlobals)?n.excludeGlobals.join(`,`):String(n.excludeGlobals)).split(`,`).map(n=>n.trim()).filter(Boolean);a.length&&(S.excludeGlobals=[...S.excludeGlobals??[],...a])}merge(S.library??={},N,S.library),merge(S.typescript??={},F,S.typescript);let parseKvPairs=(n,a)=>{let S={};for(let C of n){let n=C.indexOf(`=`);if(n===-1)throw Error(`Invalid --${a} value '${C}'. Expected KEY=VALUE.`);let N=C.slice(0,n).trim(),F=C.slice(n+1);if(!N)throw Error(`Invalid --${a} value '${C}'. Empty key.`);S[N]=F}return S},I=parseKvPairs(n.define??[],`define`),H=parseKvPairs(n.alias??[],`alias`);Object.keys(H).length&&(S.aliases={...S.aliases??{},...H});let W={};if(S.defineFromPackageJson)for(let[n,a]of Object.entries(S.defineFromPackageJson)){if(!a||typeof a.field!=`string`||!a.field)throw Error(`gjsify config: defineFromPackageJson["${n}"] is missing a "field" string`);let S=readDottedPath(N,a.field);W[n]=S===void 0?`undefined`:JSON.stringify(S)}let K={};if(S.defineFromEnv)for(let[n,a]of Object.entries(S.defineFromEnv)){if(!a||typeof a.env!=`string`||!a.env)throw Error(`gjsify config: defineFromEnv["${n}"] is missing an "env" string`);let S=process.env[a.env],C=S===void 0?a.default:S;K[n]=C===void 0?`undefined`:JSON.stringify(C)}let q=S.bundler??={},Y=q.output??={},X=q.transform??={};return n.entryPoints?.length&&(q.input=n.entryPoints),q.input||=[`src/index.ts`],n.outfile!==void 0&&(Y.file=n.outfile),n.outdir!==void 0&&(Y.dir=n.outdir),n.format!==void 0&&(Y.format=n.format),n.minify!==void 0&&(Y.minify=n.minify),Y.minify===void 0&&(Y.minify=!0),Y.minify===!0&&(Y.keepNames=!0),n.logLevel&&(q.logLevel={silent:`silent`,error:`warn`,warning:`warn`,warn:`warn`,info:`info`,debug:`debug`,verbose:`debug`}[n.logLevel]??`warn`),n.external?.length&&(q.external=[...Array.isArray(q.external)?q.external:[],...n.external]),(Object.keys(I).length||Object.keys(W).length||Object.keys(K).length)&&(X.define={...X.define??{},...W,...K,...I}),S.verbose&&ze.debug(`configData`,S),S}};Be(),Rs(),qo(),Dc(),tn();async function loadNpmRolldown(){return(await import(`rolldown`)).rolldown}async function bundleToChunks(n){if(await shouldUseNative()){let a=await tryLoadNative();if(!a)throw Error(`@gjsify/rolldown-native not loadable`);let S=n.rolldownInput.plugins??[],C=[];for(let n of S)isPluginObject(n)&&C.push(toNativePlugin(n));let N=liftTransformExtras(stripUnserializable({...n.rolldownInput,input:normalizeInputForNative(n.rolldownInput.input),format:n.format}));delete N.plugins;let F=await a.bundleWithPlugins(N,C),I=[];for(let n of F.output)n.type===`chunk`&&I.push(n.code);return I}let a=await(await loadNpmRolldown())(n.rolldownInput);try{let S=await a.generate({format:n.format,minify:!1,sourcemap:!1}),C=[];for(let n of S.output)n.type===`chunk`&&C.push(n.code);return C}finally{await a.close()}}async function runBundle(n){if(await shouldUseNative())return await runNativeBundle(n);let a=await(await loadNpmRolldown())(n);try{return await a.write(n.output??{})}finally{await a.close()}}let Nh=null;async function shouldUseNative(){let n=(globalThis.process?.env??{}).GJSIFY_BUNDLER;if(n===`npm`)return!1;if(n===`native`){if(!await tryLoadNative())throw Error(`GJSIFY_BUNDLER=native but @gjsify/rolldown-native is not loadable (no prebuild for this architecture, or not running under GJS).`);return!0}return globalThis.imports?.gi===void 0?!1:await tryLoadNative()!==null}async function tryLoadNative(){return Nh||(Nh=(async()=>{let n=globalThis.imports?.gi!==void 0;if(!n)return null;try{let a=`@gjsify/rolldown-native`,S=a;n&&(S=pathToFileURL(createRequire(import.meta.url).resolve(a)).href);let C=await import(S);return C.hasNativeRolldown()?C:null}catch{return null}})(),Nh)}async function runNativeBundle(n){let a=await tryLoadNative();if(!a)throw Error(`@gjsify/rolldown-native not loadable`);let S=n.plugins??[],C=[];for(let n of S)isPluginObject(n)&&C.push(toNativePlugin(n));let{output:N,plugins:F,...I}=n,H=liftTransformExtras(stripUnserializable({...I,...N??{},input:normalizeInputForNative(n.input)}));globalThis.process?.env?.GJSIFY_DEBUG_NATIVE_OPTS&&ze.error(`[gjsify-bundler-pick] native opts JSON:`,JSON.stringify(H));let W=await a.bundleWithPlugins(H,C),K=n.output??{},q=K.dir??(K.file?zo(K.file):process.cwd());q&&await ms.mkdir(q,{recursive:!0});for(let n of W.output)if(n.type===`chunk`){let a=K.file&&W.output.length===1?K.file:Io(q,n.fileName);await ms.writeFile(a,n.code,`utf8`)}return synthRolldownOutput(W)}function stripUnserializable(n){let a={};for(let[S,C]of Object.entries(n))typeof C!=`function`&&(S===`sourcemap`&&typeof C==`boolean`||(a[S]=C));return a}function liftTransformExtras(n){let a=n.transform;if(!a)return n;let S={},C={...a};for(let n of[`define`,`inject`])n in C&&(S[n]=C[n],delete C[n]);return S.inject!==void 0&&!Array.isArray(S.inject)&&(S.inject=mapToInjectArray(S.inject)),{...n,transform:Object.keys(C).length===0?void 0:C,...S}}function mapToInjectArray(n){let a=[];for(let[S,C]of Object.entries(n))if(typeof C==`string`)a.push({type:`default`,from:C,alias:S});else{let[n,N]=C;a.push({type:`named`,from:n,imported:N,alias:S})}return a}function normalizeInputForNative(n){return n===void 0?[]:typeof n==`string`?[{import:n}]:Array.isArray(n)?n.map(n=>typeof n==`string`?{import:n}:n):Object.entries(n).map(([n,a])=>({name:n,import:a}))}function isPluginObject(n){return typeof n==`object`&&!!n&&!Array.isArray(n)}function pickHook(n){if(typeof n==`function`)return{fn:n};if(typeof n==`object`&&n&&`handler`in n){let a=n,S=filterToRegexSource(a.filter?.id),C={fn:a.handler};return S!==void 0&&(C.idFilter=S),C}}function filterToRegexSource(n){if(n!==void 0){if(Array.isArray(n)){let a=n.map(oneToSource).filter(n=>n!==void 0);return a.length===0?void 0:a.length===1?a[0]:`(?:${a.join(`|`)})`}return oneToSource(n)}}function oneToSource(n){if(n instanceof RegExp)return n.source;if(typeof n==`string`)return n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function toNativePlugin(n){let a={name:typeof n.name==`string`?n.name:`unnamed-plugin`},S={},C=pickHook(n.load);C&&(a.load=C.fn,C.idFilter&&(S.load=C.idFilter));let N=pickHook(n.transform);N&&(a.transform=N.fn,N.idFilter&&(S.transform=N.idFilter));let F=pickHook(n.resolveId);F&&(a.resolveId=F.fn,F.idFilter&&(S.resolveId=F.idFilter));let I=pickHook(n.renderChunk);I&&(a.renderChunk=I.fn);let H=pickHook(n.banner);H&&(a.banner=H.fn);let W=pickHook(n.footer);W&&(a.footer=W.fn);let K=pickHook(n.intro);K&&(a.intro=K.fn);let q=pickHook(n.outro);q&&(a.outro=q.fn);let Y=pickHook(n.buildStart);Y&&(a.buildStart=Y.fn);let X=pickHook(n.buildEnd);X&&(a.buildEnd=X.fn);let te=pickHook(n.generateBundle);te&&(a.generateBundle=te.fn);let ne=pickHook(n.writeBundle);ne&&(a.writeBundle=ne.fn);let re=pickHook(n.closeBundle);return re&&(a.closeBundle=re.fn),Object.keys(S).length>0&&(a.idFilter=S),a}function synthRolldownOutput(n){return{output:n.output.map(n=>n.type===`chunk`?{type:`chunk`,fileName:n.fileName,code:n.code,name:n.name,isEntry:n.isEntry,isDynamicEntry:n.isDynamicEntry,map:n.map??null,sourcemapFileName:n.sourcemapFilename??null,imports:n.imports,dynamicImports:n.dynamicImports,facadeModuleId:null,moduleIds:[],modules:{},exports:[],referencedFiles:[],importedBindings:{}}:{type:`asset`,fileName:n.fileName,names:n.names,originalFileNames:n.originalFileNames,source:n.sourceText??``,needsCodeReference:!1})}}const Ph=`assert.assert/strict.async_hooks.buffer.child_process.cluster.console.constants.crypto.dgram.diagnostics_channel.dns.dns/promises.domain.events.fs.fs/promises.http.http2.https.inspector.module.net.os.path.path/posix.path/win32.perf_hooks.process.punycode.querystring.readline.readline/promises.repl.stream.stream/web.stream/consumers.stream/promises.string_decoder.sys.test.timers.timers/promises.tls.tty.url.util.util/types.v8.vm.wasi.sqlite.worker_threads.zlib`.split(`.`),Fh=[`readable-stream`,`node-fetch`],Ih={jsdom:`@gjsify/empty`,"./polling-xhr.node.js":`./polling-xhr.js`,"./websocket.node.js":`./websocket.js`,"./globals.node.js":`./globals.js`},Lh={assert:`@gjsify/assert`,"assert/strict":`@gjsify/assert/strict`,async_hooks:`@gjsify/async_hooks`,buffer:`@gjsify/buffer`,child_process:`@gjsify/child_process`,cluster:`@gjsify/cluster`,console:`@gjsify/console`,constants:`@gjsify/constants`,crypto:`@gjsify/crypto`,dgram:`@gjsify/dgram`,diagnostics_channel:`@gjsify/diagnostics_channel`,dns:`@gjsify/dns`,"dns/promises":`@gjsify/dns/promises`,domain:`@gjsify/domain`,events:`@gjsify/events`,fs:`@gjsify/fs`,"fs/promises":`@gjsify/fs/promises`,http:`@gjsify/http`,http2:`@gjsify/http2`,https:`@gjsify/https`,inspector:`@gjsify/inspector`,module:`@gjsify/module`,net:`@gjsify/net`,os:`@gjsify/os`,path:`@gjsify/path`,"path/posix":`@gjsify/path/posix`,"path/win32":`@gjsify/path/win32`,perf_hooks:`@gjsify/perf_hooks`,process:`@gjsify/process`,punycode:`@gjsify/punycode`,querystring:`@gjsify/querystring`,readline:`@gjsify/readline`,"readline/promises":`@gjsify/readline/promises`,repl:`@gjsify/repl`,stream:`@gjsify/stream`,"stream/web":`@gjsify/stream/web`,"stream/consumers":`@gjsify/stream/consumers`,"stream/promises":`@gjsify/stream/promises`,string_decoder:`@gjsify/string_decoder`,sys:`@gjsify/sys`,timers:`@gjsify/timers`,"timers/promises":`@gjsify/timers/promises`,tls:`@gjsify/tls`,tty:`@gjsify/tty`,url:`@gjsify/url`,util:`@gjsify/util`,"util/types":`@gjsify/util/types`,v8:`@gjsify/v8`,vm:`@gjsify/vm`,wasi:`@gjsify/wasi`,sqlite:`@gjsify/sqlite`,worker_threads:`@gjsify/worker_threads`,zlib:`@gjsify/zlib`,"node-fetch":`@gjsify/fetch`,ws:`@gjsify/ws`,"isomorphic-ws":`@gjsify/websocket`},Rh={"abort-controller":`@gjsify/abort-controller`,"compression-streams":`@gjsify/compression-streams`,"dom-events":`@gjsify/dom-events`,"dom-exception":`@gjsify/dom-exception`,"event-target-shim":`@gjsify/dom-events`,"message-channel":`@gjsify/message-channel`,eventsource:`@gjsify/eventsource`,fetch:`@gjsify/fetch`,formdata:`@gjsify/formdata`,"html-image-element":`@gjsify/html-image-element`,webcrypto:`@gjsify/webcrypto`,webgl:`@gjsify/webgl`,websocket:`@gjsify/websocket`,webstorage:`@gjsify/webstorage`,"abort-controller/register":`@gjsify/abort-controller/register`,"compression-streams/register":`@gjsify/compression-streams/register`,"dom-events/register":`@gjsify/dom-events/register`,"dom-events/register/event-target":`@gjsify/dom-events/register/event-target`,"dom-events/register/custom-events":`@gjsify/dom-events/register/custom-events`,"dom-events/register/ui-events":`@gjsify/dom-events/register/ui-events`,"dom-exception/register":`@gjsify/dom-exception/register`,"message-channel/register":`@gjsify/message-channel/register`,"eventsource/register":`@gjsify/eventsource/register`,"websocket/register":`@gjsify/websocket/register`,"fetch/register":`@gjsify/fetch/register`,"fetch/register/fetch":`@gjsify/fetch/register/fetch`,"fetch/register/xhr":`@gjsify/fetch/register/xhr`,"webcrypto/register":`@gjsify/webcrypto/register`,"web-streams/register":`@gjsify/web-streams/register`,"web-streams/register/readable":`@gjsify/web-streams/register/readable`,"web-streams/register/writable":`@gjsify/web-streams/register/writable`,"web-streams/register/transform":`@gjsify/web-streams/register/transform`,"web-streams/register/text-streams":`@gjsify/web-streams/register/text-streams`,"web-streams/register/queuing":`@gjsify/web-streams/register/queuing`,xmlhttprequest:`@gjsify/fetch`,"xmlhttprequest/register":`@gjsify/fetch/register/xhr`,"@gjsify/xmlhttprequest":`@gjsify/fetch`,"@gjsify/xmlhttprequest/register":`@gjsify/fetch/register/xhr`,domparser:`@gjsify/domparser`,"domparser/register":`@gjsify/domparser/register`,webaudio:`@gjsify/webaudio`,"webaudio/register":`@gjsify/webaudio/register`,gamepad:`@gjsify/gamepad`,"gamepad/register":`@gjsify/gamepad/register`,webrtc:`@gjsify/webrtc`,"webrtc/register":`@gjsify/webrtc/register`,"webrtc/register/peer-connection":`@gjsify/webrtc/register/peer-connection`,"webrtc/register/data-channel":`@gjsify/webrtc/register/data-channel`,"webrtc/register/error":`@gjsify/webrtc/register/error`,"webrtc/register/media":`@gjsify/webrtc/register/media`,"webrtc/register/media-devices":`@gjsify/webrtc/register/media-devices`,webassembly:`@gjsify/webassembly`,"webassembly/register":`@gjsify/webassembly/register`,"webassembly/register/promise":`@gjsify/webassembly/register/promise`},zh={"@gjsify/node-globals":`@gjsify/empty`,"@gjsify/node-globals/register":`@gjsify/empty`,"@gjsify/node-globals/register/process":`@gjsify/empty`,"@gjsify/node-globals/register/buffer":`@gjsify/empty`,"@gjsify/node-globals/register/timers":`@gjsify/empty`,"@gjsify/node-globals/register/encoding":`@gjsify/empty`,"@gjsify/node-globals/register/url":`@gjsify/empty`,"@gjsify/node-globals/register/structured-clone":`@gjsify/empty`,"@gjsify/node-globals/register/microtask":`@gjsify/empty`,"@gjsify/web-globals":`@gjsify/empty`,"@gjsify/web-globals/register":`@gjsify/empty`,"@gjsify/web-globals/register/performance":`@gjsify/empty`,"@gjsify/web-globals/register/formdata":`@gjsify/empty`},Bh={},Vh={"abort-controller":`@gjsify/abort-controller/globals`,"compression-streams":`@gjsify/compression-streams/globals`,"dom-events":`@gjsify/dom-events/globals`,"dom-exception":`@gjsify/dom-exception/globals`,"message-channel":`@gjsify/message-channel/globals`,eventsource:`@gjsify/eventsource/globals`,formdata:`@gjsify/formdata/globals`,"html-image-element":`@gjsify/html-image-element`,webcrypto:`@gjsify/webcrypto/globals`,webgl:`@gjsify/webgl`,websocket:`@gjsify/websocket/globals`,webstorage:`@gjsify/webstorage`,"abort-controller/register":`@gjsify/empty`,"compression-streams/register":`@gjsify/empty`,"dom-events/register":`@gjsify/empty`,"dom-events/register/event-target":`@gjsify/empty`,"dom-events/register/custom-events":`@gjsify/empty`,"dom-events/register/ui-events":`@gjsify/empty`,"dom-exception/register":`@gjsify/empty`,"message-channel/register":`@gjsify/empty`,"eventsource/register":`@gjsify/empty`,"websocket/register":`@gjsify/empty`,"fetch/register":`@gjsify/empty`,"fetch/register/fetch":`@gjsify/empty`,"fetch/register/xhr":`@gjsify/empty`,"webcrypto/register":`@gjsify/empty`,"web-streams/register":`@gjsify/empty`,"web-streams/register/readable":`@gjsify/empty`,"web-streams/register/writable":`@gjsify/empty`,"web-streams/register/transform":`@gjsify/empty`,"web-streams/register/text-streams":`@gjsify/empty`,"web-streams/register/queuing":`@gjsify/empty`,"@gjsify/abort-controller/register":`@gjsify/empty`,"@gjsify/compression-streams/register":`@gjsify/empty`,"@gjsify/dom-events/register":`@gjsify/empty`,"@gjsify/dom-events/register/event-target":`@gjsify/empty`,"@gjsify/dom-events/register/custom-events":`@gjsify/empty`,"@gjsify/dom-events/register/ui-events":`@gjsify/empty`,"@gjsify/dom-exception/register":`@gjsify/empty`,"@gjsify/message-channel/register":`@gjsify/empty`,"@gjsify/eventsource/register":`@gjsify/empty`,"@gjsify/websocket/register":`@gjsify/empty`,"@gjsify/fetch/register":`@gjsify/empty`,"@gjsify/fetch/register/fetch":`@gjsify/empty`,"@gjsify/fetch/register/xhr":`@gjsify/empty`,"@gjsify/webcrypto/register":`@gjsify/empty`,"@gjsify/web-streams/register":`@gjsify/empty`,"@gjsify/web-streams/register/readable":`@gjsify/empty`,"@gjsify/web-streams/register/writable":`@gjsify/empty`,"@gjsify/web-streams/register/transform":`@gjsify/empty`,"@gjsify/web-streams/register/text-streams":`@gjsify/empty`,"@gjsify/web-streams/register/queuing":`@gjsify/empty`,"@gjsify/dom-elements/register":`@gjsify/empty`,"@gjsify/dom-elements/register/document":`@gjsify/empty`,"@gjsify/dom-elements/register/canvas":`@gjsify/empty`,"@gjsify/dom-elements/register/image":`@gjsify/empty`,"@gjsify/dom-elements/register/observers":`@gjsify/empty`,"@gjsify/dom-elements/register/font-face":`@gjsify/empty`,"@gjsify/dom-elements/register/match-media":`@gjsify/empty`,"@gjsify/dom-elements/register/location":`@gjsify/empty`,"@gjsify/dom-elements/register/navigator":`@gjsify/empty`,"@gjsify/buffer/register":`@gjsify/empty`,xmlhttprequest:`@gjsify/empty`,"xmlhttprequest/register":`@gjsify/empty`,"@gjsify/xmlhttprequest":`@gjsify/empty`,"@gjsify/xmlhttprequest/register":`@gjsify/empty`,domparser:`@gjsify/empty`,"domparser/register":`@gjsify/empty`,"@gjsify/domparser/register":`@gjsify/empty`,webaudio:`@gjsify/empty`,"webaudio/register":`@gjsify/empty`,"@gjsify/webaudio/register":`@gjsify/empty`,gamepad:`@gjsify/empty`,"gamepad/register":`@gjsify/empty`,"@gjsify/gamepad/register":`@gjsify/empty`,webrtc:`@gjsify/empty`,"webrtc/register":`@gjsify/empty`,"webrtc/register/peer-connection":`@gjsify/empty`,"webrtc/register/data-channel":`@gjsify/empty`,"webrtc/register/error":`@gjsify/empty`,"webrtc/register/media":`@gjsify/empty`,"webrtc/register/media-devices":`@gjsify/empty`,"@gjsify/webrtc":`@gjsify/empty`,"@gjsify/webrtc/register":`@gjsify/empty`,"@gjsify/webrtc/register/peer-connection":`@gjsify/empty`,"@gjsify/webrtc/register/data-channel":`@gjsify/empty`,"@gjsify/webrtc/register/error":`@gjsify/empty`,"@gjsify/webrtc/register/media":`@gjsify/empty`,"@gjsify/webrtc/register/media-devices":`@gjsify/empty`,webassembly:`@gjsify/webassembly/globals`,"webassembly/register":`@gjsify/empty`,"webassembly/register/promise":`@gjsify/empty`,"@gjsify/webassembly/register":`@gjsify/empty`,"@gjsify/webassembly/register/promise":`@gjsify/empty`},setNodeAliasPrefix=n=>{for(let a in n){if(a.startsWith(`node:`))continue;let S=`node:${a}`;n[S]||(n[S]=n[a])}return n},getAliasesGeneralForGjs=n=>Ih,getAliasesNodeForGjs=n=>setNodeAliasPrefix(Lh),getAliasesWebForGjs=n=>Rh,getAliasesGeneralForNode=n=>zh,getAliasesGjsForNode=n=>Bh,getAliasesWebForNode=n=>Vh,getAliasesForGjs=n=>({...getAliasesGeneralForGjs(n),...getAliasesNodeForGjs(n),...getAliasesWebForGjs(n)}),getAliasesForNode=n=>({...getAliasesGeneralForNode(n),...getAliasesGjsForNode(n),...getAliasesWebForNode(n)});[...Ph,...Ph.map(n=>`node:${n}`)],[...Fh];var Hh=__commonJSMin((n=>{Object.defineProperty(n,`__esModule`,{value:!0}),n.splitWhen=n.flatten=void 0;function flatten(n){return n.reduce((n,a)=>[].concat(n,a),[])}n.flatten=flatten;function splitWhen(n,a){let S=[[]],C=0;for(let N of n)a(N)?(C++,S[C]=[]):S[C].push(N);return S}n.splitWhen=splitWhen})),Uh=__commonJSMin((n=>{Object.defineProperty(n,`__esModule`,{value:!0}),n.isEnoentCodeError=void 0;function isEnoentCodeError(n){return n.code===`ENOENT`}n.isEnoentCodeError=isEnoentCodeError})),Wh=__commonJSMin((n=>{Object.defineProperty(n,`__esModule`,{value:!0}),n.createDirentFromStats=void 0;var DirentFromStats=class{constructor(n,a){this.name=n,this.isBlockDevice=a.isBlockDevice.bind(a),this.isCharacterDevice=a.isCharacterDevice.bind(a),this.isDirectory=a.isDirectory.bind(a),this.isFIFO=a.isFIFO.bind(a),this.isFile=a.isFile.bind(a),this.isSocket=a.isSocket.bind(a),this.isSymbolicLink=a.isSymbolicLink.bind(a)}};function createDirentFromStats(n,a){return new DirentFromStats(n,a)}n.createDirentFromStats=createDirentFromStats})),Gh=__commonJSMin((n=>{Object.defineProperty(n,`__esModule`,{value:!0}),n.convertPosixPathToPattern=n.convertWindowsPathToPattern=n.convertPathToPattern=n.escapePosixPath=n.escapeWindowsPath=n.escape=n.removeLeadingDotSegment=n.makeAbsolute=n.unixify=void 0;let a=(op(),__toCommonJS($f)),S=(qo(),__toCommonJS(Mo)),C=a.platform()===`win32`,N=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,F=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,I=/^\\\\([.?])/,H=/\\(?![!()+@[\]{}])/g;function unixify(n){return n.replace(/\\/g,`/`)}n.unixify=unixify;function makeAbsolute(n,a){return S.resolve(n,a)}n.makeAbsolute=makeAbsolute;function removeLeadingDotSegment(n){if(n.charAt(0)===`.`){let a=n.charAt(1);if(a===`/`||a===`\\`)return n.slice(2)}return n}n.removeLeadingDotSegment=removeLeadingDotSegment,n.escape=C?escapeWindowsPath:escapePosixPath;function escapeWindowsPath(n){return n.replace(F,`\\$2`)}n.escapeWindowsPath=escapeWindowsPath;function escapePosixPath(n){return n.replace(N,`\\$2`)}n.escapePosixPath=escapePosixPath,n.convertPathToPattern=C?convertWindowsPathToPattern:convertPosixPathToPattern;function convertWindowsPathToPattern(n){return escapeWindowsPath(n).replace(I,`//$1`).replace(H,`/`)}n.convertWindowsPathToPattern=convertWindowsPathToPattern;function convertPosixPathToPattern(n){return escapePosixPath(n)}n.convertPosixPathToPattern=convertPosixPathToPattern})),Kh=__commonJSMin(((n,a)=>{
633
633
  /*!
634
634
  * is-extglob <https://github.com/jonschlinkert/is-extglob>
635
635
  *
@@ -677,7 +677,7 @@ Defaulting to 2020, but this will stop working in the future.`)),a.ecmaVersion=1
677
677
  `;break;default:n+=String.fromCharCode(S);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),a=this.pos}else ++this.pos}},$v.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case`\\`:++this.pos;break;case`$`:if(this.input[this.pos+1]!==`{`)break;case"`":return this.finishToken(w_.invalidTemplate,this.input.slice(this.start,this.pos));case`\r`:this.input[this.pos+1]===`
678
678
  `&&++this.pos;case`
679
679
  `:case`\u2028`:case`\u2029`:++this.curLine,this.lineStart=this.pos+1;break}this.raise(this.start,`Unterminated template`)},$v.readEscapedChar=function(n){var a=this.input.charCodeAt(++this.pos);switch(++this.pos,a){case 110:return`
680
- `;case 114:return`\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return codePointToString(this.readCodePoint());case 116:return` `;case 98:return`\b`;case 118:return`\v`;case 102:return`\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,`Invalid escape sequence`),n){var S=this.pos-1;this.invalidStringToken(S,`Invalid escape sequence in template string`)}default:if(a>=48&&a<=55){var C=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],N=parseInt(C,8);return N>255&&(C=C.slice(0,-1),N=parseInt(C,8)),this.pos+=C.length-1,a=this.input.charCodeAt(this.pos),(C!==`0`||a===56||a===57)&&(this.strict||n)&&this.invalidStringToken(this.pos-1-C.length,n?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(N)}return isNewLine(a)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),``):String.fromCharCode(a)}},$v.readHexChar=function(n){var a=this.pos,S=this.readInt(16,n);return S===null&&this.invalidStringToken(a,`Bad character escape sequence`),S},$v.readWord1=function(){this.containsEsc=!1;for(var n=``,a=!0,S=this.pos,C=this.options.ecmaVersion>=6;this.pos<this.input.length;){var N=this.fullCharCodeAtPos();if(isIdentifierChar(N,C))this.pos+=N<=65535?1:2;else if(N===92){this.containsEsc=!0,n+=this.input.slice(S,this.pos);var F=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\uXXXX`),++this.pos;var I=this.readCodePoint();(a?isIdentifierStart:isIdentifierChar)(I,C)||this.invalidStringToken(F,`Invalid Unicode escape`),n+=codePointToString(I),S=this.pos}else break;a=!1}return n+this.input.slice(S,this.pos)},$v.readWord=function(){var n=this.readWord1(),a=w_.name;return this.keywords.test(n)&&(a=C_[n]),this.finishToken(a,n)},iv.acorn={Parser:iv,version:`8.16.0`,defaultOptions:R_,Position:I_,SourceLocation:L_,getLineInfo,Node:Tv,TokenType:b_,tokTypes:w_,keywordTypes:C_,TokContext:_v,tokContexts:vv,isIdentifierChar,isIdentifierStart,Token:Qv,isNewLine,lineBreak:T_,lineBreakG:E_,nonASCIIwhitespace:D_};function parse$1(n,a){return iv.parse(n,a)}__name$1(parse$1,`parse`);function simple(n,a,S,C,N){S||=ty,(function c(n,C,N){var F=N||n.type;visitNode$1(S,F,n,C,c),a[F]&&a[F](n,C)})(n,C,N)}function ancestor(n,a,S,C,N){var F=[];S||=ty,(function c(n,C,N){var I=N||n.type,H=n!==F[F.length-1];H&&F.push(n),visitNode$1(S,I,n,C,c),a[I]&&a[I](n,C||F,F),H&&F.pop()})(n,C,N)}function skipThrough(n,a,S){S(n,a)}function ignore(n,a,S){}function visitNode$1(n,a,S,C,N){if(n[a]==null)throw Error(`No walker function defined for node type `+a);n[a](S,C,N)}__name$1(visitNode$1,`visitNode`);var ty={};ty.Program=ty.BlockStatement=ty.StaticBlock=function(n,a,S){for(var C=0,N=n.body;C<N.length;C+=1){var F=N[C];S(F,a,`Statement`)}},ty.Statement=skipThrough,ty.EmptyStatement=ignore,ty.ExpressionStatement=ty.ParenthesizedExpression=ty.ChainExpression=function(n,a,S){return S(n.expression,a,`Expression`)},ty.IfStatement=function(n,a,S){S(n.test,a,`Expression`),S(n.consequent,a,`Statement`),n.alternate&&S(n.alternate,a,`Statement`)},ty.LabeledStatement=function(n,a,S){return S(n.body,a,`Statement`)},ty.BreakStatement=ty.ContinueStatement=ignore,ty.WithStatement=function(n,a,S){S(n.object,a,`Expression`),S(n.body,a,`Statement`)},ty.SwitchStatement=function(n,a,S){S(n.discriminant,a,`Expression`);for(var C=0,N=n.cases;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.SwitchCase=function(n,a,S){n.test&&S(n.test,a,`Expression`);for(var C=0,N=n.consequent;C<N.length;C+=1){var F=N[C];S(F,a,`Statement`)}},ty.ReturnStatement=ty.YieldExpression=ty.AwaitExpression=function(n,a,S){n.argument&&S(n.argument,a,`Expression`)},ty.ThrowStatement=ty.SpreadElement=function(n,a,S){return S(n.argument,a,`Expression`)},ty.TryStatement=function(n,a,S){S(n.block,a,`Statement`),n.handler&&S(n.handler,a),n.finalizer&&S(n.finalizer,a,`Statement`)},ty.CatchClause=function(n,a,S){n.param&&S(n.param,a,`Pattern`),S(n.body,a,`Statement`)},ty.WhileStatement=ty.DoWhileStatement=function(n,a,S){S(n.test,a,`Expression`),S(n.body,a,`Statement`)},ty.ForStatement=function(n,a,S){n.init&&S(n.init,a,`ForInit`),n.test&&S(n.test,a,`Expression`),n.update&&S(n.update,a,`Expression`),S(n.body,a,`Statement`)},ty.ForInStatement=ty.ForOfStatement=function(n,a,S){S(n.left,a,`ForInit`),S(n.right,a,`Expression`),S(n.body,a,`Statement`)},ty.ForInit=function(n,a,S){n.type===`VariableDeclaration`?S(n,a):S(n,a,`Expression`)},ty.DebuggerStatement=ignore,ty.FunctionDeclaration=function(n,a,S){return S(n,a,`Function`)},ty.VariableDeclaration=function(n,a,S){for(var C=0,N=n.declarations;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.VariableDeclarator=function(n,a,S){S(n.id,a,`Pattern`),n.init&&S(n.init,a,`Expression`)},ty.Function=function(n,a,S){n.id&&S(n.id,a,`Pattern`);for(var C=0,N=n.params;C<N.length;C+=1){var F=N[C];S(F,a,`Pattern`)}S(n.body,a,n.expression?`Expression`:`Statement`)},ty.Pattern=function(n,a,S){n.type===`Identifier`?S(n,a,`VariablePattern`):n.type===`MemberExpression`?S(n,a,`MemberPattern`):S(n,a)},ty.VariablePattern=ignore,ty.MemberPattern=skipThrough,ty.RestElement=function(n,a,S){return S(n.argument,a,`Pattern`)},ty.ArrayPattern=function(n,a,S){for(var C=0,N=n.elements;C<N.length;C+=1){var F=N[C];F&&S(F,a,`Pattern`)}},ty.ObjectPattern=function(n,a,S){for(var C=0,N=n.properties;C<N.length;C+=1){var F=N[C];F.type===`Property`?(F.computed&&S(F.key,a,`Expression`),S(F.value,a,`Pattern`)):F.type===`RestElement`&&S(F.argument,a,`Pattern`)}},ty.Expression=skipThrough,ty.ThisExpression=ty.Super=ty.MetaProperty=ignore,ty.ArrayExpression=function(n,a,S){for(var C=0,N=n.elements;C<N.length;C+=1){var F=N[C];F&&S(F,a,`Expression`)}},ty.ObjectExpression=function(n,a,S){for(var C=0,N=n.properties;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.FunctionExpression=ty.ArrowFunctionExpression=ty.FunctionDeclaration,ty.SequenceExpression=function(n,a,S){for(var C=0,N=n.expressions;C<N.length;C+=1){var F=N[C];S(F,a,`Expression`)}},ty.TemplateLiteral=function(n,a,S){for(var C=0,N=n.quasis;C<N.length;C+=1){var F=N[C];S(F,a)}for(var I=0,H=n.expressions;I<H.length;I+=1){var W=H[I];S(W,a,`Expression`)}},ty.TemplateElement=ignore,ty.UnaryExpression=ty.UpdateExpression=function(n,a,S){S(n.argument,a,`Expression`)},ty.BinaryExpression=ty.LogicalExpression=function(n,a,S){S(n.left,a,`Expression`),S(n.right,a,`Expression`)},ty.AssignmentExpression=ty.AssignmentPattern=function(n,a,S){S(n.left,a,`Pattern`),S(n.right,a,`Expression`)},ty.ConditionalExpression=function(n,a,S){S(n.test,a,`Expression`),S(n.consequent,a,`Expression`),S(n.alternate,a,`Expression`)},ty.NewExpression=ty.CallExpression=function(n,a,S){if(S(n.callee,a,`Expression`),n.arguments)for(var C=0,N=n.arguments;C<N.length;C+=1){var F=N[C];S(F,a,`Expression`)}},ty.MemberExpression=function(n,a,S){S(n.object,a,`Expression`),n.computed&&S(n.property,a,`Expression`)},ty.ExportNamedDeclaration=ty.ExportDefaultDeclaration=function(n,a,S){if(n.declaration&&S(n.declaration,a,n.type===`ExportNamedDeclaration`||n.declaration.id?`Statement`:`Expression`),n.source&&S(n.source,a,`Expression`),n.attributes)for(var C=0,N=n.attributes;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.ExportAllDeclaration=function(n,a,S){if(n.exported&&S(n.exported,a),S(n.source,a,`Expression`),n.attributes)for(var C=0,N=n.attributes;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.ImportAttribute=function(n,a,S){S(n.value,a,`Expression`)},ty.ImportDeclaration=function(n,a,S){for(var C=0,N=n.specifiers;C<N.length;C+=1){var F=N[C];S(F,a)}if(S(n.source,a,`Expression`),n.attributes)for(var I=0,H=n.attributes;I<H.length;I+=1){var W=H[I];S(W,a)}},ty.ImportExpression=function(n,a,S){S(n.source,a,`Expression`),n.options&&S(n.options,a,`Expression`)},ty.ImportSpecifier=ty.ImportDefaultSpecifier=ty.ImportNamespaceSpecifier=ty.Identifier=ty.PrivateIdentifier=ty.Literal=ignore,ty.TaggedTemplateExpression=function(n,a,S){S(n.tag,a,`Expression`),S(n.quasi,a,`Expression`)},ty.ClassDeclaration=ty.ClassExpression=function(n,a,S){return S(n,a,`Class`)},ty.Class=function(n,a,S){n.id&&S(n.id,a,`Pattern`),n.superClass&&S(n.superClass,a,`Expression`),S(n.body,a)},ty.ClassBody=function(n,a,S){for(var C=0,N=n.body;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.MethodDefinition=ty.PropertyDefinition=ty.Property=function(n,a,S){n.computed&&S(n.key,a,`Expression`),n.value&&S(n.value,a,`Expression`)};const ny={node:[`Buffer`,`Blob`,`File`,`process`,`setImmediate`,`clearImmediate`,`queueMicrotask`,`structuredClone`,`btoa`,`atob`,`URL`,`URLSearchParams`],web:`fetch.Headers.Request.Response.FormData.ReadableStream.WritableStream.TransformStream.ReadableStreamBYOBReader.ReadableStreamBYOBRequest.ReadableByteStreamController.ReadableStreamDefaultController.ReadableStreamDefaultReader.TextEncoderStream.TextDecoderStream.ByteLengthQueuingStrategy.CountQueuingStrategy.CompressionStream.DecompressionStream.crypto.AbortController.AbortSignal.Event.EventTarget.CustomEvent.MessageEvent.ErrorEvent.CloseEvent.ProgressEvent.UIEvent.MouseEvent.PointerEvent.KeyboardEvent.WheelEvent.FocusEvent.EventSource.WebSocket.WebAssembly.DOMException.performance.PerformanceObserver.XMLHttpRequest.XMLHttpRequestUpload.DOMParser.AudioContext.webkitAudioContext.Audio.HTMLAudioElement.GamepadEvent.MediaDevices.RTCPeerConnection.RTCSessionDescription.RTCIceCandidate.RTCPeerConnectionIceEvent.RTCDataChannel.RTCDataChannelEvent.RTCError.RTCErrorEvent.MediaStream.MediaStreamTrack.RTCTrackEvent`.split(`.`),dom:[`document`,`Image`,`HTMLCanvasElement`,`HTMLImageElement`,`HTMLElement`,`MutationObserver`,`ResizeObserver`,`IntersectionObserver`,`FontFace`,`matchMedia`,`location`,`navigator`]},ry={Buffer:`@gjsify/node-globals/register/buffer`,process:`@gjsify/node-globals/register/process`,setTimeout:`@gjsify/node-globals/register/timers`,setInterval:`@gjsify/node-globals/register/timers`,clearTimeout:`@gjsify/node-globals/register/timers`,clearInterval:`@gjsify/node-globals/register/timers`,setImmediate:`@gjsify/node-globals/register/timers`,clearImmediate:`@gjsify/node-globals/register/timers`,queueMicrotask:`@gjsify/node-globals/register/microtask`,structuredClone:`@gjsify/node-globals/register/structured-clone`,btoa:`@gjsify/node-globals/register/encoding`,atob:`@gjsify/node-globals/register/encoding`,URL:`@gjsify/node-globals/register/url`,URLSearchParams:`@gjsify/node-globals/register/url`,Blob:`@gjsify/buffer/register`,File:`@gjsify/buffer/register`,fetch:`fetch/register/fetch`,Headers:`fetch/register/fetch`,Request:`fetch/register/fetch`,Response:`fetch/register/fetch`,FormData:`@gjsify/web-globals/register/formdata`,ReadableStream:`web-streams/register/readable`,ReadableStreamBYOBReader:`web-streams/register/readable`,ReadableStreamBYOBRequest:`web-streams/register/readable`,ReadableByteStreamController:`web-streams/register/readable`,ReadableStreamDefaultController:`web-streams/register/readable`,ReadableStreamDefaultReader:`web-streams/register/readable`,WritableStream:`web-streams/register/writable`,TransformStream:`web-streams/register/transform`,TextEncoderStream:`web-streams/register/text-streams`,TextDecoderStream:`web-streams/register/text-streams`,ByteLengthQueuingStrategy:`web-streams/register/queuing`,CountQueuingStrategy:`web-streams/register/queuing`,CompressionStream:`compression-streams/register`,DecompressionStream:`compression-streams/register`,crypto:`webcrypto/register`,AbortController:`abort-controller/register`,AbortSignal:`abort-controller/register`,Event:`dom-events/register/event-target`,EventTarget:`dom-events/register/event-target`,CustomEvent:`dom-events/register/custom-events`,MessageEvent:`dom-events/register/custom-events`,ErrorEvent:`dom-events/register/custom-events`,CloseEvent:`dom-events/register/custom-events`,ProgressEvent:`dom-events/register/custom-events`,UIEvent:`dom-events/register/ui-events`,MouseEvent:`dom-events/register/ui-events`,PointerEvent:`dom-events/register/ui-events`,KeyboardEvent:`dom-events/register/ui-events`,WheelEvent:`dom-events/register/ui-events`,FocusEvent:`dom-events/register/ui-events`,EventSource:`eventsource/register`,WebSocket:`websocket/register`,WebAssembly:`webassembly/register/promise`,performance:`@gjsify/web-globals/register/performance`,PerformanceObserver:`@gjsify/web-globals/register/performance`,DOMException:`dom-exception/register`,XMLHttpRequest:`fetch/register/xhr`,XMLHttpRequestUpload:`fetch/register/xhr`,DOMParser:`@gjsify/domparser/register`,AudioContext:`@gjsify/webaudio/register`,webkitAudioContext:`@gjsify/webaudio/register`,Audio:`@gjsify/webaudio/register`,HTMLAudioElement:`@gjsify/webaudio/register`,GamepadEvent:`@gjsify/gamepad/register`,MediaDevices:`@gjsify/webrtc/register/media-devices`,RTCPeerConnection:`@gjsify/webrtc/register/peer-connection`,RTCSessionDescription:`@gjsify/webrtc/register/peer-connection`,RTCIceCandidate:`@gjsify/webrtc/register/peer-connection`,RTCPeerConnectionIceEvent:`@gjsify/webrtc/register/peer-connection`,RTCDataChannel:`@gjsify/webrtc/register/data-channel`,RTCDataChannelEvent:`@gjsify/webrtc/register/data-channel`,RTCError:`@gjsify/webrtc/register/error`,RTCErrorEvent:`@gjsify/webrtc/register/error`,MediaStream:`@gjsify/webrtc/register/media`,MediaStreamTrack:`@gjsify/webrtc/register/media`,RTCTrackEvent:`@gjsify/webrtc/register/media`,document:`@gjsify/dom-elements/register/document`,Image:`@gjsify/dom-elements/register/image`,HTMLCanvasElement:`@gjsify/dom-elements/register/canvas`,HTMLImageElement:`@gjsify/dom-elements/register/image`,HTMLElement:`@gjsify/dom-elements/register/document`,MutationObserver:`@gjsify/dom-elements/register/observers`,ResizeObserver:`@gjsify/dom-elements/register/observers`,IntersectionObserver:`@gjsify/dom-elements/register/observers`,FontFace:`@gjsify/dom-elements/register/font-face`,matchMedia:`@gjsify/dom-elements/register/match-media`,location:`@gjsify/dom-elements/register/location`,navigator:`@gjsify/dom-elements/register/navigator`},iy=new Set(Object.keys(ry)),ay={"navigator.getGamepads":`GamepadEvent`,"navigator.mediaDevices":`MediaDevices`,"WebAssembly.compile":`WebAssembly`,"WebAssembly.compileStreaming":`WebAssembly`,"WebAssembly.instantiate":`WebAssembly`,"WebAssembly.instantiateStreaming":`WebAssembly`,"WebAssembly.validate":`WebAssembly`};function extractBindingNames(n){if(!n)return[];switch(n.type){case`Identifier`:return[n.name];case`ObjectPattern`:return n.properties.flatMap(n=>n.type===`RestElement`?extractBindingNames(n.argument):extractBindingNames(n.value));case`ArrayPattern`:return n.elements.flatMap(n=>n?n.type===`RestElement`?extractBindingNames(n.argument):extractBindingNames(n):[]);case`AssignmentPattern`:return extractBindingNames(n.left);case`RestElement`:return extractBindingNames(n.argument);default:return[]}}function detectFreeGlobals(n){let a=parse$1(n,{ecmaVersion:`latest`,sourceType:`module`,allowHashBang:!0}),S=new Set;simple(a,{VariableDeclarator(n){for(let a of extractBindingNames(n.id))S.add(a)},FunctionDeclaration(n){n.id&&S.add(n.id.name);for(let a of n.params)for(let n of extractBindingNames(a))S.add(n)},FunctionExpression(n){n.id&&S.add(n.id.name);for(let a of n.params)for(let n of extractBindingNames(a))S.add(n)},ArrowFunctionExpression(n){for(let a of n.params)for(let n of extractBindingNames(a))S.add(n)},ClassDeclaration(n){n.id&&S.add(n.id.name)},ImportSpecifier(n){S.add(n.local.name)},ImportDefaultSpecifier(n){S.add(n.local.name)},ImportNamespaceSpecifier(n){S.add(n.local.name)},CatchClause(n){if(n.param)for(let a of extractBindingNames(n.param))S.add(a)}});let C=new Set,N=new Set([`globalThis`,`global`,`window`,`self`,`globalObject`]);return ancestor(a,{MemberExpression(n){if(n.computed||n.object.type!==`Identifier`||n.property.type!==`Identifier`)return;let a=n.object.name,S=n.property.name;if(N.has(a)){iy.has(S)&&C.add(S);return}let F=ay[`${a}.${S}`];F&&iy.has(F)&&C.add(F)},Identifier(n,a){let N=n.name;if(!iy.has(N)||S.has(N))return;let F=a[a.length-2];if(!F){C.add(N);return}switch(F.type){case`MemberExpression`:{let a=F;if(a.property===n&&!a.computed)return;break}case`Property`:{let a=F;if(a.key===n&&!a.computed)return;break}case`MethodDefinition`:case`PropertyDefinition`:{let a=F;if(a.key===n&&!a.computed)return;break}case`LabeledStatement`:if(F.label===n)return;break;case`ExportSpecifier`:if(F.exported===n)return;break;case`FunctionDeclaration`:case`FunctionExpression`:case`ClassDeclaration`:case`ClassExpression`:if(F.id===n)return;break;case`VariableDeclarator`:if(F.id===n)return;break;case`ImportSpecifier`:case`ImportDefaultSpecifier`:case`ImportNamespaceSpecifier`:return}C.add(N)}}),C}gs(),Ma(),qo();const oy=ry,sy=ny;function resolveGlobalsList(n){let a=new Set,S=n.trim();if(!S)return a;for(let n of S.split(`,`)){let S=n.trim();if(!S)continue;let C=sy[S];if(C)for(let n of C){let S=oy[n];S&&a.add(S)}else{let n=oy[S];n&&a.add(n)}}return a}async function writeRegisterInjectFile(n,a=process.cwd()){if(n.size===0)return null;let S=[...n].sort().map(n=>`import '${n}';`).join(`
680
+ `;case 114:return`\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return codePointToString(this.readCodePoint());case 116:return` `;case 98:return`\b`;case 118:return`\v`;case 102:return`\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,`Invalid escape sequence`),n){var S=this.pos-1;this.invalidStringToken(S,`Invalid escape sequence in template string`)}default:if(a>=48&&a<=55){var C=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],N=parseInt(C,8);return N>255&&(C=C.slice(0,-1),N=parseInt(C,8)),this.pos+=C.length-1,a=this.input.charCodeAt(this.pos),(C!==`0`||a===56||a===57)&&(this.strict||n)&&this.invalidStringToken(this.pos-1-C.length,n?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(N)}return isNewLine(a)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),``):String.fromCharCode(a)}},$v.readHexChar=function(n){var a=this.pos,S=this.readInt(16,n);return S===null&&this.invalidStringToken(a,`Bad character escape sequence`),S},$v.readWord1=function(){this.containsEsc=!1;for(var n=``,a=!0,S=this.pos,C=this.options.ecmaVersion>=6;this.pos<this.input.length;){var N=this.fullCharCodeAtPos();if(isIdentifierChar(N,C))this.pos+=N<=65535?1:2;else if(N===92){this.containsEsc=!0,n+=this.input.slice(S,this.pos);var F=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\uXXXX`),++this.pos;var I=this.readCodePoint();(a?isIdentifierStart:isIdentifierChar)(I,C)||this.invalidStringToken(F,`Invalid Unicode escape`),n+=codePointToString(I),S=this.pos}else break;a=!1}return n+this.input.slice(S,this.pos)},$v.readWord=function(){var n=this.readWord1(),a=w_.name;return this.keywords.test(n)&&(a=C_[n]),this.finishToken(a,n)},iv.acorn={Parser:iv,version:`8.16.0`,defaultOptions:R_,Position:I_,SourceLocation:L_,getLineInfo,Node:Tv,TokenType:b_,tokTypes:w_,keywordTypes:C_,TokContext:_v,tokContexts:vv,isIdentifierChar,isIdentifierStart,Token:Qv,isNewLine,lineBreak:T_,lineBreakG:E_,nonASCIIwhitespace:D_};function parse$1(n,a){return iv.parse(n,a)}__name$1(parse$1,`parse`);function simple(n,a,S,C,N){S||=ty,(function c(n,C,N){var F=N||n.type;visitNode$1(S,F,n,C,c),a[F]&&a[F](n,C)})(n,C,N)}function ancestor(n,a,S,C,N){var F=[];S||=ty,(function c(n,C,N){var I=N||n.type,H=n!==F[F.length-1];H&&F.push(n),visitNode$1(S,I,n,C,c),a[I]&&a[I](n,C||F,F),H&&F.pop()})(n,C,N)}function skipThrough(n,a,S){S(n,a)}function ignore(n,a,S){}function visitNode$1(n,a,S,C,N){if(n[a]==null)throw Error(`No walker function defined for node type `+a);n[a](S,C,N)}__name$1(visitNode$1,`visitNode`);var ty={};ty.Program=ty.BlockStatement=ty.StaticBlock=function(n,a,S){for(var C=0,N=n.body;C<N.length;C+=1){var F=N[C];S(F,a,`Statement`)}},ty.Statement=skipThrough,ty.EmptyStatement=ignore,ty.ExpressionStatement=ty.ParenthesizedExpression=ty.ChainExpression=function(n,a,S){return S(n.expression,a,`Expression`)},ty.IfStatement=function(n,a,S){S(n.test,a,`Expression`),S(n.consequent,a,`Statement`),n.alternate&&S(n.alternate,a,`Statement`)},ty.LabeledStatement=function(n,a,S){return S(n.body,a,`Statement`)},ty.BreakStatement=ty.ContinueStatement=ignore,ty.WithStatement=function(n,a,S){S(n.object,a,`Expression`),S(n.body,a,`Statement`)},ty.SwitchStatement=function(n,a,S){S(n.discriminant,a,`Expression`);for(var C=0,N=n.cases;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.SwitchCase=function(n,a,S){n.test&&S(n.test,a,`Expression`);for(var C=0,N=n.consequent;C<N.length;C+=1){var F=N[C];S(F,a,`Statement`)}},ty.ReturnStatement=ty.YieldExpression=ty.AwaitExpression=function(n,a,S){n.argument&&S(n.argument,a,`Expression`)},ty.ThrowStatement=ty.SpreadElement=function(n,a,S){return S(n.argument,a,`Expression`)},ty.TryStatement=function(n,a,S){S(n.block,a,`Statement`),n.handler&&S(n.handler,a),n.finalizer&&S(n.finalizer,a,`Statement`)},ty.CatchClause=function(n,a,S){n.param&&S(n.param,a,`Pattern`),S(n.body,a,`Statement`)},ty.WhileStatement=ty.DoWhileStatement=function(n,a,S){S(n.test,a,`Expression`),S(n.body,a,`Statement`)},ty.ForStatement=function(n,a,S){n.init&&S(n.init,a,`ForInit`),n.test&&S(n.test,a,`Expression`),n.update&&S(n.update,a,`Expression`),S(n.body,a,`Statement`)},ty.ForInStatement=ty.ForOfStatement=function(n,a,S){S(n.left,a,`ForInit`),S(n.right,a,`Expression`),S(n.body,a,`Statement`)},ty.ForInit=function(n,a,S){n.type===`VariableDeclaration`?S(n,a):S(n,a,`Expression`)},ty.DebuggerStatement=ignore,ty.FunctionDeclaration=function(n,a,S){return S(n,a,`Function`)},ty.VariableDeclaration=function(n,a,S){for(var C=0,N=n.declarations;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.VariableDeclarator=function(n,a,S){S(n.id,a,`Pattern`),n.init&&S(n.init,a,`Expression`)},ty.Function=function(n,a,S){n.id&&S(n.id,a,`Pattern`);for(var C=0,N=n.params;C<N.length;C+=1){var F=N[C];S(F,a,`Pattern`)}S(n.body,a,n.expression?`Expression`:`Statement`)},ty.Pattern=function(n,a,S){n.type===`Identifier`?S(n,a,`VariablePattern`):n.type===`MemberExpression`?S(n,a,`MemberPattern`):S(n,a)},ty.VariablePattern=ignore,ty.MemberPattern=skipThrough,ty.RestElement=function(n,a,S){return S(n.argument,a,`Pattern`)},ty.ArrayPattern=function(n,a,S){for(var C=0,N=n.elements;C<N.length;C+=1){var F=N[C];F&&S(F,a,`Pattern`)}},ty.ObjectPattern=function(n,a,S){for(var C=0,N=n.properties;C<N.length;C+=1){var F=N[C];F.type===`Property`?(F.computed&&S(F.key,a,`Expression`),S(F.value,a,`Pattern`)):F.type===`RestElement`&&S(F.argument,a,`Pattern`)}},ty.Expression=skipThrough,ty.ThisExpression=ty.Super=ty.MetaProperty=ignore,ty.ArrayExpression=function(n,a,S){for(var C=0,N=n.elements;C<N.length;C+=1){var F=N[C];F&&S(F,a,`Expression`)}},ty.ObjectExpression=function(n,a,S){for(var C=0,N=n.properties;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.FunctionExpression=ty.ArrowFunctionExpression=ty.FunctionDeclaration,ty.SequenceExpression=function(n,a,S){for(var C=0,N=n.expressions;C<N.length;C+=1){var F=N[C];S(F,a,`Expression`)}},ty.TemplateLiteral=function(n,a,S){for(var C=0,N=n.quasis;C<N.length;C+=1){var F=N[C];S(F,a)}for(var I=0,H=n.expressions;I<H.length;I+=1){var W=H[I];S(W,a,`Expression`)}},ty.TemplateElement=ignore,ty.UnaryExpression=ty.UpdateExpression=function(n,a,S){S(n.argument,a,`Expression`)},ty.BinaryExpression=ty.LogicalExpression=function(n,a,S){S(n.left,a,`Expression`),S(n.right,a,`Expression`)},ty.AssignmentExpression=ty.AssignmentPattern=function(n,a,S){S(n.left,a,`Pattern`),S(n.right,a,`Expression`)},ty.ConditionalExpression=function(n,a,S){S(n.test,a,`Expression`),S(n.consequent,a,`Expression`),S(n.alternate,a,`Expression`)},ty.NewExpression=ty.CallExpression=function(n,a,S){if(S(n.callee,a,`Expression`),n.arguments)for(var C=0,N=n.arguments;C<N.length;C+=1){var F=N[C];S(F,a,`Expression`)}},ty.MemberExpression=function(n,a,S){S(n.object,a,`Expression`),n.computed&&S(n.property,a,`Expression`)},ty.ExportNamedDeclaration=ty.ExportDefaultDeclaration=function(n,a,S){if(n.declaration&&S(n.declaration,a,n.type===`ExportNamedDeclaration`||n.declaration.id?`Statement`:`Expression`),n.source&&S(n.source,a,`Expression`),n.attributes)for(var C=0,N=n.attributes;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.ExportAllDeclaration=function(n,a,S){if(n.exported&&S(n.exported,a),S(n.source,a,`Expression`),n.attributes)for(var C=0,N=n.attributes;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.ImportAttribute=function(n,a,S){S(n.value,a,`Expression`)},ty.ImportDeclaration=function(n,a,S){for(var C=0,N=n.specifiers;C<N.length;C+=1){var F=N[C];S(F,a)}if(S(n.source,a,`Expression`),n.attributes)for(var I=0,H=n.attributes;I<H.length;I+=1){var W=H[I];S(W,a)}},ty.ImportExpression=function(n,a,S){S(n.source,a,`Expression`),n.options&&S(n.options,a,`Expression`)},ty.ImportSpecifier=ty.ImportDefaultSpecifier=ty.ImportNamespaceSpecifier=ty.Identifier=ty.PrivateIdentifier=ty.Literal=ignore,ty.TaggedTemplateExpression=function(n,a,S){S(n.tag,a,`Expression`),S(n.quasi,a,`Expression`)},ty.ClassDeclaration=ty.ClassExpression=function(n,a,S){return S(n,a,`Class`)},ty.Class=function(n,a,S){n.id&&S(n.id,a,`Pattern`),n.superClass&&S(n.superClass,a,`Expression`),S(n.body,a)},ty.ClassBody=function(n,a,S){for(var C=0,N=n.body;C<N.length;C+=1){var F=N[C];S(F,a)}},ty.MethodDefinition=ty.PropertyDefinition=ty.Property=function(n,a,S){n.computed&&S(n.key,a,`Expression`),n.value&&S(n.value,a,`Expression`)};const ny={node:[`Buffer`,`Blob`,`File`,`process`,`setImmediate`,`clearImmediate`,`queueMicrotask`,`structuredClone`,`btoa`,`atob`,`URL`,`URLSearchParams`],web:`fetch.Headers.Request.Response.FormData.ReadableStream.WritableStream.TransformStream.ReadableStreamBYOBReader.ReadableStreamBYOBRequest.ReadableByteStreamController.ReadableStreamDefaultController.ReadableStreamDefaultReader.TextEncoderStream.TextDecoderStream.ByteLengthQueuingStrategy.CountQueuingStrategy.CompressionStream.DecompressionStream.crypto.AbortController.AbortSignal.MessageChannel.MessagePort.Event.EventTarget.CustomEvent.MessageEvent.ErrorEvent.CloseEvent.ProgressEvent.UIEvent.MouseEvent.PointerEvent.KeyboardEvent.WheelEvent.FocusEvent.EventSource.WebSocket.WebAssembly.DOMException.performance.PerformanceObserver.XMLHttpRequest.XMLHttpRequestUpload.DOMParser.AudioContext.webkitAudioContext.Audio.HTMLAudioElement.GamepadEvent.MediaDevices.RTCPeerConnection.RTCSessionDescription.RTCIceCandidate.RTCPeerConnectionIceEvent.RTCDataChannel.RTCDataChannelEvent.RTCError.RTCErrorEvent.MediaStream.MediaStreamTrack.RTCTrackEvent`.split(`.`),dom:[`document`,`Image`,`HTMLCanvasElement`,`HTMLImageElement`,`HTMLElement`,`MutationObserver`,`ResizeObserver`,`IntersectionObserver`,`FontFace`,`matchMedia`,`location`,`navigator`]},ry={Buffer:`@gjsify/node-globals/register/buffer`,process:`@gjsify/node-globals/register/process`,setTimeout:`@gjsify/node-globals/register/timers`,setInterval:`@gjsify/node-globals/register/timers`,clearTimeout:`@gjsify/node-globals/register/timers`,clearInterval:`@gjsify/node-globals/register/timers`,setImmediate:`@gjsify/node-globals/register/timers`,clearImmediate:`@gjsify/node-globals/register/timers`,queueMicrotask:`@gjsify/node-globals/register/microtask`,structuredClone:`@gjsify/node-globals/register/structured-clone`,btoa:`@gjsify/node-globals/register/encoding`,atob:`@gjsify/node-globals/register/encoding`,URL:`@gjsify/node-globals/register/url`,URLSearchParams:`@gjsify/node-globals/register/url`,Blob:`@gjsify/buffer/register`,File:`@gjsify/buffer/register`,fetch:`fetch/register/fetch`,Headers:`fetch/register/fetch`,Request:`fetch/register/fetch`,Response:`fetch/register/fetch`,FormData:`@gjsify/web-globals/register/formdata`,ReadableStream:`web-streams/register/readable`,ReadableStreamBYOBReader:`web-streams/register/readable`,ReadableStreamBYOBRequest:`web-streams/register/readable`,ReadableByteStreamController:`web-streams/register/readable`,ReadableStreamDefaultController:`web-streams/register/readable`,ReadableStreamDefaultReader:`web-streams/register/readable`,WritableStream:`web-streams/register/writable`,TransformStream:`web-streams/register/transform`,TextEncoderStream:`web-streams/register/text-streams`,TextDecoderStream:`web-streams/register/text-streams`,ByteLengthQueuingStrategy:`web-streams/register/queuing`,CountQueuingStrategy:`web-streams/register/queuing`,CompressionStream:`compression-streams/register`,DecompressionStream:`compression-streams/register`,crypto:`webcrypto/register`,AbortController:`abort-controller/register`,AbortSignal:`abort-controller/register`,MessageChannel:`message-channel/register`,MessagePort:`message-channel/register`,Event:`dom-events/register/event-target`,EventTarget:`dom-events/register/event-target`,CustomEvent:`dom-events/register/custom-events`,MessageEvent:`dom-events/register/custom-events`,ErrorEvent:`dom-events/register/custom-events`,CloseEvent:`dom-events/register/custom-events`,ProgressEvent:`dom-events/register/custom-events`,UIEvent:`dom-events/register/ui-events`,MouseEvent:`dom-events/register/ui-events`,PointerEvent:`dom-events/register/ui-events`,KeyboardEvent:`dom-events/register/ui-events`,WheelEvent:`dom-events/register/ui-events`,FocusEvent:`dom-events/register/ui-events`,EventSource:`eventsource/register`,WebSocket:`websocket/register`,WebAssembly:`webassembly/register/promise`,performance:`@gjsify/web-globals/register/performance`,PerformanceObserver:`@gjsify/web-globals/register/performance`,DOMException:`dom-exception/register`,XMLHttpRequest:`fetch/register/xhr`,XMLHttpRequestUpload:`fetch/register/xhr`,DOMParser:`@gjsify/domparser/register`,AudioContext:`@gjsify/webaudio/register`,webkitAudioContext:`@gjsify/webaudio/register`,Audio:`@gjsify/webaudio/register`,HTMLAudioElement:`@gjsify/webaudio/register`,GamepadEvent:`@gjsify/gamepad/register`,MediaDevices:`@gjsify/webrtc/register/media-devices`,RTCPeerConnection:`@gjsify/webrtc/register/peer-connection`,RTCSessionDescription:`@gjsify/webrtc/register/peer-connection`,RTCIceCandidate:`@gjsify/webrtc/register/peer-connection`,RTCPeerConnectionIceEvent:`@gjsify/webrtc/register/peer-connection`,RTCDataChannel:`@gjsify/webrtc/register/data-channel`,RTCDataChannelEvent:`@gjsify/webrtc/register/data-channel`,RTCError:`@gjsify/webrtc/register/error`,RTCErrorEvent:`@gjsify/webrtc/register/error`,MediaStream:`@gjsify/webrtc/register/media`,MediaStreamTrack:`@gjsify/webrtc/register/media`,RTCTrackEvent:`@gjsify/webrtc/register/media`,document:`@gjsify/dom-elements/register/document`,Image:`@gjsify/dom-elements/register/image`,HTMLCanvasElement:`@gjsify/dom-elements/register/canvas`,HTMLImageElement:`@gjsify/dom-elements/register/image`,HTMLElement:`@gjsify/dom-elements/register/document`,MutationObserver:`@gjsify/dom-elements/register/observers`,ResizeObserver:`@gjsify/dom-elements/register/observers`,IntersectionObserver:`@gjsify/dom-elements/register/observers`,FontFace:`@gjsify/dom-elements/register/font-face`,matchMedia:`@gjsify/dom-elements/register/match-media`,location:`@gjsify/dom-elements/register/location`,navigator:`@gjsify/dom-elements/register/navigator`},iy=new Set(Object.keys(ry)),ay={"navigator.getGamepads":`GamepadEvent`,"navigator.mediaDevices":`MediaDevices`,"WebAssembly.compile":`WebAssembly`,"WebAssembly.compileStreaming":`WebAssembly`,"WebAssembly.instantiate":`WebAssembly`,"WebAssembly.instantiateStreaming":`WebAssembly`,"WebAssembly.validate":`WebAssembly`};function extractBindingNames(n){if(!n)return[];switch(n.type){case`Identifier`:return[n.name];case`ObjectPattern`:return n.properties.flatMap(n=>n.type===`RestElement`?extractBindingNames(n.argument):extractBindingNames(n.value));case`ArrayPattern`:return n.elements.flatMap(n=>n?n.type===`RestElement`?extractBindingNames(n.argument):extractBindingNames(n):[]);case`AssignmentPattern`:return extractBindingNames(n.left);case`RestElement`:return extractBindingNames(n.argument);default:return[]}}function detectFreeGlobals(n){let a=parse$1(n,{ecmaVersion:`latest`,sourceType:`module`,allowHashBang:!0}),S=new Set;simple(a,{VariableDeclarator(n){for(let a of extractBindingNames(n.id))S.add(a)},FunctionDeclaration(n){n.id&&S.add(n.id.name);for(let a of n.params)for(let n of extractBindingNames(a))S.add(n)},FunctionExpression(n){n.id&&S.add(n.id.name);for(let a of n.params)for(let n of extractBindingNames(a))S.add(n)},ArrowFunctionExpression(n){for(let a of n.params)for(let n of extractBindingNames(a))S.add(n)},ClassDeclaration(n){n.id&&S.add(n.id.name)},ImportSpecifier(n){S.add(n.local.name)},ImportDefaultSpecifier(n){S.add(n.local.name)},ImportNamespaceSpecifier(n){S.add(n.local.name)},CatchClause(n){if(n.param)for(let a of extractBindingNames(n.param))S.add(a)}});let C=new Set,N=new Set([`globalThis`,`global`,`window`,`self`,`globalObject`]);return ancestor(a,{MemberExpression(n){if(n.computed||n.object.type!==`Identifier`||n.property.type!==`Identifier`)return;let a=n.object.name,S=n.property.name;if(N.has(a)){iy.has(S)&&C.add(S);return}let F=ay[`${a}.${S}`];F&&iy.has(F)&&C.add(F)},Identifier(n,a){let N=n.name;if(!iy.has(N)||S.has(N))return;let F=a[a.length-2];if(!F){C.add(N);return}switch(F.type){case`MemberExpression`:{let a=F;if(a.property===n&&!a.computed)return;break}case`Property`:{let a=F;if(a.key===n&&!a.computed)return;break}case`MethodDefinition`:case`PropertyDefinition`:{let a=F;if(a.key===n&&!a.computed)return;break}case`LabeledStatement`:if(F.label===n)return;break;case`ExportSpecifier`:if(F.exported===n)return;break;case`FunctionDeclaration`:case`FunctionExpression`:case`ClassDeclaration`:case`ClassExpression`:if(F.id===n)return;break;case`VariableDeclarator`:if(F.id===n)return;break;case`ImportSpecifier`:case`ImportDefaultSpecifier`:case`ImportNamespaceSpecifier`:return}C.add(N)}}),C}gs(),Ma(),qo();const oy=ry,sy=ny;function resolveGlobalsList(n){let a=new Set,S=n.trim();if(!S)return a;for(let n of S.split(`,`)){let S=n.trim();if(!S)continue;let C=sy[S];if(C)for(let n of C){let S=oy[n];S&&a.add(S)}else{let n=oy[S];n&&a.add(n)}}return a}async function writeRegisterInjectFile(n,a=process.cwd()){if(n.size===0)return null;let S=[...n].sort().map(n=>`import '${n}';`).join(`
681
681
  `)+`
682
682
  `,C=createHash(`sha1`).update(S).digest(`hex`).slice(0,10),N=Io(a,`node_modules`,`.cache`,`gjsify`);await mkdir$1(N,{recursive:!0});let F=Io(N,`auto-globals-${C}.mjs`);return await writeFile$1(F,S,`utf-8`),F}qo(),tn(),Rs();function inlineStaticReads(n,a){if(!n.includes(`readFileSync`)&&!n.includes(`readdirSync`)&&!n.includes(`existsSync`))return{contents:n,inlined:0};let S;try{S=parse$1(n,{ecmaVersion:`latest`,sourceType:`module`,allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0})}catch{return{contents:n,inlined:0}}let C={sourceUrl:pathToFileURL(a).href},N=[];if(simple(S,{CallExpression(a){let S=tryInlineCall(a,C,n);S&&N.push(S)}}),N.length===0)return{contents:n,inlined:0};let F=[];N.sort((n,a)=>n.start-a.start||a.end-n.end);for(let n of N){let a=F[F.length-1];a&&n.start>=a.start&&n.end<=a.end||F.push(n)}F.sort((n,a)=>a.start-n.start);let I=n;for(let n of F)I=I.slice(0,n.start)+n.replacement+I.slice(n.end);return{contents:I,inlined:F.length}}function tryInlineCall(n,a,S){let C=n.callee;if(C.type===`MemberExpression`&&!C.computed&&C.object.type===`Identifier`&&C.object.name===`JSON`&&C.property.type===`Identifier`&&C.property.name===`parse`&&n.arguments.length>=1&&n.arguments[0].type===`CallExpression`){let S=n.arguments[0],C=tryInlineReadFile(S,a,!0);if(C!==void 0)try{let a=JSON.parse(JSON.parse(C));return{start:n.start,end:n.end,replacement:jsLiteral(a)}}catch{}}let N=identifierName(C);if(N===`readFileSync`){let S=tryInlineReadFile(n,a,!1);if(S!==void 0)return{start:n.start,end:n.end,replacement:S}}if(N===`readdirSync`){let S=evalPathExpr(n.arguments[0],a);if(S&&existsSyncSafe(S)&&isDirectorySafe(S))try{let a=readdirSync(S);return{start:n.start,end:n.end,replacement:jsLiteral(a)}}catch{}}if(N===`existsSync`){let S=evalPathExpr(n.arguments[0],a);if(S!==void 0)return{start:n.start,end:n.end,replacement:existsSyncSafe(S)?`true`:`false`}}if(N===`createRequire`){let S=evalPathExpr(n.arguments[0],a),C=S!==void 0&&S.includes(`.zip/`);if(S!==void 0&&(C||!existsSyncSafe(S)))return{start:n.start,end:n.end,replacement:`(() => { const _r = (id) => { throw new Error("[gjsify] createRequire stub: '" + id + "' was not bundled (anchor path: " + ${jsStringLiteral(S)} + ")"); }; _r.resolve = _r; _r.cache = {}; _r.extensions = {}; _r.main = void 0; return _r; })()`}}}function tryInlineReadFile(n,a,S){if(n.arguments.length<1)return;let C=evalPathExpr(n.arguments[0],a);if(!C||!existsSyncSafe(C)||isDirectorySafe(C))return;let N;if(S)N=`utf8`;else if(n.arguments.length>=2&&(N=evalEncodingExpr(n.arguments[1]),N===void 0))return;try{if(N)return jsStringLiteral(readFileSync(C,N));{let n=readFileSync(C);return`new Uint8Array([${Array.from(n).join(`,`)}])`}}catch{return}}function evalPathExpr(n,a){let S=evalExpr(n,a);if(S instanceof URL)return S.protocol===`file:`?fileURLToPath(S):void 0;if(typeof S==`string`){if(S.startsWith(`file://`))return fileURLToPath(S);if(S.startsWith(`/`))return S}}function evalExpr(n,a){if(n)switch(n.type){case`Literal`:return typeof n.value==`string`?n.value:void 0;case`TemplateLiteral`:{let a=n;return a.expressions.length>0?void 0:a.quasis.map(n=>n.value.cooked??``).join(``)}case`BinaryExpression`:{let S=n;if(S.operator!==`+`)return;let C=evalExpr(S.left,a),N=evalExpr(S.right,a);return typeof C!=`string`||typeof N!=`string`?void 0:C+N}case`Identifier`:{let S=n;return S.name===`__dirname`?fileURLToPath(new URL(`.`,a.sourceUrl)):S.name===`__filename`?fileURLToPath(a.sourceUrl):void 0}case`MemberExpression`:{let S=n;if(S.object.type===`MetaProperty`&&S.object.meta.name===`import`&&S.object.property.name===`meta`&&S.property.type===`Identifier`&&S.property.name===`url`)return a.sourceUrl;if(!S.computed&&S.property.type===`Identifier`){let n=evalExpr(S.object,a),C=S.property.name;if(n instanceof URL){if(C===`href`)return n.href;if(C===`pathname`)return n.pathname}if(typeof n==`string`){if(C===`href`)return n;if(C===`pathname`)try{return new URL(n).pathname}catch{return}}}return}case`NewExpression`:{let S=n;if(identifierName(S.callee)===`URL`){if(S.arguments.length===0)return;let n=evalExpr(S.arguments[0],a);if(typeof n!=`string`)return;if(S.arguments.length===1)try{return new URL(n)}catch{return}let C=evalExpr(S.arguments[1],a),N=C instanceof URL?C.href:typeof C==`string`?C:void 0;if(!N)return;try{return new URL(n,N)}catch{return}}return}case`CallExpression`:{let S=n,C=identifierName(S.callee);if(C===`fileURLToPath`){let n=evalExpr(S.arguments[0],a),C=n instanceof URL?n.href:typeof n==`string`?n:void 0;if(!C)return;try{return fileURLToPath(C)}catch{return}}if(C===`pathToFileURL`){let n=evalExpr(S.arguments[0],a);if(typeof n!=`string`)return;try{return pathToFileURL(n)}catch{return}}if(C===`join`||C===`resolve`){let n=[];for(let C of S.arguments){let S=evalExpr(C,a);if(typeof S!=`string`)return;n.push(S)}return C===`join`?Io(...n):No(...n)}if(C===`dirname`||C===`basename`||C===`extname`){let n=evalExpr(S.arguments[0],a);if(typeof n!=`string`)return;if(C===`dirname`)return zo(n);if(C===`basename`){let C=S.arguments.length>=2?evalExpr(S.arguments[1],a):void 0;return Bo(n,typeof C==`string`?C:void 0)}if(C===`extname`)return Vo(n)}if(C===`relative`){let n=evalExpr(S.arguments[0],a),C=evalExpr(S.arguments[1],a);return typeof n!=`string`||typeof C!=`string`?void 0:Lo(n,C)}return}}}function evalEncodingExpr(n){if(n){if(n.type===`Literal`){let a=n.value;return typeof a==`string`?canonicalEncoding(a):void 0}if(n.type===`ObjectExpression`){for(let a of n.properties)if(!(a.type!==`Property`||a.computed)&&(a.key.type===`Identifier`?a.key.name:a.key.type===`Literal`?String(a.key.value):void 0)===`encoding`)return a.value.type===`Literal`&&typeof a.value.value==`string`?canonicalEncoding(a.value.value):void 0}}}function canonicalEncoding(n){let a=n.toLowerCase();if(a===`utf8`||a===`utf-8`)return`utf8`;if(a===`ascii`)return`ascii`;if(a===`latin1`||a===`binary`)return`latin1`}function identifierName(n){if(n){if(n.type===`Identifier`)return n.name;if(n.type===`MemberExpression`&&!n.computed){let a=n;if(a.property.type===`Identifier`)return a.property.name}}}function jsLiteral(n){if(typeof n==`string`)return jsStringLiteral(n);if(typeof n==`number`)return Number.isFinite(n)?String(n):`null`;if(typeof n==`boolean`)return n?`true`:`false`;if(n===null)return`null`;if(Array.isArray(n))return`[`+n.map(jsLiteral).join(`,`)+`]`;if(typeof n==`object`){let a=[];for(let[S,C]of Object.entries(n))a.push(`${jsStringLiteral(S)}:${jsLiteral(C)}`);return`{`+a.join(`,`)+`}`}return`undefined`}function jsStringLiteral(n){return JSON.stringify(n)}function existsSyncSafe(n){try{return existsSync(n)}catch{return!1}}function isDirectorySafe(n){try{return statSync(n).isDirectory()}catch{return!1}}function aliasPlugin(n){let a=n.entries;return{name:`gjsify-alias`,resolveId:{order:`pre`,async handler(n,S,C){if(!Object.prototype.hasOwnProperty.call(a,n))return null;let N=a[n];if(N===n)return null;let F=await this.resolve(N,S,{skipSelf:!0,kind:C?.kind});return F===null?null:F}}}}function ensureNodeFactory(n){return`factory`in n&&n.factory!=null?normalizeNodeFactory(n.factory):`updateSourceFileNode`in n?createNodeFactory(n):normalizeNodeFactory(n)}function splitDecoratorsAndModifiers(n){let a=n?.filter(n=>`expression`in n)??[],S=n?.filter(n=>!(`expression`in n))??[];return[a==null||a.length<1?void 0:a,S==null||S.length<1?void 0:S]}function normalizeNodeFactory(n){if(n.__compatUpgraded)return n;let a=!1;try{a=n.createImportEqualsDeclaration([],!1,``,n.createIdentifier(``)).decorators!=null}catch{a=n.createImportEqualsDeclaration([],[],!1,``,n.createIdentifier(``)).decorators!=null}let S=a&&n.createImportEqualsDeclaration.length===4,C=a&&n.createImportSpecifier.length===2,N=a&&n.createExportSpecifier.length===2,F=a&&n.createImportTypeNode.length<5,I=a&&n.createMappedTypeNode.length===4,H=a&&n.createMappedTypeNode.length===5,W=a&&n.createTypeParameterDeclaration.length===3,K=n.createSatisfiesExpression==null,q=n.createClassStaticBlockDeclaration==null,Y=n.createUniquePrivateName==null,X=n.getGeneratedPrivateNameForNode==null,te=n.createPrivateIdentifier==null,ne=n.createAssertClause==null,re=n.createAssertEntry==null,ie=n.createImportTypeAssertionContainer==null,ae=n.createJSDocMemberName==null,oe=n.createJSDocLinkCode==null,Z=n.createJSDocLinkPlain==null;if(S||C||N||F||I||H||W||K||q||Y||X||te||ne||re||ie||a){let se=`original`in n.updateBlock(n.createBlock([]),[]),setOriginalNode=(n,a)=>(n.original=a,n),setTextRangeEnd=(n,a)=>(n.end=a,n),setTextRangePos=(n,a)=>(n.pos=a,n),setTextRangePosEnd=(n,a,S)=>setTextRangeEnd(setTextRangePos(n,a),S),setTextRange=(n,a)=>a==null?n:setTextRangePosEnd(n,a.pos,a.end),updateWithoutOriginal=(n,a)=>(n!==a&&setTextRange(n,a),n),updateWithOriginal=(n,a)=>(n!==a&&(setOriginalNode(n,a),setTextRange(n,a)),n),ce=se?updateWithOriginal:updateWithoutOriginal,le=te?function(a){return n.createIdentifier(a)}:n.createPrivateIdentifier;return{__compatUpgraded:!0,...n,createPrivateIdentifier:le,...S?(()=>{function createImportEqualsDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?C:N,q=I?N:F;return n.createImportEqualsDeclaration(H,W,K,q)}function updateImportEqualsDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?N:F,Y=H?F:I;return n.updateImportEqualsDeclaration(a,W,K,q,Y)}return{createImportEqualsDeclaration,updateImportEqualsDeclaration}})():{},...C?{createImportSpecifier(a,S,C){return n.createImportSpecifier(S,C)},updateImportSpecifier(a,S,C,N){return n.updateImportSpecifier(a,C,N)}}:{},...N?{createExportSpecifier(a,S,C){return n.createExportSpecifier(S,C)},updateExportSpecifier(a,S,C,N){return n.updateExportSpecifier(a,C,N)}}:{},...F?(()=>{function createImportTypeNode(a,S,C,N,F){return arguments.length<5?n.createImportTypeNode(a,S,C,N):n.createImportTypeNode(a,C,N,F)}function updateImportTypeNode(a,S,C,N,F,I){return arguments.length<6?n.updateImportTypeNode(a,S,C,N,F):n.updateImportTypeNode(a,S,N,F,I)}return{createImportTypeNode,updateImportTypeNode}})():{},...I?{createMappedTypeNode(a,S,C,N,F){return n.createMappedTypeNode(a,S,N,F)},updateMappedTypeNode(a,S,C,N,F,I){return n.updateMappedTypeNode(a,S,C,F,I)}}:{},...H?{createMappedTypeNode(a,S,C,N,F,I){return n.createMappedTypeNode(a,S,C,N,F)},updateMappedTypeNode(a,S,C,N,F,I,H){return n.updateMappedTypeNode(a,S,C,N,F,I)}}:{},...W?(()=>{function createTypeParameterDeclaration(a,S,C,N){let F=typeof a==`string`||a!=null&&!Array.isArray(a)&&`escapedText`in a,I=F?void 0:a,H=F?a:S,W=F?S:C,K=F?C:N,q=n.createTypeParameterDeclaration(H,W,K);return I!=null&&(q.modifiers=n.createNodeArray(I)),q}function updateTypeParameterDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?void 0:S,W=I?S:C,K=I?C:N,q=I?N:F,Y=n.updateTypeParameterDeclaration(a,W,K,q);return H!=null&&(Y.modifiers=n.createNodeArray(H)),Y}return{createTypeParameterDeclaration,updateTypeParameterDeclaration}})():{},...K?(()=>{function createSatisfiesExpression(n,a){return{...n}}function updateSatisfiesExpression(n,a,S){return a===n.expression&&S===n.type?n:ce(createSatisfiesExpression(a,S),n)}return{createSatisfiesExpression,updateSatisfiesExpression}})():{},...Y?(()=>{function createUniquePrivateName(n){if(n!=null&&!n.startsWith(`#`))throw TypeError(`First character of private identifier must be #: `+n);return le(n??``)}return{createUniquePrivateName}})():{},...X?(()=>{function getGeneratedPrivateNameForNode(n){return le(``)}return{getGeneratedPrivateNameForNode}})():{},...q?(()=>{function createClassStaticBlockDeclaration(a,S,C){let N=arguments.length>=3?C:a,F=n.createEmptyStatement();return F.body=N,F.transformFlags=8388608,F}function updateClassStaticBlockDeclaration(n,a,S,C){let N=arguments.length>=4?C:a;return N===n.body?n:ce(createClassStaticBlockDeclaration(N),n)}return{createClassStaticBlockDeclaration,updateClassStaticBlockDeclaration}})():{},...ne?(()=>{function createAssertClause(a,S){let C=n.createEmptyStatement();return C.elements=a,C.multiLine=S,C.transformFlags|=4,C}function updateAssertClause(n,a,S){return n.elements!==a||n.multiLine!==S?ce(createAssertClause(a,S),n):n}return{createAssertClause,updateAssertClause}})():{},...re?(()=>{function createAssertEntry(a,S){let C=n.createEmptyStatement();return C.name=a,C.value=S,C.transformFlags|=4,C}function updateAssertEntry(n,a,S){return n.name!==a||n.value!==S?ce(createAssertEntry(a,S),n):n}return{createAssertEntry,updateAssertEntry}})():{},...ie?(()=>{function createImportTypeAssertionContainer(a,S){let C=n.createEmptyStatement();return C.assertClause=a,C.multiLine=S,C}function updateImportTypeAssertionContainer(n,a,S){return n.assertClause!==a||n.multiLine!==S?ce(createImportTypeAssertionContainer(a,S),n):n}return{createImportTypeAssertionContainer,updateImportTypeAssertionContainer}})():{},...ae?(()=>{function createJSDocMemberName(a,S){let C=n.createJSDocComment(void 0,void 0);delete C.comment,delete C.tags;let N=C;return N.left=a,N.right=S,N}function updateJSDocMemberName(n,a,S){return a===n.left&&S===n.right?n:ce(createJSDocMemberName(a,S),n)}return{createJSDocMemberName,updateJSDocMemberName}})():{},...oe?(()=>{function createJSDocLinkCode(a,S){let C=n.createJSDocComment(void 0,void 0);delete C.comment,delete C.tags;let N=C;return N.name=a,N.text=S,N}function updateJSDocLinkCode(n,a,S){return a===n.name&&S===n.text?n:ce(createJSDocLinkCode(a,S),n)}return{createJSDocLinkCode,updateJSDocLinkCode}})():{},...Z?(()=>{function createJSDocLinkPlain(a,S){let C=n.createJSDocComment(void 0,void 0);delete C.comment,delete C.tags;let N=C;return N.name=a,N.text=S,N}function updateJSDocLinkPlain(n,a,S){return a===n.name&&S===n.text?n:ce(createJSDocLinkPlain(a,S),n)}return{createJSDocLinkPlain,updateJSDocLinkPlain}})():{},...a?(()=>{function createParameterDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&C.kind!==25,K=W?splitDecoratorsAndModifiers(a)[0]:a,q=W?splitDecoratorsAndModifiers(a)[1]:S,Y=W?S:C,X=W?C:N,te=W?N:F,ne=W?F:I,re=W?I:H;return n.createParameterDeclaration(K,q,Y,X,te,ne,re)}function updateParameterDeclaration(a,S,C,N,F,I,H,W){let K=typeof N==`string`||N!=null&&N.kind!==25,q=K?splitDecoratorsAndModifiers(S)[0]:S,Y=K?splitDecoratorsAndModifiers(S)[1]:C,X=K?C:N,te=K?N:F,ne=K?F:I,re=K?I:H,ie=K?H:W;return n.updateParameterDeclaration(a,q,Y,X,te,ne,re,ie)}function createPropertyDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createPropertyDeclaration(W,K,q,Y,X,te)}function updatePropertyDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updatePropertyDeclaration(a,K,q,Y,X,te,ne)}function createMethodDeclaration(a,S,C,N,F,I,H,W,K){let q=typeof C==`string`||C!=null&&C.kind!==41,Y=q?splitDecoratorsAndModifiers(a)[0]:a,X=q?splitDecoratorsAndModifiers(a)[1]:S,te=q?S:C,ne=q?C:N,re=q?N:F,ie=q?F:I,ae=q?I:H,oe=q?H:W,Z=q?W:K;return n.createMethodDeclaration(Y,X,te,ne,re,ie,ae,oe,Z)}function updateMethodDeclaration(a,S,C,N,F,I,H,W,K,q){let Y=typeof N==`string`||N!=null&&N.kind!==41,X=Y?splitDecoratorsAndModifiers(S)[0]:S,te=Y?splitDecoratorsAndModifiers(S)[1]:C,ne=Y?C:N,re=Y?N:F,ie=Y?F:I,ae=Y?I:H,oe=Y?H:W,Z=Y?W:K,se=Y?K:q;return n.updateMethodDeclaration(a,X,te,ne,re,ie,ae,oe,Z,se)}function createConstructorDeclaration(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createConstructorDeclaration(I,H,W,K)}function updateConstructorDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateConstructorDeclaration(a,H,W,K,q)}function createGetAccessorDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createGetAccessorDeclaration(W,K,q,Y,X,te)}function updateGetAccessorDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateGetAccessorDeclaration(a,K,q,Y,X,te,ne)}function createSetAccessorDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createSetAccessorDeclaration(H,W,K,q,Y)}function updateSetAccessorDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C),W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateSetAccessorDeclaration(a,W,K,q,Y,X)}function createIndexSignature(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createIndexSignature(I,H,W,K)}function updateIndexSignature(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateIndexSignature(a,H,W,K,q)}function createClassStaticBlockDeclaration(a,S,C){let N=arguments.length<=1?a:C;if(q){let a=n.createEmptyStatement();return a.body=N,a.transformFlags=8388608,a}else return n.createClassStaticBlockDeclaration(void 0,void 0,N)}function updateClassStaticBlockDeclaration(a,S,C,N){let F=arguments.length<=2?S:N;return q?F===a.body?a:ce(createClassStaticBlockDeclaration(F),a):n.updateClassStaticBlockDeclaration(a,void 0,void 0,F)}function createClassExpression(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createClassExpression(W,K,q,Y,X,te)}function updateClassExpression(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateClassExpression(a,K,q,Y,X,te,ne)}function createFunctionDeclaration(a,S,C,N,F,I,H,W){let K=arguments.length<=7,q=K?splitDecoratorsAndModifiers(a)[0]:a,Y=K?splitDecoratorsAndModifiers(a)[1]:S,X=K?S:C,te=K?C:N,ne=K?N:F,re=K?F:I,ie=K?I:H,ae=K?H:W;return n.createFunctionDeclaration(q,Y,X,te,ne,re,ie,ae)}function updateFunctionDeclaration(a,S,C,N,F,I,H,W,K){let q=arguments.length<=8,Y=q?splitDecoratorsAndModifiers(S)[0]:S,X=q?splitDecoratorsAndModifiers(S)[1]:C,te=q?C:N,ne=q?N:F,re=q?F:I,ie=q?I:H,ae=q?H:W,oe=q?W:K;return n.updateFunctionDeclaration(a,Y,X,te,ne,re,ie,ae,oe)}function createClassDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createClassDeclaration(W,K,q,Y,X,te)}function updateClassDeclaration(a,S,C,N,F,I,H){let W=arguments.length<=6,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateClassDeclaration(a,K,q,Y,X,te,ne)}function createInterfaceDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createInterfaceDeclaration(W,K,q,Y,X,te)}function updateInterfaceDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateInterfaceDeclaration(a,K,q,Y,X,te,ne)}function createTypeAliasDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createTypeAliasDeclaration(H,W,K,q,Y)}function updateTypeAliasDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateTypeAliasDeclaration(a,W,K,q,Y,X)}function createEnumDeclaration(a,S,C,N){let F=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createEnumDeclaration(I,H,W,K)}function updateEnumDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateEnumDeclaration(a,H,W,K,q)}function createModuleDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&(`escapedText`in S||`_literalExpressionBrand`in S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createModuleDeclaration(H,W,K,q,Y)}function updateModuleDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&(`escapedText`in C||`_literalExpressionBrand`in C),H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateModuleDeclaration(a,H,W,K,q)}function createImportEqualsDeclaration(a,C,N,F,I){let H=arguments.length<=4,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:C,q=(H?C:N)??!1,Y=H?N:F,X=H?F:I;return S?n.createImportEqualsDeclaration(W,K,Y,X):n.createImportEqualsDeclaration(W,K,q,Y,X)}function updateImportEqualsDeclaration(a,C,N,F,I,H){let W=arguments.length<=5,K=W?splitDecoratorsAndModifiers(C)[0]:C,q=W?splitDecoratorsAndModifiers(C)[1]:N,Y=W?N:F,X=W?F:I,te=W?I:H;return S?n.updateImportEqualsDeclaration(a,K,q,X,te):n.updateImportEqualsDeclaration(a,K,q,Y,X,te)}function createImportDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createImportDeclaration(H,W,K,q,Y)}function updateImportDeclaration(a,S,C,N,F,I){let H=N!=null&&N.kind!==267,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateImportDeclaration(a,W,K,q,Y,X)}function createExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createExportAssignment(I,H,W,K)}function updateExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(S)[0]:S,H=F?splitDecoratorsAndModifiers(S)[1]:C,W=F?C:N;return n.updateExportAssignment(a,I,H,W)}function createExportDeclaration(a,S,C,N,F,I){let H=!(typeof S!=`boolean`&&(arguments.length>=6||Array.isArray(S))),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createExportDeclaration(W,K,q,Y,X,te)}function updateExportDeclaration(a,S,C,N,F,I,H){let W=!(typeof C!=`boolean`&&(arguments.length>=7||Array.isArray(C))),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateExportDeclaration(a,K,q,Y,X,te,ne)}return{createParameterDeclaration,updateParameterDeclaration,createPropertyDeclaration,updatePropertyDeclaration,createMethodDeclaration,updateMethodDeclaration,createConstructorDeclaration,updateConstructorDeclaration,createGetAccessorDeclaration,updateGetAccessorDeclaration,createSetAccessorDeclaration,updateSetAccessorDeclaration,createIndexSignature,updateIndexSignature,createClassStaticBlockDeclaration,updateClassStaticBlockDeclaration,createClassExpression,updateClassExpression,createFunctionDeclaration,updateFunctionDeclaration,createClassDeclaration,updateClassDeclaration,createInterfaceDeclaration,updateInterfaceDeclaration,createTypeAliasDeclaration,updateTypeAliasDeclaration,createEnumDeclaration,updateEnumDeclaration,createModuleDeclaration,updateModuleDeclaration,createImportEqualsDeclaration,updateImportEqualsDeclaration,createImportDeclaration,updateImportDeclaration,createExportAssignment,updateExportAssignment,createExportDeclaration,updateExportDeclaration}})():{}}}return n}function createNodeFactory(n){function createToken(a){return n.createToken(a)}function createConstructorTypeNode(a,S,C,N){return arguments.length>=4?n.createConstructorTypeNode(S,C,N):n.createConstructorTypeNode(a,S,C)}function updateConstructorTypeNode(a,S,C,N,F){return arguments.length>=5?n.updateConstructorTypeNode(a,C,N,F):n.updateConstructorTypeNode(a,S,C,N)}function createNamedTupleMember(a,S,C,N){let F=n.createNode(n.SyntaxKind.NamedTupleMember??n.SyntaxKind.TupleType);return F.dotDotDotToken=a,F.name=S,F.questionToken=C,F.type=N,F.transformFlags=1,F}function createJSDocComment(a,S){if(`createJSDocComment`in n)return n.createJSDocComment(a,S);let C=n.createNode(n.SyntaxKind.JSDocComment);return C.comment=a,C.tags=n.createNodeArray(S),C}function createJSDocParameterTag(a,S,C,N,F,I){if(`createJSDocParameterTag`in n)return n.createJSDocParameterTag(a,S,C,N,F,I);let H=n.createNode(n.SyntaxKind.JSDocParameterTag??n.SyntaxKind.JSDocComment);return a!=null&&(H.tagName=a),H.name=S,H.isBracketed=C,H.typeExpression=N,F!=null&&(H.isNameFirst=F),H.comment=I,H}function createJSDocPrivateTag(a,S){if(`createJSDocPrivateTag`in n)return n.createJSDocPrivateTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocPrivateTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocAugmentsTag(a,S,C){if(`createJSDocAugmentsTag`in n)return n.createJSDocAugmentsTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocAugmentsTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.class=S,N.comment=C,N}function createJSDocDeprecatedTag(a,S){let C=n.createNode(n.SyntaxKind.JSDocDeprecatedTag??n.SyntaxKind.JSDocComment);return C.tagName=a,C.comment=S,C}function createJSDocFunctionType(a,S){let C=n.createNode(n.SyntaxKind.JSDocFunctionType??n.SyntaxKind.JSDocComment);return C.parameters=n.createNodeArray(a),C.type=S,C}function createJSDocLink(a,S){let C=n.createNode(n.SyntaxKind.JSDocLink??n.SyntaxKind.JSDocComment);return C.name=a,C.text=S,C}function createJSDocNameReference(a){let S=n.createNode(n.SyntaxKind.JSDocNameReference??n.SyntaxKind.JSDocComment);return S.name=a,S}function createJSDocNamepathType(a){let S=n.createNode(n.SyntaxKind.JSDocNamepathType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocNonNullableType(a){let S=n.createNode(n.SyntaxKind.JSDocNonNullableType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocNullableType(a){let S=n.createNode(n.SyntaxKind.JSDocNullableType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocOptionalType(a){let S=n.createNode(n.SyntaxKind.JSDocOptionalType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocOverrideTag(a,S){let C=n.createNode(n.SyntaxKind.JSDocOverrideTag??n.SyntaxKind.JSDocComment);return C.tagName=a,C.comment=S,C}function createJSDocSeeTag(a,S,C){let N=n.createNode(n.SyntaxKind.JSDocSeeTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.name=S,N.comment=C,N}function createJSDocText(a){let S=n.createNode(n.SyntaxKind.JSDocText??n.SyntaxKind.JSDocComment);return S.text=a,S}function createJSDocUnknownTag(a,S){let C=n.createNode(n.SyntaxKind.JSDocTag??n.SyntaxKind.JSDocComment);return C.tagName=a,C.comment=S,C}function createJSDocUnknownType(){return n.createNode(n.SyntaxKind.JSDocUnknownType??n.SyntaxKind.JSDocComment)}function createJSDocVariadicType(a){let S=n.createNode(n.SyntaxKind.JSDocVariadicType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocAllType(){return n.createNode(n.SyntaxKind.JSDocAllType??n.SyntaxKind.JSDocComment)}function createTemplateLiteralType(a,S){let C=n.createNode(n.SyntaxKind.TemplateLiteralType??n.SyntaxKind.StringLiteral);return C.head=a,C.templateSpans=n.createNodeArray(S),C.transformFlags=1,C}function createTemplateLiteralTypeSpan(a,S){let C=n.createNode(n.SyntaxKind.TemplateLiteralTypeSpan??n.SyntaxKind.StringLiteral);return C.type=a,C.literal=S,C.transformFlags=1,C}function createJSDocAuthorTag(a,S){if(`createJSDocAuthorTag`in n)return n.createJSDocAuthorTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocAuthorTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocCallbackTag(a,S,C,N){if(`createJSDocCallbackTag`in n)return n.createJSDocCallbackTag(a,S,C,N);let F=n.createNode(n.SyntaxKind.JSDocCallbackTag??n.SyntaxKind.JSDocComment);return a!=null&&(F.tagName=a),F.typeExpression=S,F.fullName=C,F.comment=N,F}function createJSDocClassTag(a,S){if(`createJSDocClassTag`in n)return n.createJSDocClassTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocClassTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocEnumTag(a,S,C){if(`createJSDocEnumTag`in n)return n.createJSDocEnumTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocEnumTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocImplementsTag(a,S,C){if(`createJSDocImplementsTag`in n)return n.createJSDocImplementsTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocImplementsTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.class=S,N.comment=C,N}function createJSDocPropertyTag(a,S,C,N,F,I){if(`createJSDocPropertyTag`in n)return n.createJSDocPropertyTag(a,S,C,N,F,I);let H=n.createNode(n.SyntaxKind.JSDocPropertyTag??n.SyntaxKind.JSDocComment);return a!=null&&(H.tagName=a),H.name=S,H.isBracketed=C,H.typeExpression=N,F!=null&&(H.isNameFirst=F),H.comment=I,H}function createJSDocProtectedTag(a,S){if(`createJSDocProtectedTag`in n)return n.createJSDocProtectedTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocProtectedTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocPublicTag(a,S){if(`createJSDocPublicTag`in n)return n.createJSDocPublicTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocPublicTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocReadonlyTag(a,S){if(`createJSDocReadonlyTag`in n)return n.createJSDocReadonlyTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocReadonlyTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocReturnTag(a,S,C){if(`createJSDocReturnTag`in n)return n.createJSDocReturnTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocReturnTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocSignature(a,S,C){if(`createJSDocSignature`in n)return n.createJSDocSignature(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocSignature??n.SyntaxKind.JSDocComment);return N.typeParameters=a,N.parameters=S,N.type=C,N}function createJSDocTemplateTag(a,S,C,N){if(`createJSDocTemplateTag`in n)return n.createJSDocTemplateTag(a,S,C,N);let F=n.createNode(n.SyntaxKind.JSDocTemplateTag??n.SyntaxKind.JSDocComment);return a!=null&&(F.tagName=a),F.constraint=S,F.typeParameters=n.createNodeArray(C),F.comment=N,F}function createJSDocThisTag(a,S,C){if(`createJSDocThisTag`in n)return n.createJSDocThisTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocThisTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocTypeExpression(a){if(`createJSDocTypeExpression`in n)return n.createJSDocTypeExpression(a);let S=n.createNode(n.SyntaxKind.JSDocTypeExpression??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocTypeLiteral(a,S){if(`createJSDocTypeLiteral`in n)return n.createJSDocTypeLiteral(a,S);let C=n.createNode(n.SyntaxKind.JSDocTypeLiteral??n.SyntaxKind.JSDocComment);return C.jsDocPropertyTags=a,S!=null&&(C.isArrayType=S),C}function createJSDocTypeTag(a,S,C){if(`createJSDocTypeTag`in n)return n.createJSDocTypeTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocTypeTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocTypedefTag(a,S,C,N){if(`createJSDocTypedefTag`in n)return n.createJSDocTypedefTag(a,S,C,N);let F=n.createNode(n.SyntaxKind.JSDocTypedefTag??n.SyntaxKind.JSDocComment);return a!=null&&(F.tagName=a),F.typeExpression=S,F.fullName=C,F.comment=N,F}function createJSDocMemberName(a,S){let C=n.createNode(n.SyntaxKind.JSDocMemberName??n.SyntaxKind.JSDocComment);return C.left=a,C.right=S,C}function createJSDocLinkCode(a,S){let C=n.createNode(n.SyntaxKind.JSDocLinkCode??n.SyntaxKind.JSDocComment);return C.name=a,C.text=S,C}function createJSDocLinkPlain(a,S){let C=n.createNode(n.SyntaxKind.JSDocLinkPlain??n.SyntaxKind.JSDocComment);return C.name=a,C.text=S,C}function createClassStaticBlockDeclaration(a,S,C){let N=arguments.length<=1?a:C,F=n.createEmptyStatement();return F.body=N,F.transformFlags=8388608,F}function updateClassStaticBlockDeclaration(a,S,C,N){let F=arguments.length<=2?S:N;return F===a.body?a:n.setTextRange(createClassStaticBlockDeclaration(F),a)}function createSatisfiesExpression(n,a){return{...n}}function updateSatisfiesExpression(a,S,C){return S===a.expression&&C===a.type?a:n.setTextRange(createSatisfiesExpression(S,C),a)}function createAssertClause(a,S){let C=n.createEmptyStatement();return C.elements=a,C.multiLine=S,C.transformFlags|=4,C}function createAssertEntry(a,S){let C=n.createEmptyStatement();return C.name=a,C.value=S,C.transformFlags|=4,C}function createImportTypeAssertionContainer(a,S){let C=n.createEmptyStatement();return C.assertClause=a,C.multiLine=S,C}function createImportTypeNode(a,S,C,N,F){if(`createImportTypeNode`in n)return arguments.length<5?n.createImportTypeNode(a,S,C,N):n.createImportTypeNode(a,C,N,F);{let I=S&&`assertClause`in S?S:void 0,H=S&&n.isEntityName(S)?S:C&&!Array.isArray(C)?C:void 0,W=Array.isArray(C)?C:Array.isArray(N)?N:void 0;F=typeof N==`boolean`?N:typeof F==`boolean`?F:!1;let K=n.createNode(200);return K.argument=a,K.assertions=I,K.qualifier=H,K.typeArguments=W==null?void 0:n.createNodeArray(W),K.isTypeOf=F,K.transformFlags=1,K}}function updateImportTypeNode(a,S,C,N,F,I){if(`updateImportTypeNode`in n)return arguments.length<6?n.updateImportTypeNode(a,S,C,N,F):n.updateImportTypeNode(a,S,N,F,I);{let H=C&&`assertClause`in C?C:void 0,W=C&&n.isEntityName(C)?C:N&&!Array.isArray(N)?N:void 0,K=Array.isArray(N)?N:Array.isArray(F)?F:void 0;return I=typeof F==`boolean`?F:typeof I==`boolean`?I:a.isTypeOf,a.argument!==S||a.assertions!==H||a.qualifier!==W||a.typeArguments!==K||a.isTypeOf!==I?n.setTextRange(createImportTypeNode(S,C,N,F,I),a):a}}function createClassExpression(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[1]:S,K=H?S:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.createClassExpression(W,K,q,Y,X)}function updateClassExpression(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[1]:C,q=W?C:N,Y=W?N:F,X=W?F:I,te=W?I:H;return n.updateClassExpression(a,K,q,Y,X,te)}function createExportDeclaration(a,S,C,N,F){let I=!(typeof S!=`boolean`&&(arguments.length>=6||Array.isArray(S))),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createExportDeclaration(H,W,q,Y,K)}function updateExportDeclaration(a,S,C,N,F,I){let H=!(typeof C!=`boolean`&&(arguments.length>=7||Array.isArray(C))),W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateExportDeclaration(a,W,K,Y,X,q)}function createConstructorDeclaration(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createConstructor(I,H,W,K)}function updateConstructorDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateConstructor(a,H,W,K,q)}function createMethodDeclaration(a,S,C,N,F,I,H,W,K){let q=typeof C==`string`||C!=null&&C.kind!==41,Y=q?splitDecoratorsAndModifiers(a)[0]:a,X=q?splitDecoratorsAndModifiers(a)[1]:S,te=q?S:C,ne=q?C:N,re=q?N:F,ie=q?F:I,ae=q?I:H,oe=q?H:W,Z=q?W:K;return n.createMethod(Y,X,te,ne,re,ie,ae,oe,Z)}function updateMethodDeclaration(a,S,C,N,F,I,H,W,K,q){let Y=N?.kind!==41,X=Y?splitDecoratorsAndModifiers(S)[0]:S,te=Y?splitDecoratorsAndModifiers(S)[1]:C,ne=Y?C:N,re=Y?N:F,ie=Y?F:I,ae=Y?I:H,oe=Y?H:W,Z=Y?W:K,se=Y?K:q;return n.updateMethod(a,X,te,ne,re,ie,ae,oe,Z,se)}function createParameterDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&C.kind!==25,K=W?splitDecoratorsAndModifiers(a)[0]:a,q=W?splitDecoratorsAndModifiers(a)[1]:S,Y=W?S:C,X=W?C:N,te=W?N:F,ne=W?F:I,re=W?I:H;return n.createParameter(K,q,Y,X,te,ne,re)}function updateParameterDeclaration(a,S,C,N,F,I,H,W){let K=typeof N==`string`||N!=null&&N.kind!==25,q=K?splitDecoratorsAndModifiers(S)[0]:S,Y=K?splitDecoratorsAndModifiers(S)[1]:C,X=K?C:N,te=K?N:F,ne=K?F:I,re=K?I:H,ie=K?H:W;return n.updateParameter(a,q,Y,X,te,ne,re,ie)}function createPropertyDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createProperty(W,K,q,Y,X,te)}function updatePropertyDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateProperty(a,K,q,Y,X,te,ne)}function createSetAccessorDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createSetAccessor(H,W,K,q,Y)}function updateSetAccessorDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C),W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateSetAccessor(a,W,K,q,Y,X)}function createGetAccessorDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createGetAccessor(W,K,q,Y,X,te)}function updateGetAccessorDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateGetAccessor(a,K,q,Y,X,te,ne)}function createImportEqualsDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;if(n.createImportEqualsDeclaration.length===4)return n.createImportEqualsDeclaration(H,W,q,Y);{let a=typeof q==`string`?n.createIdentifier(q):q;return n.createImportEqualsDeclaration(H,W,K,a,Y)}}function updateImportEqualsDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I,te=typeof Y==`string`?n.createIdentifier(Y):Y;return n.updateImportEqualsDeclaration.length===5?n.updateImportEqualsDeclaration(a,W,K,te,X):n.updateImportEqualsDeclaration(a,W,K,q,te,X)}function createIndexSignature(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createIndexSignature(I,H,W,K)}function updateIndexSignature(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateIndexSignature(a,H,W,K,q)}function createImportDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createImportDeclaration(H,W,K,q,Y)}function updateImportDeclaration(a,S,C,N,F,I){let H=N!=null&&N.kind!==267,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateImportDeclaration(a,W,K,q,Y,X)}let a=n.createPrivateIdentifier??function(a){return n.createIdentifier(a)};function createUniquePrivateName(n){if(n!=null&&!n.startsWith(`#`))throw TypeError(`First character of private identifier must be #: `+n);return a(n??``)}function getGeneratedPrivateNameForNode(n){return a(``)}function createTypeAliasDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createTypeAliasDeclaration(H,W,K,q,Y)}function updateTypeAliasDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateTypeAliasDeclaration(a,W,K,q,Y,X)}function createFunctionDeclaration(a,S,C,N,F,I,H,W){let K=arguments.length<=7,q=K?splitDecoratorsAndModifiers(a)[0]:a,Y=K?splitDecoratorsAndModifiers(a)[1]:S,X=K?S:C,te=K?C:N,ne=K?N:F,re=K?F:I,ie=K?I:H,ae=K?H:W;return n.createFunctionDeclaration(q,Y,X,te,ne,re,ie,ae)}function updateFunctionDeclaration(a,S,C,N,F,I,H,W,K){let q=arguments.length<=8,Y=q?splitDecoratorsAndModifiers(S)[0]:S,X=q?splitDecoratorsAndModifiers(S)[1]:C,te=q?C:N,ne=q?N:F,re=q?F:I,ie=q?I:H,ae=q?H:W,oe=q?W:K;return n.updateFunctionDeclaration(a,Y,X,te,ne,re,ie,ae,oe)}function createClassDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createClassDeclaration(W,K,q,Y,X,te)}function updateClassDeclaration(a,S,C,N,F,I,H){let W=arguments.length<=6,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateClassDeclaration(a,K,q,Y,X,te,ne)}function createInterfaceDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createInterfaceDeclaration(W,K,q,Y,X,te)}function updateInterfaceDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateInterfaceDeclaration(a,K,q,Y,X,te,ne)}function createEnumDeclaration(a,S,C,N){let F=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createEnumDeclaration(I,H,W,K)}function updateEnumDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateEnumDeclaration(a,H,W,K,q)}function createModuleDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&(`escapedText`in S||`_literalExpressionBrand`in S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createModuleDeclaration(H,W,K,q,Y)}function updateModuleDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&(`escapedText`in C||`_literalExpressionBrand`in C),H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateModuleDeclaration(a,H,W,K,q)}function createExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createExportAssignment(I,H,W,K)}function updateExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(S)[0]:S,H=F?splitDecoratorsAndModifiers(S)[1]:C,W=F?C:N;return n.updateExportAssignment(a,I,H,W)}function createTypeParameterDeclaration(a,S,C,N){let F=typeof a==`string`||a!=null&&!Array.isArray(a)&&`escapedText`in a,I=F?void 0:a,H=F?a:S,W=F?S:C,K=F?C:N,q=n.createTypeParameterDeclaration(H,W,K);return I!=null&&(q.modifiers=n.createNodeArray(I)),q}function updateTypeParameterDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?void 0:S,W=I?S:C,K=I?C:N,q=I?N:F,Y=n.updateTypeParameterDeclaration(a,W,K,q);return H!=null&&(Y.modifiers=n.createNodeArray(H)),Y}let{updateSourceFileNode:S,...C}=n;return{__compatUpgraded:!0,...C,createToken,createConstructorTypeNode,updateConstructorTypeNode,createImportTypeNode,updateImportTypeNode,createJSDocComment,createJSDocParameterTag,createJSDocPrivateTag,createJSDocAugmentsTag,createJSDocAuthorTag,createJSDocCallbackTag,createJSDocClassTag,createJSDocEnumTag,createJSDocImplementsTag,createJSDocPropertyTag,createJSDocProtectedTag,createJSDocPublicTag,createJSDocReadonlyTag,createJSDocReturnTag,createJSDocSignature,createJSDocTemplateTag,createJSDocThisTag,createJSDocTypeExpression,createJSDocTypeLiteral,createJSDocTypeTag,createJSDocTypedefTag,createJSDocAllType,createJSDocDeprecatedTag,createJSDocFunctionType,createJSDocLink,createJSDocNameReference,createJSDocNamepathType,createJSDocNonNullableType,createJSDocNullableType,createJSDocOptionalType,createJSDocOverrideTag,createJSDocSeeTag,createJSDocText,createJSDocUnknownTag,createJSDocUnknownType,createJSDocVariadicType,createJSDocMemberName,createJSDocLinkCode,createJSDocLinkPlain,createTemplateLiteralType,createTemplateLiteralTypeSpan,createClassStaticBlockDeclaration,createAssertClause,createAssertEntry,createImportTypeAssertionContainer,createIndexSignature,updateIndexSignature,createSatisfiesExpression,updateSatisfiesExpression,createImportDeclaration,updateImportDeclaration,createUniquePrivateName,createPrivateIdentifier:a,getGeneratedPrivateNameForNode,createTypeAliasDeclaration,updateTypeAliasDeclaration,createFunctionDeclaration,updateFunctionDeclaration,createClassDeclaration,updateClassDeclaration,createInterfaceDeclaration,updateInterfaceDeclaration,createEnumDeclaration,updateEnumDeclaration,createModuleDeclaration,updateModuleDeclaration,createExportAssignment,updateExportAssignment,createTypeParameterDeclaration,updateTypeParameterDeclaration,createComma(a,S){return n.createComma(a,S)},createAssignment(a,S){return n.createAssignment(a,S)},createLessThan(a,S){return n.createLessThan(a,S)},createSourceFile(a,S,C){let N=n.createSourceFile(``,``,0,void 0,0);return N.endOfFileToken=S,N.flags|=C,N.statements=n.createNodeArray(a),N},createClassExpression,createExpressionWithTypeArguments(a,S){return n.createExpressionWithTypeArguments(S,a)},updateExpressionWithTypeArguments(a,S,C){return n.updateExpressionWithTypeArguments(a,C,S)},updateImportClause(a,S,C,N){return n.updateImportClause(a,C,N,S)},updateExportDeclaration,createTypePredicateNode(a,S,C){return n.createTypePredicateNode(S,C)},updateTypePredicateNode(a,S,C,N){return n.updateTypePredicateNode(a,C,N)},createMethodSignature(a,S,C,N,F,I){let H=n.createMethodSignature(N,F,I,S,C);return a!=null&&(H.modifiers=n.createNodeArray(a)),H},updateMethodSignature(a,S,C,N,F,I,H){let W=n.updateMethodSignature(a,F,I,H,C,N);return S!==W.modifiers&&(W.modifiers=S==null?S:n.createNodeArray(S)),W},updatePropertySignature(a,S,C,N,F){return n.updatePropertySignature(a,S,C,N,F,void 0)},createAwaitExpression(a){return n.createAwait(a)},createBinaryExpression(a,S,C){return n.createBinary(a,S,C)},createBitwiseAnd(a,S){return n.createBinary(a,n.SyntaxKind.AmpersandToken,S)},createBitwiseNot(a){return n.createPrefix(n.SyntaxKind.TildeToken,a)},createBitwiseOr(a,S){return n.createBinary(a,n.SyntaxKind.BarToken,S)},createBitwiseXor(a,S){return n.createBinary(a,n.SyntaxKind.CaretToken,S)},createBreakStatement(a){return n.createBreak(a)},createCommaListExpression(a){return n.createCommaList(a)},createConditionalExpression(a,S,C,N,F){return S==null||N==null?n.createConditional(a,C,F):n.createConditional(a,S,C,N,F)},createConstructorDeclaration,createContinueStatement(a){return n.createContinue(a)},createDeleteExpression(a){return n.createDelete(a)},createDivide(a,S){return n.createBinary(a,n.SyntaxKind.SlashToken,S)},createDoStatement(a,S){return n.createDo(a,S)},createElementAccessExpression(a,S){return n.createElementAccess(a,S)},createEquality(a,S){return n.createBinary(a,n.SyntaxKind.EqualsEqualsToken,S)},createExponent(a,S){return n.createBinary(a,n.SyntaxKind.AsteriskAsteriskToken,S)},createForInStatement(a,S,C){return n.createForIn(a,S,C)},createForOfStatement(a,S,C,N){return n.createForOf(a,S,C,N)},createForStatement(a,S,C,N){return n.createFor(a,S,C,N)},createGreaterThan(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanToken,S)},createGreaterThanEquals(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanEqualsToken,S)},createIfStatement(a,S,C){return n.createIf(a,S,C)},createInequality(a,S){return n.createBinary(a,n.SyntaxKind.ExclamationEqualsToken,S)},createLabeledStatement(a,S){return n.createLabel(a,S)},createLeftShift(a,S){return n.createBinary(a,n.SyntaxKind.LessThanLessThanToken,S)},createLessThanEquals(a,S){return n.createBinary(a,n.SyntaxKind.LessThanEqualsToken,S)},createMethodDeclaration,createModulo(a,S){return n.createBinary(a,n.SyntaxKind.PercentToken,S)},createMultiply(a,S){return n.createBinary(a,n.SyntaxKind.AsteriskToken,S)},createNamedTupleMember,createNewExpression(a,S,C){return n.createNew(a,S,C)},createParameterDeclaration,createParenthesizedExpression(a){return n.createParen(a)},createPostfixDecrement(a){return n.createPostfix(a,n.SyntaxKind.MinusMinusToken)},createPostfixUnaryExpression(a,S){return n.createPostfix(a,S)},createPrefixDecrement(a){return n.createPrefix(n.SyntaxKind.MinusMinusToken,a)},createPrefixIncrement(a){return n.createPrefix(n.SyntaxKind.PlusPlusToken,a)},createPrefixMinus(a){return n.createPrefix(n.SyntaxKind.MinusToken,a)},createPrefixPlus(a){return n.createPrefix(n.SyntaxKind.PlusToken,a)},createPrefixUnaryExpression(a,S){return n.createPrefix(a,S)},createPropertyDeclaration,createRightShift(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanGreaterThanToken,S)},createSetAccessorDeclaration,createSpreadElement(a){return n.createSpread(a)},createSwitchStatement(a,S){return n.createSwitch(a,S)},createTaggedTemplateExpression(a,S,C){return n.createTaggedTemplate(a,S,C)},createThrowStatement(a){return n.createThrow(a)},createTryStatement(a,S,C){return n.createTry(a,S,C)},createTypeOfExpression(a){return n.createTypeOf(a)},createUnsignedRightShift(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanGreaterThanGreaterThanToken,S)},createVoidExpression(a){return n.createVoid(a)},createWhileStatement(a,S){return n.createWhile(a,S)},createWithStatement(a,S){return n.createWith(a,S)},createYieldExpression(a,S){return n.createYield(a,S)},restoreOuterExpressions(n,a,S){return a},updateAwaitExpression(a,S){return n.updateAwait(a,S)},updateBinaryExpression(a,S,C,N){return n.updateBinary(a,S,N,C)},updateBreakStatement(a,S){return n.updateBreak(a,S)},updateCommaListExpression(a,S){return n.updateCommaList(a,S)},updateConditionalExpression(a,S,C,N,F,I){return n.updateConditional(a,S,C,N,F,I)},updateContinueStatement(a,S){return n.updateContinue(a,S)},updateDeleteExpression(a,S){return n.updateDelete(a,S)},updateDoStatement(a,S,C){return n.updateDo(a,S,C)},updateElementAccessExpression(a,S,C){return n.updateElementAccess(a,S,C)},updateForInStatement(a,S,C,N){return n.updateForIn(a,S,C,N)},updateForOfStatement(a,S,C,N,F){return n.updateForOf(a,S,C,N,F)},updateForStatement(a,S,C,N,F){return n.updateFor(a,S,C,N,F)},updateIfStatement(a,S,C,N){return n.updateIf(a,S,C,N)},updateJSDocAugmentsTag(a,S,C,N){return S===a.tagName&&C===a.class&&N===a.comment?a:n.setTextRange(createJSDocAugmentsTag(S,C,N),a)},updateJSDocAuthorTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocAuthorTag(S,C),a)},updateJSDocCallbackTag(a,S,C,N,F){return S===a.tagName&&C===a.typeExpression&&N===a.fullName&&F===a.comment?a:n.setTextRange(createJSDocCallbackTag(S,C,N,F),a)},updateJSDocClassTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocClassTag(S,C),a)},updateJSDocComment(a,S,C){return S===a.comment&&C===a.tags?a:n.setTextRange(createJSDocComment(S,C),a)},updateJSDocDeprecatedTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocDeprecatedTag(S,C),a)},updateJSDocEnumTag(a,S,C,N){return S===a.tagName&&C===a.typeExpression?a:n.setTextRange(createJSDocEnumTag(S,C,N),a)},updateJSDocFunctionType(a,S,C){return S===a.parameters&&C===a.type?a:n.setTextRange(createJSDocFunctionType(S,C),a)},updateJSDocImplementsTag(a,S,C,N){return S===a.tagName&&C===a.class&&N===a.comment?a:n.setTextRange(createJSDocImplementsTag(S,C,N),a)},updateJSDocLink(a,S,C){return S===a.name&&C===a.text?a:n.setTextRange(createJSDocLink(S,C),a)},updateJSDocNameReference(a,S){return S===a.name?a:n.setTextRange(createJSDocNameReference(S),a)},updateJSDocNamepathType(a,S){return S===a.type?a:n.setTextRange(createJSDocNamepathType(S),a)},updateJSDocNonNullableType(a,S){return S===a.type?a:n.setTextRange(createJSDocNonNullableType(S),a)},updateJSDocNullableType(a,S){return S===a.type?a:n.setTextRange(createJSDocNullableType(S),a)},updateJSDocOptionalType(a,S){return S===a.type?a:n.setTextRange(createJSDocOptionalType(S),a)},updateJSDocOverrideTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocOverrideTag(S,C),a)},updateJSDocParameterTag(a,S,C,N,F,I,H){return S===a.tagName&&C===a.name&&N===a.isBracketed&&F===a.typeExpression&&I===a.isNameFirst&&H===a.comment?a:n.setTextRange(createJSDocParameterTag(S,C,N,F,I,H),a)},updateJSDocPrivateTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocPrivateTag(S,C),a)},updateJSDocPropertyTag(a,S,C,N,F,I,H){return S===a.tagName&&C===a.name&&N===a.isBracketed&&F===a.typeExpression&&I===a.isNameFirst&&H===a.comment?a:n.setTextRange(createJSDocPropertyTag(S,C,N,F,I,H),a)},updateJSDocProtectedTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocProtectedTag(S,C),a)},updateJSDocPublicTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocPublicTag(S,C),a)},updateJSDocReadonlyTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocReadonlyTag(S,C),a)},updateJSDocReturnTag(a,S,C,N){return S===a.tagName&&N===a.comment&&C===a.typeExpression?a:n.setTextRange(createJSDocReturnTag(S,C,N),a)},updateJSDocSeeTag(a,S,C,N){return S===a.tagName&&C===a.name&&N===a.comment?a:n.setTextRange(createJSDocSeeTag(S,C,N),a)},updateJSDocSignature(a,S,C,N){return S===a.typeParameters&&C===a.parameters&&N===a.type?a:n.setTextRange(createJSDocSignature(S,C,N),a)},updateJSDocTemplateTag(a,S,C,N,F){return S===a.tagName&&C===a.constraint&&N===a.typeParameters&&F===a.comment?a:n.setTextRange(createJSDocTemplateTag(S,C,N,F),a)},updateJSDocText(a,S){return S===a.text?a:n.setTextRange(createJSDocText(S),a)},updateJSDocThisTag(a,S,C,N){return S===a.tagName&&C===a.typeExpression&&N===a.comment?a:n.setTextRange(createJSDocThisTag(S,C,N),a)},updateJSDocTypeExpression(a,S){return S===a.type?a:n.setTextRange(createJSDocTypeExpression(S),a)},updateJSDocTypeLiteral(a,S,C){return S===a.jsDocPropertyTags&&C===a.isArrayType?a:n.setTextRange(createJSDocTypeLiteral(S,C),a)},updateJSDocTypeTag(a,S,C,N){return S===a.tagName&&C===a.typeExpression&&N===a.comment?a:n.setTextRange(createJSDocTypeTag(S,C,N),a)},updateJSDocTypedefTag(a,S,C,N,F){return S===a.tagName&&C===a.typeExpression&&N===a.fullName&&F===a.comment?a:n.setTextRange(createJSDocTypedefTag(S,C,N,F),a)},updateJSDocUnknownTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocUnknownTag(S,C),a)},updateJSDocVariadicType(a,S){return S===a.type?a:n.setTextRange(createJSDocVariadicType(S),a)},updateJSDocMemberName(a,S,C){return S===a.left&&C===a.right?a:n.setTextRange(createJSDocMemberName(S,C),a)},updateJSDocLinkCode(a,S,C){return S===a.name&&C===a.text?a:n.setTextRange(createJSDocLinkCode(S,C),a)},updateJSDocLinkPlain(a,S,C){return S===a.name&&C===a.text?a:n.setTextRange(createJSDocLinkPlain(S,C),a)},updateLabeledStatement(a,S,C){return n.updateLabel(a,S,C)},updateMethodDeclaration,updateNamedTupleMember(a,S,C,N,F){return S===a.dotDotDotToken&&C===a.name&&N===a.questionToken&&F===a.type?a:n.setTextRange(createNamedTupleMember(S,C,N,F),a)},updateNewExpression(a,S,C,N){return n.updateNew(a,S,C,N)},updateObjectLiteralExpression(a,S){return n.updateObjectLiteral(a,S)},updateParameterDeclaration,updateParenthesizedExpression(a,S){return n.updateParen(a,S)},updatePostfixUnaryExpression(a,S){return n.updatePostfix(a,S)},updatePrefixUnaryExpression(a,S){return n.updatePrefix(a,S)},updatePropertyAccessExpression(a,S,C){return n.updatePropertyAccess(a,S,C)},updatePropertyDeclaration,updateReturnStatement(a,S){return n.updateReturn(a,S)},updateSetAccessorDeclaration,updateSpreadElement(a,S){return n.updateSpread(a,S)},updateSwitchStatement(a,S,C){return n.updateSwitch(a,S,C)},updateTaggedTemplateExpression(a,S,C,N){return n.updateTaggedTemplate(a,S,C,N)},updateTemplateLiteralType(a,S,C){return S===a.head&&C===a.templateSpans?a:n.setTextRange(createTemplateLiteralType(S,C),a)},updateTemplateLiteralTypeSpan(a,S,C){return S===a.type&&C===a.literal?a:n.setTextRange(createTemplateLiteralTypeSpan(S,C),a)},updateClassStaticBlockDeclaration,updateAssertClause(a,S,C){return a.elements!==S||a.multiLine!==C?n.setTextRange(createAssertClause(S,C),a):a},updateAssertEntry(a,S,C){return a.name!==S||a.value!==C?n.setTextRange(createAssertEntry(S,C),a):a},updateImportTypeAssertionContainer(a,S,C){return a.assertClause!==S||a.multiLine!==C?n.setTextRange(createImportTypeAssertionContainer(S,C),a):a},updateThrowStatement(a,S){return n.updateThrow(a,S)},updateTryStatement(a,S,C,N){return n.updateTry(a,S,C,N)},updateTypeOfExpression(a,S){return n.updateTypeOf(a,S)},updateVoidExpression(a,S){return n.updateVoid(a,S)},updateWhileStatement(a,S,C){return n.updateWhile(a,S,C)},updateWithStatement(a,S,C){return n.updateWith(a,S,C)},updateYieldExpression(a,S,C){return n.updateYield(a,S,C)},createImportClause(a,S,C){return n.createImportClause(S,C,a)},createCallExpression(a,S,C){return n.createCall(a,S,C)},updateCallExpression(a,S,C,N){return n.updateCall(a,S,C,N)},createArrayLiteralExpression(a,S){return n.createArrayLiteral(a,S)},updateArrayLiteralExpression(a,S){return n.updateArrayLiteral(a,S)},updateSourceFile(a,S,C,N,F,I,H){return n.updateSourceFileNode(a,S,C,N,F,I,H)},updateClassExpression,createPropertyAccessExpression(a,S){return n.createPropertyAccess(a,S)},createGetAccessorDeclaration,updateGetAccessorDeclaration,createReturnStatement(a){return n.createReturn(a)},createObjectLiteralExpression(a,S){return n.createObjectLiteral(a,S)},createVariableDeclaration(a,S,C,N){return n.createVariableDeclaration.length===4?n.createVariableDeclaration(a,S,C,N):n.createVariableDeclaration(a,C,N)},updateVariableDeclaration(a,S,C,N,F){return n.updateVariableDeclaration.length===4?n.updateVariableDeclaration(a,S,N,F):n.updateVariableDeclaration(a,S,C,N,F)},createPropertyAccessChain(a,S,C){if(`createPropertyAccessChain`in n)return n.createPropertyAccessChain(a,S,C);let N=n.createPropertyAccess(a,C);return N.questionDotToken=S,N},updatePropertyAccessChain(a,S,C,N){if(`updatePropertyAccessChain`in n)return n.updatePropertyAccessChain(a,S,C,N);let F=n.updatePropertyAccess(a,S,N);return F.questionDotToken=C,F},createImportEqualsDeclaration,updateImportEqualsDeclaration,createMappedTypeNode(a,S,C,N,F,I){return n.createMappedTypeNode(a,S,N,F)},updateMappedTypeNode(a,S,C,N,F,I,H){return n.updateMappedTypeNode(a,S,C,F,I)},createImportSpecifier(a,S,C){return n.createImportSpecifier(S,C)},updateImportSpecifier(a,S,C,N){return n.updateImportSpecifier(a,C,N)},createExportSpecifier(a,S,C){return n.createExportSpecifier(S,C)},updateExportSpecifier(a,S,C,N){return n.updateExportSpecifier(a,C,N)},createExportDeclaration,updateConstructorDeclaration,createNumericLiteral(a,S){return n.createNumericLiteral(String(a),S)}}}var cy=__esmMin(()=>{});function cloneIdentifier(n,a){let S=`text`in n?n.text:a.typescript.unescapeLeadingUnderscores(n.escapedText);return a.factory.createIdentifier(a.hook(`text`,S,S))}function cloneTypeAliasDeclaration(n,a){return a.factory.createTypeAliasDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneToken(n,a){return a.factory.createToken(a.hook(`kind`,n.kind,n.kind))}function cloneDecorator(n,a){return a.factory.createDecorator(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneTypeParameterDeclaration(n,a){return a.factory.createTypeParameterDeclaration(void 0,a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`constraint`,a.nextNode(n.constraint),n.constraint),a.hook(`default`,a.nextNode(n.default),n.default))}function cloneQualifiedName(n,a){return a.factory.createQualifiedName(a.hook(`left`,a.nextNode(n.left),n.left),a.hook(`right`,a.nextNode(n.right),n.right))}function cloneComputedPropertyName(n,a){return a.factory.createComputedPropertyName(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneCallSignatureDeclaration(n,a){return a.factory.createCallSignature(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneConstructSignatureDeclaration(n,a){return a.factory.createConstructSignature(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneVariableDeclaration(n,a){let S=a.factory.createVariableDeclaration(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`exclamationToken`,a.nextNode(n.exclamationToken),n.exclamationToken),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer));return n.initializer!=null&&S.initializer!=null&&!a.typescript.isParenthesizedExpression(n.initializer)&&a.typescript.isParenthesizedExpression(S.initializer)&&(S.initializer=S.initializer.expression),S}function cloneVariableDeclarationList(n,a){return a.factory.createVariableDeclarationList(a.hook(`declarations`,a.nextNodes(n.declarations),n.declarations),a.hook(`flags`,n.flags,n.flags))}function cloneVariableStatement(n,a){return a.factory.createVariableStatement(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`declarationList`,a.nextNode(n.declarationList),n.declarationList))}function cloneParameterDeclaration(n,a){return a.factory.createParameterDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`dotDotDotToken`,a.nextNode(n.dotDotDotToken),n.dotDotDotToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function cloneBindingElement(n,a){return a.factory.createBindingElement(a.hook(`dotDotDotToken`,a.nextNode(n.dotDotDotToken),n.dotDotDotToken),a.hook(`propertyName`,a.nextNode(n.propertyName),n.propertyName),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function clonePropertySignature(n,a){return a.factory.createPropertySignature(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type))}function clonePropertyDeclaration(n,a){return a.factory.createPropertyDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),n.questionToken==null?a.hook(`exclamationToken`,a.nextNode(n.exclamationToken),n.exclamationToken):a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function clonePropertyAssignment(n,a){let S=a.factory.createPropertyAssignment(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer));return!a.typescript.isParenthesizedExpression(n.initializer)&&a.typescript.isParenthesizedExpression(S.initializer)&&(S.initializer=S.initializer.expression),S}function cloneShorthandPropertyAssignment(n,a){return a.factory.createShorthandPropertyAssignment(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`objectAssignmentInitializer`,a.nextNode(n.objectAssignmentInitializer),n.objectAssignmentInitializer))}function cloneSpreadAssignment(n,a){return a.factory.createSpreadAssignment(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneObjectBindingPattern(n,a){return a.factory.createObjectBindingPattern(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneArrayBindingPattern(n,a){return a.factory.createArrayBindingPattern(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneFunctionDeclaration(n,a){return a.factory.createFunctionDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneMethodSignature(n,a){return a.factory.createMethodSignature(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneMethodDeclaration(n,a){return a.factory.createMethodDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneConstructorDeclaration(n,a){return a.factory.createConstructorDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneSemicolonClassElement(n,a){return a.factory.createSemicolonClassElement()}function cloneGetAccessorDeclaration(n,a){return a.factory.createGetAccessorDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneSetAccessorDeclaration(n,a){return a.factory.createSetAccessorDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneIndexSignatureDeclaration(n,a){return a.factory.createIndexSignature(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function isKeywordTypeNode(n,a){switch(n.kind){case a.SyntaxKind.AnyKeyword:case a.SyntaxKind.UnknownKeyword:case a.SyntaxKind.BigIntKeyword:case a.SyntaxKind.ObjectKeyword:case a.SyntaxKind.BooleanKeyword:case a.SyntaxKind.StringKeyword:case a.SyntaxKind.SymbolKeyword:case a.SyntaxKind.VoidKeyword:case a.SyntaxKind.UndefinedKeyword:case a.SyntaxKind.NullKeyword:case a.SyntaxKind.NeverKeyword:return!0}return!1}function cloneKeywordTypeNode(n,a){return a.factory.createKeywordTypeNode(a.hook(`kind`,n.kind,n.kind))}function cloneImportTypeNode(n,a){return a.factory.createImportTypeNode(a.hook(`argument`,a.nextNode(n.argument),n.argument),a.hook(`assertions`,a.nextNode(n.assertions),n.assertions),a.hook(`qualifier`,a.nextNode(n.qualifier),n.qualifier),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`isTypeOf`,n.isTypeOf,n.isTypeOf))}function cloneThisTypeNode(n,a){return a.factory.createThisTypeNode()}function cloneFunctionTypeNode(n,a){return a.factory.createFunctionTypeNode(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function isNodeArray(n){return n!=null&&Array.isArray(n)&&`pos`in n}function ensureNodeArray(n,a){return n==null||isNodeArray(n)?n:a.createNodeArray(n)}function cloneConstructorTypeNode(n,a){let S=a.factory.createConstructorTypeNode(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type));return S.modifiers=ensureNodeArray(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.factory),S}function cloneTypeReferenceNode(n,a){return a.factory.createTypeReferenceNode(a.hook(`typeName`,a.nextNode(n.typeName),n.typeName),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments))}function cloneTypePredicateNode(n,a){return a.factory.createTypePredicateNode(a.hook(`assertsModifier`,a.nextNode(n.assertsModifier),n.assertsModifier),a.hook(`parameterName`,a.nextNode(n.parameterName),n.parameterName),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneSourceFile(n,a){let S=a.factory.updateSourceFile(n,a.hook(`statements`,a.nextNodes(n.statements),n.statements),n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives);return S.pos=-1,S.end=-1,S}function cloneTypeQueryNode(n,a){return a.factory.createTypeQueryNode(a.hook(`exprName`,a.nextNode(n.exprName),n.exprName))}function cloneTypeLiteralNode(n,a){return a.factory.createTypeLiteralNode(a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneArrayTypeNode(n,a){return a.factory.createArrayTypeNode(a.hook(`elementType`,a.nextNode(n.elementType),n.elementType))}function cloneTupleTypeNode(n,a){if(`elementTypes`in n){let S=n;return a.factory.createTupleTypeNode(a.hook(`elements`,a.nextNodes(S.elementTypes),S.elementTypes))}else return a.factory.createTupleTypeNode(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneOptionalTypeNode(n,a){return a.factory.createOptionalTypeNode(a.hook(`type`,a.nextNode(n.type),n.type))}function isOptionalTypeNode$1(n,a){return`isOptionalTypeNode`in a?a.isOptionalTypeNode(n):n.kind===a.SyntaxKind.OptionalType}function cloneRestTypeNode(n,a){return a.factory.createRestTypeNode(a.hook(`type`,a.nextNode(n.type),n.type))}function isRestTypeNode(n,a){return`isRestTypeNode`in a?a.isRestTypeNode(n):n.kind===a.SyntaxKind.RestType}function cloneUnionTypeNode(n,a){return a.factory.createUnionTypeNode(a.hook(`types`,a.nextNodes(n.types),n.types))}function cloneIntersectionTypeNode(n,a){return a.factory.createIntersectionTypeNode(a.hook(`types`,a.nextNodes(n.types),n.types))}function cloneLiteralTypeNode(n,a){return a.factory.createLiteralTypeNode(a.hook(`literal`,a.nextNode(n.literal),n.literal))}function cloneStringLiteral(n,a){return a.factory.createStringLiteral(a.hook(`text`,n.text,n.text))}function isBooleanLiteral(n,a){switch(n.kind){case a.SyntaxKind.TrueKeyword:case a.SyntaxKind.FalseKeyword:return!0;default:return!1}}function cloneBooleanLiteral(n,a){return n.kind===a.typescript.SyntaxKind.TrueKeyword?a.factory.createTrue():a.factory.createFalse()}function clonePrefixUnaryExpression(n,a){return a.factory.createPrefixUnaryExpression(a.hook(`operator`,n.operator,n.operator),a.hook(`operand`,a.nextNode(n.operand),n.operand))}function cloneRegularExpressionLiteral(n,a){return a.factory.createRegularExpressionLiteral(a.hook(`text`,n.text,n.text))}function cloneNoSubstitutionTemplateLiteral(n,a){return a.factory.createNoSubstitutionTemplateLiteral(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.text))}function cloneNumericLiteral(n,a){return a.factory.createNumericLiteral(a.hook(`text`,n.text,n.text))}function cloneBigIntLiteral(n,a){return a.factory.createBigIntLiteral(a.hook(`text`,n.text,n.text))}function cloneConditionalTypeNode(n,a){return a.factory.createConditionalTypeNode(a.hook(`checkType`,a.nextNode(n.checkType),n.checkType),a.hook(`extendsType`,a.nextNode(n.extendsType),n.extendsType),a.hook(`trueType`,a.nextNode(n.trueType),n.trueType),a.hook(`falseType`,a.nextNode(n.falseType),n.falseType))}function cloneInferTypeNode(n,a){return a.factory.createInferTypeNode(a.hook(`typeParameter`,a.nextNode(n.typeParameter),n.typeParameter))}function cloneBlock(n,a){return a.factory.createBlock(a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneThrowStatement(n,a){return a.factory.createThrowStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneNewExpression(n,a){return a.factory.createNewExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`arguments`,a.nextNodes(n.arguments),n.arguments))}function cloneCallExpression(n,a){let S=a.factory.createCallExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`arguments`,a.nextNodes(n.arguments),n.arguments));for(let C=0;C<S.arguments.length;C++){let N=S.arguments[C];!a.typescript.isParenthesizedExpression(n.arguments[C])&&a.typescript.isParenthesizedExpression(N)&&(S.arguments[C]=N.expression)}return S}function cloneExpressionStatement(n,a){return a.factory.createExpressionStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneExpressionWithTypeArguments(n,a){return a.factory.createExpressionWithTypeArguments(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments))}function clonePropertyAccessExpression(n,a){return a.factory.createPropertyAccessExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneElementAccessExpression(n,a){return a.factory.createElementAccessExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`argumentExpression`,a.nextNode(n.argumentExpression),n.argumentExpression))}function cloneArrayLiteralExpression(n,a){return a.factory.createArrayLiteralExpression(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneObjectLiteralExpression(n,a){return a.factory.createObjectLiteralExpression(a.hook(`properties`,a.nextNodes(n.properties),n.properties))}function cloneTemplateExpression(n,a){return a.factory.createTemplateExpression(a.hook(`head`,a.nextNode(n.head),n.head),a.hook(`templateSpans`,a.nextNodes(n.templateSpans),n.templateSpans))}function cloneTemplateSpan(n,a){return a.factory.createTemplateSpan(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`literal`,a.nextNode(n.literal),n.literal))}function cloneTemplateHead(n,a){return a.factory.createTemplateHead(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.rawText))}function cloneTemplateMiddle(n,a){return a.factory.createTemplateMiddle(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.rawText))}function cloneTemplateTail(n,a){return a.factory.createTemplateTail(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.rawText))}function cloneConditionalExpression(n,a){return a.factory.createConditionalExpression(a.hook(`condition`,a.nextNode(n.condition),n.condition),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`whenTrue`,a.nextNode(n.whenTrue),n.whenTrue),a.hook(`colonToken`,a.nextNode(n.colonToken),n.colonToken),a.hook(`whenFalse`,a.nextNode(n.whenFalse),n.whenFalse))}function cloneBinaryExpression(n,a){return a.factory.createBinaryExpression(a.hook(`left`,a.nextNode(n.left),n.left),a.hook(`operatorToken`,a.nextNode(n.operatorToken),n.operatorToken),a.hook(`right`,a.nextNode(n.right),n.right))}function cloneParenthesizedExpression(n,a){return a.factory.createParenthesizedExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneParenthesizedTypeNode(n,a){return a.factory.createParenthesizedType(a.hook(`type`,a.nextNode(n.type),n.type))}function cloneArrowFunction(n,a){return a.factory.createArrowFunction(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`equalsGreaterThanToken`,a.nextNode(n.equalsGreaterThanToken),n.equalsGreaterThanToken),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneClassDeclaration(n,a){return a.factory.createClassDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`heritageClauses`,a.nextNodes(n.heritageClauses),n.heritageClauses),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneClassExpression(n,a){return a.factory.createClassExpression(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`heritageClauses`,a.nextNodes(n.heritageClauses),n.heritageClauses),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneEnumDeclaration(n,a){return a.factory.createEnumDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneInterfaceDeclaration(n,a){return a.factory.createInterfaceDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`heritageClauses`,a.nextNodes(n.heritageClauses),n.heritageClauses),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneEnumMember(n,a){return a.factory.createEnumMember(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function cloneHeritageClause(n,a){return a.factory.createHeritageClause(a.hook(`token`,n.token,n.token),a.hook(`types`,a.nextNodes(n.types),n.types))}function cloneEmptyStatement(n,a){return a.factory.createEmptyStatement()}function cloneTypeOperatorNode(n,a){return a.factory.createTypeOperatorNode(a.hook(`operator`,n.operator,n.operator),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneIndexedAccessTypeNode(n,a){return a.factory.createIndexedAccessTypeNode(a.hook(`objectType`,a.nextNode(n.objectType),n.objectType),a.hook(`indexType`,a.nextNode(n.indexType),n.indexType))}function cloneMappedTypeNode(n,a){return a.factory.createMappedTypeNode(a.hook(`readonlyToken`,a.nextNode(n.readonlyToken),n.readonlyToken),a.hook(`typeParameter`,a.nextNode(n.typeParameter),n.typeParameter),a.hook(`nameType`,a.nextNode(n.nameType),n.nameType),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type),ensureNodeArray(a.hook(`members`,a.nextNodes(n.members),n.members),a.factory))}function cloneOmittedExpression(n,a){return a.factory.createOmittedExpression()}function clonePartiallyEmittedExpression(n,a){return a.factory.createPartiallyEmittedExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function isPartiallyEmittedExpression(n,a){return`isPartiallyEmittedExpression`in a?a.isPartiallyEmittedExpression(n):n.kind===a.SyntaxKind.PartiallyEmittedExpression}function clonePostfixUnaryExpression(n,a){return a.factory.createPostfixUnaryExpression(a.hook(`operand`,a.nextNode(n.operand),n.operand),a.hook(`operator`,n.operator,n.operator))}function isNullLiteral(n,a){return n.kind===a.SyntaxKind.NullKeyword}function cloneNullLiteral(n,a){return a.factory.createNull()}function isThisExpression(n,a){return n.kind===a.SyntaxKind.ThisKeyword}function cloneThisExpression(n,a){return a.factory.createThis()}function cloneReturnStatement(n,a){return a.factory.createReturnStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function isSuperExpression(n,a){return n.kind===a.SyntaxKind.SuperKeyword}function cloneSuperExpression(n,a){return a.factory.createSuper()}function cloneDeleteExpression(n,a){return a.factory.createDeleteExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneAsExpression(n,a){return a.factory.createAsExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneTypeAssertion(n,a){return a.factory.createTypeAssertion(a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneAwaitExpression(n,a){return a.factory.createAwaitExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneYieldExpression(n,a){return a.factory.createYieldExpression(a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneForOfStatement(n,a){return a.factory.createForOfStatement(a.hook(`awaitModifier`,a.nextNode(n.awaitModifier),n.awaitModifier),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer),a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneForInStatement(n,a){return a.factory.createForInStatement(a.hook(`initializer`,a.nextNode(n.initializer),n.initializer),a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneForStatement(n,a){return a.factory.createForStatement(a.hook(`initializer`,a.nextNode(n.initializer),n.initializer),a.hook(`condition`,a.nextNode(n.condition),n.condition),a.hook(`incrementor`,a.nextNode(n.incrementor),n.incrementor),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneWhileStatement(n,a){return a.factory.createWhileStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneLabeledStatement(n,a){return a.factory.createLabeledStatement(a.hook(`label`,a.nextNode(n.label),n.label),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneBreakStatement(n,a){return a.factory.createBreakStatement(a.hook(`label`,a.nextNode(n.label),n.label))}function cloneContinueStatement(n,a){return a.factory.createContinueStatement(a.hook(`label`,a.nextNode(n.label),n.label))}function cloneIfStatement(n,a){return a.factory.createIfStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`thenStatement`,a.nextNode(n.thenStatement),n.thenStatement),a.hook(`elseStatement`,a.nextNode(n.elseStatement),n.elseStatement))}function cloneDoStatement(n,a){return a.factory.createDoStatement(a.hook(`statement`,a.nextNode(n.statement),n.statement),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneNonNullExpression(n,a){return a.factory.createNonNullExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneTypeOfExpression(n,a){return a.factory.createTypeOfExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneVoidExpression(n,a){return a.factory.createVoidExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneFunctionExpression(n,a){return a.factory.createFunctionExpression(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneSpreadElement(n,a){return a.factory.createSpreadElement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneTaggedTemplateExpression(n,a){return a.factory.createTaggedTemplateExpression(a.hook(`tag`,a.nextNode(n.tag),n.tag),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`template`,a.nextNode(n.template),n.template))}function cloneMetaProperty(n,a){return a.factory.createMetaProperty(a.hook(`keywordToken`,n.keywordToken,n.keywordToken),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneJsxElement(n,a){return a.factory.createJsxElement(a.hook(`openingElement`,a.nextNode(n.openingElement),n.openingElement),a.hook(`children`,a.nextNodes(n.children),n.children),a.hook(`closingElement`,a.nextNode(n.closingElement),n.closingElement))}function cloneJsxAttributes(n,a){return a.factory.createJsxAttributes(a.hook(`properties`,a.nextNodes(n.properties),n.properties))}function cloneJsxOpeningElement(n,a){return a.factory.createJsxOpeningElement(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`attributes`,a.nextNode(n.attributes),n.attributes))}function cloneJsxSelfClosingElement(n,a){return a.factory.createJsxSelfClosingElement(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`attributes`,a.nextNode(n.attributes),n.attributes))}function cloneJsxFragment(n,a){return a.factory.createJsxFragment(a.hook(`openingFragment`,a.nextNode(n.openingFragment),n.openingFragment),a.hook(`children`,a.nextNodes(n.children),n.children),a.hook(`closingFragment`,a.nextNode(n.closingFragment),n.closingFragment))}function cloneJsxOpeningFragment(n,a){return a.factory.createJsxOpeningFragment()}function cloneJsxClosingFragment(n,a){return a.factory.createJsxJsxClosingFragment()}function cloneJsxAttribute(n,a){return a.factory.createJsxAttribute(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function cloneJsxSpreadAttribute(n,a){return a.factory.createJsxSpreadAttribute(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneJsxClosingElement(n,a){return a.factory.createJsxClosingElement(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName))}function cloneJsxExpression(n,a){return a.factory.createJsxExpression(a.hook(`dotDotDotToken`,a.nextNode(n.dotDotDotToken),n.dotDotDotToken),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneJsxText(n,a){return a.factory.createJsxText(a.hook(`text`,n.text,n.text),a.hook(`containsOnlyTriviaWhiteSpaces`,n.containsOnlyTriviaWhiteSpaces,n.containsOnlyTriviaWhiteSpaces))}function isNotEmittedStatement(n,a){return`isNotEmittedStatement`in a?a.isNotEmittedStatement(n):n.kind===a.SyntaxKind.NotEmittedStatement}function cloneNotEmittedStatement(n,a){return a.factory.createNotEmittedStatement(n)}function isCommaListExpression(n,a){return`isCommaListExpression`in a?a.isCommaListExpression(n):n.kind===a.SyntaxKind.CommaListExpression}function cloneCommaListExpression(n,a){return a.factory.createCommaListExpression(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneDebuggerStatement(n,a){return a.factory.createDebuggerStatement()}function cloneWithStatement(n,a){return a.factory.createWithStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneSwitchStatement(n,a){return a.factory.createSwitchStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`caseBlock`,a.nextNode(n.caseBlock),n.caseBlock))}function cloneCaseBlock(n,a){return a.factory.createCaseBlock(a.hook(`clauses`,a.nextNodes(n.clauses),n.clauses))}function cloneCaseClause(n,a){return a.factory.createCaseClause(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneDefaultClause(n,a){return a.factory.createDefaultClause(a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneTryStatement(n,a){return a.factory.createTryStatement(a.hook(`tryBlock`,a.nextNode(n.tryBlock),n.tryBlock),a.hook(`catchClause`,a.nextNode(n.catchClause),n.catchClause),a.hook(`finallyBlock`,a.nextNode(n.finallyBlock),n.finallyBlock))}function cloneCatchClause(n,a){return a.factory.createCatchClause(a.hook(`variableDeclaration`,a.nextNode(n.variableDeclaration),n.variableDeclaration),a.hook(`block`,a.nextNode(n.block),n.block))}function cloneModuleDeclaration(n,a){return a.factory.createModuleDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`body`,a.nextNode(n.body),n.body),a.hook(`flags`,n.flags,n.flags))}function cloneModuleBlock(n,a){return a.factory.createModuleBlock(a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneImportDeclaration(n,a){return a.factory.createImportDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`importClause`,a.nextNode(n.importClause),n.importClause),a.hook(`moduleSpecifier`,a.nextNode(n.moduleSpecifier),n.moduleSpecifier),a.hook(`assertClause`,a.nextNode(n.assertClause),n.assertClause))}function cloneImportEqualsDeclaration(n,a){return a.factory.createImportEqualsDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`moduleReference`,a.nextNode(n.moduleReference),n.moduleReference))}function cloneImportClause(n,a){return a.factory.createImportClause(a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`namedBindings`,a.nextNode(n.namedBindings),n.namedBindings))}function cloneNamedImports(n,a){return a.factory.createNamedImports(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneNamespaceImport(n,a){return a.factory.createNamespaceImport(a.hook(`name`,a.nextNode(n.name),n.name))}function cloneImportSpecifier(n,a){return a.factory.createImportSpecifier(a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`propertyName`,a.nextNode(n.propertyName),n.propertyName),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneExternalModuleReference(n,a){return a.factory.createExternalModuleReference(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneNamespaceExportDeclaration(n,a){return a.factory.createNamespaceExportDeclaration(a.hook(`name`,a.nextNode(n.name),n.name))}function cloneExportDeclaration(n,a){return a.factory.createExportDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`exportClause`,a.nextNode(n.exportClause),n.exportClause),a.hook(`moduleSpecifier`,a.nextNode(n.moduleSpecifier),n.moduleSpecifier))}function cloneNamedExports(n,a){return a.factory.createNamedExports(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneExportSpecifier(n,a){return a.factory.createExportSpecifier(a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`propertyName`,a.nextNode(n.propertyName),n.propertyName),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneExportAssignment(n,a){return a.factory.createExportAssignment(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`isExportEquals`,n.isExportEquals,n.isExportEquals),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function toInternalOptions(n){let a=n.typescript??ly.default;return{...n,typescript:a,factory:ensureNodeFactory(n.factory??a),setParents:n.setParents??!1,setOriginalNodes:n.setOriginalNodes??!1,preserveSymbols:n.preserveSymbols??!1,preserveComments:n.preserveComments??!0,commentRanges:new Set,debug:n.debug??!1,depth:0,hook:n.hook??(()=>({})),finalize:n.finalize??(()=>{})}}function isJsDocComment(n,a){return`isJSDoc`in a?a.isJSDoc(n):n.kind===a.SyntaxKind.JSDocComment}function cloneJsDoc(n,a){let S=a.factory.createJSDocComment(a.hook(`comment`,n.comment,n.comment),ensureNodeArray(a.hook(`tags`,a.nextNodes(n.tags),n.tags),a.factory));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocUnknownTag(n,a){return`isJSDocUnknownTag`in a?a.isJSDocUnknownTag(n):n.kind===a.SyntaxKind.JSDocTag}function isJsDocParameterTag(n,a){return`isJSDocParameterTag`in a?a.isJSDocParameterTag(n):n.kind===a.SyntaxKind.JSDocParameterTag}function cloneJsDocParameterTag(n,a){let S=a.factory.createJSDocParameterTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`isBracketed`,n.isBracketed,n.isBracketed),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`isNameFirst`,n.isNameFirst,n.isNameFirst),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocReturnTag(n,a){return`isJSDocReturnTag`in a?a.isJSDocReturnTag(n):n.kind===a.SyntaxKind.JSDocReturnTag}function cloneJsDocReturnTag(n,a){let S=a.factory.createJSDocReturnTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypeExpression(n,a){return`isJSDocTypeExpression`in a?a.isJSDocTypeExpression(n):n.kind===a.SyntaxKind.JSDocTypeExpression}function cloneJsDocTypeExpression(n,a){let S=a.factory.createJSDocTypeExpression(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocEnumTag(n,a){return`isJSDocEnumTag`in a?a.isJSDocEnumTag(n):n.kind===a.SyntaxKind.JSDocEnumTag}function cloneJsDocEnumTag(n,a){let S=a.factory.createJSDocEnumTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypeTag(n,a){return`isJSDocTypeTag`in a?a.isJSDocTypeTag(n):n.kind===a.SyntaxKind.JSDocTypeTag}function cloneJsDocTypeTag(n,a){let S=a.factory.createJSDocTypeTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocAllType(n,a){return`isJSDocAllType`in a?a.isJSDocAllType(n):n.kind===a.SyntaxKind.JSDocAllType}function cloneJsDocAllType(n,a){let S=a.factory.createJSDocAllType();return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocUnknownType(n,a){return`isJSDocUnknownType`in a?a.isJSDocUnknownType(n):n.kind===a.SyntaxKind.JSDocUnknownType}function cloneJsDocUnknownType(n,a){let S=a.factory.createJSDocUnknownType();return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocNonNullableType(n,a){return`isJSDocNonNullableType`in a?a.isJSDocNonNullableType(n):n.kind===a.SyntaxKind.JSDocNonNullableType}function cloneJsDocNonNullableType(n,a){let S=a.factory.createJSDocNonNullableType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocNullableType(n,a){return`isJSDocNullableType`in a?a.isJSDocNullableType(n):n.kind===a.SyntaxKind.JSDocNullableType}function cloneJsDocNullableType(n,a){let S=a.factory.createJSDocNullableType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocOptionalType(n,a){return`isJSDocOptionalType`in a?a.isJSDocOptionalType(n):n.kind===a.SyntaxKind.JSDocOptionalType}function cloneJsDocOptionalType(n,a){let S=a.factory.createJSDocOptionalType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocFunctionType(n,a){return`isJSDocFunctionType`in a?a.isJSDocFunctionType(n):n.kind===a.SyntaxKind.JSDocFunctionType}function cloneJsDocFunctionType(n,a){let S=a.factory.createJSDocFunctionType(a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,n.type,n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocVariadicType(n,a){return`isJSDocVariadicType`in a?a.isJSDocVariadicType(n):n.kind===a.SyntaxKind.JSDocVariadicType}function cloneJsDocVariadicType(n,a){let S=a.factory.createJSDocVariadicType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocNamepathType(n,a){return`isJSDocNamepathType`in a?a.isJSDocNamepathType(n):n.kind===a.SyntaxKind.JSDocNamepathType}function cloneJsDocNamepathType(n,a){let S=a.factory.createJSDocNamepathType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function cloneJsDocUnknownTag(n,a){let S=a.factory.createJSDocUnknownTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocAugmentsTag(n,a){return`isJSDocAugmentsTag`in a?a.isJSDocAugmentsTag(n):n.kind===a.SyntaxKind.JSDocAugmentsTag}function cloneJsDocAugmentsTag(n,a){let S=a.factory.createJSDocAugmentsTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`class`,a.nextNode(n.class),n.class),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocAuthorTag(n,a){return`isJSDocAuthorTag`in a?a.isJSDocAuthorTag(n):n.kind===a.SyntaxKind.JSDocAuthorTag}function cloneJsDocAuthorTag(n,a){let S=a.factory.createJSDocAuthorTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocClassTag(n,a){return`isJSDocClassTag`in a?a.isJSDocClassTag(n):n.kind===a.SyntaxKind.JSDocClassTag}function cloneJsDocClassTag(n,a){let S=a.factory.createJSDocClassTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocThisTag(n,a){return`isJSDocThisTag`in a?a.isJSDocThisTag(n):n.kind===a.SyntaxKind.JSDocThisTag}function cloneJsDocThisTag(n,a){let S=a.factory.createJSDocThisTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTemplateTag(n,a){return`isJSDocTemplateTag`in a?a.isJSDocTemplateTag(n):n.kind===a.SyntaxKind.JSDocTemplateTag}function cloneJsDocTemplateTag(n,a){let S=a.factory.createJSDocTemplateTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`constraint`,a.nextNode(n.constraint),n.constraint),ensureNodeArray(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.factory),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypedefTag(n,a){return`isJSDocTypedefTag`in a?a.isJSDocTypedefTag(n):n.kind===a.SyntaxKind.JSDocTypedefTag}function cloneJsDocTypedefTag(n,a){let S=a.factory.createJSDocTypedefTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`fullName`,a.nextNode(n.fullName),n.fullName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S.name=a.hook(`name`,a.nextNode(n.name),n.name),S}function isJsDocCallbackTag(n,a){return`isJSDocCallbackTag`in a?a.isJSDocCallbackTag(n):n.kind===a.SyntaxKind.JSDocCallbackTag}function cloneJsDocCallbackTag(n,a){let S=a.factory.createJSDocCallbackTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`fullName`,a.nextNode(n.fullName),n.fullName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S.name=a.hook(`name`,a.nextNode(n.name),n.name),S}function isJsDocSignature(n,a){return`isJSDocSignature`in a?a.isJSDocSignature(n):n.kind===a.SyntaxKind.JSDocSignature}function cloneJsDocSignature(n,a){let S=a.factory.createJSDocSignature(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocPropertyTag(n,a){return`isJSDocPropertyTag`in a?a.isJSDocPropertyTag(n):n.kind===a.SyntaxKind.JSDocPropertyTag}function cloneJsDocPropertyTag(n,a){let S=a.factory.createJSDocPropertyTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`isBracketed`,n.isBracketed,n.isBracketed),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`isNameFirst`,n.isNameFirst,n.isNameFirst),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypeLiteral(n,a){return`isJSDocTypeLiteral`in a?a.isJSDocTypeLiteral(n):n.kind===a.SyntaxKind.JSDocTypeLiteral}function cloneJsDocTypeLiteral(n,a){let S=a.factory.createJSDocTypeLiteral(a.hook(`jsDocPropertyTags`,a.nextNodes(n.jsDocPropertyTags),n.jsDocPropertyTags),a.hook(`isArrayType`,n.isArrayType,n.isArrayType));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function fixupParentReferences(n,{deep:a,propertyName:S,typescript:C}){let N=n;C.forEachChild(n,visitNode);function visitNode(n){if(n[S]!==N){n[S]=N;let F=N;if(N=n,a&&C.forEachChild(n,visitNode),n.jsDoc!=null)for(let a of n.jsDoc)a[S]=n,N=a,C.forEachChild(a,visitNode);N=F}}}function setParents(n,a){return fixupParentReferences(n,a),n}function getOriginalNode(n,a){return n._original==null?a.typescript.getOriginalNode(n)??n:getOriginalNode(n._original,a)}function formatCommentRange({pos:n,end:a}){return`${n}:${a}`}function getCommentRanges(n,a){let S=[],C=getOriginalNode(n,a),N=C.getSourceFile();if(N==null||C.pos===-1||C.end===-1)return[];let F=N.getFullText(),I=C.getFullStart(),H=C.getEnd(),W=a.typescript.getLeadingCommentRanges(F,I)??[],K=a.typescript.getTrailingCommentRanges(F,H)??[];if(W.length<1){let n=C.getFullText().trim();(n.startsWith(`//`)||n.startsWith(`/*`))&&W.push(...a.typescript.getTrailingCommentRanges(F,I)??[])}let q=[...W.map(n=>({...n,hasTrailingNewLine:!!n.hasTrailingNewLine,isLeading:!0})),...K.map(n=>({...n,hasTrailingNewLine:!!n.hasTrailingNewLine,isLeading:!1}))];for(let n of q){if(a.commentRanges.has(formatCommentRange(n)))continue;a.commentRanges.add(formatCommentRange(n));let C=N.text.substring(n.pos,n.end);if(!C.startsWith(`//`)&&!C.startsWith(`/*`))continue;let F=C.includes(`\r
683
683
  `),I=C.startsWith(`/**`);C=C.split(/\r?\n/).map(n=>n.trim()).map(n=>!I||n.startsWith(`/**`)?n:` ${n}`).join(F?`\r
@@ -751,8 +751,11 @@ All dependencies found.`);return}C.length>0&&ze.log(`\nMissing required: ${C.map
751
751
  No install command available for your package manager. Install manually.`),process.exit(+(C.length>0))}};Rs(),qo(),tn();function manifestPath(){return Io(zo(fileURLToPath(import.meta.url)),`..`,`..`,`showcases.json`)}function discoverShowcases(){let n=manifestPath();if(!existsSync(n))return[];let a;try{a=JSON.parse(readFileSync(n,`utf-8`))}catch{return[]}if(!Array.isArray(a.showcases))return[];let S=a.showcases.map(n=>({name:n.name,packageName:n.package,category:n.category,description:n.description??``,needsWebgl:!!n.needsWebgl}));return S.sort((n,a)=>n.category.localeCompare(a.category)||n.name.localeCompare(a.name)),S}function findShowcase(n){return discoverShowcases().find(a=>a.name===n)}Be(),gx(),tn(),Rs();function readCliVersion(){try{let n=new URL(`../../package.json`,import.meta.url),a=JSON.parse(readFileSync(n,`utf8`));return typeof a.version==`string`?a.version:void 0}catch{return}}const RT={command:`showcase [name]`,description:`List or run curated gjsify showcase applications.`,builder:n=>n.positional(`name`,{description:`Showcase name to run (omit to list all)`,type:`string`}).option(`json`,{description:`Output as JSON`,type:`boolean`,default:!1}).option(`list`,{description:`List available showcases`,type:`boolean`,default:!1}),handler:async n=>{if(!n.name||n.list){let a=discoverShowcases();if(n.json){ze.log(JSON.stringify(a,null,2));return}if(a.length===0){ze.log("No showcases found. The CLI ships a curated list in `showcases.json`; if it is missing the CLI install is incomplete.");return}let S=new Map;for(let n of a){let a=S.get(n.category)??[];a.push(n),S.set(n.category,a)}ze.log(`Available gjsify showcases:
752
752
  `);for(let[n,a]of S){ze.log(` ${n.toUpperCase()}:`);let S=Math.max(...a.map(n=>n.name.length));for(let n of a){let a=` `.repeat(S-n.name.length+2),C=n.description?`${a}${n.description}`:``;ze.log(` ${n.name}${C}`)}ze.log(``)}ze.log(`Run a showcase: gjsify showcase <name>`);return}let a=findShowcase(n.name);a||(ze.error(`Unknown showcase: "${n.name}"`),ze.error(`Run "gjsify showcase" to list available showcases.`),process.exit(1));let S=runMinimalChecks().filter(n=>!n.found&&n.severity===`required`);if(S.length>0){ze.error(`Missing system dependencies:
753
753
  `);for(let n of S)ze.error(` ✗ ${n.name}`);let n=buildInstallCommand(detectPackageManager$2(),S);n&&ze.error(`\nInstall with:\n ${n}`),process.exit(1)}let C=readCliVersion(),N=C?`${a.packageName}@${C}`:a.packageName;ze.log(`Running showcase: ${a.name} (via gjsify dlx ${N})\n`);let F=fileURLToPath(new URL(`../index.js`,import.meta.url)),I=spawn(process.execPath,[F,`dlx`,N],{stdio:`inherit`});await new Promise((n,a)=>{I.on(`close`,S=>{S===0?n():a(Error(`gjsify dlx exited with code ${S}`))}),I.on(`error`,a)}).catch(n=>{ze.error(n.message),process.exit(1)})}};Rs(),qo(),tn();const zT={"gtk-minimal":`Minimal GTK4 app — Gtk.Window + Gtk.Label (no Adwaita, no Blueprint).`,cli:`Command-line tool using yargs (Node.js + GJS).`,"adw-canvas2d":`Adwaita app with HTML Canvas 2D rendering (Blueprint UI).`,"adw-webgl":`Adwaita app with WebGL + three.js (Blueprint UI).`,"adw-game":`Adwaita game shell using Excalibur.js, WebGL → Canvas2D fallback.`,"web-server-hono":`HTTP server using Hono (Web-standard fetch-style API).`,"web-server-express":`HTTP server using Express (familiar Node.js stack).`};function discoverTemplates(){let n=Io(Io(zo(fileURLToPath(import.meta.url)),`..`),`dist-templates`);if(!existsSync(n))return[];let a=[];for(let S of readdirSync(n)){let C=Io(n,S),N=Io(C,`package.json`);if(!statSync(C).isDirectory()||!existsSync(N))continue;let F=zT[S]??``;try{let n=JSON.parse(readFileSync(N,`utf-8`));typeof n.description==`string`&&n.description.trim()&&(F=n.description)}catch{}a.push({name:S,description:F,path:C})}return a.sort((n,a)=>n.name.localeCompare(a.name)),a}function findTemplate(n){return discoverTemplates().find(a=>a.name===n)}Be(),gx(),Rs(),qo();const BT=`new-gjsify-app`,VT=new Set([`.json`,`.md`,`.ts`,`.tsx`,`.js`,`.mjs`,`.cjs`,`.blp`,`.html`,`.css`,`.scss`,`.xml`,`.ui`,`.txt`]);function sanitizeProjectName(n){let a=n.trim();if(!a)throw Error(`Project name cannot be empty.`);let S=a.toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[._-]+/,``).replace(/[._-]+$/,``);if(!S)throw Error(`"${n}" is not a valid npm package name.`);return S}function isDirEmpty(n){return existsSync(n)?readdirSync(n).length===0:!0}async function createProject(n){let a=sanitizeProjectName(n.projectName),{template:S,force:C=!1,install:N=!1}=n,F=findTemplate(S);if(!F){let n=discoverTemplates().map(n=>n.name).join(`, `);throw Error(`Unknown template "${S}". Available templates: ${n||`(none — run "yarn build" first)`}`)}let I=No(process.cwd(),a);existsSync(I)&&!isDirEmpty(I)&&!C&&(ze.error(`Error: Directory "${a}" exists and is not empty. Use --force to scaffold into it anyway.`),process.exit(1)),ze.log(`Creating new Gjsify project in ${I} (template: ${F.name})...`),mkdirSync(I,{recursive:!0}),cpSync(F.path,I,{recursive:!0}),substituteProjectName(I,a),N&&(ze.log(`Running npm install...`),spawnSync(`npm`,[`install`,`--no-audit`,`--no-fund`],{cwd:I,stdio:`inherit`}).status!==0&&ze.warn(`npm install failed; re-run it manually in the project directory.`)),printNextSteps(a,F,N)}function substituteProjectName(n,a){let S=new Set([`node_modules`,`dist`,`lib`]),C=[n];for(;C.length>0;){let n=C.pop();for(let N of readdirSync(n,{withFileTypes:!0})){let F=Io(n,N.name);if(N.isDirectory()){S.has(N.name)||C.push(F);continue}if(!N.isFile())continue;let I=N.name.lastIndexOf(`.`),H=I>=0?N.name.slice(I):``;if(!VT.has(H))continue;let W=readFileSync(F,`utf-8`);W.includes(BT)&&writeFileSync(F,W.replaceAll(BT,a))}}}function printNextSteps(n,a,S){ze.log(``),ze.log(`Project created from template "${a.name}".`),ze.log(``),ze.log(`Next steps:`),ze.log(` cd ${n}`),S||ze.log(` npm install`),ze.log(` npm run dev`),ze.log(``)}Es();const HT={reset:`\x1B[0m`,bold:`\x1B[1m`,dim:`\x1B[2m`,cyan:`\x1B[36m`,green:`\x1B[32m`};function render(n,a,S){S||qt.write(`\x1b[${n.length}A`);for(let S=0;S<n.length;S++){let C=n[S],N=S===a?`${HT.cyan}❯${HT.reset}`:` `,F=S===a?`${HT.bold}${HT.green}${C.name}${HT.reset}`:C.name;qt.write(`\x1b[2K\r ${N} ${F} ${HT.dim}${C.description}${HT.reset}\n`)}}function promptTemplate(n){return n.length===0?Promise.reject(Error(`No templates available.`)):new Promise((a,S)=>{let C=0;qt.write(`${HT.bold}Select a template${HT.reset} ${HT.dim}(↑/↓ to navigate, Enter to confirm, Ctrl+C to cancel)${HT.reset}\n`),render(n,C,!0),emitKeypressEvents(Jt),Jt.isTTY&&Jt.setRawMode(!0),Jt.resume();let cleanup=()=>{Jt.removeListener(`keypress`,onKeypress),Jt.isTTY&&Jt.setRawMode(!1),Jt.pause()},onKeypress=(N,F)=>{if(F){if(F.ctrl&&F.name===`c`){cleanup(),qt.write(`
754
- `),S(Error(`Cancelled by user`));return}F.name===`up`||F.name===`k`?(C=(C-1+n.length)%n.length,render(n,C,!1)):F.name===`down`||F.name===`j`?(C=(C+1)%n.length,render(n,C,!1)):(F.name===`return`||F.name===`enter`)&&(cleanup(),a(n[C]))}};Jt.on(`keypress`,onKeypress)})}Be();const UT={command:`create [project-name]`,description:`Scaffold a new Gjsify project in a new directory.`,builder:n=>{let a=discoverTemplates().map(n=>n.name);return n.positional(`project-name`,{describe:`Name of the project directory to create`,type:`string`,default:`my-gjs-app`}).option(`template`,{alias:`t`,describe:`Template to scaffold from`,type:`string`,choices:a.length>0?a:void 0}).option(`force`,{alias:`f`,describe:`Scaffold into a non-empty directory`,type:`boolean`,default:!1}).option(`install`,{describe:`Run npm install after scaffolding`,type:`boolean`,default:!1})},handler:async n=>{let a=n.template;if(!a){let n=discoverTemplates();if(!process.stdin.isTTY){let a=n.map(n=>n.name).join(`, `);ze.error(`Error: --template is required in non-interactive mode. Available templates: ${a||`(none)`}`),process.exit(1)}a=(await promptTemplate(n)).name}await createProject({projectName:n[`project-name`],template:a,force:n.force,install:n.install})}};Be(),gx(),gs(),qo(),gc();const WT=promisify(execFile);function defaultTargetFor(n){let a=Bo(n,Vo(n));return No(zo(n),a)}const GT={command:`gresource <xml>`,description:"Compile a GResource XML descriptor into a binary .gresource bundle (wraps `glib-compile-resources`).",builder:n=>n.positional(`xml`,{description:`Path to the .gresource.xml descriptor`,type:`string`,normalize:!0,demandOption:!0}).option(`sourcedir`,{description:`Directory containing the resource files referenced by <xml>`,type:`string`,normalize:!0}).option(`target`,{alias:`t`,description:`Output .gresource file (default: <xml-without-.xml> next to <xml>)`,type:`string`,normalize:!0}).option(`verbose`,{description:`Print the underlying glib-compile-resources invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=No(n.xml),S=n.target?No(n.target):defaultTargetFor(a),C=[`--sourcedir=${n.sourcedir?No(n.sourcedir):zo(a)}`,`--target=${S}`,a];n.verbose&&ze.log(`[gjsify gresource] glib-compile-resources ${C.join(` `)}`),await mkdir$1(zo(S),{recursive:!0});try{let{stdout:a,stderr:N}=await WT(`glib-compile-resources`,C);a&&process.stdout.write(a),N&&process.stderr.write(N),n.verbose&&ze.log(`[gjsify gresource] wrote ${S}`)}catch(n){n?.code===`ENOENT`?ze.error(`[gjsify gresource] glib-compile-resources not found. Install it via your distro (package: glib2-devel / libglib2.0-dev).`):(n?.stderr&&process.stderr.write(n.stderr),ze.error(`[gjsify gresource] glib-compile-resources failed${n?.code===void 0?``:` (exit ${n.code})`}`)),process.exitCode=typeof n?.code==`number`?n.code:1}}};Be(),gx(),gs(),qo(),gc();const KT=promisify(execFile);async function listLanguages(n){return(await readdir$1(n)).filter(n=>n.endsWith(`.po`)&&!n.startsWith(`.`)).map(n=>n.slice(0,-3)).sort()}function stripXmlComments(n){return n.replace(/<!--[\s\S]*?-->/g,``)}async function ensureDir(n){await mkdir$1(n,{recursive:!0})}async function fileExists(n){try{return await stat$1(n),!0}catch{return!1}}async function compileBulkXml(n){let a=Io(n.outDir,n.filename);await ensureDir(n.outDir);let S=[`--output-file=${a}`,`--xml`,`--template=${n.template}`,`-d`,n.poDir];n.verbose&&ze.log(`[gjsify gettext] msgfmt ${S.join(` `)}`),await KT(`msgfmt`,S),n.removeXmlComments&&await writeFile$1(a,stripXmlComments(await readFile$1(a,`utf-8`))),n.verbose&&ze.log(`[gjsify gettext] wrote ${a}`)}async function compilePerLanguage(n){let a=await listLanguages(n.poDir);if(a.length===0){ze.warn(`[gjsify gettext] no .po files found in ${n.poDir}`);return}for(let S of a){let a=Io(n.poDir,`${S}.po`),C=n.format===`mo`?Io(n.outDir,S,`LC_MESSAGES`):Io(n.outDir,S);await ensureDir(C);let N=[`--output-file=${Io(C,n.filename)}`];n.format!==`mo`&&N.push(`--${n.format}`),N.push(a),n.verbose&&ze.log(`[gjsify gettext] msgfmt ${N.join(` `)}`),await KT(`msgfmt`,N)}n.verbose&&ze.log(`[gjsify gettext] compiled ${a.length} language(s) into ${n.outDir}`)}function defaultFilename(n,a,S){switch(a){case`mo`:return`${n}.mo`;case`json`:return`${n}.json`;case`desktop`:return`${n}.desktop`;case`xml`:if(S){let n=S.replace(/\.in$/,``),a=n.lastIndexOf(`/`);return a>=0?n.slice(a+1):n}return`${n}.xml`}}const qT={command:`gettext <poDir> <outDir>`,description:`Compile gettext .po files to .mo (per-language locale tree) or substitute a metainfo template via msgfmt --xml.`,builder:n=>n.positional(`poDir`,{description:`Directory containing <lang>.po files`,type:`string`,normalize:!0,demandOption:!0}).positional(`outDir`,{description:`Output directory (locale tree for --format=mo, plain dir for xml/desktop/json)`,type:`string`,normalize:!0,demandOption:!0}).option(`domain`,{description:"Text domain / application ID (e.g. `org.pixelrpg.maker`)",type:`string`,normalize:!0,demandOption:!0}).option(`format`,{description:`Output format`,type:`string`,choices:[`mo`,`xml`,`desktop`,`json`],default:`mo`}).option(`metainfo`,{description:"For --format=xml: path to the template (`.metainfo.xml.in`) used as msgfmt --template",type:`string`,normalize:!0}).option(`filename`,{description:`Override the output filename (defaults to <domain>.<ext>)`,type:`string`,normalize:!0}).option(`remove-xml-comments`,{description:`For --format=xml: strip XML comments from the compiled output`,type:`boolean`,default:!0}).option(`verbose`,{description:`Print each msgfmt invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=No(n.poDir),S=No(n.outDir),C=n.domain,N=n.format??`mo`,F=n.metainfo?No(n.metainfo):void 0,I=n.filename??defaultFilename(C,N,F),H=!!n.verbose,W=!!n[`remove-xml-comments`];if(!await fileExists(a)){ze.error(`[gjsify gettext] PO directory does not exist: ${a}`),process.exitCode=1;return}try{N===`xml`&&F?await compileBulkXml({poDir:a,outDir:S,domain:C,template:F,filename:I,removeXmlComments:W,verbose:H}):(N===`xml`&&ze.warn(`[gjsify gettext] --format=xml without --metainfo: falling back to per-language XML files`),await compilePerLanguage({poDir:a,outDir:S,domain:C,format:N,filename:I,verbose:H}))}catch(n){n?.code===`ENOENT`?ze.error(`[gjsify gettext] msgfmt not found. Install it via your distro (package: gettext).`):(n?.stderr&&process.stderr.write(n.stderr),ze.error(`[gjsify gettext] msgfmt failed${n?.code===void 0?``:` (exit ${n.code})`}`)),process.exitCode=typeof n?.code==`number`?n.code:1}}};Be(),gx(),gs(),qo(),gc();const JT=promisify(execFile),YT={command:`gsettings <schemadir>`,description:"Compile GSettings schema XML files into a binary gschemas.compiled (wraps `glib-compile-schemas`).",builder:n=>n.positional(`schemadir`,{description:`Directory containing *.gschema.xml descriptors`,type:`string`,normalize:!0,demandOption:!0}).option(`targetdir`,{alias:`t`,description:`Directory to write gschemas.compiled (default: <schemadir>)`,type:`string`,normalize:!0}).option(`strict`,{description:`Abort on any schema warning (passes --strict to glib-compile-schemas)`,type:`boolean`,default:!0}).option(`verbose`,{description:`Print the underlying glib-compile-schemas invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=No(n.schemadir),S=n.targetdir?No(n.targetdir):a,C=[];n.strict&&C.push(`--strict`),C.push(`--targetdir=${S}`),C.push(a),n.verbose&&ze.log(`[gjsify gsettings] glib-compile-schemas ${C.join(` `)}`),await mkdir$1(S,{recursive:!0});try{let{stdout:a,stderr:N}=await JT(`glib-compile-schemas`,C);a&&process.stdout.write(a),N&&process.stderr.write(N),n.verbose&&ze.log(`[gjsify gsettings] wrote ${S}/gschemas.compiled`)}catch(n){n?.code===`ENOENT`?ze.error(`[gjsify gsettings] glib-compile-schemas not found. Install it via your distro (package: glib2-devel / libglib2.0-dev).`):(n?.stderr&&process.stderr.write(n.stderr),ze.error(`[gjsify gsettings] glib-compile-schemas failed${n?.code===void 0?``:` (exit ${n.code})`}`)),process.exitCode=typeof n?.code==`number`?n.code:1}}};Rs(),qo();const XT=[`--device=dri`,`--share=ipc`,`--socket=fallback-x11`,`--socket=wayland`],ZT=[];function readPackageJson(n){let a=No(n,`package.json`),S;try{S=readFileSync(a,`utf-8`)}catch{throw Error(`gjsify flatpak: no package.json found at ${a}`)}try{return JSON.parse(S)}catch(n){throw Error(`gjsify flatpak: package.json at ${a} is not valid JSON: ${n.message}`)}}function looksLikeAppId(n){return typeof n==`string`&&/^[A-Za-z][A-Za-z0-9_-]*(\.[A-Za-z][A-Za-z0-9_-]*){2,}$/.test(n)}function resolveRuntime(n,a){let S=a.runtime??n?.runtime??`gnome`;if(S!==`gnome`&&S!==`freedesktop`)throw Error(`gjsify flatpak: unknown runtime "${S}" (expected "gnome" or "freedesktop")`);let C=a.runtimeVersion??n?.runtimeVersion??(S===`gnome`?`50`:`24.08`);return S===`gnome`?{runtime:S,runtimeId:`org.gnome.Platform`,sdk:`org.gnome.Sdk`,runtimeVersion:C}:{runtime:S,runtimeId:`org.freedesktop.Platform`,sdk:`org.freedesktop.Sdk`,runtimeVersion:C}}function defaultCiContainer(n,a){return`ghcr.io/flathub-infra/flatpak-github-actions:${`${n}-${a}`}`}Be(),Rs(),qo();const QT={command:`init`,description:"Generate a Flatpak manifest from package.json + `gjsify.flatpak` config.",builder:n=>n.option(`app-id`,{description:"Reverse-DNS app id (default: `gjsify.flatpak.appId` or package.json#name)",type:`string`}).option(`runtime`,{description:`Runtime family`,choices:[`gnome`,`freedesktop`]}).option(`runtime-version`,{description:`Runtime version (default: gnome -> 50, freedesktop -> 24.08)`,type:`string`}).option(`cli-only`,{description:"Strip GUI finish-args; keep `gnome` runtime so GJS is available at runtime",type:`boolean`,default:!1}).option(`manifest`,{description:"Output path. Default: `<app-id>.json` in cwd.",type:`string`,normalize:!0}).option(`command`,{description:`Binary name in /app/bin (default: app id)`,type:`string`}).option(`sdk-extension`,{description:`Extra SDK extension (repeatable)`,type:`string`,array:!0}).option(`finish-arg`,{description:`Extra finish-arg (repeatable). Override defaults entirely with multiple --finish-arg.`,type:`string`,array:!0}).option(`force`,{description:`Overwrite an existing manifest`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print the resolved manifest fields before writing`,type:`boolean`,default:!1}),handler:async n=>{let a=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},S=process.cwd(),C=readPackageJson(S),N=n.appId??a.appId??(looksLikeAppId(C.name)?C.name:void 0);if(!N)throw Error(`gjsify flatpak init: no app id available. Pass --app-id, set gjsify.flatpak.appId in package.json, or rename the package to a reverse-DNS id like org.example.MyApp.`);let{runtime:F,runtimeId:I,sdk:H,runtimeVersion:W}=resolveRuntime(a,{runtime:n.runtime,runtimeVersion:n.runtimeVersion}),K=mergeArrays(a.sdkExtensions,n.sdkExtension),q=a.appendPath??(K?.length?deriveAppendPath(K):void 0),Y=n.command??a.command??N,X=n.finishArg,te=n.cliOnly===!0,ne=X===void 0?a.finishArgs??(te?ZT:XT):X,re={id:N,runtime:I,"runtime-version":W,sdk:H};K?.length&&(re[`sdk-extensions`]=K),q?.length&&(re[`build-options`]={"append-path":q.join(`:`)}),re.command=Y,re[`finish-args`]=ne;let ie=a.cleanup;ie?.length&&(re.cleanup=ie);let ae=[];a.extraModules?.length&&ae.push(...a.extraModules),ae.push({name:deriveModuleName(N),buildsystem:`meson`,sources:[{type:`dir`,path:`.`}]}),re.modules=ae;let oe=No(S,n.manifest??`${N}.json`);if(existsSync(oe)&&!n.force)throw Error(`gjsify flatpak init: ${oe} exists. Pass --force to overwrite.`);writeFileSync(oe,JSON.stringify(re,null,4)+`
755
- `,`utf-8`),n.verbose&&(ze.log(`[gjsify flatpak init] runtime=${I} ${W} sdk=${H}`),ze.log(`[gjsify flatpak init] command=${Y} finish-args=${JSON.stringify(ne)}`)),ze.log(`[gjsify flatpak init] wrote ${oe}`)}};function mergeArrays(n,a){if(!(!n?.length&&!a?.length))return[...n??[],...a??[]]}function deriveAppendPath(n){let a=[];for(let S of n){let n=/^org\.freedesktop\.Sdk\.Extension\.([A-Za-z0-9-]+)$/.exec(S);n&&a.push(`/usr/lib/sdk/${n[1]}/bin`)}return a.push(`/app/bin`),a}function deriveModuleName(n){let a=n.split(`.`);return a[a.length-1]||n}Be(),gx(),Rs(),qo();const $T={command:`build [manifest]`,description:"Build the Flatpak via `flatpak-builder`. Wraps a typical install + export + bundle + tarball pipeline.",builder:n=>n.positional(`manifest`,{description:`Path to the Flatpak manifest (default: first *.json that looks like a manifest in cwd)`,type:`string`,normalize:!0}).option(`build-dir`,{description:`flatpak-builder working directory`,type:`string`,default:`flatpak-build`,normalize:!0}).option(`install`,{description:"After build, run `flatpak-builder --user --install` to install locally",type:`boolean`,default:!1}).option(`repo`,{description:"Export the build into the given OSTree repo (passes `--repo=<dir>` to flatpak-builder)",type:`string`,normalize:!0}).option(`bundle`,{description:"After --repo export, build a single-file bundle (`flatpak build-bundle`) at this path",type:`string`,normalize:!0}).option(`tarball`,{description:`Create a tarball of the build dir (parity with the legacy build-flatpak.sh tarball step)`,type:`string`,normalize:!0}).option(`force-clean`,{description:`Pass --force-clean to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`sandbox`,{description:`Pass --sandbox to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`delete-build-dirs`,{description:`Pass --delete-build-dirs to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`install-deps-from`,{description:"Pass --install-deps-from to flatpak-builder (e.g. `flathub`)",type:`string`}).option(`verbose`,{description:`Print the underlying flatpak-builder invocations`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=No(a,n.manifest??findDefaultManifest(a));if(!existsSync(S))throw Error(`gjsify flatpak build: manifest ${S} not found`);let C=No(a,n.buildDir??`flatpak-build`),N=[];if(n.forceClean!==!1&&N.push(`--force-clean`),n.sandbox!==!1&&N.push(`--sandbox`),n.deleteBuildDirs!==!1&&N.push(`--delete-build-dirs`),n.installDepsFrom&&N.push(`--install-deps-from=${n.installDepsFrom}`),existsSync(C)&&rmSync(C,{recursive:!0,force:!0}),await runFlatpakBuilder([...N,C,S],{verbose:n.verbose}),n.install&&await runFlatpakBuilder([`--user`,`--install`,`--force-clean`,C,S],{verbose:n.verbose}),n.repo){let N=No(a,n.repo);mkdirSync(zo(N),{recursive:!0}),await runFlatpakBuilder([`--repo=${N}`,`--force-clean`,C,S],{verbose:n.verbose})}if(n.bundle){if(!n.repo)throw Error(`gjsify flatpak build: --bundle requires --repo (the bundle is built from the OSTree repo).`);let C=No(a,n.bundle);mkdirSync(zo(C),{recursive:!0}),await runFlatpak([`build-bundle`,No(a,n.repo),C,readManifestAppId(S)],{verbose:n.verbose})}if(n.tarball){let S=No(a,n.tarball);mkdirSync(zo(S),{recursive:!0}),await runTar([`-czf`,S,`-C`,C,`.`],{verbose:n.verbose})}ze.log(`[gjsify flatpak build] done (${C})`)}};function findDefaultManifest(n){return scanForManifest(n)??`flatpak.json`}function scanForManifest(n){let a=[];try{a=readdirSync(n)}catch{return}for(let S of a)if(S.endsWith(`.json`)&&!(S===`package.json`||S===`tsconfig.json`||S.startsWith(`.`)))try{let a=JSON.parse(readFileSync(No(n,S),`utf-8`));if(typeof a.id==`string`&&typeof a.runtime==`string`&&Array.isArray(a.modules))return S}catch{}}function readManifestAppId(n){let a=readFileSync(n,`utf-8`),S=JSON.parse(a);if(typeof S.id!=`string`)throw Error(`gjsify flatpak build: ${n} has no string "id" field`);return S.id}async function runFlatpakBuilder(n,a){return runProc(`flatpak-builder`,n,a,{notFoundHint:"flatpak-builder not found. Install via your distro (Fedora: `sudo dnf install flatpak-builder`)."})}async function runFlatpak(n,a){return runProc(`flatpak`,n,a,{notFoundHint:`flatpak not found. Install via your distro and add Flathub: see https://flathub.org/setup.`})}async function runTar(n,a){return runProc(`tar`,n,a,{notFoundHint:`tar not found.`})}function runProc(n,a,S,C){return S.verbose&&ze.log(`[gjsify flatpak] ${n} ${a.join(` `)}`),new Promise((S,N)=>{let F=spawn(n,a,{stdio:`inherit`});F.on(`error`,n=>{n.code===`ENOENT`?N(Error(`gjsify flatpak: ${C.notFoundHint}`)):N(n)}),F.on(`exit`,a=>{a===0?S():N(Error(`gjsify flatpak: ${n} exited with status ${a}`))})})}Be(),gx(),Rs(),qo();const eE={command:`deps`,description:"Generate Flatpak offline-cache sources from a yarn.lock / package-lock.json (wraps `flatpak-node-generator`).",builder:n=>n.option(`lockfile`,{description:`Path to lockfile (default: yarn.lock or package-lock.json in cwd)`,type:`string`,normalize:!0}).option(`type`,{description:`Lockfile type. Default: detected from filename.`,choices:[`yarn`,`npm`]}).option(`out`,{description:`Output JSON sources file`,type:`string`,default:`flatpak-node-sources.json`,normalize:!0}).option(`xdg-layout`,{description:`Pass --xdg-layout (recommended for Yarn Berry / PnP setups)`,type:`boolean`,default:!0}).option(`electron-node-headers`,{description:`Pass --electron-node-headers`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print the underlying flatpak-node-generator invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=No(a,n.lockfile??detectLockfile(a));if(!existsSync(S))throw Error(`gjsify flatpak deps: lockfile ${S} not found (use --lockfile to override)`);let C=n.type??(S.endsWith(`package-lock.json`)?`npm`:`yarn`),N=No(a,n.out??`flatpak-node-sources.json`);mkdirSync(zo(N),{recursive:!0});let F=[C,S,`-o`,N];n.xdgLayout!==!1&&F.push(`--xdg-layout`),n.electronNodeHeaders&&F.push(`--electron-node-headers`),n.verbose&&ze.log(`[gjsify flatpak deps] flatpak-node-generator ${F.join(` `)}`),await new Promise((n,a)=>{let S=spawn(`flatpak-node-generator`,F,{stdio:`inherit`});S.on(`error`,n=>{n.code===`ENOENT`?a(Error("gjsify flatpak deps: flatpak-node-generator not found. Install via `pipx install flatpak-node-generator` (see https://github.com/flatpak/flatpak-builder-tools/tree/master/node).")):a(n)}),S.on(`exit`,S=>{S===0?n():a(Error(`gjsify flatpak deps: flatpak-node-generator exited with status ${S}`))})}),ze.log(`[gjsify flatpak deps] wrote ${N}`)}};function detectLockfile(n){return existsSync(No(n,`yarn.lock`))?`yarn.lock`:existsSync(No(n,`package-lock.json`))?`package-lock.json`:`yarn.lock`}Be(),Rs(),qo();const tE={command:`ci`,description:`Scaffold .github/workflows/flatpak.yml using the flathub-infra container + flatpak-builder@v6 action.`,builder:n=>n.option(`manifest`,{description:`Manifest path the workflow points at (default: <app-id>.json)`,type:`string`,normalize:!0}).option(`bundle`,{description:`Bundle filename produced by the action (default: <app-id>.flatpak)`,type:`string`,normalize:!0}).option(`runtime-image`,{description:"Container image override. Default derived from gjsify.flatpak.runtime + runtimeVersion (e.g. `ghcr.io/flathub-infra/flatpak-github-actions:gnome-50`).",type:`string`}).option(`branches`,{description:`Branches the workflow runs on push for (default: main)`,type:`string`,array:!0}).option(`out`,{description:`Output path`,type:`string`,default:`.github/workflows/flatpak.yml`,normalize:!0}).option(`cache-key`,{description:"Override the action `cache-key` (default: `flatpak-builder-${{ github.sha }}`)",type:`string`}).option(`force`,{description:`Overwrite an existing workflow file`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print resolved fields`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},C=readPackageJson(a),N=S.appId??(looksLikeAppId(C.name)?C.name:void 0);if(!N)throw Error(`gjsify flatpak ci: no app id available. Set gjsify.flatpak.appId in package.json or rename the package to a reverse-DNS id.`);let F=n.manifest??`${N}.json`,I=n.bundle??`${N}.flatpak`,{runtime:H,runtimeVersion:W}=resolveRuntime(S,{}),K=n.runtimeImage??S.ciContainer??defaultCiContainer(H,W),q=n.branches??S.ciBranches??[`main`],Y=n.cacheKey??"flatpak-builder-${{ github.sha }}",X=No(a,n.out??`.github/workflows/flatpak.yml`);if(existsSync(X)&&!n.force){if(readFileSync(X,`utf-8`)===renderWorkflow({manifest:F,bundle:I,runtimeImage:K,branches:q,cacheKey:Y})){ze.log(`[gjsify flatpak ci] ${X} already up to date`);return}throw Error(`gjsify flatpak ci: ${X} exists with different content. Pass --force to overwrite.`)}let te=renderWorkflow({manifest:F,bundle:I,runtimeImage:K,branches:q,cacheKey:Y});mkdirSync(zo(X),{recursive:!0}),writeFileSync(X,te,`utf-8`),n.verbose&&ze.log(`[gjsify flatpak ci] runtime-image=${K} manifest=${F} bundle=${I}`),ze.log(`[gjsify flatpak ci] wrote ${X}`)}};function renderWorkflow(n){let a=`[${n.branches.map(n=>JSON.stringify(n)).join(`, `)}]`;return`name: Flatpak
754
+ `),S(Error(`Cancelled by user`));return}F.name===`up`||F.name===`k`?(C=(C-1+n.length)%n.length,render(n,C,!1)):F.name===`down`||F.name===`j`?(C=(C+1)%n.length,render(n,C,!1)):(F.name===`return`||F.name===`enter`)&&(cleanup(),a(n[C]))}};Jt.on(`keypress`,onKeypress)})}Be();const UT={command:`create [project-name]`,description:`Scaffold a new Gjsify project in a new directory.`,builder:n=>{let a=discoverTemplates().map(n=>n.name);return n.positional(`project-name`,{describe:`Name of the project directory to create`,type:`string`,default:`my-gjs-app`}).option(`template`,{alias:`t`,describe:`Template to scaffold from`,type:`string`,choices:a.length>0?a:void 0}).option(`force`,{alias:`f`,describe:`Scaffold into a non-empty directory`,type:`boolean`,default:!1}).option(`install`,{describe:`Run npm install after scaffolding`,type:`boolean`,default:!1})},handler:async n=>{let a=n.template;if(!a){let n=discoverTemplates();if(!process.stdin.isTTY){let a=n.map(n=>n.name).join(`, `);ze.error(`Error: --template is required in non-interactive mode. Available templates: ${a||`(none)`}`),process.exit(1)}a=(await promptTemplate(n)).name}await createProject({projectName:n[`project-name`],template:a,force:n.force,install:n.install})}};Be(),gx(),gs(),qo(),gc();const WT=promisify(execFile);function defaultTargetFor(n){let a=Bo(n,Vo(n));return No(zo(n),a)}const GT={command:`gresource <xml>`,description:"Compile a GResource XML descriptor into a binary .gresource bundle (wraps `glib-compile-resources`).",builder:n=>n.positional(`xml`,{description:`Path to the .gresource.xml descriptor`,type:`string`,normalize:!0,demandOption:!0}).option(`sourcedir`,{description:`Directory containing the resource files referenced by <xml>`,type:`string`,normalize:!0}).option(`target`,{alias:`t`,description:`Output .gresource file (default: <xml-without-.xml> next to <xml>)`,type:`string`,normalize:!0}).option(`verbose`,{description:`Print the underlying glib-compile-resources invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=No(n.xml),S=n.target?No(n.target):defaultTargetFor(a),C=[`--sourcedir=${n.sourcedir?No(n.sourcedir):zo(a)}`,`--target=${S}`,a];n.verbose&&ze.log(`[gjsify gresource] glib-compile-resources ${C.join(` `)}`),await mkdir$1(zo(S),{recursive:!0});try{let{stdout:a,stderr:N}=await WT(`glib-compile-resources`,C);a&&process.stdout.write(a),N&&process.stderr.write(N),n.verbose&&ze.log(`[gjsify gresource] wrote ${S}`)}catch(n){n?.code===`ENOENT`?ze.error(`[gjsify gresource] glib-compile-resources not found. Install it via your distro (package: glib2-devel / libglib2.0-dev).`):(n?.stderr&&process.stderr.write(n.stderr),ze.error(`[gjsify gresource] glib-compile-resources failed${n?.code===void 0?``:` (exit ${n.code})`}`)),process.exitCode=typeof n?.code==`number`?n.code:1}}};Be(),gx(),gs(),qo(),gc();const KT=promisify(execFile);async function listLanguages(n){return(await readdir$1(n)).filter(n=>n.endsWith(`.po`)&&!n.startsWith(`.`)).map(n=>n.slice(0,-3)).sort()}function stripXmlComments(n){return n.replace(/<!--[\s\S]*?-->/g,``)}async function ensureDir(n){await mkdir$1(n,{recursive:!0})}async function fileExists(n){try{return await stat$1(n),!0}catch{return!1}}async function compileBulkXml(n){let a=Io(n.outDir,n.filename);await ensureDir(n.outDir);let S=[`--output-file=${a}`,`--xml`,`--template=${n.template}`,`-d`,n.poDir];n.verbose&&ze.log(`[gjsify gettext] msgfmt ${S.join(` `)}`),await KT(`msgfmt`,S),n.removeXmlComments&&await writeFile$1(a,stripXmlComments(await readFile$1(a,`utf-8`))),n.verbose&&ze.log(`[gjsify gettext] wrote ${a}`)}async function compilePerLanguage(n){let a=await listLanguages(n.poDir);if(a.length===0){ze.warn(`[gjsify gettext] no .po files found in ${n.poDir}`);return}for(let S of a){let a=Io(n.poDir,`${S}.po`),C=n.format===`mo`?Io(n.outDir,S,`LC_MESSAGES`):Io(n.outDir,S);await ensureDir(C);let N=[`--output-file=${Io(C,n.filename)}`];n.format!==`mo`&&N.push(`--${n.format}`),N.push(a),n.verbose&&ze.log(`[gjsify gettext] msgfmt ${N.join(` `)}`),await KT(`msgfmt`,N)}n.verbose&&ze.log(`[gjsify gettext] compiled ${a.length} language(s) into ${n.outDir}`)}function defaultFilename(n,a,S){switch(a){case`mo`:return`${n}.mo`;case`json`:return`${n}.json`;case`desktop`:return`${n}.desktop`;case`xml`:if(S){let n=S.replace(/\.in$/,``),a=n.lastIndexOf(`/`);return a>=0?n.slice(a+1):n}return`${n}.xml`}}const qT={command:`gettext <poDir> <outDir>`,description:`Compile gettext .po files to .mo (per-language locale tree) or substitute a metainfo template via msgfmt --xml.`,builder:n=>n.positional(`poDir`,{description:`Directory containing <lang>.po files`,type:`string`,normalize:!0,demandOption:!0}).positional(`outDir`,{description:`Output directory (locale tree for --format=mo, plain dir for xml/desktop/json)`,type:`string`,normalize:!0,demandOption:!0}).option(`domain`,{description:"Text domain / application ID (e.g. `org.pixelrpg.maker`)",type:`string`,normalize:!0,demandOption:!0}).option(`format`,{description:`Output format`,type:`string`,choices:[`mo`,`xml`,`desktop`,`json`],default:`mo`}).option(`metainfo`,{description:"For --format=xml: path to the template (`.metainfo.xml.in`) used as msgfmt --template",type:`string`,normalize:!0}).option(`filename`,{description:`Override the output filename (defaults to <domain>.<ext>)`,type:`string`,normalize:!0}).option(`remove-xml-comments`,{description:`For --format=xml: strip XML comments from the compiled output`,type:`boolean`,default:!0}).option(`verbose`,{description:`Print each msgfmt invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=No(n.poDir),S=No(n.outDir),C=n.domain,N=n.format??`mo`,F=n.metainfo?No(n.metainfo):void 0,I=n.filename??defaultFilename(C,N,F),H=!!n.verbose,W=!!n[`remove-xml-comments`];if(!await fileExists(a)){ze.error(`[gjsify gettext] PO directory does not exist: ${a}`),process.exitCode=1;return}try{N===`xml`&&F?await compileBulkXml({poDir:a,outDir:S,domain:C,template:F,filename:I,removeXmlComments:W,verbose:H}):(N===`xml`&&ze.warn(`[gjsify gettext] --format=xml without --metainfo: falling back to per-language XML files`),await compilePerLanguage({poDir:a,outDir:S,domain:C,format:N,filename:I,verbose:H}))}catch(n){n?.code===`ENOENT`?ze.error(`[gjsify gettext] msgfmt not found. Install it via your distro (package: gettext).`):(n?.stderr&&process.stderr.write(n.stderr),ze.error(`[gjsify gettext] msgfmt failed${n?.code===void 0?``:` (exit ${n.code})`}`)),process.exitCode=typeof n?.code==`number`?n.code:1}}};Be(),gx(),gs(),qo(),gc();const JT=promisify(execFile),YT={command:`gsettings <schemadir>`,description:"Compile GSettings schema XML files into a binary gschemas.compiled (wraps `glib-compile-schemas`).",builder:n=>n.positional(`schemadir`,{description:`Directory containing *.gschema.xml descriptors`,type:`string`,normalize:!0,demandOption:!0}).option(`targetdir`,{alias:`t`,description:`Directory to write gschemas.compiled (default: <schemadir>)`,type:`string`,normalize:!0}).option(`strict`,{description:`Abort on any schema warning (passes --strict to glib-compile-schemas)`,type:`boolean`,default:!0}).option(`verbose`,{description:`Print the underlying glib-compile-schemas invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=No(n.schemadir),S=n.targetdir?No(n.targetdir):a,C=[];n.strict&&C.push(`--strict`),C.push(`--targetdir=${S}`),C.push(a),n.verbose&&ze.log(`[gjsify gsettings] glib-compile-schemas ${C.join(` `)}`),await mkdir$1(S,{recursive:!0});try{let{stdout:a,stderr:N}=await JT(`glib-compile-schemas`,C);a&&process.stdout.write(a),N&&process.stderr.write(N),n.verbose&&ze.log(`[gjsify gsettings] wrote ${S}/gschemas.compiled`)}catch(n){n?.code===`ENOENT`?ze.error(`[gjsify gsettings] glib-compile-schemas not found. Install it via your distro (package: glib2-devel / libglib2.0-dev).`):(n?.stderr&&process.stderr.write(n.stderr),ze.error(`[gjsify gsettings] glib-compile-schemas failed${n?.code===void 0?``:` (exit ${n.code})`}`)),process.exitCode=typeof n?.code==`number`?n.code:1}}};Rs(),qo();const XT=[`--device=dri`,`--share=ipc`,`--socket=fallback-x11`,`--socket=wayland`],ZT=[];function readPackageJson(n){let a=No(n,`package.json`),S;try{S=readFileSync(a,`utf-8`)}catch{throw Error(`gjsify flatpak: no package.json found at ${a}`)}try{return JSON.parse(S)}catch(n){throw Error(`gjsify flatpak: package.json at ${a} is not valid JSON: ${n.message}`)}}function looksLikeAppId(n){return typeof n==`string`&&/^[A-Za-z][A-Za-z0-9_-]*(\.[A-Za-z][A-Za-z0-9_-]*){2,}$/.test(n)}function resolveRuntime(n,a){let S=a.runtime??n?.runtime??`gnome`;if(S!==`gnome`&&S!==`freedesktop`)throw Error(`gjsify flatpak: unknown runtime "${S}" (expected "gnome" or "freedesktop")`);let C=a.runtimeVersion??n?.runtimeVersion??(S===`gnome`?`50`:`24.08`);return S===`gnome`?{runtime:S,runtimeId:`org.gnome.Platform`,sdk:`org.gnome.Sdk`,runtimeVersion:C}:{runtime:S,runtimeId:`org.freedesktop.Platform`,sdk:`org.freedesktop.Sdk`,runtimeVersion:C}}function defaultCiContainer(n,a){return`ghcr.io/flathub-infra/flatpak-github-actions:${`${n}-${a}`}`}Rs();function loadDesktopTemplate(){return readFileSync(new URL(`../../templates/flatpak/desktop.tmpl`,import.meta.url),`utf-8`)}function loadFlathubAppTemplate(){return readFileSync(new URL(`../../templates/flatpak/flathub-app.json.tmpl`,import.meta.url),`utf-8`)}function loadFlathubCliTemplate(){return readFileSync(new URL(`../../templates/flatpak/flathub-cli.json.tmpl`,import.meta.url),`utf-8`)}function validateScaffoldInputs(n){let a=n.flatpak,S=[];return(!a.developer?.id||!a.developer?.name)&&S.push({field:`gjsify.flatpak.developer`,hint:'Set `gjsify.flatpak.developer = { "id": "io.github.you", "name": "Your Name" }` in package.json. The id is reverse-DNS.'}),a.summary||S.push({field:`gjsify.flatpak.summary`,hint:`One-line app summary, ≤80 chars, no trailing period. Example: "Learn 6502 assembly language".`}),a.description||S.push({field:`gjsify.flatpak.description`,hint:`Plain text (split on blank lines) or DescriptionBlock[] for rich content with bullet lists + translator hints.`}),a.license?.project||S.push({field:`gjsify.flatpak.license.project`,hint:`SPDX identifier of the project license, e.g. "MIT", "GPL-3.0-or-later".`}),a.homepageUrl||S.push({field:`gjsify.flatpak.homepageUrl`,hint:`Required by Flathub. Example: "https://github.com/you/your-repo".`}),S}function renderMetainfoApp(n){return renderMetainfo(n,`desktop-application`)}function renderMetainfoCli(n){return renderMetainfo(n,`console-application`)}function renderDesktop(n){let a=n.flatpak,S=(a.categories??[`Utility`]).join(`;`)+`;`,C=a.keywords?.length?`Keywords=${a.keywords.join(`;`)};\n`:``;return substitute(loadDesktopTemplate(),{NAME:n.name,SUMMARY:a.summary??n.name,COMMAND:n.command,APP_ID:n.appId,CATEGORIES_LINE:S,KEYWORDS_LINE:C})}function renderFlathubJson(n){return n===`cli`?loadFlathubCliTemplate():loadFlathubAppTemplate()}function renderMetainfo(n,a){let S=n.flatpak,C=new Date().getFullYear(),N=S.developer?.name??``,F=[];F.push(`<?xml version="1.0" encoding="UTF-8"?>`),F.push(`<!-- Copyright ${C} ${escapeXml(N)} -->`),F.push(`<component type="${a}">`),F.push(` <id>${escapeXml(n.appId)}</id>`),F.push(` <metadata_license>${escapeXml(S.license?.metadata??`CC0-1.0`)}</metadata_license>`),F.push(` <project_license>${escapeXml(S.license?.project??``)}</project_license>`),F.push(` <name>${escapeXml(n.name)}</name>`),pushTranslatorHint(F,S.summaryTranslatorHint,` `),F.push(` <summary>${escapeXml(S.summary??n.name)}</summary>`),S.iconRemote&&F.push(` <icon type="remote">${escapeXml(S.iconRemote)}</icon>`),F.push(` <description>`);for(let n of renderDescriptionBlocks(S.description??``,` `))F.push(n);if(F.push(` </description>`),S.developer?.id&&S.developer?.name){F.push(` <developer id="${escapeXml(S.developer.id)}">`);let n=S.developer.nameTranslatable===!0?``:` translate="no"`;F.push(` <name${n}>${escapeXml(S.developer.name)}</name>`),S.developer.email&&F.push(` <email>${escapeXml(S.developer.email)}</email>`),F.push(` </developer>`)}a===`desktop-application`&&F.push(` <launchable type="desktop-id">${escapeXml(n.appId)}.desktop</launchable>`),S.screenshots?.length&&(F.push(` <screenshots>`),S.screenshots.forEach((n,a)=>{let S=n.type??(a===0?`default`:void 0),C=S?` type="${escapeXml(S)}"`:``,N=n.environment?` environment="${escapeXml(n.environment)}"`:``;F.push(` <screenshot${C}${N}>`),F.push(` <image>${escapeXml(n.url)}</image>`),n.caption&&(pushTranslatorHint(F,n.captionTranslatorHint,` `),F.push(` <caption>${escapeXml(n.caption)}</caption>`)),F.push(` </screenshot>`)}),F.push(` </screenshots>`)),S.homepageUrl&&F.push(` <url type="homepage">${escapeXml(S.homepageUrl)}</url>`),S.bugtrackerUrl&&F.push(` <url type="bugtracker">${escapeXml(S.bugtrackerUrl)}</url>`),S.vcsBrowserUrl&&F.push(` <url type="vcs-browser">${escapeXml(S.vcsBrowserUrl)}</url>`),S.donationUrl&&F.push(` <url type="donation">${escapeXml(S.donationUrl)}</url>`),S.translateUrl&&F.push(` <url type="translate">${escapeXml(S.translateUrl)}</url>`);let I=normaliseContentRating(S.contentRating);if(I.attributes&&Object.keys(I.attributes).length>0){F.push(` <content_rating type="${escapeXml(I.type)}">`);for(let[n,a]of Object.entries(I.attributes))F.push(` <content_attribute id="${escapeXml(n)}">${escapeXml(a)}</content_attribute>`);F.push(` </content_rating>`)}else F.push(` <content_rating type="${escapeXml(I.type)}" />`);if(S.releases?.length){F.push(` <releases>`);for(let n of S.releases)if(n.description===void 0)F.push(` <release version="${escapeXml(n.version)}" date="${escapeXml(n.date)}" />`);else{F.push(` <release version="${escapeXml(n.version)}" date="${escapeXml(n.date)}">`),F.push(` <description>`);for(let a of renderDescriptionBlocks(n.description,` `))F.push(a);F.push(` </description>`),F.push(` </release>`)}F.push(` </releases>`)}if(S.categories?.length){F.push(` <categories>`);for(let n of S.categories)F.push(` <category>${escapeXml(n)}</category>`);F.push(` </categories>`)}if(S.keywords?.length){F.push(` <keywords>`);for(let n of S.keywords)F.push(` <keyword>${escapeXml(n)}</keyword>`);F.push(` </keywords>`)}if(a===`desktop-application`&&S.branding&&(F.push(` <branding>`),F.push(` <color type="primary" scheme_preference="light">${escapeXml(S.branding.accentLight)}</color>`),F.push(` <color type="primary" scheme_preference="dark">${escapeXml(S.branding.accentDark)}</color>`),F.push(` </branding>`)),S.kudos?.length){F.push(` <kudos>`);for(let n of S.kudos)F.push(` <kudo>${escapeXml(n)}</kudo>`);F.push(` </kudos>`)}let H=S.provides?.binaries??[n.command],W=S.provides?.mimetypes??[],K=S.provides?.dbus??[];if(H.length||W.length||K.length){F.push(` <provides>`);for(let n of H)F.push(` <binary>${escapeXml(n)}</binary>`);for(let n of W)F.push(` <mediatype>${escapeXml(n)}</mediatype>`);for(let n of K)F.push(` <dbus type="${escapeXml(n.type)}">${escapeXml(n.id)}</dbus>`);F.push(` </provides>`)}if(S.supports?.controls?.length||S.supports?.internet){F.push(` <supports>`);for(let n of S.supports.controls??[])F.push(` <control>${escapeXml(n)}</control>`);S.supports.internet&&F.push(` <internet>${escapeXml(S.supports.internet)}</internet>`),F.push(` </supports>`)}if(S.requires?.displayLengthMin||S.requires?.controls?.length||S.requires?.internet){F.push(` <requires>`),S.requires.displayLengthMin&&F.push(` <display_length compare="ge">${S.requires.displayLengthMin}</display_length>`);for(let n of S.requires.controls??[])F.push(` <control>${escapeXml(n)}</control>`);S.requires.internet&&F.push(` <internet>${escapeXml(S.requires.internet)}</internet>`),F.push(` </requires>`)}if(S.recommends?.displayLengthMin||S.recommends?.controls?.length){F.push(` <recommends>`),S.recommends.displayLengthMin&&F.push(` <display_length compare="ge">${S.recommends.displayLengthMin}</display_length>`);for(let n of S.recommends.controls??[])F.push(` <control>${escapeXml(n)}</control>`);F.push(` </recommends>`)}return F.push(`</component>`),F.join(`
755
+ `)+`
756
+ `}function renderDescriptionBlocks(n,a){let S=typeof n==`string`?stringToBlocks(n):n,C=[];for(let n of S)if(`p`in n)pushTranslatorHint(C,n.translatorHint,a),C.push(`${a}<p>${escapeXml(n.p.trim().replace(/\s+/g,` `))}</p>`);else{pushTranslatorHint(C,n.translatorHint,a),C.push(`${a}<ul>`);for(let S of n.ul)typeof S==`string`?C.push(`${a} <li>${escapeXml(S)}</li>`):(pushTranslatorHint(C,S.translatorHint,`${a} `),C.push(`${a} <li>${escapeXml(S.item)}</li>`));C.push(`${a}</ul>`)}return C}function stringToBlocks(n){return n.trim().split(/\n\n+/).map(n=>({p:n.trim().replace(/\s+/g,` `)}))}function pushTranslatorHint(n,a,S){a&&n.push(`${S}<!-- TRANSLATORS: ${a} -->`)}function normaliseContentRating(n){return n===void 0?{type:`oars-1.1`}:typeof n==`string`?{type:n}:{type:n.type??`oars-1.1`,attributes:n.attributes}}function substitute(n,a){let S=n;for(let[n,C]of Object.entries(a))S=S.split(`{{${n}}}`).join(C);return S}function escapeXml(n){return n.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}Be(),Rs(),qo();const QT={command:`init`,description:"Generate Flatpak manifest + MetaInfo XML + .desktop + flathub.json from `gjsify.flatpak` config.",builder:n=>n.option(`app-id`,{description:"Reverse-DNS app id (default: `gjsify.flatpak.appId` or package.json#name)",type:`string`}).option(`runtime`,{description:`Runtime family`,choices:[`gnome`,`freedesktop`]}).option(`runtime-version`,{description:`Runtime version (default: gnome -> 50, freedesktop -> 24.08)`,type:`string`}).option(`kind`,{description:`App kind: "app" (default, desktop) or "cli" (console-application MetaInfo, no .desktop)`,choices:[`app`,`cli`]}).option(`cli-only`,{description:"(Deprecated) Alias for `--kind cli`. Use --kind instead.",type:`boolean`,default:!1}).option(`manifest`,{description:"Output path for the manifest. Default: `<app-id>.json` in cwd.",type:`string`,normalize:!0}).option(`metainfo`,{description:"Output path for the MetaInfo XML. Default: `data/<app-id>.metainfo.xml.in` in cwd.",type:`string`,normalize:!0}).option(`desktop`,{description:"Output path for the .desktop entry (app kind only). Default: `data/<app-id>.desktop.in`.",type:`string`,normalize:!0}).option(`flathub-json`,{description:"Output path for the flathub.json policy stub. Default: `flathub.json` in cwd.",type:`string`,normalize:!0}).option(`command`,{description:`Binary name in /app/bin (default: app id)`,type:`string`}).option(`sdk-extension`,{description:`Extra SDK extension (repeatable)`,type:`string`,array:!0}).option(`finish-arg`,{description:`Extra finish-arg (repeatable). Override defaults entirely with multiple --finish-arg.`,type:`string`,array:!0}).option(`force`,{description:`Overwrite existing output files (manifest, metainfo, desktop, flathub.json)`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print the resolved manifest fields before writing`,type:`boolean`,default:!1}),handler:async n=>{let a=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},S=process.cwd(),C=readPackageJson(S),N=n.appId??a.appId??(looksLikeAppId(C.name)?C.name:void 0);if(!N)throw Error(`gjsify flatpak init: no app id available. Pass --app-id, set gjsify.flatpak.appId in package.json, or rename the package to a reverse-DNS id like org.example.MyApp.`);let F=n.kind??a.kind??(n.cliOnly?`cli`:`app`),{runtime:I,runtimeId:H,sdk:W,runtimeVersion:K}=resolveRuntime(a,{runtime:n.runtime,runtimeVersion:n.runtimeVersion}),q=mergeArrays(a.sdkExtensions,n.sdkExtension),Y=a.appendPath??(q?.length?deriveAppendPath(q):void 0),X=n.command??a.command??N,te=n.finishArg,ne=te===void 0?a.finishArgs??(F===`cli`?ZT:XT):te,re={id:N,runtime:H,"runtime-version":K,sdk:W};q?.length&&(re[`sdk-extensions`]=q),Y?.length&&(re[`build-options`]={"append-path":Y.join(`:`)}),re.command=X,re[`finish-args`]=ne;let ie=a.cleanup;ie?.length&&(re.cleanup=ie);let ae=[];a.extraModules?.length&&ae.push(...a.extraModules),ae.push({name:deriveModuleName(N),buildsystem:`meson`,sources:[{type:`dir`,path:`.`}]}),re.modules=ae,writeIfFresh(No(S,n.manifest??`${N}.json`),JSON.stringify(re,null,4)+`
757
+ `,n.force??!1,`manifest`);let oe={appId:N,name:friendlyName(C.name??N,N),command:X,kind:F,flatpak:a},Z=validateScaffoldInputs(oe);if(Z.length>0){ze.warn(`[gjsify flatpak init] Manifest written, but MetaInfo / .desktop are skipped — config gaps:`);for(let n of Z)ze.warn(` - ${n.field}: ${n.hint}`);ze.warn(`
758
+ Fill these fields in package.json#gjsify.flatpak (or .gjsifyrc.*) and re-run with --force.`)}else{let C=F===`cli`?renderMetainfoCli(oe):renderMetainfoApp(oe);writeIfFresh(No(S,n.metainfo??`data/${N}.metainfo.xml.in`),C,n.force??!1,`metainfo`),F===`app`&&(writeIfFresh(No(S,n.desktop??`data/${N}.desktop.in`),renderDesktop(oe),n.force??!1,`desktop`),a.icon||ze.warn(`[gjsify flatpak init] No gjsify.flatpak.icon set. Flathub requires a scalable SVG at\n data/icons/hicolor/scalable/apps/${N}.svg`)),writeIfFresh(No(S,n.flathubJson??`flathub.json`),renderFlathubJson(F),n.force??!1,`flathub.json`)}n.verbose&&(ze.log(`[gjsify flatpak init] kind=${F} runtime=${H} ${K} sdk=${W}`),ze.log(`[gjsify flatpak init] command=${X} finish-args=${JSON.stringify(ne)}`))}};function writeIfFresh(n,a,S,C){if(existsSync(n)&&!S){ze.log(`[gjsify flatpak init] skipped ${C}: ${n} (exists; --force to overwrite)`);return}mkdirSync(zo(n),{recursive:!0}),writeFileSync(n,a,`utf-8`),ze.log(`[gjsify flatpak init] wrote ${C}: ${n}`)}function friendlyName(n,a){if(n.startsWith(`@`))return n.slice(n.indexOf(`/`)+1);if(n===a){let n=a.split(`.`);return n[n.length-1]??a}return n}function mergeArrays(n,a){if(!(!n?.length&&!a?.length))return[...n??[],...a??[]]}function deriveAppendPath(n){let a=[];for(let S of n){let n=/^org\.freedesktop\.Sdk\.Extension\.([A-Za-z0-9-]+)$/.exec(S);n&&a.push(`/usr/lib/sdk/${n[1]}/bin`)}return a.push(`/app/bin`),a}function deriveModuleName(n){let a=n.split(`.`);return a[a.length-1]||n}Be(),gx(),Rs(),qo();const $T={command:`build [manifest]`,description:"Build the Flatpak via `flatpak-builder`. Wraps a typical install + export + bundle + tarball pipeline.",builder:n=>n.positional(`manifest`,{description:`Path to the Flatpak manifest (default: first *.json that looks like a manifest in cwd)`,type:`string`,normalize:!0}).option(`build-dir`,{description:`flatpak-builder working directory`,type:`string`,default:`flatpak-build`,normalize:!0}).option(`install`,{description:"After build, run `flatpak-builder --user --install` to install locally",type:`boolean`,default:!1}).option(`repo`,{description:"Export the build into the given OSTree repo (passes `--repo=<dir>` to flatpak-builder)",type:`string`,normalize:!0}).option(`bundle`,{description:"After --repo export, build a single-file bundle (`flatpak build-bundle`) at this path",type:`string`,normalize:!0}).option(`tarball`,{description:`Create a tarball of the build dir (parity with the legacy build-flatpak.sh tarball step)`,type:`string`,normalize:!0}).option(`force-clean`,{description:`Pass --force-clean to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`sandbox`,{description:`Pass --sandbox to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`delete-build-dirs`,{description:`Pass --delete-build-dirs to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`install-deps-from`,{description:"Pass --install-deps-from to flatpak-builder (e.g. `flathub`)",type:`string`}).option(`verbose`,{description:`Print the underlying flatpak-builder invocations`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=No(a,n.manifest??findDefaultManifest(a));if(!existsSync(S))throw Error(`gjsify flatpak build: manifest ${S} not found`);let C=No(a,n.buildDir??`flatpak-build`),N=[];if(n.forceClean!==!1&&N.push(`--force-clean`),n.sandbox!==!1&&N.push(`--sandbox`),n.deleteBuildDirs!==!1&&N.push(`--delete-build-dirs`),n.installDepsFrom&&N.push(`--install-deps-from=${n.installDepsFrom}`),existsSync(C)&&rmSync(C,{recursive:!0,force:!0}),await runFlatpakBuilder([...N,C,S],{verbose:n.verbose}),n.install&&await runFlatpakBuilder([`--user`,`--install`,`--force-clean`,C,S],{verbose:n.verbose}),n.repo){let N=No(a,n.repo);mkdirSync(zo(N),{recursive:!0}),await runFlatpakBuilder([`--repo=${N}`,`--force-clean`,C,S],{verbose:n.verbose})}if(n.bundle){if(!n.repo)throw Error(`gjsify flatpak build: --bundle requires --repo (the bundle is built from the OSTree repo).`);let C=No(a,n.bundle);mkdirSync(zo(C),{recursive:!0}),await runFlatpak([`build-bundle`,No(a,n.repo),C,readManifestAppId(S)],{verbose:n.verbose})}if(n.tarball){let S=No(a,n.tarball);mkdirSync(zo(S),{recursive:!0}),await runTar([`-czf`,S,`-C`,C,`.`],{verbose:n.verbose})}ze.log(`[gjsify flatpak build] done (${C})`)}};function findDefaultManifest(n){return scanForManifest(n)??`flatpak.json`}function scanForManifest(n){let a=[];try{a=readdirSync(n)}catch{return}for(let S of a)if(S.endsWith(`.json`)&&!(S===`package.json`||S===`tsconfig.json`||S.startsWith(`.`)))try{let a=JSON.parse(readFileSync(No(n,S),`utf-8`));if(typeof a.id==`string`&&typeof a.runtime==`string`&&Array.isArray(a.modules))return S}catch{}}function readManifestAppId(n){let a=readFileSync(n,`utf-8`),S=JSON.parse(a);if(typeof S.id!=`string`)throw Error(`gjsify flatpak build: ${n} has no string "id" field`);return S.id}async function runFlatpakBuilder(n,a){return runProc(`flatpak-builder`,n,a,{notFoundHint:"flatpak-builder not found. Install via your distro (Fedora: `sudo dnf install flatpak-builder`)."})}async function runFlatpak(n,a){return runProc(`flatpak`,n,a,{notFoundHint:`flatpak not found. Install via your distro and add Flathub: see https://flathub.org/setup.`})}async function runTar(n,a){return runProc(`tar`,n,a,{notFoundHint:`tar not found.`})}function runProc(n,a,S,C){return S.verbose&&ze.log(`[gjsify flatpak] ${n} ${a.join(` `)}`),new Promise((S,N)=>{let F=spawn(n,a,{stdio:`inherit`});F.on(`error`,n=>{n.code===`ENOENT`?N(Error(`gjsify flatpak: ${C.notFoundHint}`)):N(n)}),F.on(`exit`,a=>{a===0?S():N(Error(`gjsify flatpak: ${n} exited with status ${a}`))})})}Be(),gx(),Rs(),qo();const eE={command:`deps`,description:"Generate Flatpak offline-cache sources from a yarn.lock / package-lock.json (wraps `flatpak-node-generator`).",builder:n=>n.option(`lockfile`,{description:`Path to lockfile (default: yarn.lock or package-lock.json in cwd)`,type:`string`,normalize:!0}).option(`type`,{description:`Lockfile type. Default: detected from filename.`,choices:[`yarn`,`npm`]}).option(`out`,{description:`Output JSON sources file`,type:`string`,default:`flatpak-node-sources.json`,normalize:!0}).option(`xdg-layout`,{description:`Pass --xdg-layout (recommended for Yarn Berry / PnP setups)`,type:`boolean`,default:!0}).option(`electron-node-headers`,{description:`Pass --electron-node-headers`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print the underlying flatpak-node-generator invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=No(a,n.lockfile??detectLockfile(a));if(!existsSync(S))throw Error(`gjsify flatpak deps: lockfile ${S} not found (use --lockfile to override)`);let C=n.type??(S.endsWith(`package-lock.json`)?`npm`:`yarn`),N=No(a,n.out??`flatpak-node-sources.json`);mkdirSync(zo(N),{recursive:!0});let F=[C,S,`-o`,N];n.xdgLayout!==!1&&F.push(`--xdg-layout`),n.electronNodeHeaders&&F.push(`--electron-node-headers`),n.verbose&&ze.log(`[gjsify flatpak deps] flatpak-node-generator ${F.join(` `)}`),await new Promise((n,a)=>{let S=spawn(`flatpak-node-generator`,F,{stdio:`inherit`});S.on(`error`,n=>{n.code===`ENOENT`?a(Error("gjsify flatpak deps: flatpak-node-generator not found. Install via `pipx install flatpak-node-generator` (see https://github.com/flatpak/flatpak-builder-tools/tree/master/node).")):a(n)}),S.on(`exit`,S=>{S===0?n():a(Error(`gjsify flatpak deps: flatpak-node-generator exited with status ${S}`))})}),ze.log(`[gjsify flatpak deps] wrote ${N}`)}};function detectLockfile(n){return existsSync(No(n,`yarn.lock`))?`yarn.lock`:existsSync(No(n,`package-lock.json`))?`package-lock.json`:`yarn.lock`}Be(),Rs(),qo();const tE={command:`ci`,description:`Scaffold .github/workflows/flatpak.yml using the flathub-infra container + flatpak-builder@v6 action.`,builder:n=>n.option(`manifest`,{description:`Manifest path the workflow points at (default: <app-id>.json)`,type:`string`,normalize:!0}).option(`bundle`,{description:`Bundle filename produced by the action (default: <app-id>.flatpak)`,type:`string`,normalize:!0}).option(`runtime-image`,{description:"Container image override. Default derived from gjsify.flatpak.runtime + runtimeVersion (e.g. `ghcr.io/flathub-infra/flatpak-github-actions:gnome-50`).",type:`string`}).option(`branches`,{description:`Branches the workflow runs on push for (default: main)`,type:`string`,array:!0}).option(`out`,{description:`Output path`,type:`string`,default:`.github/workflows/flatpak.yml`,normalize:!0}).option(`cache-key`,{description:"Override the action `cache-key` (default: `flatpak-builder-${{ github.sha }}`)",type:`string`}).option(`force`,{description:`Overwrite an existing workflow file`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print resolved fields`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},C=readPackageJson(a),N=S.appId??(looksLikeAppId(C.name)?C.name:void 0);if(!N)throw Error(`gjsify flatpak ci: no app id available. Set gjsify.flatpak.appId in package.json or rename the package to a reverse-DNS id.`);let F=n.manifest??`${N}.json`,I=n.bundle??`${N}.flatpak`,{runtime:H,runtimeVersion:W}=resolveRuntime(S,{}),K=n.runtimeImage??S.ciContainer??defaultCiContainer(H,W),q=n.branches??S.ciBranches??[`main`],Y=n.cacheKey??"flatpak-builder-${{ github.sha }}",X=No(a,n.out??`.github/workflows/flatpak.yml`);if(existsSync(X)&&!n.force){if(readFileSync(X,`utf-8`)===renderWorkflow({manifest:F,bundle:I,runtimeImage:K,branches:q,cacheKey:Y})){ze.log(`[gjsify flatpak ci] ${X} already up to date`);return}throw Error(`gjsify flatpak ci: ${X} exists with different content. Pass --force to overwrite.`)}let te=renderWorkflow({manifest:F,bundle:I,runtimeImage:K,branches:q,cacheKey:Y});mkdirSync(zo(X),{recursive:!0}),writeFileSync(X,te,`utf-8`),n.verbose&&ze.log(`[gjsify flatpak ci] runtime-image=${K} manifest=${F} bundle=${I}`),ze.log(`[gjsify flatpak ci] wrote ${X}`)}};function renderWorkflow(n){let a=`[${n.branches.map(n=>JSON.stringify(n)).join(`, `)}]`;return`name: Flatpak
756
759
 
757
760
  on:
758
761
  push:
@@ -780,17 +783,17 @@ jobs:
780
783
  manifest-path: ${n.manifest}
781
784
  bundle: ${n.bundle}
782
785
  cache-key: ${n.cacheKey}
783
- `}const nE={command:`flatpak <subcommand>`,description:`Flatpak toolchain: init/build/deps/ci subcommands for shipping GJS apps and CLIs as Flatpaks.`,builder:n=>n.command(QT.command,QT.description,QT.builder,QT.handler).command($T.command,$T.description,$T.builder,$T.handler).command(eE.command,eE.description,eE.builder,eE.handler).command(tE.command,tE.description,tE.builder,tE.handler).demandCommand(1).strict()};Rs(),qo();const rE=/^(?:@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/;function parseSpec$1(n){if(!n)throw Error(`dlx: empty package spec`);if(n.startsWith(`./`)||n.startsWith(`../`)||Fo(n)||existsSync(n))return{kind:`local`,path:No(n)};let a=n,S,C=n.lastIndexOf(`@`);if(C>0&&(a=n.slice(0,C),S=n.slice(C+1)),!rE.test(a))throw Error(`dlx: invalid package name "${a}"`);return{kind:`registry`,name:a,version:S,spec:n}}__name$1(parseSpec$1,`parseSpec`),Rs(),qo();function resolveGjsEntry(n,a){let S=Io(n,`package.json`);if(!existsSync(S))throw Error(`dlx: no package.json found at ${n}`);let C=JSON.parse(readFileSync(S,`utf-8`)),N=C.gjsify?.bin,F=C.gjsify?.main,I=C.main,H,W=null,K=!1;if(a!==null){if(!N||!N[a]){let S=N?Object.keys(N).join(`, `):`(none)`;throw Error(`dlx: package "${C.name??n}" has no GJS bin named "${a}" — known: ${S}`)}H=N[a],W=a}else if(N&&Object.keys(N).length===1){let n=Object.keys(N)[0];H=N[n],W=n}else F?H=F:I&&(H=I,K=!0);if(N&&Object.keys(N).length>1&&a===null){let a=Object.keys(N).join(`, `);throw Error(`dlx: package "${C.name??n}" defines multiple GJS bins — pass one of: ${a}`)}if(!H)throw Error(`dlx: package "${C.name??n}" has no GJS entry — set \`gjsify.main\` (or \`gjsify.bin\`) in its package.json`);let q=No(n,H);if(!existsSync(q))throw Error(`dlx: GJS entry not found: ${q}`);return{bundlePath:q,binName:W,fromFallback:K}}Ma(),Rs(),op(),qo();function lexCompare(n,a){return n<a?-1:+(n>a)}function createCacheKey(n){let a=[...n.packages].sort(lexCompare),S=Object.entries(n.registries??{}).sort(([n],[a])=>lexCompare(n,a)),C=JSON.stringify([a,S]);return createHash(`sha256`).update(C).digest(`hex`)}function dlxCacheRoot(){let n=process.env.XDG_CACHE_HOME,a=Io(n&&n.length>0?n:Io(homedir(),`.cache`),`gjsify`,`dlx`);return mkdirSync(a,{recursive:!0}),a}function cacheDirFor(n){let a=Io(dlxCacheRoot(),n);return mkdirSync(a,{recursive:!0}),a}function makePrepareDir(n){let a=Io(n,`${Date.now().toString(16)}-${process.pid.toString(16)}`);return mkdirSync(a,{recursive:!0}),a}function getValidCachedPkg(n,a=10080){let S=Io(n,`pkg`),C;try{C=lstatSync(S)}catch(n){if(n.code===`ENOENT`)return;throw n}if(!C.isSymbolicLink())return;let N;try{N=realpathSync(S)}catch{return}return Date.now()-C.mtime.getTime()<=a*6e4?N:void 0}function symlinkSwap(n,a){let S=Io(n,`pkg`),C=Io(n,`pkg.tmp-${Date.now().toString(16)}-${process.pid.toString(16)}`);try{symlinkSync(a,C,`dir`)}catch(n){throw n}try{renameSync(C,S)}catch(n){let a=n.code;if(a===`EBUSY`||a===`EPERM`||a===`EEXIST`){try{rmSync(C)}catch{}return realpathSync(S)}throw n}return realpathSync(S)}function resolveInstalledPkgDir(n,a){return No(n,`node_modules`,a)}function parse(n){try{return new SemVer(n)}catch{return null}}function satisfies(n,a){let S=a instanceof oE?a:new oE(a),C=n instanceof SemVer?n:parse(String(n));return C?S.test(C):!1}function maxSatisfying(n,a){let S=a instanceof oE?a:new oE(a),C=null;for(let a of n){let n=parse(a);!n||!S.test(n)||(C===null||n.compare(C)>0)&&(C=n)}return C?C.version:null}function testComparator(n,a){if(n.semver===null)return!0;let S=a.compare(n.semver);switch(n.operator){case``:case`=`:return S===0;case`<`:return S<0;case`<=`:return S<=0;case`>`:return S>0;case`>=`:return S>=0}}function formatComparator(n){return n.semver===null?`*`:`${n.operator}${n.semver.version}`}function parseRangePart(n){let a=n.trim();if(a===``||a===`*`||a.toLowerCase()===`latest`)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=a.match(/^\s*(\S+)\s+-\s+(\S+)\s*$/);if(S)return hyphenRange(S[1],S[2]);let C=a.replace(/(<=|>=|<|>|=)\s+(?=\S)/g,`$1`).split(/\s+/),N=[];for(let n of C)N.push(...parseSimple(n));return N}function parseSimple(n){if(n===`*`||n===``||n.toLowerCase()===`latest`)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];if(n.startsWith(`^`))return caretRange(n.slice(1));if(n.startsWith(`~`))return tildeRange(n.slice(1).replace(/^>/,``));let a=n.match(/^(<=|>=|<|>|=)\s*(.+)$/);if(a){let n=a[1];return primitiveRange(n,a[2])}return partialRange(n)}function parsePartial(n){let a=n.trim().replace(/^v/,``);if(a===``||a===`*`)return{major:null,minor:null,patch:null,pre:``,build:``};let S=``,C=``,N=a,F=N.indexOf(`+`);F>=0&&(C=N.slice(F+1),N=N.slice(0,F));let I=N.indexOf(`-`);I>=0&&(S=N.slice(I+1),N=N.slice(0,I));let H=N.split(`.`),xr=a=>{if(a===void 0||a===``||a===`x`||a===`X`||a===`*`)return null;if(!/^\d+$/.test(a))throw TypeError(`Invalid partial version: ${n}`);return Number(a)};return{major:xr(H[0]),minor:xr(H[1]),patch:xr(H[2]),pre:S,build:C}}function partialToVersion(n){return`${n.major??0}.${n.minor??0}.${n.patch??0}${n.pre?`-${n.pre}`:``}${n.build?`+${n.build}`:``}`}function partialRange(n){let a=parsePartial(n);return a.major===null?[{operator:`>=`,semver:new SemVer(`0.0.0`)}]:a.minor===null?[{operator:`>=`,semver:new SemVer(`${a.major}.0.0`)},{operator:`<`,semver:new SemVer(`${a.major+1}.0.0`)}]:a.patch===null?[{operator:`>=`,semver:new SemVer(`${a.major}.${a.minor}.0`)},{operator:`<`,semver:new SemVer(`${a.major}.${a.minor+1}.0`)}]:[{operator:`=`,semver:new SemVer(partialToVersion(a))}]}function caretRange(n){let a=parsePartial(n);if(a.major===null)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=`${a.major}.${a.minor??0}.${a.patch??0}${a.pre?`-${a.pre}`:``}`,C;return C=a.major>0||a.minor===null?`${a.major+1}.0.0`:a.minor>0||a.patch===null?`0.${a.minor+1}.0`:`0.0.${a.patch+1}`,[{operator:`>=`,semver:new SemVer(S)},{operator:`<`,semver:new SemVer(C)}]}function tildeRange(n){let a=parsePartial(n);if(a.major===null)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=`${a.major}.${a.minor??0}.${a.patch??0}${a.pre?`-${a.pre}`:``}`,C=a.minor===null?`${a.major+1}.0.0`:`${a.major}.${a.minor+1}.0`;return[{operator:`>=`,semver:new SemVer(S)},{operator:`<`,semver:new SemVer(C)}]}function primitiveRange(n,a){let S=parsePartial(a);return S.major===null?[{operator:`>=`,semver:new SemVer(`0.0.0`)}]:n===`=`||n===``?partialRange(a):n===`>`?S.minor===null?[{operator:`>=`,semver:new SemVer(`${S.major+1}.0.0`)}]:S.patch===null?[{operator:`>=`,semver:new SemVer(`${S.major}.${S.minor+1}.0`)}]:[{operator:`>`,semver:new SemVer(partialToVersion(S))}]:n===`<`?S.minor===null?[{operator:`<`,semver:new SemVer(`${S.major}.0.0`)}]:S.patch===null?[{operator:`<`,semver:new SemVer(`${S.major}.${S.minor}.0`)}]:[{operator:`<`,semver:new SemVer(partialToVersion(S))}]:n===`>=`?[{operator:`>=`,semver:new SemVer(partialToVersion(S))}]:S.minor===null?[{operator:`<`,semver:new SemVer(`${S.major+1}.0.0`)}]:S.patch===null?[{operator:`<`,semver:new SemVer(`${S.major}.${S.minor+1}.0`)}]:[{operator:`<=`,semver:new SemVer(partialToVersion(S))}]}function hyphenRange(n,a){let S=parsePartial(n),C=parsePartial(a),N=S.major===null?{operator:`>=`,semver:new SemVer(`0.0.0`)}:{operator:`>=`,semver:new SemVer(`${S.major}.${S.minor??0}.${S.patch??0}${S.pre?`-${S.pre}`:``}`)},F;return F=C.major===null?{operator:`>=`,semver:new SemVer(`0.0.0`)}:C.minor===null?{operator:`<`,semver:new SemVer(`${C.major+1}.0.0`)}:C.patch===null?{operator:`<`,semver:new SemVer(`${C.major}.${C.minor+1}.0`)}:{operator:`<=`,semver:new SemVer(`${C.major}.${C.minor}.${C.patch}${C.pre?`-${C.pre}`:``}`)},[N,F]}var iE,aE,SemVer,oE,sE=__esmMin(()=>{iE=/^(0|[1-9]\d*)$/,aE=/^(\d+)\.(\d+)\.(\d+)(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/,SemVer=class{major;minor;patch;prerelease;build;version;constructor(n){let a=String(n).trim().replace(/^v/,``),S=aE.exec(a);if(!S)throw TypeError(`Invalid Version: ${n}`);this.major=Number(S[1]),this.minor=Number(S[2]),this.patch=Number(S[3]),this.prerelease=S[4]?S[4].split(`.`).map(n=>iE.test(n)?Number(n):n):[],this.build=S[5]?S[5].split(`.`):[],this.version=`${this.major}.${this.minor}.${this.patch}`+(this.prerelease.length?`-${this.prerelease.join(`.`)}`:``)+(this.build.length?`+${this.build.join(`.`)}`:``)}compare(n){return this.major===n.major?this.minor===n.minor?this.patch===n.patch?this.comparePre(n):this.patch<n.patch?-1:1:this.minor<n.minor?-1:1:this.major<n.major?-1:1}comparePre(n){let a=this.prerelease,S=n.prerelease;if(a.length===0&&S.length===0)return 0;if(a.length===0)return 1;if(S.length===0)return-1;for(let n=0;;n++){let C=a[n],N=S[n];if(C===void 0&&N===void 0)return 0;if(N===void 0)return 1;if(C===void 0)return-1;if(C===N)continue;let F=typeof C==`number`,I=typeof N==`number`;return F&&!I?-1:!F&&I?1:C<N?-1:1}}toString(){return this.version}},oE=class Range{raw;set;constructor(n){if(n instanceof Range){this.raw=n.raw,this.set=n.set;return}this.raw=String(n).trim();let a=this.raw.split(/\s*\|\|\s*/),S=[];for(let n of a){let a=parseRangePart(n);if(a.length===0)throw TypeError(`Invalid range: ${this.raw}`);S.push(a)}if(S.length===0)throw TypeError(`Invalid range: ${this.raw}`);this.set=S}test(n){let a=n instanceof SemVer?n:parse(String(n));if(!a)return!1;for(let n of this.set)if(n.every(n=>testComparator(n,a))){if(a.prerelease.length>0&&!n.some(n=>n.semver!==null&&n.semver.prerelease.length>0&&n.semver.major===a.major&&n.semver.minor===a.minor&&n.semver.patch===a.patch))continue;return!0}return!1}format(){return this.set.map(n=>n.map(formatComparator).join(` `)).join(` || `)}toString(){return this.format()}}});function assertPackument(n,a){if(!a||typeof a!=`object`)throw TypeError(`registry: ${n} packument is not an object`);let S=a;if(typeof S.name!=`string`)throw TypeError(`registry: ${n} packument missing string name`);if(!S.versions||typeof S.versions!=`object`)throw TypeError(`registry: ${n} packument missing versions map`)}function registryFor(n,a){if(a&&n.startsWith(`@`)){let S=n.slice(0,n.indexOf(`/`)),C=a.scopes[S];if(C)return ensureTrailingSlash$1(C)}return a?.registry?ensureTrailingSlash$1(a.registry):cE}function packumentUrl(n,a){let S=ensureTrailingSlash$1(a);if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)throw TypeError(`Invalid scoped package name: ${n}`);let C=n.slice(0,a),N=n.slice(a+1);return`${S}${encodeURIComponent(C)}/${encodeURIComponent(N)}`}return`${S}${encodeURIComponent(n)}`}async function fetchPackument(n,a={}){let S=packumentUrl(n,a.registry??registryFor(n,a.npmrc)),C=buildHeaders(S,a);C.accept??=`application/vnd.npm.install-v1+json`;let N=a.fetch??globalThis.fetch;if(!N)throw Error(`@gjsify/npm-registry: globalThis.fetch is missing`);let F=await N(S,{headers:C,signal:a.signal});if(!F.ok)throw F.status===404?new PackageNotFoundError(n,S):Error(`registry GET ${S} -> ${F.status} ${F.statusText}`);let I=await F.json();return assertPackument(n,I),I}async function fetchTarball(n,a={}){let S=buildHeaders(n,a);S.accept??=`application/octet-stream`;let C=a.fetch??globalThis.fetch;if(!C)throw Error(`@gjsify/npm-registry: globalThis.fetch is missing`);let N=await C(n,{headers:S,signal:a.signal});if(!N.ok)throw Error(`tarball GET ${n} -> ${N.status} ${N.statusText}`);let F=new Uint8Array(await N.arrayBuffer());if(a.integrity&&!await verifyIntegrity(F,a.integrity))throw new IntegrityError(n,a.integrity);return F}async function verifyIntegrity(n,a){let S=a.trim().split(/\s+/);for(let a of S){let S=a.indexOf(`-`);if(S<0)continue;let C=a.slice(0,S).toLowerCase(),N=a.slice(S+1),F=globalThis.crypto?.subtle;if(!F)throw Error(`@gjsify/npm-registry: globalThis.crypto.subtle is missing`);let I=subriToWebCryptoAlgo(C);if(!I)continue;let H=await F.digest(I,dataAsArrayBuffer(n));if(bytesToBase64(new Uint8Array(H))===N)return!0}return!1}function subriToWebCryptoAlgo(n){switch(n){case`sha1`:return`SHA-1`;case`sha256`:return`SHA-256`;case`sha384`:return`SHA-384`;case`sha512`:return`SHA-512`;default:return null}}function dataAsArrayBuffer(n){if(n.byteOffset===0&&n.byteLength===n.buffer.byteLength)return n.buffer;let a=new Uint8Array(n.byteLength);return a.set(n),a.buffer}function bytesToBase64(n){let a=``;for(let S=0;S<n.length;S++)a+=String.fromCharCode(n[S]);return btoa(a)}function parseNpmrc(n){let a={registry:cE,scopes:{},authTokens:{},basicAuth:{}},S=n.split(/\r?\n/),C={};for(let n of S){let S=n.replace(/^\s+|\s+$/g,``);if(!S||S.startsWith(`#`)||S.startsWith(`;`))continue;let N=S.indexOf(`=`);if(N<0)continue;let F=S.slice(0,N).trim(),I=expandEnv(stripQuotes(S.slice(N+1).trim()));if(F===`registry`){a.registry=ensureTrailingSlash$1(I);continue}let H=F.match(/^(@[^:]+):registry$/);if(H){a.scopes[H[1]]=ensureTrailingSlash$1(I);continue}let W=F.match(/^\/\/(.+):_authToken$/);if(W){a.authTokens[normalizeAuthHost(W[1])]=I;continue}let K=F.match(/^\/\/(.+):username$/);if(K){(C[normalizeAuthHost(K[1])]??={}).user=I;continue}let q=F.match(/^\/\/(.+):_password$/);if(q){let n=base64Decode(I);(C[normalizeAuthHost(q[1])]??={}).pass=n;continue}}for(let[n,S]of Object.entries(C))S.user&&S.pass!==void 0&&(a.basicAuth[n]={username:S.user,password:S.pass});return a}function buildHeaders(n,a){let S={"user-agent":`gjsify-install/0.3.7`,"accept-encoding":`identity`};if(a.npmrc){let C=resolveAuthForUrl(n,a.npmrc);C&&(S.authorization=C)}if(a.headers)for(let[n,C]of Object.entries(a.headers))S[n.toLowerCase()]=C;return S}function resolveAuthForUrl(n,a){let S=pathPrefixes(new URL(n));for(let n of S){let S=a.authTokens[n];if(S)return`Bearer ${S}`;let C=a.basicAuth[n];if(C)return`Basic ${btoa(`${C.username}:${C.password}`)}`}return null}function pathPrefixes(n){let a=n.pathname.split(`/`).filter(Boolean),S=[];for(let C=a.length;C>=0;C--){let N=a.slice(0,C).join(`/`);S.push(N?`//${n.host}/${N}`:`//${n.host}`)}return S}function normalizeAuthHost(n){return`//${n.replace(/\/+$/,``)}`}function ensureTrailingSlash$1(n){return n.endsWith(`/`)?n:n+`/`}function stripQuotes(n){return n.startsWith(`"`)&&n.endsWith(`"`)||n.startsWith(`'`)&&n.endsWith(`'`)?n.slice(1,-1):n}function expandEnv(n){return n.replace(/\$\{([A-Z0-9_]+)\}/gi,(n,a)=>globalThis.process?.env?.[a]??``)}function base64Decode(n){return atob(n)}var cE,PackageNotFoundError,IntegrityError,lE=__esmMin(()=>{cE=`https://registry.npmjs.org/`,__name$1(ensureTrailingSlash$1,`ensureTrailingSlash`),PackageNotFoundError=class extends Error{name;url;constructor(n,a){super(`Package not found in registry: ${n} (${a})`),this.name=n,this.url=a,this.name=`PackageNotFoundError`}},IntegrityError=class extends Error{url;integrity;constructor(n,a){super(`Tarball integrity mismatch for ${n} (expected ${a})`),this.url=n,this.integrity=a,this.name=`IntegrityError`}}});function parseTar(n){let a=[],S=null,C=null,N=null,F=0;for(;F+512<=n.length;){let I=n.subarray(F,F+512);if(allZeros(I)){let a=n.subarray(F+512,F+2*512);if(a.length===512&&allZeros(a))break;F+=512;continue}if(!validateChecksum(I))throw new TarParseError(`Bad header checksum at offset ${F} — file is not a valid tar archive`);let H=readString(I,0,100),W=parseOctal(I,100,8),K=parseOctal(I,124,12),q=parseOctal(I,136,12),Y=String.fromCharCode(I[156]||0),X=readString(I,157,100),te=readString(I,257,6),ne=readString(I,345,155),re=readString(I,265,32),ie=readString(I,297,32);F+=512;let ae=n.subarray(F,F+K);if(F+=alignToBlock(K),Y===`x`){S=parsePaxRecords(ae);continue}if(Y===`g`)continue;if(Y===`L`){C=bytesToString(ae).replace(/\0+$/,``);continue}if(Y===`K`){N=bytesToString(ae).replace(/\0+$/,``);continue}let oe=H;te===`ustar`&&ne!==``&&(oe=`${ne}/${H}`),C!==null&&(oe=C,C=null);let Z=X;if(N!==null&&(Z=N,N=null),S!==null){let C=S.get(`path`);C!==void 0&&(oe=C);let N=S.get(`linkpath`);N!==void 0&&(Z=N);let I=S.get(`size`);if(I!==void 0){let C=Number(I);if(Number.isFinite(C)){let N=F-alignToBlock(K),I=n.subarray(N,N+C);F=N+alignToBlock(C),S=null,a.push(buildEntry(oe,Z,Y,W,q,re,ie,I));continue}}S=null}a.push(buildEntry(oe,Z,Y,W,q,re,ie,ae))}return a}function buildEntry(n,a,S,C,N,F,I,H){return{name:n,linkname:a,type:typeflagToType(S,n),mode:C,mtime:N,body:H,uname:F,gname:I}}function typeflagToType(n,a){switch(n){case`0`:case`\0`:case``:return a.endsWith(`/`)?`directory`:`file`;case`1`:return`hardlink`;case`2`:return`symlink`;case`5`:return`directory`;case`x`:return`pax-header`;case`g`:return`pax-global`;case`L`:return`gnu-longname`;case`K`:return`gnu-longlink`;default:return`unknown`}}function parsePaxRecords(n){let a=new Map,S=0;for(;S<n.length;){let C=S;for(;C<n.length&&n[C]!==32;)C++;if(C>=n.length)break;let N=bytesToString(n.subarray(S,C)),F=Number(N);if(!Number.isFinite(F)||F<=0)break;let I=S+F;if(I>n.length)break;let H=bytesToString(n.subarray(C+1,I-1)),W=H.indexOf(`=`);if(W>0){let n=H.slice(0,W),S=H.slice(W+1);a.set(n,S)}S=I}return a}function readString(n,a,S){let C=a,N=a+S;for(;C<N&&n[C]!==0;)C++;return bytesToString(n.subarray(a,C))}function bytesToString(n){return new TextDecoder(`utf-8`,{fatal:!1}).decode(n)}function parseOctal(n,a,S){if(S>0&&n[a]&128){let C=n[a]&127;for(let N=1;N<S;N++)C=C*256+n[a+N];return C}let C=``;for(let N=0;N<S;N++){let S=n[a+N];S===0||S===32||(C+=String.fromCharCode(S))}return C===``?0:parseInt(C,8)}function alignToBlock(n){return Math.ceil(n/512)*512}function allZeros(n){for(let a=0;a<n.length;a++)if(n[a]!==0)return!1;return!0}function validateChecksum(n){let a=parseOctal(n,148,8),S=0,C=0;for(let a=0;a<512;a++){let N=a>=148&&a<156?32:n[a];S+=N,C+=N>127?N-256:N}return a===S||a===C}var TarParseError,uE=__esmMin(()=>{TarParseError=class extends Error{constructor(n){super(n),this.name=`TarParseError`}}});function createTarball(n){let a=[];for(let S of n){if(`directory`in S&&S.directory===!0){a.push(buildHeader(ensureTrailingSlash(S.name),0,`5`,S.mode??493,S.mtime??0));continue}let n=S,C=typeof n.body==`string`?new TextEncoder().encode(n.body):n.body,N=n.mode??defaultFileMode(C);a.push(buildHeader(n.name,C.byteLength,`0`,N,n.mtime??0)),a.push(C);let F=padTo512(C.byteLength);F>0&&a.push(new Uint8Array(F))}return a.push(new Uint8Array(512*2)),concatChunks(a)}function buildHeader(n,a,S,C,N){let{prefix:F,basename:I}=splitPathForUstar(n),H=new Uint8Array(512);writeAscii(H,I,0,100),writeOctal(H,C&4095,100,7),H[107]=0,writeOctal(H,0,108,7),H[115]=0,writeOctal(H,0,116,7),H[123]=0,writeOctal(H,a,124,11),H[135]=0,writeOctal(H,N,136,11),H[147]=0;for(let n=148;n<156;n++)H[n]=32;H[156]=S.charCodeAt(0),writeAscii(H,`ustar\0`,257,6),writeAscii(H,`00`,263,2),F&&writeAscii(H,F,345,155);let W=0;for(let n=0;n<512;n++)W+=H[n];return writeAscii(H,W.toString(8).padStart(6,`0`),148,6),H[154]=0,H[155]=32,H}function splitPathForUstar(n){if(n.length<=100)return{prefix:``,basename:n};if(n.length>255)throw Error(`createTarball: path too long (${n.length} > 255 chars): ${n}`);for(let a=Math.min(n.length-1,155);a>0;a--)if(n[a]===`/`&&n.length-a-1<=100)return{prefix:n.slice(0,a),basename:n.slice(a+1)};throw Error(`createTarball: cannot split path into ustar prefix+basename (basename slot is 100 chars): ${n}`)}function writeAscii(n,a,S,C){let N=new TextEncoder().encode(a);if(N.length>C)throw Error(`createTarball: field too long (${N.length} > ${C}): "${a}"`);n.set(N,S)}function writeOctal(n,a,S,C){writeAscii(n,a.toString(8).padStart(C,`0`),S,C)}function padTo512(n){let a=n%512;return a===0?0:512-a}function ensureTrailingSlash(n){return n.endsWith(`/`)?n:`${n}/`}function defaultFileMode(n){return n.length>=2&&n[0]===35&&n[1]===33?493:420}function concatChunks(n){let a=0;for(let S of n)a+=S.byteLength;let S=new Uint8Array(a),C=0;for(let a of n)S.set(a,C),C+=a.byteLength;return S}var dE=__esmMin(()=>{});async function extractTarball(n,a,S={}){let C=n instanceof Uint8Array?n:new Uint8Array(n),N=parseTar(S.gzip??(C.length>=2&&C[0]===31&&C[1]===139)?await gunzip(C):C);mkdirSync(a,{recursive:!0});let F=S.strip??1,I=S.preventEscape??!0,H={files:[],directories:[],symlinks:[],skipped:0};for(let n of N){let C=stripComponents(n.name,F);if(C===null||C===``){H.skipped++;continue}let N=No(a,C);if(I&&!isInside(N,a))throw Error(`tar: refusing to extract ${n.name} outside ${a} (resolved=${N})`);if(S.filter&&!S.filter(n,N)){H.skipped++;continue}if(n.type===`directory`){mkdirSync(N,{recursive:!0}),H.directories.push(N);continue}if(n.type===`file`){mkdirSync(zo(N),{recursive:!0}),writeFileSync(N,n.body);let a=S.chmod?.(n,N)??n.mode&511;if(a>0)try{chmodSync(N,a)}catch{}H.files.push(N);continue}if(n.type===`symlink`){mkdirSync(zo(N),{recursive:!0});try{symlinkSync(n.linkname,N),H.symlinks.push(N)}catch{writeFileSync(N,n.linkname),H.files.push(N)}continue}H.skipped++}return H}async function gunzip(n){let a=globalThis.DecompressionStream;if(typeof a!=`function`)throw Error(`@gjsify/tar: globalThis.DecompressionStream is not available — import '@gjsify/compression-streams/register' on GJS to register it`);return drainStream(new Blob([new Uint8Array(n)]).stream().pipeThrough(new a(`gzip`)))}async function gzip(n){let a=globalThis.CompressionStream;if(typeof a!=`function`)throw Error(`@gjsify/tar: globalThis.CompressionStream is not available — import '@gjsify/compression-streams/register' on GJS to register it`);return drainStream(new Blob([new Uint8Array(n)]).stream().pipeThrough(new a(`gzip`)))}async function drainStream(n){let a=[],S=0,C=n.getReader();for(;;){let{value:n,done:N}=await C.read();if(N)break;let F=n instanceof Uint8Array?n:new Uint8Array(n);a.push(F),S+=F.length}let N=new Uint8Array(S),F=0;for(let n of a)N.set(n,F),F+=n.length;return N}function stripComponents(n,a){if(a<=0)return n;let S=n.split(`/`).filter(n=>n!==``);return S.length<=a?null:S.slice(a).join(`/`)}function isInside(n,a){let S=Lo(a,n);return S!==``&&!S.startsWith(`..`)&&!Fo(S)}var fE=__esmMin(()=>{uE(),Rs(),qo()}),pE=__exportAll$3({BLOCK_SIZE:()=>512,TarParseError:()=>TarParseError,createTarball:()=>createTarball,extractTarball:()=>extractTarball,gunzip:()=>gunzip,gzip:()=>gzip,parseTar:()=>parseTar}),mE=__esmMin(()=>{uE(),dE(),fE()}),hE=__exportAll$3({installPackagesNative:()=>installPackagesNative});async function installPackagesNative(n){if(n.specs.length===0)throw Error(`installPackagesNative: empty specs list`);mkdirSync(n.prefix,{recursive:!0});let a=await loadNpmrc$1(n),S=makeLogger(n.verbose??!1),C=Io(n.prefix,_E),N=readLockfile(C),F;if(n.frozen){if(!N)throw Error(`install: --immutable requires ${_E} at ${n.prefix} — none found. Run \`gjsify install\` (without --immutable) to generate one and commit it.`);let a=describeLockfileDrift(N,n.specs);if(a)throw Error(`install: --immutable but ${C} is stale.\n${a}\nRe-run \`gjsify install\` (without --immutable) to refresh the lockfile.`);S(`install: --immutable, using lockfile (%d package(s))`,Object.keys(N.packages).length),F=lockfileToNodes(N)}else N&&lockfileMatchesRequest(N,n.specs)?(S(`install: using lockfile (%d package(s))`,Object.keys(N.packages).length),F=lockfileToNodes(N)):(S(`install: resolving %d top-level spec(s) → %s`,n.specs.length,n.prefix),F=await resolveDeps(n.specs,a,S,n.overrides),n.lockfile&&(writeLockfile(C,n.specs,F),S(`install: wrote %s (%d entries)`,_E,F.length)));return S(`install: downloading %d tarball(s)`,F.length),await downloadAndExtractAll(F,n.prefix,a,S),await linkBins(F,n.prefix,S),S(`install: done`),topLevelResolutions(n.specs,F)}function topLevelResolutions(n,a){let S=new Map;for(let n of a)n.installPath===`node_modules/${n.name}`&&S.set(n.name,n);let C=[];for(let a of n){let n=parseSpecName(a),N=S.get(n);N&&C.push({name:N.name,version:N.version})}return C}function parseSpecName(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a===-1)return n;let S=n.indexOf(`@`,a+1);return S===-1?n:n.slice(0,S)}let a=n.indexOf(`@`);return a===-1?n:n.slice(0,a)}async function resolveDeps(n,a,S,C){let applyOverride=(n,a)=>{if(!C)return a;let N=C[n];return typeof N!=`string`||N.length===0||N===a?a:(S(`install: override %s %s → %s`,n,a,N),N)},N=new Map,fetchPkg=n=>{let S=N.get(n);if(S)return S;let C=fetchPackument(n,{npmrc:a});return N.set(n,C),C},F=new Map,I=new Map,H=n.map(parseSpec).map(n=>({from:null,name:n.name,range:applyOverride(n.name,n.range),required:!0}));for(;H.length>0;){let n=H.shift(),a=findVisible(n.from,n.name,F);if(a&&satisfiesRange(a.version,n.range))continue;let C=null;try{let a=await fetchPkg(n.name);if(C=pickVersion(a,n.range),!C){if(!n.required)continue;throw Error(`No version of ${n.name} satisfies ${n.range}`)}let N=a.versions[C];if(!N)throw Error(`Packument for ${n.name} promised ${C} but no entry exists`);let W=decidePlacement(n.from,n.name,C,I),K={name:n.name,version:C,tarballUrl:N.dist.tarball,integrity:N.dist.integrity,installPath:W,dependencies:N.dependencies??{},optionalDependencies:N.optionalDependencies??{},bin:N.bin};F.set(W,K),W===`node_modules/${n.name}`&&I.set(n.name,K),S(`resolve: %s@%s ← %s (at %s)`,n.name,C,n.range,W);for(let[n,a]of Object.entries(K.dependencies))H.push({from:W,name:n,range:applyOverride(n,a),required:!0});for(let[n,a]of Object.entries(K.optionalDependencies))H.push({from:W,name:n,range:applyOverride(n,a),required:!1})}catch(a){if(!n.required){S(`resolve: optional dep %s@%s skipped (%s)`,n.name,n.range,a.message);continue}throw a}}return Array.from(F.values())}function findVisible(n,a,S){let C=[];if(n!==null){C.push(`${n}/node_modules/${a}`);let S=n;for(;;){let n=S.lastIndexOf(`/node_modules/`);if(n<0||(S=S.slice(0,n),C.push(`${S}/node_modules/${a}`),S===``))break}}C.push(`node_modules/${a}`);for(let n of C){let a=S.get(n);if(a)return a}return null}function decidePlacement(n,a,S,C){let N=C.get(a);return!N||N.version===S||n===null?`node_modules/${a}`:`${n}/node_modules/${a}`}function satisfiesRange(n,a){try{return satisfies(n,new oE(a))}catch{return!1}}function readLockfile(n){if(!existsSync(n))return null;try{let a=JSON.parse(readFileSync(n,`utf-8`));return a.lockfileVersion!==vE||!a.packages||typeof a.packages!=`object`?null:a}catch{return null}}function writeLockfile(n,a,S){let C={},N=[...S].sort((n,a)=>n.installPath<a.installPath?-1:+(n.installPath>a.installPath));for(let n of N)C[n.installPath]={version:n.version,resolved:n.tarballUrl,integrity:n.integrity,dependencies:Object.keys(n.dependencies).length>0?n.dependencies:void 0,bin:n.bin};let F={lockfileVersion:vE,requested:[...a],packages:C};writeFileSync(n,JSON.stringify(F,null,2)+`
786
+ `}Be(),Rs(),qo(),gx();const nE={command:`check [manifest]`,description:`Run Flathub pre-submission linters: appstreamcli validate + flatpak-builder-lint.`,builder:n=>n.positional(`manifest`,{description:"Path to the Flatpak manifest. Auto-detects `<app-id>.json` if omitted.",type:`string`,normalize:!0}).option(`repo`,{description:"Built ostree-repo path. If given, also runs `flatpak-builder-lint repo`.",type:`string`,normalize:!0}).option(`metainfo`,{description:"MetaInfo XML path. Default: `data/<app-id>.metainfo.xml.in`.",type:`string`,normalize:!0}).option(`appstream`,{description:"Run `appstreamcli validate --strict` (default: true).",type:`boolean`,default:!0}).option(`builder-lint`,{description:"Run `flatpak-builder-lint manifest` (default: true).",type:`boolean`,default:!0}).option(`verbose`,{description:`Stream linter stdout/stderr verbatim.`,type:`boolean`,default:!1}),handler:async n=>{let a=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},S=process.cwd(),C=resolveAppId(n.manifest,a,S),N=resolveManifestPath(n.manifest,C,S),F=No(S,n.metainfo??`data/${C??`unknown`}.metainfo.xml.in`),I=0;if(n.appstream!==!1&&(existsSync(F)?await runLinter(`appstreamcli`,[`validate`,`--strict`,F],n.verbose??!1)||I++:ze.warn(`[gjsify flatpak check] skipping appstreamcli — ${F} not found`)),n.builderLint!==!1){if(!existsSync(N)){ze.error(`[gjsify flatpak check] manifest not found: ${N}`),process.exit(1);return}await runLinter(`flatpak-builder-lint`,[`manifest`,N],n.verbose??!1)||I++,n.repo&&(await runLinter(`flatpak-builder-lint`,[`repo`,No(S,n.repo)],n.verbose??!1)||I++)}I>0&&(ze.error(`\n[gjsify flatpak check] ${I} check(s) failed.`),process.exit(1)),ze.log(`[gjsify flatpak check] all checks passed.`)}};function resolveAppId(n,a,S){if(a.appId)return a.appId;try{let n=readPackageJson(S);if(looksLikeAppId(n.name))return n.name}catch{}if(n)return n.replace(/\.json$/,``)}function resolveManifestPath(n,a,S){if(n)return No(S,n);if(a)return No(S,`${a}.json`);let C=readdirSync(S).filter(n=>n.endsWith(`.json`)&&!n.startsWith(`package`));if(C.length===1)return No(S,C[0]);throw Error(`gjsify flatpak check: no manifest path given and could not auto-detect. Pass the manifest as a positional argument.`)}function runLinter(n,a,S){return new Promise(C=>{let N=spawn(n,a,{stdio:S?`inherit`:[`ignore`,`pipe`,`pipe`]}),F=``,I=``;S||(N.stdout?.setEncoding(`utf-8`),N.stderr?.setEncoding(`utf-8`),N.stdout?.on(`data`,n=>{F+=n}),N.stderr?.on(`data`,n=>{I+=n})),N.on(`error`,a=>{let S=a;S.code===`ENOENT`?ze.error(`[gjsify flatpak check] ${n} not found in PATH.\nInstall via:\n flatpak install -y flathub org.flatpak.Builder\n alias ${n}="flatpak run --command=${n} org.flatpak.Builder"`):ze.error(`[gjsify flatpak check] ${n} failed to spawn: ${S.message}`),C(!1)}),N.on(`exit`,N=>{let H=N===0,W=H?`OK`:`FAIL`;ze.log(`[gjsify flatpak check] ${W}: ${n} ${a.join(` `)}`),!H&&!S&&(F.trim()&&ze.log(F.trimEnd()),I.trim()&&ze.error(I.trimEnd())),C(H)})})}const rE={command:`flatpak <subcommand>`,description:`Flatpak toolchain: init/build/deps/ci/check subcommands for shipping GJS apps and CLIs as Flatpaks.`,builder:n=>n.command(QT.command,QT.description,QT.builder,QT.handler).command($T.command,$T.description,$T.builder,$T.handler).command(eE.command,eE.description,eE.builder,eE.handler).command(tE.command,tE.description,tE.builder,tE.handler).command(nE.command,nE.description,nE.builder,nE.handler).demandCommand(1).strict()};Rs(),qo();const iE=/^(?:@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/;function parseSpec$1(n){if(!n)throw Error(`dlx: empty package spec`);if(n.startsWith(`./`)||n.startsWith(`../`)||Fo(n)||existsSync(n))return{kind:`local`,path:No(n)};let a=n,S,C=n.lastIndexOf(`@`);if(C>0&&(a=n.slice(0,C),S=n.slice(C+1)),!iE.test(a))throw Error(`dlx: invalid package name "${a}"`);return{kind:`registry`,name:a,version:S,spec:n}}__name$1(parseSpec$1,`parseSpec`),Rs(),qo();function resolveGjsEntry(n,a){let S=Io(n,`package.json`);if(!existsSync(S))throw Error(`dlx: no package.json found at ${n}`);let C=JSON.parse(readFileSync(S,`utf-8`)),N=C.gjsify?.bin,F=C.gjsify?.main,I=C.main,H,W=null,K=!1;if(a!==null){if(!N||!N[a]){let S=N?Object.keys(N).join(`, `):`(none)`;throw Error(`dlx: package "${C.name??n}" has no GJS bin named "${a}" — known: ${S}`)}H=N[a],W=a}else if(N&&Object.keys(N).length===1){let n=Object.keys(N)[0];H=N[n],W=n}else F?H=F:I&&(H=I,K=!0);if(N&&Object.keys(N).length>1&&a===null){let a=Object.keys(N).join(`, `);throw Error(`dlx: package "${C.name??n}" defines multiple GJS bins — pass one of: ${a}`)}if(!H)throw Error(`dlx: package "${C.name??n}" has no GJS entry — set \`gjsify.main\` (or \`gjsify.bin\`) in its package.json`);let q=No(n,H);if(!existsSync(q))throw Error(`dlx: GJS entry not found: ${q}`);return{bundlePath:q,binName:W,fromFallback:K}}Ma(),Rs(),op(),qo();function lexCompare(n,a){return n<a?-1:+(n>a)}function createCacheKey(n){let a=[...n.packages].sort(lexCompare),S=Object.entries(n.registries??{}).sort(([n],[a])=>lexCompare(n,a)),C=JSON.stringify([a,S]);return createHash(`sha256`).update(C).digest(`hex`)}function dlxCacheRoot(){let n=process.env.XDG_CACHE_HOME,a=Io(n&&n.length>0?n:Io(homedir(),`.cache`),`gjsify`,`dlx`);return mkdirSync(a,{recursive:!0}),a}function cacheDirFor(n){let a=Io(dlxCacheRoot(),n);return mkdirSync(a,{recursive:!0}),a}function makePrepareDir(n){let a=Io(n,`${Date.now().toString(16)}-${process.pid.toString(16)}`);return mkdirSync(a,{recursive:!0}),a}function getValidCachedPkg(n,a=10080){let S=Io(n,`pkg`),C;try{C=lstatSync(S)}catch(n){if(n.code===`ENOENT`)return;throw n}if(!C.isSymbolicLink())return;let N;try{N=realpathSync(S)}catch{return}return Date.now()-C.mtime.getTime()<=a*6e4?N:void 0}function symlinkSwap(n,a){let S=Io(n,`pkg`),C=Io(n,`pkg.tmp-${Date.now().toString(16)}-${process.pid.toString(16)}`);try{symlinkSync(a,C,`dir`)}catch(n){throw n}try{renameSync(C,S)}catch(n){let a=n.code;if(a===`EBUSY`||a===`EPERM`||a===`EEXIST`){try{rmSync(C)}catch{}return realpathSync(S)}throw n}return realpathSync(S)}function resolveInstalledPkgDir(n,a){return No(n,`node_modules`,a)}function parse(n){try{return new SemVer(n)}catch{return null}}function satisfies(n,a){let S=a instanceof sE?a:new sE(a),C=n instanceof SemVer?n:parse(String(n));return C?S.test(C):!1}function maxSatisfying(n,a){let S=a instanceof sE?a:new sE(a),C=null;for(let a of n){let n=parse(a);!n||!S.test(n)||(C===null||n.compare(C)>0)&&(C=n)}return C?C.version:null}function testComparator(n,a){if(n.semver===null)return!0;let S=a.compare(n.semver);switch(n.operator){case``:case`=`:return S===0;case`<`:return S<0;case`<=`:return S<=0;case`>`:return S>0;case`>=`:return S>=0}}function formatComparator(n){return n.semver===null?`*`:`${n.operator}${n.semver.version}`}function parseRangePart(n){let a=n.trim();if(a===``||a===`*`||a.toLowerCase()===`latest`)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=a.match(/^\s*(\S+)\s+-\s+(\S+)\s*$/);if(S)return hyphenRange(S[1],S[2]);let C=a.replace(/(<=|>=|<|>|=)\s+(?=\S)/g,`$1`).split(/\s+/),N=[];for(let n of C)N.push(...parseSimple(n));return N}function parseSimple(n){if(n===`*`||n===``||n.toLowerCase()===`latest`)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];if(n.startsWith(`^`))return caretRange(n.slice(1));if(n.startsWith(`~`))return tildeRange(n.slice(1).replace(/^>/,``));let a=n.match(/^(<=|>=|<|>|=)\s*(.+)$/);if(a){let n=a[1];return primitiveRange(n,a[2])}return partialRange(n)}function parsePartial(n){let a=n.trim().replace(/^v/,``);if(a===``||a===`*`)return{major:null,minor:null,patch:null,pre:``,build:``};let S=``,C=``,N=a,F=N.indexOf(`+`);F>=0&&(C=N.slice(F+1),N=N.slice(0,F));let I=N.indexOf(`-`);I>=0&&(S=N.slice(I+1),N=N.slice(0,I));let H=N.split(`.`),xr=a=>{if(a===void 0||a===``||a===`x`||a===`X`||a===`*`)return null;if(!/^\d+$/.test(a))throw TypeError(`Invalid partial version: ${n}`);return Number(a)};return{major:xr(H[0]),minor:xr(H[1]),patch:xr(H[2]),pre:S,build:C}}function partialToVersion(n){return`${n.major??0}.${n.minor??0}.${n.patch??0}${n.pre?`-${n.pre}`:``}${n.build?`+${n.build}`:``}`}function partialRange(n){let a=parsePartial(n);return a.major===null?[{operator:`>=`,semver:new SemVer(`0.0.0`)}]:a.minor===null?[{operator:`>=`,semver:new SemVer(`${a.major}.0.0`)},{operator:`<`,semver:new SemVer(`${a.major+1}.0.0`)}]:a.patch===null?[{operator:`>=`,semver:new SemVer(`${a.major}.${a.minor}.0`)},{operator:`<`,semver:new SemVer(`${a.major}.${a.minor+1}.0`)}]:[{operator:`=`,semver:new SemVer(partialToVersion(a))}]}function caretRange(n){let a=parsePartial(n);if(a.major===null)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=`${a.major}.${a.minor??0}.${a.patch??0}${a.pre?`-${a.pre}`:``}`,C;return C=a.major>0||a.minor===null?`${a.major+1}.0.0`:a.minor>0||a.patch===null?`0.${a.minor+1}.0`:`0.0.${a.patch+1}`,[{operator:`>=`,semver:new SemVer(S)},{operator:`<`,semver:new SemVer(C)}]}function tildeRange(n){let a=parsePartial(n);if(a.major===null)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=`${a.major}.${a.minor??0}.${a.patch??0}${a.pre?`-${a.pre}`:``}`,C=a.minor===null?`${a.major+1}.0.0`:`${a.major}.${a.minor+1}.0`;return[{operator:`>=`,semver:new SemVer(S)},{operator:`<`,semver:new SemVer(C)}]}function primitiveRange(n,a){let S=parsePartial(a);return S.major===null?[{operator:`>=`,semver:new SemVer(`0.0.0`)}]:n===`=`||n===``?partialRange(a):n===`>`?S.minor===null?[{operator:`>=`,semver:new SemVer(`${S.major+1}.0.0`)}]:S.patch===null?[{operator:`>=`,semver:new SemVer(`${S.major}.${S.minor+1}.0`)}]:[{operator:`>`,semver:new SemVer(partialToVersion(S))}]:n===`<`?S.minor===null?[{operator:`<`,semver:new SemVer(`${S.major}.0.0`)}]:S.patch===null?[{operator:`<`,semver:new SemVer(`${S.major}.${S.minor}.0`)}]:[{operator:`<`,semver:new SemVer(partialToVersion(S))}]:n===`>=`?[{operator:`>=`,semver:new SemVer(partialToVersion(S))}]:S.minor===null?[{operator:`<`,semver:new SemVer(`${S.major+1}.0.0`)}]:S.patch===null?[{operator:`<`,semver:new SemVer(`${S.major}.${S.minor+1}.0`)}]:[{operator:`<=`,semver:new SemVer(partialToVersion(S))}]}function hyphenRange(n,a){let S=parsePartial(n),C=parsePartial(a),N=S.major===null?{operator:`>=`,semver:new SemVer(`0.0.0`)}:{operator:`>=`,semver:new SemVer(`${S.major}.${S.minor??0}.${S.patch??0}${S.pre?`-${S.pre}`:``}`)},F;return F=C.major===null?{operator:`>=`,semver:new SemVer(`0.0.0`)}:C.minor===null?{operator:`<`,semver:new SemVer(`${C.major+1}.0.0`)}:C.patch===null?{operator:`<`,semver:new SemVer(`${C.major}.${C.minor+1}.0`)}:{operator:`<=`,semver:new SemVer(`${C.major}.${C.minor}.${C.patch}${C.pre?`-${C.pre}`:``}`)},[N,F]}var aE,oE,SemVer,sE,cE=__esmMin(()=>{aE=/^(0|[1-9]\d*)$/,oE=/^(\d+)\.(\d+)\.(\d+)(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/,SemVer=class{major;minor;patch;prerelease;build;version;constructor(n){let a=String(n).trim().replace(/^v/,``),S=oE.exec(a);if(!S)throw TypeError(`Invalid Version: ${n}`);this.major=Number(S[1]),this.minor=Number(S[2]),this.patch=Number(S[3]),this.prerelease=S[4]?S[4].split(`.`).map(n=>aE.test(n)?Number(n):n):[],this.build=S[5]?S[5].split(`.`):[],this.version=`${this.major}.${this.minor}.${this.patch}`+(this.prerelease.length?`-${this.prerelease.join(`.`)}`:``)+(this.build.length?`+${this.build.join(`.`)}`:``)}compare(n){return this.major===n.major?this.minor===n.minor?this.patch===n.patch?this.comparePre(n):this.patch<n.patch?-1:1:this.minor<n.minor?-1:1:this.major<n.major?-1:1}comparePre(n){let a=this.prerelease,S=n.prerelease;if(a.length===0&&S.length===0)return 0;if(a.length===0)return 1;if(S.length===0)return-1;for(let n=0;;n++){let C=a[n],N=S[n];if(C===void 0&&N===void 0)return 0;if(N===void 0)return 1;if(C===void 0)return-1;if(C===N)continue;let F=typeof C==`number`,I=typeof N==`number`;return F&&!I?-1:!F&&I?1:C<N?-1:1}}toString(){return this.version}},sE=class Range{raw;set;constructor(n){if(n instanceof Range){this.raw=n.raw,this.set=n.set;return}this.raw=String(n).trim();let a=this.raw.split(/\s*\|\|\s*/),S=[];for(let n of a){let a=parseRangePart(n);if(a.length===0)throw TypeError(`Invalid range: ${this.raw}`);S.push(a)}if(S.length===0)throw TypeError(`Invalid range: ${this.raw}`);this.set=S}test(n){let a=n instanceof SemVer?n:parse(String(n));if(!a)return!1;for(let n of this.set)if(n.every(n=>testComparator(n,a))){if(a.prerelease.length>0&&!n.some(n=>n.semver!==null&&n.semver.prerelease.length>0&&n.semver.major===a.major&&n.semver.minor===a.minor&&n.semver.patch===a.patch))continue;return!0}return!1}format(){return this.set.map(n=>n.map(formatComparator).join(` `)).join(` || `)}toString(){return this.format()}}});function assertPackument(n,a){if(!a||typeof a!=`object`)throw TypeError(`registry: ${n} packument is not an object`);let S=a;if(typeof S.name!=`string`)throw TypeError(`registry: ${n} packument missing string name`);if(!S.versions||typeof S.versions!=`object`)throw TypeError(`registry: ${n} packument missing versions map`)}function registryFor(n,a){if(a&&n.startsWith(`@`)){let S=n.slice(0,n.indexOf(`/`)),C=a.scopes[S];if(C)return ensureTrailingSlash$1(C)}return a?.registry?ensureTrailingSlash$1(a.registry):lE}function packumentUrl(n,a){let S=ensureTrailingSlash$1(a);if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)throw TypeError(`Invalid scoped package name: ${n}`);let C=n.slice(0,a),N=n.slice(a+1);return`${S}${encodeURIComponent(C)}/${encodeURIComponent(N)}`}return`${S}${encodeURIComponent(n)}`}async function fetchPackument(n,a={}){let S=packumentUrl(n,a.registry??registryFor(n,a.npmrc)),C=buildHeaders(S,a);C.accept??=`application/vnd.npm.install-v1+json`;let N=a.fetch??globalThis.fetch;if(!N)throw Error(`@gjsify/npm-registry: globalThis.fetch is missing`);let F=await N(S,{headers:C,signal:a.signal});if(!F.ok)throw F.status===404?new PackageNotFoundError(n,S):Error(`registry GET ${S} -> ${F.status} ${F.statusText}`);let I=await F.json();return assertPackument(n,I),I}async function fetchTarball(n,a={}){let S=buildHeaders(n,a);S.accept??=`application/octet-stream`;let C=a.fetch??globalThis.fetch;if(!C)throw Error(`@gjsify/npm-registry: globalThis.fetch is missing`);let N=await C(n,{headers:S,signal:a.signal});if(!N.ok)throw Error(`tarball GET ${n} -> ${N.status} ${N.statusText}`);let F=new Uint8Array(await N.arrayBuffer());if(a.integrity&&!await verifyIntegrity(F,a.integrity))throw new IntegrityError(n,a.integrity);return F}async function verifyIntegrity(n,a){let S=a.trim().split(/\s+/);for(let a of S){let S=a.indexOf(`-`);if(S<0)continue;let C=a.slice(0,S).toLowerCase(),N=a.slice(S+1),F=globalThis.crypto?.subtle;if(!F)throw Error(`@gjsify/npm-registry: globalThis.crypto.subtle is missing`);let I=subriToWebCryptoAlgo(C);if(!I)continue;let H=await F.digest(I,dataAsArrayBuffer(n));if(bytesToBase64(new Uint8Array(H))===N)return!0}return!1}function subriToWebCryptoAlgo(n){switch(n){case`sha1`:return`SHA-1`;case`sha256`:return`SHA-256`;case`sha384`:return`SHA-384`;case`sha512`:return`SHA-512`;default:return null}}function dataAsArrayBuffer(n){if(n.byteOffset===0&&n.byteLength===n.buffer.byteLength)return n.buffer;let a=new Uint8Array(n.byteLength);return a.set(n),a.buffer}function bytesToBase64(n){let a=``;for(let S=0;S<n.length;S++)a+=String.fromCharCode(n[S]);return btoa(a)}function parseNpmrc(n){let a={registry:lE,scopes:{},authTokens:{},basicAuth:{}},S=n.split(/\r?\n/),C={};for(let n of S){let S=n.replace(/^\s+|\s+$/g,``);if(!S||S.startsWith(`#`)||S.startsWith(`;`))continue;let N=S.indexOf(`=`);if(N<0)continue;let F=S.slice(0,N).trim(),I=expandEnv(stripQuotes(S.slice(N+1).trim()));if(F===`registry`){a.registry=ensureTrailingSlash$1(I);continue}let H=F.match(/^(@[^:]+):registry$/);if(H){a.scopes[H[1]]=ensureTrailingSlash$1(I);continue}let W=F.match(/^\/\/(.+):_authToken$/);if(W){a.authTokens[normalizeAuthHost(W[1])]=I;continue}let K=F.match(/^\/\/(.+):username$/);if(K){(C[normalizeAuthHost(K[1])]??={}).user=I;continue}let q=F.match(/^\/\/(.+):_password$/);if(q){let n=base64Decode(I);(C[normalizeAuthHost(q[1])]??={}).pass=n;continue}}for(let[n,S]of Object.entries(C))S.user&&S.pass!==void 0&&(a.basicAuth[n]={username:S.user,password:S.pass});return a}function buildHeaders(n,a){let S={"user-agent":`gjsify-install/0.3.7`,"accept-encoding":`identity`};if(a.npmrc){let C=resolveAuthForUrl(n,a.npmrc);C&&(S.authorization=C)}if(a.headers)for(let[n,C]of Object.entries(a.headers))S[n.toLowerCase()]=C;return S}function resolveAuthForUrl(n,a){let S=pathPrefixes(new URL(n));for(let n of S){let S=a.authTokens[n];if(S)return`Bearer ${S}`;let C=a.basicAuth[n];if(C)return`Basic ${btoa(`${C.username}:${C.password}`)}`}return null}function pathPrefixes(n){let a=n.pathname.split(`/`).filter(Boolean),S=[];for(let C=a.length;C>=0;C--){let N=a.slice(0,C).join(`/`);S.push(N?`//${n.host}/${N}`:`//${n.host}`)}return S}function normalizeAuthHost(n){return`//${n.replace(/\/+$/,``)}`}function ensureTrailingSlash$1(n){return n.endsWith(`/`)?n:n+`/`}function stripQuotes(n){return n.startsWith(`"`)&&n.endsWith(`"`)||n.startsWith(`'`)&&n.endsWith(`'`)?n.slice(1,-1):n}function expandEnv(n){return n.replace(/\$\{([A-Z0-9_]+)\}/gi,(n,a)=>globalThis.process?.env?.[a]??``)}function base64Decode(n){return atob(n)}var lE,PackageNotFoundError,IntegrityError,uE=__esmMin(()=>{lE=`https://registry.npmjs.org/`,__name$1(ensureTrailingSlash$1,`ensureTrailingSlash`),PackageNotFoundError=class extends Error{name;url;constructor(n,a){super(`Package not found in registry: ${n} (${a})`),this.name=n,this.url=a,this.name=`PackageNotFoundError`}},IntegrityError=class extends Error{url;integrity;constructor(n,a){super(`Tarball integrity mismatch for ${n} (expected ${a})`),this.url=n,this.integrity=a,this.name=`IntegrityError`}}});function parseTar(n){let a=[],S=null,C=null,N=null,F=0;for(;F+512<=n.length;){let I=n.subarray(F,F+512);if(allZeros(I)){let a=n.subarray(F+512,F+2*512);if(a.length===512&&allZeros(a))break;F+=512;continue}if(!validateChecksum(I))throw new TarParseError(`Bad header checksum at offset ${F} — file is not a valid tar archive`);let H=readString(I,0,100),W=parseOctal(I,100,8),K=parseOctal(I,124,12),q=parseOctal(I,136,12),Y=String.fromCharCode(I[156]||0),X=readString(I,157,100),te=readString(I,257,6),ne=readString(I,345,155),re=readString(I,265,32),ie=readString(I,297,32);F+=512;let ae=n.subarray(F,F+K);if(F+=alignToBlock(K),Y===`x`){S=parsePaxRecords(ae);continue}if(Y===`g`)continue;if(Y===`L`){C=bytesToString(ae).replace(/\0+$/,``);continue}if(Y===`K`){N=bytesToString(ae).replace(/\0+$/,``);continue}let oe=H;te===`ustar`&&ne!==``&&(oe=`${ne}/${H}`),C!==null&&(oe=C,C=null);let Z=X;if(N!==null&&(Z=N,N=null),S!==null){let C=S.get(`path`);C!==void 0&&(oe=C);let N=S.get(`linkpath`);N!==void 0&&(Z=N);let I=S.get(`size`);if(I!==void 0){let C=Number(I);if(Number.isFinite(C)){let N=F-alignToBlock(K),I=n.subarray(N,N+C);F=N+alignToBlock(C),S=null,a.push(buildEntry(oe,Z,Y,W,q,re,ie,I));continue}}S=null}a.push(buildEntry(oe,Z,Y,W,q,re,ie,ae))}return a}function buildEntry(n,a,S,C,N,F,I,H){return{name:n,linkname:a,type:typeflagToType(S,n),mode:C,mtime:N,body:H,uname:F,gname:I}}function typeflagToType(n,a){switch(n){case`0`:case`\0`:case``:return a.endsWith(`/`)?`directory`:`file`;case`1`:return`hardlink`;case`2`:return`symlink`;case`5`:return`directory`;case`x`:return`pax-header`;case`g`:return`pax-global`;case`L`:return`gnu-longname`;case`K`:return`gnu-longlink`;default:return`unknown`}}function parsePaxRecords(n){let a=new Map,S=0;for(;S<n.length;){let C=S;for(;C<n.length&&n[C]!==32;)C++;if(C>=n.length)break;let N=bytesToString(n.subarray(S,C)),F=Number(N);if(!Number.isFinite(F)||F<=0)break;let I=S+F;if(I>n.length)break;let H=bytesToString(n.subarray(C+1,I-1)),W=H.indexOf(`=`);if(W>0){let n=H.slice(0,W),S=H.slice(W+1);a.set(n,S)}S=I}return a}function readString(n,a,S){let C=a,N=a+S;for(;C<N&&n[C]!==0;)C++;return bytesToString(n.subarray(a,C))}function bytesToString(n){return new TextDecoder(`utf-8`,{fatal:!1}).decode(n)}function parseOctal(n,a,S){if(S>0&&n[a]&128){let C=n[a]&127;for(let N=1;N<S;N++)C=C*256+n[a+N];return C}let C=``;for(let N=0;N<S;N++){let S=n[a+N];S===0||S===32||(C+=String.fromCharCode(S))}return C===``?0:parseInt(C,8)}function alignToBlock(n){return Math.ceil(n/512)*512}function allZeros(n){for(let a=0;a<n.length;a++)if(n[a]!==0)return!1;return!0}function validateChecksum(n){let a=parseOctal(n,148,8),S=0,C=0;for(let a=0;a<512;a++){let N=a>=148&&a<156?32:n[a];S+=N,C+=N>127?N-256:N}return a===S||a===C}var TarParseError,dE=__esmMin(()=>{TarParseError=class extends Error{constructor(n){super(n),this.name=`TarParseError`}}});function createTarball(n){let a=[];for(let S of n){if(`directory`in S&&S.directory===!0){a.push(buildHeader(ensureTrailingSlash(S.name),0,`5`,S.mode??493,S.mtime??0));continue}let n=S,C=typeof n.body==`string`?new TextEncoder().encode(n.body):n.body,N=n.mode??defaultFileMode(C);a.push(buildHeader(n.name,C.byteLength,`0`,N,n.mtime??0)),a.push(C);let F=padTo512(C.byteLength);F>0&&a.push(new Uint8Array(F))}return a.push(new Uint8Array(512*2)),concatChunks(a)}function buildHeader(n,a,S,C,N){let{prefix:F,basename:I}=splitPathForUstar(n),H=new Uint8Array(512);writeAscii(H,I,0,100),writeOctal(H,C&4095,100,7),H[107]=0,writeOctal(H,0,108,7),H[115]=0,writeOctal(H,0,116,7),H[123]=0,writeOctal(H,a,124,11),H[135]=0,writeOctal(H,N,136,11),H[147]=0;for(let n=148;n<156;n++)H[n]=32;H[156]=S.charCodeAt(0),writeAscii(H,`ustar\0`,257,6),writeAscii(H,`00`,263,2),F&&writeAscii(H,F,345,155);let W=0;for(let n=0;n<512;n++)W+=H[n];return writeAscii(H,W.toString(8).padStart(6,`0`),148,6),H[154]=0,H[155]=32,H}function splitPathForUstar(n){if(n.length<=100)return{prefix:``,basename:n};if(n.length>255)throw Error(`createTarball: path too long (${n.length} > 255 chars): ${n}`);for(let a=Math.min(n.length-1,155);a>0;a--)if(n[a]===`/`&&n.length-a-1<=100)return{prefix:n.slice(0,a),basename:n.slice(a+1)};throw Error(`createTarball: cannot split path into ustar prefix+basename (basename slot is 100 chars): ${n}`)}function writeAscii(n,a,S,C){let N=new TextEncoder().encode(a);if(N.length>C)throw Error(`createTarball: field too long (${N.length} > ${C}): "${a}"`);n.set(N,S)}function writeOctal(n,a,S,C){writeAscii(n,a.toString(8).padStart(C,`0`),S,C)}function padTo512(n){let a=n%512;return a===0?0:512-a}function ensureTrailingSlash(n){return n.endsWith(`/`)?n:`${n}/`}function defaultFileMode(n){return n.length>=2&&n[0]===35&&n[1]===33?493:420}function concatChunks(n){let a=0;for(let S of n)a+=S.byteLength;let S=new Uint8Array(a),C=0;for(let a of n)S.set(a,C),C+=a.byteLength;return S}var fE=__esmMin(()=>{});async function extractTarball(n,a,S={}){let C=n instanceof Uint8Array?n:new Uint8Array(n),N=parseTar(S.gzip??(C.length>=2&&C[0]===31&&C[1]===139)?await gunzip(C):C);mkdirSync(a,{recursive:!0});let F=S.strip??1,I=S.preventEscape??!0,H={files:[],directories:[],symlinks:[],skipped:0};for(let n of N){let C=stripComponents(n.name,F);if(C===null||C===``){H.skipped++;continue}let N=No(a,C);if(I&&!isInside(N,a))throw Error(`tar: refusing to extract ${n.name} outside ${a} (resolved=${N})`);if(S.filter&&!S.filter(n,N)){H.skipped++;continue}if(n.type===`directory`){mkdirSync(N,{recursive:!0}),H.directories.push(N);continue}if(n.type===`file`){mkdirSync(zo(N),{recursive:!0}),writeFileSync(N,n.body);let a=S.chmod?.(n,N)??n.mode&511;if(a>0)try{chmodSync(N,a)}catch{}H.files.push(N);continue}if(n.type===`symlink`){mkdirSync(zo(N),{recursive:!0});try{symlinkSync(n.linkname,N),H.symlinks.push(N)}catch{writeFileSync(N,n.linkname),H.files.push(N)}continue}H.skipped++}return H}async function gunzip(n){let a=globalThis.DecompressionStream;if(typeof a!=`function`)throw Error(`@gjsify/tar: globalThis.DecompressionStream is not available — import '@gjsify/compression-streams/register' on GJS to register it`);return drainStream(new Blob([new Uint8Array(n)]).stream().pipeThrough(new a(`gzip`)))}async function gzip(n){let a=globalThis.CompressionStream;if(typeof a!=`function`)throw Error(`@gjsify/tar: globalThis.CompressionStream is not available — import '@gjsify/compression-streams/register' on GJS to register it`);return drainStream(new Blob([new Uint8Array(n)]).stream().pipeThrough(new a(`gzip`)))}async function drainStream(n){let a=[],S=0,C=n.getReader();for(;;){let{value:n,done:N}=await C.read();if(N)break;let F=n instanceof Uint8Array?n:new Uint8Array(n);a.push(F),S+=F.length}let N=new Uint8Array(S),F=0;for(let n of a)N.set(n,F),F+=n.length;return N}function stripComponents(n,a){if(a<=0)return n;let S=n.split(`/`).filter(n=>n!==``);return S.length<=a?null:S.slice(a).join(`/`)}function isInside(n,a){let S=Lo(a,n);return S!==``&&!S.startsWith(`..`)&&!Fo(S)}var pE=__esmMin(()=>{dE(),Rs(),qo()}),mE=__exportAll$3({BLOCK_SIZE:()=>512,TarParseError:()=>TarParseError,createTarball:()=>createTarball,extractTarball:()=>extractTarball,gunzip:()=>gunzip,gzip:()=>gzip,parseTar:()=>parseTar}),hE=__esmMin(()=>{dE(),fE(),pE()}),gE=__exportAll$3({installPackagesNative:()=>installPackagesNative});async function installPackagesNative(n){if(n.specs.length===0)throw Error(`installPackagesNative: empty specs list`);mkdirSync(n.prefix,{recursive:!0});let a=await loadNpmrc$1(n),S=makeLogger(n.verbose??!1),C=Io(n.prefix,vE),N=readLockfile(C),F;if(n.frozen){if(!N)throw Error(`install: --immutable requires ${vE} at ${n.prefix} — none found. Run \`gjsify install\` (without --immutable) to generate one and commit it.`);let a=describeLockfileDrift(N,n.specs);if(a)throw Error(`install: --immutable but ${C} is stale.\n${a}\nRe-run \`gjsify install\` (without --immutable) to refresh the lockfile.`);S(`install: --immutable, using lockfile (%d package(s))`,Object.keys(N.packages).length),F=lockfileToNodes(N)}else N&&lockfileMatchesRequest(N,n.specs)?(S(`install: using lockfile (%d package(s))`,Object.keys(N.packages).length),F=lockfileToNodes(N)):(S(`install: resolving %d top-level spec(s) → %s`,n.specs.length,n.prefix),F=await resolveDeps(n.specs,a,S,n.overrides),n.lockfile&&(writeLockfile(C,n.specs,F),S(`install: wrote %s (%d entries)`,vE,F.length)));return S(`install: downloading %d tarball(s)`,F.length),await downloadAndExtractAll(F,n.prefix,a,S),await linkBins(F,n.prefix,S),S(`install: done`),topLevelResolutions(n.specs,F)}function topLevelResolutions(n,a){let S=new Map;for(let n of a)n.installPath===`node_modules/${n.name}`&&S.set(n.name,n);let C=[];for(let a of n){let n=parseSpecName(a),N=S.get(n);N&&C.push({name:N.name,version:N.version})}return C}function parseSpecName(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a===-1)return n;let S=n.indexOf(`@`,a+1);return S===-1?n:n.slice(0,S)}let a=n.indexOf(`@`);return a===-1?n:n.slice(0,a)}async function resolveDeps(n,a,S,C){let applyOverride=(n,a)=>{if(!C)return a;let N=C[n];return typeof N!=`string`||N.length===0||N===a?a:(S(`install: override %s %s → %s`,n,a,N),N)},N=new Map,fetchPkg=n=>{let S=N.get(n);if(S)return S;let C=fetchPackument(n,{npmrc:a});return N.set(n,C),C},F=new Map,I=new Map,H=n.map(parseSpec).map(n=>({from:null,name:n.name,range:applyOverride(n.name,n.range),required:!0}));for(;H.length>0;){let n=H.shift(),a=findVisible(n.from,n.name,F);if(a&&satisfiesRange(a.version,n.range))continue;let C=null;try{let a=await fetchPkg(n.name);if(C=pickVersion(a,n.range),!C){if(!n.required)continue;throw Error(`No version of ${n.name} satisfies ${n.range}`)}let N=a.versions[C];if(!N)throw Error(`Packument for ${n.name} promised ${C} but no entry exists`);let W=decidePlacement(n.from,n.name,C,I),K={name:n.name,version:C,tarballUrl:N.dist.tarball,integrity:N.dist.integrity,installPath:W,dependencies:N.dependencies??{},optionalDependencies:N.optionalDependencies??{},bin:N.bin};F.set(W,K),W===`node_modules/${n.name}`&&I.set(n.name,K),S(`resolve: %s@%s ← %s (at %s)`,n.name,C,n.range,W);for(let[n,a]of Object.entries(K.dependencies))H.push({from:W,name:n,range:applyOverride(n,a),required:!0});for(let[n,a]of Object.entries(K.optionalDependencies))H.push({from:W,name:n,range:applyOverride(n,a),required:!1})}catch(a){if(!n.required){S(`resolve: optional dep %s@%s skipped (%s)`,n.name,n.range,a.message);continue}throw a}}return Array.from(F.values())}function findVisible(n,a,S){let C=[];if(n!==null){C.push(`${n}/node_modules/${a}`);let S=n;for(;;){let n=S.lastIndexOf(`/node_modules/`);if(n<0||(S=S.slice(0,n),C.push(`${S}/node_modules/${a}`),S===``))break}}C.push(`node_modules/${a}`);for(let n of C){let a=S.get(n);if(a)return a}return null}function decidePlacement(n,a,S,C){let N=C.get(a);return!N||N.version===S||n===null?`node_modules/${a}`:`${n}/node_modules/${a}`}function satisfiesRange(n,a){try{return satisfies(n,new sE(a))}catch{return!1}}function readLockfile(n){if(!existsSync(n))return null;try{let a=JSON.parse(readFileSync(n,`utf-8`));return a.lockfileVersion!==yE||!a.packages||typeof a.packages!=`object`?null:a}catch{return null}}function writeLockfile(n,a,S){let C={},N=[...S].sort((n,a)=>n.installPath<a.installPath?-1:+(n.installPath>a.installPath));for(let n of N)C[n.installPath]={version:n.version,resolved:n.tarballUrl,integrity:n.integrity,dependencies:Object.keys(n.dependencies).length>0?n.dependencies:void 0,bin:n.bin};let F={lockfileVersion:yE,requested:[...a],packages:C};writeFileSync(n,JSON.stringify(F,null,2)+`
784
787
  `)}function lockfileToNodes(n){return Object.entries(n.packages).map(([n,a])=>({name:nameFromInstallPath(n),version:a.version,tarballUrl:a.resolved,integrity:a.integrity,installPath:n,dependencies:a.dependencies??{},optionalDependencies:{},bin:a.bin}))}function nameFromInstallPath(n){let a=n.lastIndexOf(`/node_modules/`);return a<0?n.replace(/^node_modules\//,``):n.slice(a+14)}function lockfileMatchesRequest(n,a){if(n.requested.length!==a.length)return!1;let S=[...n.requested].sort(),C=[...a].sort();return S.every((n,a)=>n===C[a])}function describeLockfileDrift(n,a){let S=new Set(n.requested),C=new Set(a),N=[],F=[];for(let n of C)S.has(n)||N.push(n);for(let n of S)C.has(n)||F.push(n);if(N.length===0&&F.length===0)return null;let I=[];return N.length>0&&I.push(` + ${N.sort().join(`
785
788
  + `)}`),F.length>0&&I.push(` - ${F.sort().join(`
786
789
  - `)}`),I.join(`
787
- `)}function parseSpec(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)throw Error(`Invalid spec (scoped name without slash): ${n}`);let S=n.indexOf(`@`,a);return S<0?{name:n,range:`*`}:{name:n.slice(0,S),range:n.slice(S+1)||`*`}}let a=n.indexOf(`@`);return a<0?{name:n,range:`*`}:{name:n.slice(0,a),range:n.slice(a+1)||`*`}}function pickVersion(n,a){if(n[`dist-tags`][a])return n[`dist-tags`][a];let S;try{S=new oE(a)}catch{throw Error(`Invalid version range for ${n.name}: ${a}`)}return maxSatisfying(Object.keys(n.versions).filter(n=>{try{return new SemVer(n),!0}catch{return!1}}),S)}async function downloadAndExtractAll(n,a,S,C){let N=[...n].sort((n,a)=>depth(n.installPath)-depth(a.installPath)||(n.installPath<a.installPath?-1:1)),F=[],I=Math.max(1,Math.min(gE,N.length)),H=0,W=N.findIndex(n=>depth(n.installPath)>1),K=W<0?N.length:W;for(;H<K;){let n=N[H++];if(!n)break;await extractOne(n,a,S,C)}for(let n=0;n<I;n++)F.push((async()=>{for(;;){let n=H++;if(n>=N.length)return;let F=N[n];if(!F)return;await extractOne(F,a,S,C)}})());await Promise.all(F)}async function extractOne(n,a,S,C){let N=Io(a,n.installPath);C(`fetch: %s@%s ← %s (→ %s)`,n.name,n.version,n.tarballUrl,n.installPath);let F=await fetchTarball(n.tarballUrl,{npmrc:S,integrity:n.integrity});rmSync(N,{recursive:!0,force:!0}),mkdirSync(N,{recursive:!0}),await extractTarball(F,N)}function depth(n){return n.split(`/node_modules/`).length}async function linkBins(n,a,S){let C=Io(a,`node_modules`,`.bin`),N=0;for(let S of n){if(!S.bin||depth(S.installPath)!==1)continue;let n=normalizeBin$1(S.name,S.bin);if(n.size!==0){mkdirSync(C,{recursive:!0});for(let[F,I]of n){let n=Io(a,S.installPath,I);if(!existsSync(n))continue;try{chmodSync(n,493)}catch{}let H=Io(C,F);rmSync(H,{force:!0});let W=Lo(C,n);try{symlinkSync(W,H),N++}catch{copyFileSync(n,H),chmodSync(H,493),N++}}}}N>0&&S(`bin: linked %d entry(ies) under .bin/`,N)}function normalizeBin$1(n,a){let S=new Map;if(typeof a==`string`){let C=n.startsWith(`@`)?n.slice(n.indexOf(`/`)+1):n;return S.set(C,a),S}for(let[n,C]of Object.entries(a))S.set(n,C);return S}async function loadNpmrc$1(n){let a=homedir(),S={registry:n.registry??cE,scopes:{},authTokens:{},basicAuth:{}};for(let C of[Io(a,`.npmrc`),Io(n.prefix,`.npmrc`)])if(existsSync(C))try{let n=parseNpmrc(readFileSync(C,`utf-8`));S={...S,...n,scopes:{...S.scopes,...n.scopes}}}catch(n){ze.warn(`gjsify install: ignoring malformed ${C}: ${n.message}`)}let C=process.env.npm_config_registry;return C&&(S.registry=C),n.registry&&(S.registry=n.registry),S}function makeLogger(n){return n?(n,...a)=>{let S=n.replace(/%s|%d/g,()=>String(a.shift()));process.stderr.write(`gjsify install: ${S}\n`)}:()=>{}}var gE,_E,vE,yE=__esmMin(()=>{Be(),Rs(),qo(),op(),sE(),lE(),mE(),gE=Number(process.env.GJSIFY_INSTALL_CONCURRENCY??`8`)||8,_E=`gjsify-lock.json`,vE=2,__name$1(normalizeBin$1,`normalizeBin`),__name$1(loadNpmrc$1,`loadNpmrc`)});gx(),Rs(),qo();const bE=process.env.GJSIFY_INSTALL_BACKEND??`native`;async function installPackages(n){if(bE===`npm`)return await installViaNpm(n),{installed:[]};let{installPackagesNative:a}=await Promise.resolve().then(()=>(yE(),hE));return{installed:await a(n)}}async function installViaNpm({prefix:n,specs:a,verbose:S,registry:C}){if(a.length===0)throw Error(`installPackages: empty specs list`);writeFileSync(Io(n,`package.json`),JSON.stringify({name:`gjsify-dlx-cache`,version:`0.0.0`,private:!0},null,2)),C&&writeFileSync(Io(n,`.npmrc`),`registry=${C}\n`);let N=[`install`,`--no-package-lock`,`--no-audit`,`--no-fund`,`--prefix`,n,...S?[`--loglevel`,`verbose`]:[`--loglevel`,`warn`],...a];await new Promise((n,a)=>{let S=spawn(`npm`,N,{stdio:`inherit`});S.on(`close`,S=>{S===0?n():a(Error(`npm install exited with code ${S}`))}),S.on(`error`,n=>{let S=n.code===`ENOENT`?`npm not found on PATH — install Node.js or set GJSIFY_INSTALL_BACKEND=native (not yet supported)`:`npm install failed: ${n.message}`;a(Error(S))})})}Be(),Rs(),qo();const xE={command:`dlx <spec> [binOrArg] [extraArgs..]`,description:`Run the GJS bundle of an npm-published package without installing it locally.`,builder:n=>n.positional(`spec`,{description:"Package spec (`name`, `name@version`, `@scope/name@spec`, or local path).",type:`string`,demandOption:!0}).positional(`binOrArg`,{description:"Optional bin name when the package defines `gjsify.bin` with multiple entries; otherwise treated as the first argument forwarded to the bundle.",type:`string`}).positional(`extraArgs`,{description:"Extra args forwarded to `gjs -m <bundle>`.",type:`string`,array:!0}).option(`cache-max-age`,{description:`Cache TTL in minutes. Defaults to 7 days. Use 0 to bypass cache.`,type:`number`,default:1440*7}).option(`reinstall`,{description:`Bypass the cache for this run (alias for --cache-max-age=0).`,type:`boolean`,default:!1}).option(`frozen`,{description:`Use the project-local gjsify-lock.json verbatim — fail if missing or stale (no resolver pass).`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose logging (passes --loglevel verbose to npm).`,type:`boolean`,default:!1}).option(`registry`,{description:`Registry URL override.`,type:`string`}),handler:async n=>{let a=parseSpec$1(n.spec),S=n.reinstall?0:n[`cache-max-age`],{pkgDir:C,cachedPkgName:N}=await ensurePkgDir(a,{verbose:n.verbose,registry:n.registry,cacheMaxAge:S,frozen:n.frozen}),{binName:F,extraArgs:I}=splitBinAndArgs(C,n.binOrArg,n.extraArgs??[]),H=resolveGjsEntry(C,F);H.fromFallback&&ze.warn(`[gjsify dlx] package "${N??a.kind}" has no \`gjsify\` field — falling back to package.json#main. Add \`gjsify.main\` to silence.`),await runGjsBundle(H.bundlePath,I)}};async function ensurePkgDir(n,a){if(n.kind===`local`)return{pkgDir:n.path,cachedPkgName:null};let S=cacheDirFor(createCacheKey({packages:[n.spec]})),C=a.cacheMaxAge>0?getValidCachedPkg(S,a.cacheMaxAge):void 0;if(C)return{pkgDir:resolveInstalledPkgDir(C,n.name),cachedPkgName:n.name};let N=makePrepareDir(S);return await installPackages({prefix:N,specs:[n.spec],verbose:a.verbose,registry:a.registry,lockfile:!0,frozen:a.frozen}),{pkgDir:resolveInstalledPkgDir(symlinkSwap(S,N),n.name),cachedPkgName:n.name}}function splitBinAndArgs(n,a,S){if(!a)return{binName:null,extraArgs:S};let C=Io(n,`package.json`);if(existsSync(C))try{let n=JSON.parse(readFileSync(C,`utf-8`)).gjsify?.bin;if(n&&Object.prototype.hasOwnProperty.call(n,a))return{binName:a,extraArgs:S}}catch{}return{binName:null,extraArgs:[a,...S]}}Rs(),op(),qo();function defaultGlobalLayout(){let n=process.env.GJSIFY_GLOBAL_PREFIX,a=process.env.GJSIFY_GLOBAL_BIN_DIR,S=homedir(),C=process.env.XDG_DATA_HOME??Io(S,`.local`,`share`);return{prefix:n??Io(C,`gjsify`,`global`),binDir:a??Io(S,`.local`,`bin`)}}function linkGlobalBins(n,a){mkdirSync(a.binDir,{recursive:!0});let S=[];for(let C of n){let n=Io(a.prefix,`node_modules`,C),N=Io(n,`package.json`);if(!existsSync(N))continue;let F=pickBinMap(C,readJson(N));if(!(!F||F.size===0))for(let[C,N]of F){let F=Io(n,N);if(!existsSync(F))continue;try{chmodSync(F,493)}catch{}let I=Io(a.binDir,C);rmSync(I,{force:!0}),writeFileSync(I,F.endsWith(`.gjs.mjs`)||F.endsWith(`.mjs`)?`#!/bin/sh\nexec gjs -m ${shQuote(F)} "$@"\n`:`#!/bin/sh\nexec ${shQuote(F)} "$@"\n`),chmodSync(I,493),S.push({name:C,target:F,link:I})}}return S}function shQuote(n){return`'${n.replace(/'/g,`'\\''`)}'`}function pickBinMap(n,a){let S=a.gjsify;if(S?.bin!==void 0)return normalizeBin(n,S.bin);let C=a.bin;return C===void 0?null:normalizeBin(n,C)}function normalizeBin(n,a){let S=new Map;if(typeof a==`string`){let C=n.startsWith(`@`)?n.slice(n.indexOf(`/`)+1):n;return S.set(C,a),S}for(let[n,C]of Object.entries(a))S.set(n,C);return S}function readJson(n){return JSON.parse(readFileSync(n,`utf-8`))}function binDirOnPath(n){let a=process.env.PATH??``,S=process.platform===`win32`?`;`:`:`,C=No(n);return a.split(S).some(n=>n&&No(n)===C)}function specToPackageName(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)return n;let S=n.indexOf(`@`,a);return S<0?n:n.slice(0,S)}let a=n.indexOf(`@`);return a<0?n:n.slice(0,a)}Be(),Rs(),qo(),gx();const SE={command:`install [packages..]`,description:`Install npm dependencies in the current project (or globally with -g), then run gjsify-aware post-checks.`,builder:n=>n.positional(`packages`,{description:`Optional package specs. With none, runs a full project install.`,type:`string`,array:!0}).option(`global`,{description:`Install into the user-global XDG location and symlink bins into ~/.local/bin.`,type:`boolean`,alias:`g`,default:!1}).option(`save-dev`,{type:`boolean`,alias:`D`}).option(`save-peer`,{type:`boolean`}).option(`save-optional`,{type:`boolean`,alias:`O`}).option(`immutable`,{description:`CI mode: install strictly from gjsify-lock.json, fail if the lockfile is missing or stale. Equivalent to yarn --immutable / npm ci --frozen-lockfile.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose install logging.`,type:`boolean`,default:!1}),handler:async n=>{if(n.immutable&&(n.packages&&n.packages.length>0&&(ze.error(`gjsify install --immutable does not accept package arguments. Remove the package names or drop --immutable.`),process.exit(1)),n.global&&(ze.error(`gjsify install --immutable is incompatible with --global.`),process.exit(1))),n.global){(!n.packages||n.packages.length===0)&&(ze.error(`gjsify install --global requires at least one <pkg> argument.`),process.exit(1));for(let a of[`save-dev`,`save-peer`,`save-optional`])n[a]&&ze.warn(`gjsify install --global ignores --${a}: global installs do not modify a project package.json.`);await installGlobalAndLink(n.packages,{verbose:n.verbose});return}if(process.env.GJSIFY_INSTALL_BACKEND===`npm`){await projectInstallViaNpm(n),await runPostInstallChecks();return}await projectInstallNative(n),await runPostInstallChecks()}};function isWorkspaceRoot(n){let a=readPackageJson$2(Io(n,`package.json`));return a?a.workspaces!==void 0:!1}function depKindFromArgs(n){return n[`save-dev`]?`devDependencies`:n[`save-peer`]?`peerDependencies`:n[`save-optional`]?`optionalDependencies`:`dependencies`}async function projectInstallNative(n){let a=process.cwd(),S=Io(a,`package.json`);if(existsSync(Io(a,`.pnp.cjs`))||existsSync(Io(a,`.pnp.loader.mjs`)))throw Error("gjsify install: detected Yarn PnP (.pnp.cjs) — native install is not PnP-aware yet. Use `yarn install` or set GJSIFY_INSTALL_BACKEND=npm.");if((!n.packages||n.packages.length===0)&&isWorkspaceRoot(a)){await workspaceInstall(a,n);return}let C,N=readPackageJson$2(S),F=N?projectSpecsFromPackageJson(N):[];if(n.packages&&n.packages.length>0){let a=new Set(n.packages.map(n=>parseSpec$2(n).name));C=[...F.filter(n=>!a.has(parseSpec$2(n).name)),...n.packages]}else{if(!N)throw Error(`gjsify install: no package.json in ${a}`);if(C=F,C.length===0){ze.log(`gjsify install: no dependencies declared in package.json — nothing to do.`);return}}mkdirSync(a,{recursive:!0});let I=await installPackages({prefix:a,specs:C,verbose:n.verbose,lockfile:!n.immutable,frozen:n.immutable});if(n.packages&&n.packages.length>0&&N){let C=depKindFromArgs(n);for(let a of n.packages){let{name:n,range:S}=parseSpec$2(a),F=I.installed.find(a=>a.name===n);addDependencyEntry(N,n,S??(F?defaultRangeFromVersion(F.version):`latest`),C)}writePackageJson(S,N),n.immutable||syncLockfileRequested(a,projectSpecsFromPackageJson(N))}}function syncLockfileRequested(n,a){let S=Io(n,`gjsify-lock.json`);if(existsSync(S))try{let n=JSON.parse(readFileSync(S,`utf-8`)),C=[...a].sort(),N=[...n.requested??[]].sort();if(C.length===N.length&&C.every((n,a)=>n===N[a]))return;n.requested=a,writeFileSync(S,JSON.stringify(n,null,2)+`
790
+ `)}function parseSpec(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)throw Error(`Invalid spec (scoped name without slash): ${n}`);let S=n.indexOf(`@`,a);return S<0?{name:n,range:`*`}:{name:n.slice(0,S),range:n.slice(S+1)||`*`}}let a=n.indexOf(`@`);return a<0?{name:n,range:`*`}:{name:n.slice(0,a),range:n.slice(a+1)||`*`}}function pickVersion(n,a){if(n[`dist-tags`][a])return n[`dist-tags`][a];let S;try{S=new sE(a)}catch{throw Error(`Invalid version range for ${n.name}: ${a}`)}return maxSatisfying(Object.keys(n.versions).filter(n=>{try{return new SemVer(n),!0}catch{return!1}}),S)}async function downloadAndExtractAll(n,a,S,C){let N=[...n].sort((n,a)=>depth(n.installPath)-depth(a.installPath)||(n.installPath<a.installPath?-1:1)),F=[],I=Math.max(1,Math.min(_E,N.length)),H=0,W=N.findIndex(n=>depth(n.installPath)>1),K=W<0?N.length:W;for(;H<K;){let n=N[H++];if(!n)break;await extractOne(n,a,S,C)}for(let n=0;n<I;n++)F.push((async()=>{for(;;){let n=H++;if(n>=N.length)return;let F=N[n];if(!F)return;await extractOne(F,a,S,C)}})());await Promise.all(F)}async function extractOne(n,a,S,C){let N=Io(a,n.installPath);C(`fetch: %s@%s ← %s (→ %s)`,n.name,n.version,n.tarballUrl,n.installPath);let F=await fetchTarball(n.tarballUrl,{npmrc:S,integrity:n.integrity});rmSync(N,{recursive:!0,force:!0}),mkdirSync(N,{recursive:!0}),await extractTarball(F,N)}function depth(n){return n.split(`/node_modules/`).length}async function linkBins(n,a,S){let C=Io(a,`node_modules`,`.bin`),N=0;for(let S of n){if(!S.bin||depth(S.installPath)!==1)continue;let n=normalizeBin$1(S.name,S.bin);if(n.size!==0){mkdirSync(C,{recursive:!0});for(let[F,I]of n){let n=Io(a,S.installPath,I);if(!existsSync(n))continue;try{chmodSync(n,493)}catch{}let H=Io(C,F);rmSync(H,{force:!0});let W=Lo(C,n);try{symlinkSync(W,H),N++}catch{copyFileSync(n,H),chmodSync(H,493),N++}}}}N>0&&S(`bin: linked %d entry(ies) under .bin/`,N)}function normalizeBin$1(n,a){let S=new Map;if(typeof a==`string`){let C=n.startsWith(`@`)?n.slice(n.indexOf(`/`)+1):n;return S.set(C,a),S}for(let[n,C]of Object.entries(a))S.set(n,C);return S}async function loadNpmrc$1(n){let a=homedir(),S={registry:n.registry??lE,scopes:{},authTokens:{},basicAuth:{}};for(let C of[Io(a,`.npmrc`),Io(n.prefix,`.npmrc`)])if(existsSync(C))try{let n=parseNpmrc(readFileSync(C,`utf-8`));S={...S,...n,scopes:{...S.scopes,...n.scopes}}}catch(n){ze.warn(`gjsify install: ignoring malformed ${C}: ${n.message}`)}let C=process.env.npm_config_registry;return C&&(S.registry=C),n.registry&&(S.registry=n.registry),S}function makeLogger(n){return n?(n,...a)=>{let S=n.replace(/%s|%d/g,()=>String(a.shift()));process.stderr.write(`gjsify install: ${S}\n`)}:()=>{}}var _E,vE,yE,bE=__esmMin(()=>{Be(),Rs(),qo(),op(),cE(),uE(),hE(),_E=Number(process.env.GJSIFY_INSTALL_CONCURRENCY??`8`)||8,vE=`gjsify-lock.json`,yE=2,__name$1(normalizeBin$1,`normalizeBin`),__name$1(loadNpmrc$1,`loadNpmrc`)});gx(),Rs(),qo();const xE=process.env.GJSIFY_INSTALL_BACKEND??`native`;async function installPackages(n){if(xE===`npm`)return await installViaNpm(n),{installed:[]};let{installPackagesNative:a}=await Promise.resolve().then(()=>(bE(),gE));return{installed:await a(n)}}async function installViaNpm({prefix:n,specs:a,verbose:S,registry:C}){if(a.length===0)throw Error(`installPackages: empty specs list`);writeFileSync(Io(n,`package.json`),JSON.stringify({name:`gjsify-dlx-cache`,version:`0.0.0`,private:!0},null,2)),C&&writeFileSync(Io(n,`.npmrc`),`registry=${C}\n`);let N=[`install`,`--no-package-lock`,`--no-audit`,`--no-fund`,`--prefix`,n,...S?[`--loglevel`,`verbose`]:[`--loglevel`,`warn`],...a];await new Promise((n,a)=>{let S=spawn(`npm`,N,{stdio:`inherit`});S.on(`close`,S=>{S===0?n():a(Error(`npm install exited with code ${S}`))}),S.on(`error`,n=>{let S=n.code===`ENOENT`?`npm not found on PATH — install Node.js or set GJSIFY_INSTALL_BACKEND=native (not yet supported)`:`npm install failed: ${n.message}`;a(Error(S))})})}Be(),Rs(),qo();const SE={command:`dlx <spec> [binOrArg] [extraArgs..]`,description:`Run the GJS bundle of an npm-published package without installing it locally.`,builder:n=>n.positional(`spec`,{description:"Package spec (`name`, `name@version`, `@scope/name@spec`, or local path).",type:`string`,demandOption:!0}).positional(`binOrArg`,{description:"Optional bin name when the package defines `gjsify.bin` with multiple entries; otherwise treated as the first argument forwarded to the bundle.",type:`string`}).positional(`extraArgs`,{description:"Extra args forwarded to `gjs -m <bundle>`.",type:`string`,array:!0}).option(`cache-max-age`,{description:`Cache TTL in minutes. Defaults to 7 days. Use 0 to bypass cache.`,type:`number`,default:1440*7}).option(`reinstall`,{description:`Bypass the cache for this run (alias for --cache-max-age=0).`,type:`boolean`,default:!1}).option(`frozen`,{description:`Use the project-local gjsify-lock.json verbatim — fail if missing or stale (no resolver pass).`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose logging (passes --loglevel verbose to npm).`,type:`boolean`,default:!1}).option(`registry`,{description:`Registry URL override.`,type:`string`}),handler:async n=>{let a=parseSpec$1(n.spec),S=n.reinstall?0:n[`cache-max-age`],{pkgDir:C,cachedPkgName:N}=await ensurePkgDir(a,{verbose:n.verbose,registry:n.registry,cacheMaxAge:S,frozen:n.frozen}),{binName:F,extraArgs:I}=splitBinAndArgs(C,n.binOrArg,n.extraArgs??[]),H=resolveGjsEntry(C,F);H.fromFallback&&ze.warn(`[gjsify dlx] package "${N??a.kind}" has no \`gjsify\` field — falling back to package.json#main. Add \`gjsify.main\` to silence.`),await runGjsBundle(H.bundlePath,I)}};async function ensurePkgDir(n,a){if(n.kind===`local`)return{pkgDir:n.path,cachedPkgName:null};let S=cacheDirFor(createCacheKey({packages:[n.spec]})),C=a.cacheMaxAge>0?getValidCachedPkg(S,a.cacheMaxAge):void 0;if(C)return{pkgDir:resolveInstalledPkgDir(C,n.name),cachedPkgName:n.name};let N=makePrepareDir(S);return await installPackages({prefix:N,specs:[n.spec],verbose:a.verbose,registry:a.registry,lockfile:!0,frozen:a.frozen}),{pkgDir:resolveInstalledPkgDir(symlinkSwap(S,N),n.name),cachedPkgName:n.name}}function splitBinAndArgs(n,a,S){if(!a)return{binName:null,extraArgs:S};let C=Io(n,`package.json`);if(existsSync(C))try{let n=JSON.parse(readFileSync(C,`utf-8`)).gjsify?.bin;if(n&&Object.prototype.hasOwnProperty.call(n,a))return{binName:a,extraArgs:S}}catch{}return{binName:null,extraArgs:[a,...S]}}Rs(),op(),qo();function defaultGlobalLayout(){let n=process.env.GJSIFY_GLOBAL_PREFIX,a=process.env.GJSIFY_GLOBAL_BIN_DIR,S=homedir(),C=process.env.XDG_DATA_HOME??Io(S,`.local`,`share`);return{prefix:n??Io(C,`gjsify`,`global`),binDir:a??Io(S,`.local`,`bin`)}}function linkGlobalBins(n,a){mkdirSync(a.binDir,{recursive:!0});let S=[];for(let C of n){let n=Io(a.prefix,`node_modules`,C),N=Io(n,`package.json`);if(!existsSync(N))continue;let F=pickBinMap(C,readJson(N));if(!(!F||F.size===0))for(let[C,N]of F){let F=Io(n,N);if(!existsSync(F))continue;try{chmodSync(F,493)}catch{}let I=Io(a.binDir,C);rmSync(I,{force:!0}),writeFileSync(I,F.endsWith(`.gjs.mjs`)||F.endsWith(`.mjs`)?`#!/bin/sh\nexec gjs -m ${shQuote(F)} "$@"\n`:`#!/bin/sh\nexec ${shQuote(F)} "$@"\n`),chmodSync(I,493),S.push({name:C,target:F,link:I})}}return S}function shQuote(n){return`'${n.replace(/'/g,`'\\''`)}'`}function pickBinMap(n,a){let S=a.gjsify;if(S?.bin!==void 0)return normalizeBin(n,S.bin);let C=a.bin;return C===void 0?null:normalizeBin(n,C)}function normalizeBin(n,a){let S=new Map;if(typeof a==`string`){let C=n.startsWith(`@`)?n.slice(n.indexOf(`/`)+1):n;return S.set(C,a),S}for(let[n,C]of Object.entries(a))S.set(n,C);return S}function readJson(n){return JSON.parse(readFileSync(n,`utf-8`))}function binDirOnPath(n){let a=process.env.PATH??``,S=process.platform===`win32`?`;`:`:`,C=No(n);return a.split(S).some(n=>n&&No(n)===C)}function specToPackageName(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)return n;let S=n.indexOf(`@`,a);return S<0?n:n.slice(0,S)}let a=n.indexOf(`@`);return a<0?n:n.slice(0,a)}Be(),Rs(),qo(),gx();const CE={command:`install [packages..]`,description:`Install npm dependencies in the current project (or globally with -g), then run gjsify-aware post-checks.`,builder:n=>n.positional(`packages`,{description:`Optional package specs. With none, runs a full project install.`,type:`string`,array:!0}).option(`global`,{description:`Install into the user-global XDG location and symlink bins into ~/.local/bin.`,type:`boolean`,alias:`g`,default:!1}).option(`save-dev`,{type:`boolean`,alias:`D`}).option(`save-peer`,{type:`boolean`}).option(`save-optional`,{type:`boolean`,alias:`O`}).option(`immutable`,{description:`CI mode: install strictly from gjsify-lock.json, fail if the lockfile is missing or stale. Equivalent to yarn --immutable / npm ci --frozen-lockfile.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose install logging.`,type:`boolean`,default:!1}),handler:async n=>{if(n.immutable&&(n.packages&&n.packages.length>0&&(ze.error(`gjsify install --immutable does not accept package arguments. Remove the package names or drop --immutable.`),process.exit(1)),n.global&&(ze.error(`gjsify install --immutable is incompatible with --global.`),process.exit(1))),n.global){(!n.packages||n.packages.length===0)&&(ze.error(`gjsify install --global requires at least one <pkg> argument.`),process.exit(1));for(let a of[`save-dev`,`save-peer`,`save-optional`])n[a]&&ze.warn(`gjsify install --global ignores --${a}: global installs do not modify a project package.json.`);await installGlobalAndLink(n.packages,{verbose:n.verbose});return}if(process.env.GJSIFY_INSTALL_BACKEND===`npm`){await projectInstallViaNpm(n),await runPostInstallChecks();return}await projectInstallNative(n),await runPostInstallChecks()}};function isWorkspaceRoot(n){let a=readPackageJson$2(Io(n,`package.json`));return a?a.workspaces!==void 0:!1}function depKindFromArgs(n){return n[`save-dev`]?`devDependencies`:n[`save-peer`]?`peerDependencies`:n[`save-optional`]?`optionalDependencies`:`dependencies`}async function projectInstallNative(n){let a=process.cwd(),S=Io(a,`package.json`);if(existsSync(Io(a,`.pnp.cjs`))||existsSync(Io(a,`.pnp.loader.mjs`)))throw Error("gjsify install: detected Yarn PnP (.pnp.cjs) — native install is not PnP-aware yet. Use `yarn install` or set GJSIFY_INSTALL_BACKEND=npm.");if((!n.packages||n.packages.length===0)&&isWorkspaceRoot(a)){await workspaceInstall(a,n);return}let C,N=readPackageJson$2(S),F=N?projectSpecsFromPackageJson(N):[];if(n.packages&&n.packages.length>0){let a=new Set(n.packages.map(n=>parseSpec$2(n).name));C=[...F.filter(n=>!a.has(parseSpec$2(n).name)),...n.packages]}else{if(!N)throw Error(`gjsify install: no package.json in ${a}`);if(C=F,C.length===0){ze.log(`gjsify install: no dependencies declared in package.json — nothing to do.`);return}}mkdirSync(a,{recursive:!0});let I=await installPackages({prefix:a,specs:C,verbose:n.verbose,lockfile:!n.immutable,frozen:n.immutable});if(n.packages&&n.packages.length>0&&N){let C=depKindFromArgs(n);for(let a of n.packages){let{name:n,range:S}=parseSpec$2(a),F=I.installed.find(a=>a.name===n);addDependencyEntry(N,n,S??(F?defaultRangeFromVersion(F.version):`latest`),C)}writePackageJson(S,N),n.immutable||syncLockfileRequested(a,projectSpecsFromPackageJson(N))}}function syncLockfileRequested(n,a){let S=Io(n,`gjsify-lock.json`);if(existsSync(S))try{let n=JSON.parse(readFileSync(S,`utf-8`)),C=[...a].sort(),N=[...n.requested??[]].sort();if(C.length===N.length&&C.every((n,a)=>n===N[a]))return;n.requested=a,writeFileSync(S,JSON.stringify(n,null,2)+`
788
791
  `)}catch{}}async function workspaceInstall(n,a){let S=discoverWorkspaces(n,{includeRoot:!0});if(S.length===0)throw Error(`gjsify install: ${n} has a "workspaces" field but no workspaces were discovered`);let C=new Map(S.map(n=>[n.name,n])),N=new Set,F=[];for(let n of S){let a=n.manifest;for(let S of[`dependencies`,`devDependencies`,`optionalDependencies`]){let I=a[S];if(I){for(let[a,S]of Object.entries(I))if(typeof S==`string`){if(S.startsWith(`workspace:`)){let N=C.get(a);if(!N)throw Error(`gjsify install: ${n.name} declares "${a}: ${S}" but no workspace with that name exists`);F.push({fromWorkspaceName:n.name,depName:a,targetLocation:N.location});continue}/^(link|file|portal|git\+|https?):/.test(S)||N.add(`${a}@${S}`)}}}}ze.log(`gjsify install: ${S.length} workspace(s), ${N.size} external dep spec(s), ${F.length} workspace symlink(s)`);let I=S.find(a=>a.location===n)?.manifest,H=extractOverrides(I);N.size>0?await installPackages({prefix:n,specs:[...N],verbose:a.verbose,lockfile:!a.immutable,frozen:a.immutable,overrides:H}):a.verbose&&ze.log(`gjsify install: no external deps to fetch`);for(let n of F){let a=C.get(n.fromWorkspaceName);if(!a)continue;let S=Io(a.location,`node_modules`,n.depName);mkdirSync(zo(S),{recursive:!0});try{let n=lstatSync(S);n.isSymbolicLink()||n.isFile()?rmSync(S,{force:!0}):n.isDirectory()&&rmSync(S,{recursive:!0,force:!0})}catch{}symlinkSync(Lo(zo(S),n.targetLocation),S)}F.length>0&&ze.log(`gjsify install: wired ${F.length} workspace symlink(s)`);let W=Io(n,`node_modules`),K=0;for(let a of S){if(a.location===n||!a.name)continue;let S=Io(W,a.name),C=!1;try{lstatSync(S),C=!0}catch{}C||(mkdirSync(zo(S),{recursive:!0}),symlinkSync(Lo(zo(S),a.location),S),K++)}K>0&&ze.log(`gjsify install: hoisted ${K} workspace(s) to root node_modules/`);let q=Io(n,`node_modules`,`.bin`),Y=0;for(let n of S){let a=n.manifest,S=a.gjsify?.bin,C=a.bin,N=mergeWorkspaceBins(n.name,S,C);if(N.size!==0){mkdirSync(q,{recursive:!0});for(let[a,{nodeTarget:S,gjsTarget:C}]of N){let N=Io(q,a);try{rmSync(N,{force:!0})}catch{}writeFileSync(N,buildBinShim(n.location,S,C),{mode:493}),chmodSync(N,493),Y++}}}Y>0&&ze.log(`gjsify install: linked ${Y} workspace bin(s) into node_modules/.bin/`)}function extractOverrides(n){if(!n)return;let a={},merge=(n,S)=>{if(n)for(let[C,N]of Object.entries(n)){if(C.startsWith(`_`))continue;if(typeof N!=`string`){ze.warn(`gjsify install: ${S}["${C}"] is not a string — nested override shape isn't supported yet, skipping`);continue}let n=C,F=C.startsWith(`@`)?C.indexOf(`@`,1):C.indexOf(`@`);F>0&&(n=C.slice(0,F)),a[n]=N}};return merge(n.overrides,`overrides`),merge(n.resolutions,`resolutions`),Object.keys(a).length>0?a:void 0}function buildBinShim(n,a,S){let C=a?Io(n,a):null,N=S?Io(n,S):null;if(C&&N)return`#!/bin/sh\nif [ -f "${C}" ]; then\n exec node "${C}" "$@"\nfi\nexec gjs -m "${N}" "$@"\n`;if(C)return`#!/bin/sh\nexec node "${C}" "$@"\n`;if(N)return`#!/bin/sh\nexec gjs -m "${N}" "$@"\n`;throw Error(`buildBinShim: either nodeTarget or gjsTarget must be provided`)}function mergeWorkspaceBins(n,a,S){let C=new Map,N=n.startsWith(`@`)?n.slice(n.indexOf(`/`)+1):n,get=n=>{let a=C.get(n);return a||(a={},C.set(n,a)),a};if(typeof S==`string`)get(N).nodeTarget=S;else if(S&&typeof S==`object`)for(let[n,a]of Object.entries(S))typeof a==`string`&&a.length>0&&(get(n).nodeTarget=a);if(typeof a==`string`)get(N).gjsTarget=a;else if(a&&typeof a==`object`)for(let[n,S]of Object.entries(a))typeof S==`string`&&S.length>0&&(get(n).gjsTarget=S);return C}async function projectInstallViaNpm(n){let a=[`install`];n[`save-dev`]&&a.push(`--save-dev`),n[`save-peer`]&&a.push(`--save-peer`),n[`save-optional`]&&a.push(`--save-optional`),n.verbose&&a.push(`--loglevel`,`verbose`),n.packages&&n.packages.length>0&&a.push(...n.packages),await spawnNpm(a)}async function spawnNpm(n){return new Promise((a,S)=>{let C=spawn(`npm`,n,{stdio:`inherit`});C.on(`close`,n=>{n===0?a():S(Error(`npm install exited with code ${n}`))}),C.on(`error`,n=>{let a=n.code===`ENOENT`?`npm not found on PATH — install Node.js first.`:`npm install failed: ${n.message}`;S(Error(a))})}).catch(n=>{ze.error(n.message),process.exit(1)})}async function installGlobalAndLink(n,a){let S=defaultGlobalLayout();mkdirSync(S.prefix,{recursive:!0}),ze.log(`gjsify install --global → ${S.prefix}`),ze.log(` bins → ${S.binDir}`),await installPackages({prefix:S.prefix,specs:n,verbose:a.verbose});let C=linkGlobalBins(n.map(specToPackageName),S);if(C.length===0)ze.warn("\nNo bins declared (neither `gjsify.bin` nor `bin` in package.json) — nothing was symlinked.");else{ze.log(`\nLinked ${C.length} bin(s):`);for(let n of C)ze.log(` • ${n.link} → ${n.target}`)}C.length>0&&!binDirOnPath(S.binDir)&&ze.warn(`\nNote: ${S.binDir} is not on your PATH.\nAdd it to your shell rc file:\n export PATH="${S.binDir}:$PATH"`)}async function runPostInstallChecks(){ze.log(`
789
792
  --- gjsify post-install checks ---`);let n=runMinimalChecks().filter(n=>!n.found&&n.severity===`required`);if(n.length>0){ze.warn(`Missing required system dependencies:
790
- `);for(let a of n)ze.warn(` ✗ ${a.name}`);let a=buildInstallCommand(detectPackageManager$2(),n);a&&ze.warn(`\nInstall with:\n ${a}`)}else ze.log(`System dependencies OK.`);let a=detectNativePackages(process.cwd());if(a.length>0){ze.log(`\nDetected ${a.length} @gjsify/* package(s) with native prebuilds:`);for(let n of a)ze.log(` • ${n.name}`);ze.log("\nUse `gjsify run <bundle>` to launch with LD_LIBRARY_PATH/GI_TYPELIB_PATH set.")}}Be(),gx(),op();const CE={command:`foreach [script] [args..]`,description:"Run a workspace script across all (or filtered) workspaces. Drop-in for `yarn workspaces foreach`: -A/--all, -p/--parallel, -t/--topological, --include, --exclude, --no-private. Pass --exec to run an arbitrary command instead of a script.",builder:n=>n.positional(`script`,{description:"Script name to run in each workspace (`run <name>`-equivalent). With --exec, the command to run instead.",type:`string`}).positional(`args`,{description:`Extra arguments forwarded to each child invocation.`,type:`string`,array:!0}).option(`all`,{description:"Include workspaces declared as `private: true`.",type:`boolean`,alias:`A`,default:!1}).option(`parallel`,{description:`Run workspaces in parallel (capped by --jobs).`,type:`boolean`,alias:`p`,default:!1}).option(`topological`,{description:`Wait for each workspace's deps to finish before starting it (production deps only).`,type:`boolean`,alias:`t`,default:!1}).option(`topological-dev`,{description:`Like --topological but also respects devDependencies (often cyclic — use sparingly).`,type:`boolean`,default:!1}).option(`include`,{description:`Glob pattern to include workspaces by name (repeatable).`,type:`string`,array:!0}).option(`exclude`,{description:`Glob pattern to exclude workspaces by name (repeatable).`,type:`string`,array:!0}).option(`private`,{description:`Include private workspaces (default true). Pass --no-private to skip them.`,type:`boolean`,default:!0}).option(`verbose`,{description:`Echo every spawned command before running it.`,type:`boolean`,alias:`v`,default:!1}).option(`jobs`,{description:`Maximum concurrent workspaces in --parallel mode (default: cpu count).`,type:`number`,alias:`j`}).option(`exec`,{description:"Treat <script> [args..] as an arbitrary command (yarn `workspaces foreach exec`-equivalent) instead of a package.json script lookup. Workspace filtering by script presence is skipped. Use `-- <cmd> <args...>` to pass flags to the command without yargs intercepting them.",type:`boolean`,default:!1}).parserConfiguration({"populate--":!0}),handler:async n=>{let a=discoverWorkspaces(findWorkspaceRoot(process.cwd())??process.cwd()),S=n.exec===!0,C=n.script,N=n.args??[];if(S){let a=(n[`--`]??[]).filter(n=>typeof n==`string`);a.length>0&&(C?N=[...N,...a]:(C=a[0],N=[...N,...a.slice(1)])),C||(ze.error("gjsify foreach --exec: missing command. Pass it after `--`, e.g. `gjsify foreach --exec -- npm publish --tag latest`."),process.exit(1))}let F=filterWorkspaces(a,{include:n.include,exclude:n.exclude,noPrivate:n.private===!1});if(!S){C||(ze.error(`gjsify foreach: missing <script> positional. Pass --exec to run an arbitrary command instead.`),process.exit(1));let n=C;F=F.filter(a=>typeof(a.manifest.scripts??{})[n]==`string`)}if(F.length===0){ze.log(`gjsify foreach: no workspaces match (${S?`exec`:`script`}="${C}", include=${JSON.stringify(n.include??[])}, exclude=${JSON.stringify(n.exclude??[])})`);return}(n.topological||n[`topological-dev`])&&(F=topologicalSort(buildDependencyGraph(F,{includeDev:n[`topological-dev`]===!0})));let I=n.verbose===!0,H=C;try{if(n.parallel&&!n.topological&&!n[`topological-dev`]){let a=n.jobs&&n.jobs>0?n.jobs:cpus().length;await runParallel(F,H,N,a,I,S)}else if(n.parallel){let a=n.jobs&&n.jobs>0?n.jobs:cpus().length;await runTopologicalParallel(F,H,N,a,I,n[`topological-dev`]===!0,S)}else await runSequential(F,H,N,I,S)}catch(n){ze.error(n.message),process.exit(1)}process.exit(0)}};async function runSequential(n,a,S,C,N){for(let F of n)await runOne(F,a,S,!1,C,N)}async function runParallel(n,a,S,C,N,F){let I=0,H=[];for(let W=0;W<C;W++)H.push((async()=>{for(;I<n.length;)await runOne(n[I++],a,S,!0,N,F)})());await Promise.all(H)}async function runTopologicalParallel(n,a,S,C,N,F,I){let H=new Set(n.map(n=>n.name)),W=new Map;for(let a of n){let n=new Set,S=a.manifest;for(let a of[S.dependencies,F?S.devDependencies:void 0,S.optionalDependencies])if(a)for(let[S,C]of Object.entries(a))typeof C==`string`&&C.startsWith(`workspace:`)&&H.has(S)&&n.add(S);W.set(a.name,n)}let K=new Map(n.map(n=>[n.name,n])),q=new Set,Y=0;return new Promise((n,F)=>{let H=null,pump=()=>{if(!H){for(;Y<C;){let C=[...W.entries()].filter(([,n])=>[...n].every(n=>q.has(n))).map(([n])=>n);if(C.length===0)break;let X=C.sort()[0];W.delete(X),Y++,runOne(K.get(X),a,S,!0,N,I).then(()=>{if(Y--,q.add(X),W.size===0&&Y===0){n();return}pump()}).catch(n=>{H=n instanceof Error?n:Error(String(n)),Y===0&&F(H)})}W.size>0&&Y===0&&!H&&F(Error(`gjsify foreach --topological: stuck — workspaces ${[...W.keys()].join(`, `)} have unsatisfied deps in the selected set`))}};pump()})}async function runOne(n,a,S,C,N,F){if(F){N&&ze.error(`[${n.name}] $ ${a} ${S.join(` `)}`),await spawnPrefixed(a,S,n.location,C?`[${n.name}] `:null);return}let I=detectPackageManager$1(),H=I===`gjsify`?[`run`,a,...S]:[`run`,a,...S.length>0?[`--`,...S]:[]];N&&ze.error(`[${n.name}] $ ${I} ${H.join(` `)}`),await spawnPrefixed(I,H,n.location,C?`[${n.name}] `:null)}function detectPackageManager$1(){let n=process.env.npm_config_user_agent??``;return n.startsWith(`yarn/`)?`yarn`:n.startsWith(`gjsify/`)?`gjsify`:`npm`}__name$1(detectPackageManager$1,`detectPackageManager`);function spawnPrefixed(n,a,S,C){return new Promise((N,F)=>{let I=spawn(n,a,{cwd:S,stdio:C?[`ignore`,`pipe`,`pipe`]:`inherit`,env:process.env});C&&I.stdout&&I.stderr&&(prefixLines(I.stdout,process.stdout,C),prefixLines(I.stderr,process.stderr,C)),I.on(`close`,S=>{S===0?N():F(Error(`${n} ${a.join(` `)} exited with code ${S}`))}),I.on(`error`,n=>F(n))})}function prefixLines(n,a,S){let C=``;n.setEncoding(`utf-8`),n.on(`data`,n=>{C+=n;let N;for(;(N=C.indexOf(`
793
+ `);for(let a of n)ze.warn(` ✗ ${a.name}`);let a=buildInstallCommand(detectPackageManager$2(),n);a&&ze.warn(`\nInstall with:\n ${a}`)}else ze.log(`System dependencies OK.`);let a=detectNativePackages(process.cwd());if(a.length>0){ze.log(`\nDetected ${a.length} @gjsify/* package(s) with native prebuilds:`);for(let n of a)ze.log(` • ${n.name}`);ze.log("\nUse `gjsify run <bundle>` to launch with LD_LIBRARY_PATH/GI_TYPELIB_PATH set.")}}Be(),gx(),op();const wE={command:`foreach [script] [args..]`,description:"Run a workspace script across all (or filtered) workspaces. Drop-in for `yarn workspaces foreach`: -A/--all, -p/--parallel, -t/--topological, --include, --exclude, --no-private. Pass --exec to run an arbitrary command instead of a script.",builder:n=>n.positional(`script`,{description:"Script name to run in each workspace (`run <name>`-equivalent). With --exec, the command to run instead.",type:`string`}).positional(`args`,{description:`Extra arguments forwarded to each child invocation.`,type:`string`,array:!0}).option(`all`,{description:"Include workspaces declared as `private: true`.",type:`boolean`,alias:`A`,default:!1}).option(`parallel`,{description:`Run workspaces in parallel (capped by --jobs).`,type:`boolean`,alias:`p`,default:!1}).option(`topological`,{description:`Wait for each workspace's deps to finish before starting it (production deps only).`,type:`boolean`,alias:`t`,default:!1}).option(`topological-dev`,{description:`Like --topological but also respects devDependencies (often cyclic — use sparingly).`,type:`boolean`,default:!1}).option(`include`,{description:`Glob pattern to include workspaces by name (repeatable).`,type:`string`,array:!0}).option(`exclude`,{description:`Glob pattern to exclude workspaces by name (repeatable).`,type:`string`,array:!0}).option(`private`,{description:`Include private workspaces (default true). Pass --no-private to skip them.`,type:`boolean`,default:!0}).option(`verbose`,{description:`Echo every spawned command before running it.`,type:`boolean`,alias:`v`,default:!1}).option(`jobs`,{description:`Maximum concurrent workspaces in --parallel mode (default: cpu count).`,type:`number`,alias:`j`}).option(`exec`,{description:"Treat <script> [args..] as an arbitrary command (yarn `workspaces foreach exec`-equivalent) instead of a package.json script lookup. Workspace filtering by script presence is skipped. Use `-- <cmd> <args...>` to pass flags to the command without yargs intercepting them.",type:`boolean`,default:!1}).parserConfiguration({"populate--":!0}),handler:async n=>{let a=discoverWorkspaces(findWorkspaceRoot(process.cwd())??process.cwd()),S=n.exec===!0,C=n.script,N=n.args??[];if(S){let a=(n[`--`]??[]).filter(n=>typeof n==`string`);a.length>0&&(C?N=[...N,...a]:(C=a[0],N=[...N,...a.slice(1)])),C||(ze.error("gjsify foreach --exec: missing command. Pass it after `--`, e.g. `gjsify foreach --exec -- npm publish --tag latest`."),process.exit(1))}let F=filterWorkspaces(a,{include:n.include,exclude:n.exclude,noPrivate:n.private===!1});if(!S){C||(ze.error(`gjsify foreach: missing <script> positional. Pass --exec to run an arbitrary command instead.`),process.exit(1));let n=C;F=F.filter(a=>typeof(a.manifest.scripts??{})[n]==`string`)}if(F.length===0){ze.log(`gjsify foreach: no workspaces match (${S?`exec`:`script`}="${C}", include=${JSON.stringify(n.include??[])}, exclude=${JSON.stringify(n.exclude??[])})`);return}(n.topological||n[`topological-dev`])&&(F=topologicalSort(buildDependencyGraph(F,{includeDev:n[`topological-dev`]===!0})));let I=n.verbose===!0,H=C;try{if(n.parallel&&!n.topological&&!n[`topological-dev`]){let a=n.jobs&&n.jobs>0?n.jobs:cpus().length;await runParallel(F,H,N,a,I,S)}else if(n.parallel){let a=n.jobs&&n.jobs>0?n.jobs:cpus().length;await runTopologicalParallel(F,H,N,a,I,n[`topological-dev`]===!0,S)}else await runSequential(F,H,N,I,S)}catch(n){ze.error(n.message),process.exit(1)}process.exit(0)}};async function runSequential(n,a,S,C,N){for(let F of n)await runOne(F,a,S,!1,C,N)}async function runParallel(n,a,S,C,N,F){let I=0,H=[];for(let W=0;W<C;W++)H.push((async()=>{for(;I<n.length;)await runOne(n[I++],a,S,!0,N,F)})());await Promise.all(H)}async function runTopologicalParallel(n,a,S,C,N,F,I){let H=new Set(n.map(n=>n.name)),W=new Map;for(let a of n){let n=new Set,S=a.manifest;for(let a of[S.dependencies,F?S.devDependencies:void 0,S.optionalDependencies])if(a)for(let[S,C]of Object.entries(a))typeof C==`string`&&C.startsWith(`workspace:`)&&H.has(S)&&n.add(S);W.set(a.name,n)}let K=new Map(n.map(n=>[n.name,n])),q=new Set,Y=0;return new Promise((n,F)=>{let H=null,pump=()=>{if(!H){for(;Y<C;){let C=[...W.entries()].filter(([,n])=>[...n].every(n=>q.has(n))).map(([n])=>n);if(C.length===0)break;let X=C.sort()[0];W.delete(X),Y++,runOne(K.get(X),a,S,!0,N,I).then(()=>{if(Y--,q.add(X),W.size===0&&Y===0){n();return}pump()}).catch(n=>{H=n instanceof Error?n:Error(String(n)),Y===0&&F(H)})}W.size>0&&Y===0&&!H&&F(Error(`gjsify foreach --topological: stuck — workspaces ${[...W.keys()].join(`, `)} have unsatisfied deps in the selected set`))}};pump()})}async function runOne(n,a,S,C,N,F){if(F){N&&ze.error(`[${n.name}] $ ${a} ${S.join(` `)}`),await spawnPrefixed(a,S,n.location,C?`[${n.name}] `:null);return}let I=detectPackageManager$1(),H=I===`gjsify`?[`run`,a,...S]:[`run`,a,...S.length>0?[`--`,...S]:[]];N&&ze.error(`[${n.name}] $ ${I} ${H.join(` `)}`),await spawnPrefixed(I,H,n.location,C?`[${n.name}] `:null)}function detectPackageManager$1(){let n=process.env.npm_config_user_agent??``;return n.startsWith(`yarn/`)?`yarn`:n.startsWith(`gjsify/`)?`gjsify`:`npm`}__name$1(detectPackageManager$1,`detectPackageManager`);function spawnPrefixed(n,a,S,C){return new Promise((N,F)=>{let I=spawn(n,a,{cwd:S,stdio:C?[`ignore`,`pipe`,`pipe`]:`inherit`,env:process.env});C&&I.stdout&&I.stderr&&(prefixLines(I.stdout,process.stdout,C),prefixLines(I.stderr,process.stderr,C)),I.on(`close`,S=>{S===0?N():F(Error(`${n} ${a.join(` `)} exited with code ${S}`))}),I.on(`error`,n=>F(n))})}function prefixLines(n,a,S){let C=``;n.setEncoding(`utf-8`),n.on(`data`,n=>{C+=n;let N;for(;(N=C.indexOf(`
791
794
  `))!==-1;)a.write(S+C.slice(0,N+1)),C=C.slice(N+1)}),n.on(`end`,()=>{C.length>0&&a.write(S+C+`
792
- `)})}Be(),gx();const wE={command:`workspace <name> <script> [args..]`,description:"Run a workspace script (`yarn workspace <name> run <script>` equivalent).",builder:n=>n.positional(`name`,{description:"Workspace name (matches package.json `name` field).",type:`string`,demandOption:!0}).positional(`script`,{description:`Script name to run inside that workspace.`,type:`string`,demandOption:!0}).positional(`args`,{description:`Extra arguments forwarded to the script.`,type:`string`,array:!0}),handler:async n=>{let a=discoverWorkspaces(findWorkspaceRoot(process.cwd())??process.cwd()),S=a.find(a=>a.name===n.name);S||(ze.error(`gjsify workspace: no workspace named "${n.name}" — discovered ${a.length} workspace(s)`),process.exit(1)),typeof(S.manifest.scripts??{})[n.script]!=`string`&&(ze.error(`gjsify workspace: workspace "${n.name}" has no script "${n.script}"`),process.exit(1));let C=detectPackageManager(),N=C===`gjsify`?[`run`,n.script,...n.args??[]]:[`run`,n.script,...n.args&&n.args.length>0?[`--`,...n.args]:[]];await new Promise((n,a)=>{let F=spawn(C,N,{cwd:S.location,stdio:`inherit`,env:process.env});F.on(`close`,S=>{S===0?n():a(Error(`${C} ${N.join(` `)} exited with code ${S}`))}),F.on(`error`,a)}).catch(n=>{ze.error(n.message),process.exit(1)}),process.exit(0)}};function detectPackageManager(){let n=process.env.npm_config_user_agent??``;return n.startsWith(`yarn/`)?`yarn`:n.startsWith(`gjsify/`)?`gjsify`:`npm`}Be(),Rs(),Ma(),qo(),mE();const TE={command:`pack [path]`,description:`Produce an npm-compatible .tgz tarball for the workspace at <path> (default: cwd). Rewrites workspace:^/~/* deps to resolved versions.`,builder:n=>n.positional(`path`,{description:`Workspace path (default: cwd).`,type:`string`}).option(`pack-destination`,{description:`Directory to write the tarball into. Default: workspace cwd.`,type:`string`}).option(`json`,{description:"Emit pack metadata as JSON on stdout (mirrors `npm pack --json`).",type:`boolean`,default:!1}).option(`dry-run`,{description:`Compute everything but do not write the .tgz.`,type:`boolean`,default:!1}),handler:async n=>{let a=await packWorkspace(No(n.path??process.cwd()),{destination:n[`pack-destination`],dryRun:n[`dry-run`]===!0});n.json?process.stdout.write(`${JSON.stringify([a],null,2)}\n`):process.stdout.write(`${a.filename}\n`)}};async function packWorkspace(n,a={}){let S=Io(n,`package.json`);if(!existsSync(S))throw Error(`gjsify pack: no package.json at ${n}`);let C=readFileSync(S,`utf-8`),N=JSON.parse(C),F=typeof N.name==`string`?N.name:``,I=typeof N.version==`string`?N.version:`0.0.0`;if(!F)throw Error(`gjsify pack: package.json at ${n} has no "name"`);let H=a.skipWorkspaceRewrite?N:rewriteWorkspaceDeps(N,n),W=JSON.stringify(H,null,indentOf(C))+`
793
- `,K=collectFiles(n,N),q=[{name:`package/`,directory:!0,mode:493}],Y=[],X=0;for(let a of K){let S;S=a===`package.json`?new TextEncoder().encode(W):new Uint8Array(readFileSync(Io(n,a)));let C=statSync(Io(n,a)).mode&511;q.push({name:`package/${a}`,body:S,mode:C,mtime:0}),Y.push({path:a,size:S.byteLength,mode:C}),X+=S.byteLength}let te=await gzip(createTarball(q)),ne=`${F.startsWith(`@`)?F.slice(1).replace(`/`,`-`):F}-${I}.tgz`,re=createHash(`sha1`).update(te).digest(`hex`),ie=`sha512-${createHash(`sha512`).update(te).digest(`base64`)}`,ae=a.destination?No(a.destination):n,oe=Io(ae,ne);return a.dryRun||(mkdirSync(ae,{recursive:!0}),writeFileSync(oe,te)),{filename:ne,name:F,version:I,size:te.byteLength,unpackedSize:X,shasum:re,integrity:ie,entryCount:Y.length,files:Y,absolutePath:a.dryRun?null:oe}}function collectFiles(n,a){let S=forceIncluded(a),C=Array.isArray(a.files)?a.files.filter(n=>typeof n==`string`):null,N;N=C?expandFilesPatterns(n,C):walkAll(n);let F=loadIgnore(n),I=new Set;for(let n of N)F(n)||I.add(n);for(let a of S)existsSync(Io(n,a))&&I.add(a);return[...I].sort()}const EE=new Set([`.git`,`.svn`,`.hg`,`.gitignore`,`.gitattributes`,`.npmrc`,`CVS`,`.DS_Store`,`node_modules`,`.npmignore`,`package-lock.json`,`gjsify-lock.json`,`yarn.lock`,`yarn-error.log`,`.yarn`,`.pnp.cjs`,`.pnp.loader.mjs`,`tsconfig.tsbuildinfo`]);function forceIncluded(n){let a=new Set;a.add(`package.json`);for(let n of[`README`,`README.md`,`LICENSE`,`LICENSE.md`,`NOTICE`,`NOTICE.md`])a.add(n);let S=typeof n.main==`string`?n.main:null;S&&a.add(S.replace(/^\.\//,``));let C=n.bin;if(typeof C==`string`)a.add(C.replace(/^\.\//,``));else if(C&&typeof C==`object`)for(let n of Object.values(C))typeof n==`string`&&a.add(n.replace(/^\.\//,``));return[...a]}function walkAll(n,a=``){let S=[],C=a?Io(n,a):n,N;try{N=readdirSync(C,{withFileTypes:!0})}catch{return S}for(let C of N){if(EE.has(C.name)||C.name.startsWith(`.tsbuildinfo`))continue;let N=a?`${a}/${C.name}`:C.name;C.isDirectory()?S.push(...walkAll(n,N)):C.isFile()&&S.push(N)}return S}function expandFilesPatterns(n,a){let S=new Set;for(let C of a){let a=C.replace(/^\.\//,``).replace(/\/$/,``),N=Io(n,a);if(!existsSync(N))continue;let F=statSync(N);if(F.isDirectory())for(let C of walkAll(n,a))S.add(C);else F.isFile()&&S.add(a);!existsSync(N)&&/[*?[]/.test(C)&&ze.warn(`gjsify pack: files entry "${C}" looks like a glob but glob expansion isn't implemented — pass literal files/dirs`)}return[...S]}function loadIgnore(n){let a=Io(n,`.npmignore`),S=Io(n,`.gitignore`),C=[],N=existsSync(a)?a:existsSync(S)?S:null;if(N){let n=readFileSync(N,`utf-8`).split(`
794
- `);for(let a of n){let n=a.trim();!n||n.startsWith(`#`)||n.startsWith(`!`)||C.push(globToRegex(n))}}return n=>{for(let a of C)if(a.test(n))return!0;return!1}}function globToRegex(n){let a=n.replace(/^\//,``);return a=a.replace(/[.+^${}()|[\]\\]/g,`\\$&`),a=a.replace(/\*\*/g,`__DOUBLESTAR__`).replace(/\*/g,`[^/]*`).replace(/__DOUBLESTAR__/g,`.*`),a=a.replace(/\?/g,`[^/]`),RegExp(`^${a}($|/)`)}function rewriteWorkspaceDeps(n,a){let S=findWorkspaceRoot(a);if(!S)return n;let C=new Map;for(let n of discoverWorkspaces(S))n.name&&n.version&&C.set(n.name,n.version);let N=JSON.parse(JSON.stringify(n));for(let n of[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`]){let a=N[n];if(a)for(let[n,F]of Object.entries(a)){if(typeof F!=`string`||!F.startsWith(`workspace:`))continue;let I=C.get(n);if(!I)throw Error(`gjsify pack: ${N.name} declares workspace:^ on ${n} but no sibling workspace with that name exists in the monorepo at ${S}`);let H=F.slice(10);H===`*`||H===``?a[n]=I:H===`^`||H===`~`?a[n]=`${H}${I}`:a[n]=H}}return N}function indentOf(n){let a=n.match(/\n([ \t]+)"/);return a?a[1]:` `}Be(),Rs(),op(),qo(),lE();const DE={command:`publish [path]`,description:"Pack + upload the workspace at <path> (default: cwd) to its npm registry. Drop-in for `npm publish` with workspace:^ rewrite handled automatically.",builder:n=>n.positional(`path`,{description:`Workspace path (default: cwd).`,type:`string`}).option(`tag`,{description:`Dist-tag to publish under. Default: latest.`,type:`string`,default:`latest`}).option(`access`,{description:"Package access — `public` or `restricted` (required for first publish of scoped packages on the public registry).",type:`string`}).option(`tolerate-republish`,{description:"Treat a 409 conflict (version already published) as success. Matches yarn `--tolerate-republish`.",type:`boolean`,default:!1}).option(`provenance`,{description:`Pass-through flag — recorded in the payload but no signing happens (gjsify doesn't ship a sigstore signer yet).`,type:`boolean`,default:!1}).option(`dry-run`,{description:`Pack only, do not PUT.`,type:`boolean`,default:!1}).option(`json`,{description:`Emit publish metadata as JSON on stdout.`,type:`boolean`,default:!1}),handler:async n=>{let a=No(n.path??process.cwd()),S=n.tag??`latest`,C=n.access,N=n[`tolerate-republish`]===!0,F=n.provenance===!0,I=n[`dry-run`]===!0;F&&ze.warn(`gjsify publish: --provenance recorded but not signed (no sigstore integration yet).`);let H=await packWorkspace(a,{dryRun:!0}),W=await packWorkspaceToBytes(a),K=readFileSync(Io(a,`package.json`),`utf-8`),q=await loadRewrittenManifest(a,JSON.parse(K));if(I){let a={ok:!0,action:`dry-run`,name:H.name,version:H.version,filename:H.filename,size:H.size,shasum:H.shasum,integrity:H.integrity};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`+ ${H.name}@${H.version} (dry-run, ${H.size} bytes, ${H.entryCount} files)\n`);return}let Y=await loadNpmrc(a),X=process.env.npm_config_registry??registryFor(H.name,Y)??cE,te=X.endsWith(`/`)?X.slice(0,-1):X,ne=`${te}/${H.name.startsWith(`@`)?(()=>{let n=H.name.indexOf(`/`),a=H.name.slice(1,n),S=H.name.slice(n+1);return`@${encodeURIComponent(a)}%2f${encodeURIComponent(S)}`})():encodeURIComponent(H.name)}`,re=`${H.name.includes(`/`)?H.name.slice(H.name.indexOf(`/`)+1):H.name}-${H.version}.tgz`,ie=buildPublishPayload({pkg:q,tag:S,access:C,tarballBytes:W,tarballUrl:`${te}/${H.name}/-/${re}`,packed:{...H,wireFilename:re},provenance:F}),ae=buildHeaders(ne,{npmrc:Y});ae[`content-type`]=`application/json`,ae.accept=`*/*`,process.env.GJSIFY_PUBLISH_DEBUG&&(ze.error(`gjsify publish: PUT ${ne} (${H.name}@${H.version})`),ze.error(` authorization: ${ae.authorization?`(set)`:`(none)`}`),ze.error(` payload size: ${JSON.stringify(ie).length} bytes`));let oe=await fetch(ne,{method:`PUT`,headers:ae,body:JSON.stringify(ie)});if(oe.ok){let a={ok:!0,name:H.name,version:H.version,filename:H.filename,size:H.size,integrity:H.integrity,tag:S,registry:te};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`+ ${H.name}@${H.version}\n`);return}let Z=await oe.text().catch(()=>`<no body>`);if(oe.status===409&&N){let a={ok:!0,action:`republish-tolerated`,name:H.name,version:H.version,status:409};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`= ${H.name}@${H.version} (already published, tolerated)\n`);return}ze.error(`gjsify publish: ${H.name}@${H.version} — ${oe.status} ${oe.statusText}`),ze.error(Z),process.exit(1)}};async function packWorkspaceToBytes(n){let a=`/tmp/gjsify-publish-${process.pid}-${Date.now()}`,S=await packWorkspace(n,{destination:a,dryRun:!1});if(!S.absolutePath)throw Error(`gjsify publish: pack did not produce a file`);let C=new Uint8Array(readFileSync(S.absolutePath));try{(await Promise.resolve().then(()=>(Rs(),Fs))).rmSync(S.absolutePath)}catch{}try{(await Promise.resolve().then(()=>(Rs(),Fs))).rmdirSync(a)}catch{}return C}async function loadRewrittenManifest(n,a){let S=`/tmp/gjsify-publish-manifest-${process.pid}-${Date.now()}.tgz`,C=await packWorkspace(n,{destination:S.substring(0,S.lastIndexOf(`/`)),dryRun:!1}),{rmSync:N}=await Promise.resolve().then(()=>(Rs(),Fs));if(!C.absolutePath)throw Error(`gjsify publish: pack did not produce a file`);let{gunzip:F,parseTar:I}=await Promise.resolve().then(()=>(mE(),pE)),H=new Uint8Array(readFileSync(C.absolutePath));N(C.absolutePath);let W=await F(H);for(let n of I(W))if(n.name===`package/package.json`&&n.body)return JSON.parse(new TextDecoder().decode(n.body));return a}async function loadNpmrc(n){let a=[],S=Io(n,`.npmrc`);existsSync(S)&&a.push(readFileSync(S,`utf-8`));let C=process.env.NPM_CONFIG_USERCONFIG;if(C&&existsSync(C))a.push(readFileSync(C,`utf-8`));else{let n=Io(homedir(),`.npmrc`);existsSync(n)&&a.push(readFileSync(n,`utf-8`))}return parseNpmrc(a.join(`
795
- `).replace(/\$\{([A-Z_][A-Z0-9_]*)\}/gi,(n,a)=>process.env[a]??``))}function buildPublishPayload(n){let{pkg:a,tag:S,access:C,tarballBytes:N,tarballUrl:F,packed:I,provenance:H}=n,W={...a,_id:`${I.name}@${I.version}`,dist:{integrity:I.integrity,shasum:I.shasum,tarball:F}};H&&(W._hasShrinkwrap=!1);let K={_id:I.name,name:I.name,description:typeof a.description==`string`?a.description:``,"dist-tags":{[S]:I.version},versions:{[I.version]:W},readme:``,_attachments:{[I.wireFilename]:{content_type:`application/octet-stream`,data:base64Encode(N),length:N.byteLength}}};return C&&(K.access=C),K}function base64Encode(n){let a=``,S=32768;for(let C=0;C<n.length;C+=S)a+=String.fromCharCode(...n.subarray(C,C+S));return btoa(a)}Be(),Rs(),qo(),tn(),lE();const OE=`@gjsify/cli`,kE={command:`self-update`,description:`Update the installed ${OE} to the latest release (or pinned --tag).`,builder:n=>n.option(`check`,{description:`Only check whether a newer version is available; do not install.`,type:`boolean`,default:!1}).option(`force`,{description:`Reinstall even when the current version already matches the target tag.`,type:`boolean`,default:!1}).option(`tag`,{description:"npm dist-tag or pinned version to install (e.g. `latest`, `next`, `0.5.0`).",type:`string`,default:`latest`}),handler:async n=>{let a=defaultGlobalLayout(),S=Io(Io(a.prefix,`node_modules`,OE),`package.json`),C=readCurrentVersion(),N=existsSync(S);ze.log(`Current ${OE}: v${C??`(unknown)`}`),N||ze.warn(`\nWarning: no @gjsify/cli install found under ${a.prefix}.\nself-update only manages installs created by install.mjs or \`gjsify install -g\`.\nIf you installed via \`npm install -g\`, remove that and use:\n curl -fsSL https://github.com/gjsify/gjsify/releases/latest/download/install.mjs -o /tmp/g.mjs && gjs -m /tmp/g.mjs && rm /tmp/g.mjs`),ze.log(`Fetching dist-tags for ${OE}@${n.tag} ...`);let F;try{F=await fetchPackument(OE)}catch(n){let a=n instanceof Error?n.message:String(n);ze.error(`Failed to fetch packument: ${a}`),process.exit(1);return}let I=resolveTag(F,n.tag);if(!I){ze.error(`Unknown dist-tag '${n.tag}' on ${OE}. Known tags: ${Object.keys(F[`dist-tags`]??{}).join(`, `)||`(none)`}`),process.exit(1);return}if(ze.log(`Latest matching --tag ${n.tag}: v${I}`),C===I&&!n.force){ze.log(`Already up to date (v${I}).`),n.check||ze.log(`Run with --force to reinstall anyway.`);return}if(n.check){ze.log(C?`Update available: v${C} → v${I}`:`Install required: → v${I}`),process.exit(1);return}ze.log(`Installing ${OE}@${I} ...`),await installPackages({prefix:a.prefix,specs:[`${OE}@${I}`],verbose:!1});let H=linkGlobalBins([OE],a);if(H.length===0)ze.warn("self-update: install completed but no bins were linked — package.json may be missing a `bin` field.");else for(let n of H)ze.log(` • ${n.link} → ${n.target}`);ze.log(`\nUpdated ${OE} to v${I}.`)}};function readCurrentVersion(){try{let n=zo(No(fileURLToPath(import.meta.url)));for(let a=0;a<8&&n!==zo(n);a++){let a=Io(n,`package.json`);if(existsSync(a)){let n=JSON.parse(readFileSync(a,`utf-8`));if(n.name===OE&&typeof n.version==`string`)return n.version}n=zo(n)}}catch{}return null}function resolveTag(n,a){let S=n[`dist-tags`]??{};return S[a]?S[a]:n.versions&&typeof n.versions==`object`&&n.versions[a]?a:null}Be(),Rs(),qo();function loadInstallerTemplate(){return readFileSync(new URL(`../templates/install.mjs.tmpl`,import.meta.url),`utf-8`)}const AE={command:`generate-installer [target]`,description:`Scaffold an install.mjs in the current directory for a GJS-runnable npm package.`,builder:n=>n.positional(`target`,{description:`Npm package name to install (default: current package.json name).`,type:`string`}).option(`bin-name`,{description:"Bin name produced by the installer (default: first key of `gjsify.bin` or `bin`).",type:`string`}).option(`bootstrap-url`,{description:`Override the cli.gjs.mjs bootstrap bundle URL (default: gjsify GitHub releases/latest).`,type:`string`}).option(`output`,{description:`Where to write the generated installer.`,type:`string`,default:`install.mjs`}).option(`force`,{description:`Overwrite an existing output file.`,type:`boolean`,default:!1}),handler:n=>{let a=No(process.cwd(),n.output);if(existsSync(a)&&!n.force){ze.error(`${n.output} already exists. Re-run with --force to overwrite.`),process.exit(1);return}let S=No(process.cwd(),`package.json`),C=null;if(existsSync(S))try{C=JSON.parse(readFileSync(S,`utf-8`))}catch{}let N=n.target??C?.name;if(!N){ze.error("No target package: pass `gjsify generate-installer <pkg>` or run inside a directory with a package.json."),process.exit(1);return}let F=n[`bin-name`]??pickDefaultBinName(C,N),I=n[`bootstrap-url`]??`https://github.com/gjsify/gjsify/releases/latest/download/cli.gjs.mjs`;writeFileSync(a,loadInstallerTemplate().replace(/const DEFAULT_TARGET = '[^']+';/,`const DEFAULT_TARGET = ${JSON.stringify(N)};`).replace(/const DEFAULT_BIN_NAME = '[^']+';/,`const DEFAULT_BIN_NAME = ${JSON.stringify(F)};`).replace(/const DEFAULT_BOOTSTRAP_URL =\s*'[^']+';/,`const DEFAULT_BOOTSTRAP_URL = ${JSON.stringify(I)};`),{mode:493}),ze.log(`Wrote ${n.output} (target=${N}, bin=${F}).`),ze.log(``),ze.log(`Install one-liner for your README:`),ze.log(` curl -fsSL https://github.com/<you>/<repo>/raw/main/${n.output} -o /tmp/i.mjs \\`),ze.log(` && gjs -m /tmp/i.mjs && rm /tmp/i.mjs`)}};function pickDefaultBinName(n,a){let S=n?.gjsify?.bin;if(S&&typeof S==`object`){let n=Object.keys(S)[0];if(n)return n}let C=n?.bin;if(C&&typeof C==`object`){let n=Object.keys(C)[0];if(n)return n}return a.startsWith(`@`)?a.slice(a.indexOf(`/`)+1):a}Be(),Rs(),qo();const jE={command:`uninstall <packages..>`,description:"Uninstall a previously installed package. Currently only `--global` mode is supported.",builder:n=>n.positional(`packages`,{description:`Package(s) to uninstall (npm names, optionally with version).`,type:`string`,array:!0,demandOption:!0}).option(`global`,{description:`Uninstall from the user-global XDG location (the install -g target).`,type:`boolean`,alias:`g`,default:!1}).option(`dry-run`,{description:`Show what would be removed without touching the filesystem.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose logging.`,type:`boolean`,default:!1}),handler:n=>{if(!n.global){ze.error("gjsify uninstall currently only supports --global. For project-local removal, edit package.json + re-run `gjsify install`."),process.exit(1);return}let a=defaultGlobalLayout(),S=n[`dry-run`]??!1,C=n.verbose??!1,N=`gjsify uninstall${S?` (dry-run)`:``} --global`;ze.log(`${N} ← ${a.prefix}`),ze.log(`${` `.repeat(N.length)} bins ← ${a.binDir}`);let F=!1;for(let N of n.packages){let n=specToPackageName(N),I=Io(a.prefix,`node_modules`,n);if(!existsSync(I)){ze.warn(` ✗ ${n} — not installed at ${I}`);continue}let H=findBinShimsForPackage(a.binDir,I,C);if(S){ze.log(` • would remove ${I}`);for(let n of H)ze.log(` • would remove ${n}`)}else{rmSync(I,{recursive:!0,force:!0}),ze.log(` • removed ${I}`);for(let n of H)unlinkSync(n),ze.log(` • removed ${n}`)}F=!0}F||(ze.error(`
796
- No packages removed.`),process.exit(1))}};function findBinShimsForPackage(n,a,S){if(!existsSync(n))return[];let C=[],N;try{N=readdirSync(n)}catch{return[]}for(let F of N){let N=Io(n,F);try{if(!statSync(N).isFile())continue;let n=readFileSync(N,`utf-8`);if(!n.startsWith(`#!/bin/sh`))continue;let S=n.match(/'([^']+)'/);if(!S)continue;let F=S[1];(F.startsWith(a+`/`)||F===a)&&C.push(N)}catch(n){S&&ze.warn(` ? could not inspect ${N}: ${n.message}`)}}return C}await du(hideBin(process.argv)).scriptName(fu).strict().command(UT.command,UT.description,UT.builder,UT.handler).command(SE.command,SE.description,SE.builder,SE.handler).command(AT.command,AT.description,AT.builder,AT.handler).command(jT.command,jT.description,jT.builder,jT.handler).command(xE.command,xE.description,xE.builder,xE.handler).command(MT.command,MT.description,MT.builder,MT.handler).command(LT.command,LT.description,LT.builder,LT.handler).command(RT.command,RT.description,RT.builder,RT.handler).command(GT.command,GT.description,GT.builder,GT.handler).command(qT.command,qT.description,qT.builder,qT.handler).command(YT.command,YT.description,YT.builder,YT.handler).command(nE.command,nE.description,nE.builder,nE.handler).command(CE.command,CE.description,CE.builder,CE.handler).command(wE.command,wE.description,wE.builder,wE.handler).command(TE.command,TE.description,TE.builder,TE.handler).command(DE.command,DE.description,DE.builder,DE.handler).command(kE.command,kE.description,kE.builder,kE.handler).command(AE.command,AE.description,AE.builder,AE.handler).command(jE.command,jE.description,jE.builder,jE.handler).demandCommand(1).help().parseAsync();
795
+ `)})}Be(),gx();const TE={command:`workspace <name> <script> [args..]`,description:"Run a workspace script (`yarn workspace <name> run <script>` equivalent).",builder:n=>n.positional(`name`,{description:"Workspace name (matches package.json `name` field).",type:`string`,demandOption:!0}).positional(`script`,{description:`Script name to run inside that workspace.`,type:`string`,demandOption:!0}).positional(`args`,{description:`Extra arguments forwarded to the script.`,type:`string`,array:!0}),handler:async n=>{let a=discoverWorkspaces(findWorkspaceRoot(process.cwd())??process.cwd()),S=a.find(a=>a.name===n.name);S||(ze.error(`gjsify workspace: no workspace named "${n.name}" — discovered ${a.length} workspace(s)`),process.exit(1)),typeof(S.manifest.scripts??{})[n.script]!=`string`&&(ze.error(`gjsify workspace: workspace "${n.name}" has no script "${n.script}"`),process.exit(1));let C=detectPackageManager(),N=C===`gjsify`?[`run`,n.script,...n.args??[]]:[`run`,n.script,...n.args&&n.args.length>0?[`--`,...n.args]:[]];await new Promise((n,a)=>{let F=spawn(C,N,{cwd:S.location,stdio:`inherit`,env:process.env});F.on(`close`,S=>{S===0?n():a(Error(`${C} ${N.join(` `)} exited with code ${S}`))}),F.on(`error`,a)}).catch(n=>{ze.error(n.message),process.exit(1)}),process.exit(0)}};function detectPackageManager(){let n=process.env.npm_config_user_agent??``;return n.startsWith(`yarn/`)?`yarn`:n.startsWith(`gjsify/`)?`gjsify`:`npm`}Be(),Rs(),Ma(),qo(),hE();const EE={command:`pack [path]`,description:`Produce an npm-compatible .tgz tarball for the workspace at <path> (default: cwd). Rewrites workspace:^/~/* deps to resolved versions.`,builder:n=>n.positional(`path`,{description:`Workspace path (default: cwd).`,type:`string`}).option(`pack-destination`,{description:`Directory to write the tarball into. Default: workspace cwd.`,type:`string`}).option(`json`,{description:"Emit pack metadata as JSON on stdout (mirrors `npm pack --json`).",type:`boolean`,default:!1}).option(`dry-run`,{description:`Compute everything but do not write the .tgz.`,type:`boolean`,default:!1}),handler:async n=>{let a=await packWorkspace(No(n.path??process.cwd()),{destination:n[`pack-destination`],dryRun:n[`dry-run`]===!0});n.json?process.stdout.write(`${JSON.stringify([a],null,2)}\n`):process.stdout.write(`${a.filename}\n`)}};async function packWorkspace(n,a={}){let S=Io(n,`package.json`);if(!existsSync(S))throw Error(`gjsify pack: no package.json at ${n}`);let C=readFileSync(S,`utf-8`),N=JSON.parse(C),F=typeof N.name==`string`?N.name:``,I=typeof N.version==`string`?N.version:`0.0.0`;if(!F)throw Error(`gjsify pack: package.json at ${n} has no "name"`);let H=a.skipWorkspaceRewrite?N:rewriteWorkspaceDeps(N,n),W=JSON.stringify(H,null,indentOf(C))+`
796
+ `,K=collectFiles(n,N),q=[{name:`package/`,directory:!0,mode:493}],Y=[],X=0;for(let a of K){let S;S=a===`package.json`?new TextEncoder().encode(W):new Uint8Array(readFileSync(Io(n,a)));let C=statSync(Io(n,a)).mode&511;q.push({name:`package/${a}`,body:S,mode:C,mtime:0}),Y.push({path:a,size:S.byteLength,mode:C}),X+=S.byteLength}let te=await gzip(createTarball(q)),ne=`${F.startsWith(`@`)?F.slice(1).replace(`/`,`-`):F}-${I}.tgz`,re=createHash(`sha1`).update(te).digest(`hex`),ie=`sha512-${createHash(`sha512`).update(te).digest(`base64`)}`,ae=a.destination?No(a.destination):n,oe=Io(ae,ne);return a.dryRun||(mkdirSync(ae,{recursive:!0}),writeFileSync(oe,te)),{filename:ne,name:F,version:I,size:te.byteLength,unpackedSize:X,shasum:re,integrity:ie,entryCount:Y.length,files:Y,absolutePath:a.dryRun?null:oe}}function collectFiles(n,a){let S=forceIncluded(a),C=Array.isArray(a.files)?a.files.filter(n=>typeof n==`string`):null,N;N=C?expandFilesPatterns(n,C):walkAll(n);let F=loadIgnore(n),I=new Set;for(let n of N)F(n)||I.add(n);for(let a of S)existsSync(Io(n,a))&&I.add(a);return[...I].sort()}const DE=new Set([`.git`,`.svn`,`.hg`,`.gitignore`,`.gitattributes`,`.npmrc`,`CVS`,`.DS_Store`,`node_modules`,`.npmignore`,`package-lock.json`,`gjsify-lock.json`,`yarn.lock`,`yarn-error.log`,`.yarn`,`.pnp.cjs`,`.pnp.loader.mjs`,`tsconfig.tsbuildinfo`]);function forceIncluded(n){let a=new Set;a.add(`package.json`);for(let n of[`README`,`README.md`,`LICENSE`,`LICENSE.md`,`NOTICE`,`NOTICE.md`])a.add(n);let S=typeof n.main==`string`?n.main:null;S&&a.add(S.replace(/^\.\//,``));let C=n.bin;if(typeof C==`string`)a.add(C.replace(/^\.\//,``));else if(C&&typeof C==`object`)for(let n of Object.values(C))typeof n==`string`&&a.add(n.replace(/^\.\//,``));return[...a]}function walkAll(n,a=``){let S=[],C=a?Io(n,a):n,N;try{N=readdirSync(C,{withFileTypes:!0})}catch{return S}for(let C of N){if(DE.has(C.name)||C.name.startsWith(`.tsbuildinfo`))continue;let N=a?`${a}/${C.name}`:C.name;C.isDirectory()?S.push(...walkAll(n,N)):C.isFile()&&S.push(N)}return S}function expandFilesPatterns(n,a){let S=new Set;for(let C of a){let a=C.replace(/^\.\//,``).replace(/\/$/,``),N=Io(n,a);if(!existsSync(N))continue;let F=statSync(N);if(F.isDirectory())for(let C of walkAll(n,a))S.add(C);else F.isFile()&&S.add(a);!existsSync(N)&&/[*?[]/.test(C)&&ze.warn(`gjsify pack: files entry "${C}" looks like a glob but glob expansion isn't implemented — pass literal files/dirs`)}return[...S]}function loadIgnore(n){let a=Io(n,`.npmignore`),S=Io(n,`.gitignore`),C=[],N=existsSync(a)?a:existsSync(S)?S:null;if(N){let n=readFileSync(N,`utf-8`).split(`
797
+ `);for(let a of n){let n=a.trim();!n||n.startsWith(`#`)||n.startsWith(`!`)||C.push(globToRegex(n))}}return n=>{for(let a of C)if(a.test(n))return!0;return!1}}function globToRegex(n){let a=n.replace(/^\//,``);return a=a.replace(/[.+^${}()|[\]\\]/g,`\\$&`),a=a.replace(/\*\*/g,`__DOUBLESTAR__`).replace(/\*/g,`[^/]*`).replace(/__DOUBLESTAR__/g,`.*`),a=a.replace(/\?/g,`[^/]`),RegExp(`^${a}($|/)`)}function rewriteWorkspaceDeps(n,a){let S=findWorkspaceRoot(a);if(!S)return n;let C=new Map;for(let n of discoverWorkspaces(S))n.name&&n.version&&C.set(n.name,n.version);let N=JSON.parse(JSON.stringify(n));for(let n of[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`]){let a=N[n];if(a)for(let[n,F]of Object.entries(a)){if(typeof F!=`string`||!F.startsWith(`workspace:`))continue;let I=C.get(n);if(!I)throw Error(`gjsify pack: ${N.name} declares workspace:^ on ${n} but no sibling workspace with that name exists in the monorepo at ${S}`);let H=F.slice(10);H===`*`||H===``?a[n]=I:H===`^`||H===`~`?a[n]=`${H}${I}`:a[n]=H}}return N}function indentOf(n){let a=n.match(/\n([ \t]+)"/);return a?a[1]:` `}Be(),Rs(),op(),qo(),uE();const OE={command:`publish [path]`,description:"Pack + upload the workspace at <path> (default: cwd) to its npm registry. Drop-in for `npm publish` with workspace:^ rewrite handled automatically.",builder:n=>n.positional(`path`,{description:`Workspace path (default: cwd).`,type:`string`}).option(`tag`,{description:`Dist-tag to publish under. Default: latest.`,type:`string`,default:`latest`}).option(`access`,{description:"Package access — `public` or `restricted` (required for first publish of scoped packages on the public registry).",type:`string`}).option(`tolerate-republish`,{description:"Treat a 409 conflict (version already published) as success. Matches yarn `--tolerate-republish`.",type:`boolean`,default:!1}).option(`provenance`,{description:`Pass-through flag — recorded in the payload but no signing happens (gjsify doesn't ship a sigstore signer yet).`,type:`boolean`,default:!1}).option(`dry-run`,{description:`Pack only, do not PUT.`,type:`boolean`,default:!1}).option(`json`,{description:`Emit publish metadata as JSON on stdout.`,type:`boolean`,default:!1}),handler:async n=>{let a=No(n.path??process.cwd()),S=n.tag??`latest`,C=n.access,N=n[`tolerate-republish`]===!0,F=n.provenance===!0,I=n[`dry-run`]===!0;F&&ze.warn(`gjsify publish: --provenance recorded but not signed (no sigstore integration yet).`);let H=await packWorkspace(a,{dryRun:!0}),W=await packWorkspaceToBytes(a),K=readFileSync(Io(a,`package.json`),`utf-8`),q=await loadRewrittenManifest(a,JSON.parse(K));if(I){let a={ok:!0,action:`dry-run`,name:H.name,version:H.version,filename:H.filename,size:H.size,shasum:H.shasum,integrity:H.integrity};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`+ ${H.name}@${H.version} (dry-run, ${H.size} bytes, ${H.entryCount} files)\n`);return}let Y=await loadNpmrc(a),X=process.env.npm_config_registry??registryFor(H.name,Y)??lE,te=X.endsWith(`/`)?X.slice(0,-1):X,ne=`${te}/${H.name.startsWith(`@`)?(()=>{let n=H.name.indexOf(`/`),a=H.name.slice(1,n),S=H.name.slice(n+1);return`@${encodeURIComponent(a)}%2f${encodeURIComponent(S)}`})():encodeURIComponent(H.name)}`,re=`${H.name.includes(`/`)?H.name.slice(H.name.indexOf(`/`)+1):H.name}-${H.version}.tgz`,ie=buildPublishPayload({pkg:q,tag:S,access:C,tarballBytes:W,tarballUrl:`${te}/${H.name}/-/${re}`,packed:{...H,wireFilename:re},provenance:F}),ae=buildHeaders(ne,{npmrc:Y});ae[`content-type`]=`application/json`,ae.accept=`*/*`,process.env.GJSIFY_PUBLISH_DEBUG&&(ze.error(`gjsify publish: PUT ${ne} (${H.name}@${H.version})`),ze.error(` authorization: ${ae.authorization?`(set)`:`(none)`}`),ze.error(` payload size: ${JSON.stringify(ie).length} bytes`));let oe=await fetch(ne,{method:`PUT`,headers:ae,body:JSON.stringify(ie)});if(oe.ok){let a={ok:!0,name:H.name,version:H.version,filename:H.filename,size:H.size,integrity:H.integrity,tag:S,registry:te};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`+ ${H.name}@${H.version}\n`);return}let Z=await oe.text().catch(()=>`<no body>`);if(oe.status===409&&N){let a={ok:!0,action:`republish-tolerated`,name:H.name,version:H.version,status:409};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`= ${H.name}@${H.version} (already published, tolerated)\n`);return}ze.error(`gjsify publish: ${H.name}@${H.version} — ${oe.status} ${oe.statusText}`),ze.error(Z),process.exit(1)}};async function packWorkspaceToBytes(n){let a=`/tmp/gjsify-publish-${process.pid}-${Date.now()}`,S=await packWorkspace(n,{destination:a,dryRun:!1});if(!S.absolutePath)throw Error(`gjsify publish: pack did not produce a file`);let C=new Uint8Array(readFileSync(S.absolutePath));try{(await Promise.resolve().then(()=>(Rs(),Fs))).rmSync(S.absolutePath)}catch{}try{(await Promise.resolve().then(()=>(Rs(),Fs))).rmdirSync(a)}catch{}return C}async function loadRewrittenManifest(n,a){let S=`/tmp/gjsify-publish-manifest-${process.pid}-${Date.now()}.tgz`,C=await packWorkspace(n,{destination:S.substring(0,S.lastIndexOf(`/`)),dryRun:!1}),{rmSync:N}=await Promise.resolve().then(()=>(Rs(),Fs));if(!C.absolutePath)throw Error(`gjsify publish: pack did not produce a file`);let{gunzip:F,parseTar:I}=await Promise.resolve().then(()=>(hE(),mE)),H=new Uint8Array(readFileSync(C.absolutePath));N(C.absolutePath);let W=await F(H);for(let n of I(W))if(n.name===`package/package.json`&&n.body)return JSON.parse(new TextDecoder().decode(n.body));return a}async function loadNpmrc(n){let a=[],S=Io(n,`.npmrc`);existsSync(S)&&a.push(readFileSync(S,`utf-8`));let C=process.env.NPM_CONFIG_USERCONFIG;if(C&&existsSync(C))a.push(readFileSync(C,`utf-8`));else{let n=Io(homedir(),`.npmrc`);existsSync(n)&&a.push(readFileSync(n,`utf-8`))}return parseNpmrc(a.join(`
798
+ `).replace(/\$\{([A-Z_][A-Z0-9_]*)\}/gi,(n,a)=>process.env[a]??``))}function buildPublishPayload(n){let{pkg:a,tag:S,access:C,tarballBytes:N,tarballUrl:F,packed:I,provenance:H}=n,W={...a,_id:`${I.name}@${I.version}`,dist:{integrity:I.integrity,shasum:I.shasum,tarball:F}};H&&(W._hasShrinkwrap=!1);let K={_id:I.name,name:I.name,description:typeof a.description==`string`?a.description:``,"dist-tags":{[S]:I.version},versions:{[I.version]:W},readme:``,_attachments:{[I.wireFilename]:{content_type:`application/octet-stream`,data:base64Encode(N),length:N.byteLength}}};return C&&(K.access=C),K}function base64Encode(n){let a=``,S=32768;for(let C=0;C<n.length;C+=S)a+=String.fromCharCode(...n.subarray(C,C+S));return btoa(a)}Be(),Rs(),qo(),tn(),uE();const kE=`@gjsify/cli`,AE={command:`self-update`,description:`Update the installed ${kE} to the latest release (or pinned --tag).`,builder:n=>n.option(`check`,{description:`Only check whether a newer version is available; do not install.`,type:`boolean`,default:!1}).option(`force`,{description:`Reinstall even when the current version already matches the target tag.`,type:`boolean`,default:!1}).option(`tag`,{description:"npm dist-tag or pinned version to install (e.g. `latest`, `next`, `0.5.0`).",type:`string`,default:`latest`}),handler:async n=>{let a=defaultGlobalLayout(),S=Io(Io(a.prefix,`node_modules`,kE),`package.json`),C=readCurrentVersion(),N=existsSync(S);ze.log(`Current ${kE}: v${C??`(unknown)`}`),N||ze.warn(`\nWarning: no @gjsify/cli install found under ${a.prefix}.\nself-update only manages installs created by install.mjs or \`gjsify install -g\`.\nIf you installed via \`npm install -g\`, remove that and use:\n curl -fsSL https://github.com/gjsify/gjsify/releases/latest/download/install.mjs -o /tmp/g.mjs && gjs -m /tmp/g.mjs && rm /tmp/g.mjs`),ze.log(`Fetching dist-tags for ${kE}@${n.tag} ...`);let F;try{F=await fetchPackument(kE)}catch(n){let a=n instanceof Error?n.message:String(n);ze.error(`Failed to fetch packument: ${a}`),process.exit(1);return}let I=resolveTag(F,n.tag);if(!I){ze.error(`Unknown dist-tag '${n.tag}' on ${kE}. Known tags: ${Object.keys(F[`dist-tags`]??{}).join(`, `)||`(none)`}`),process.exit(1);return}if(ze.log(`Latest matching --tag ${n.tag}: v${I}`),C===I&&!n.force){ze.log(`Already up to date (v${I}).`),n.check||ze.log(`Run with --force to reinstall anyway.`);return}if(n.check){ze.log(C?`Update available: v${C} → v${I}`:`Install required: → v${I}`),process.exit(1);return}ze.log(`Installing ${kE}@${I} ...`),await installPackages({prefix:a.prefix,specs:[`${kE}@${I}`],verbose:!1});let H=linkGlobalBins([kE],a);if(H.length===0)ze.warn("self-update: install completed but no bins were linked — package.json may be missing a `bin` field.");else for(let n of H)ze.log(` • ${n.link} → ${n.target}`);ze.log(`\nUpdated ${kE} to v${I}.`)}};function readCurrentVersion(){try{let n=zo(No(fileURLToPath(import.meta.url)));for(let a=0;a<8&&n!==zo(n);a++){let a=Io(n,`package.json`);if(existsSync(a)){let n=JSON.parse(readFileSync(a,`utf-8`));if(n.name===kE&&typeof n.version==`string`)return n.version}n=zo(n)}}catch{}return null}function resolveTag(n,a){let S=n[`dist-tags`]??{};return S[a]?S[a]:n.versions&&typeof n.versions==`object`&&n.versions[a]?a:null}Be(),Rs(),qo();function loadInstallerTemplate(){return readFileSync(new URL(`../templates/install.mjs.tmpl`,import.meta.url),`utf-8`)}const jE={command:`generate-installer [target]`,description:`Scaffold an install.mjs in the current directory for a GJS-runnable npm package.`,builder:n=>n.positional(`target`,{description:`Npm package name to install (default: current package.json name).`,type:`string`}).option(`bin-name`,{description:"Bin name produced by the installer (default: first key of `gjsify.bin` or `bin`).",type:`string`}).option(`bootstrap-url`,{description:`Override the cli.gjs.mjs bootstrap bundle URL (default: gjsify GitHub releases/latest).`,type:`string`}).option(`output`,{description:`Where to write the generated installer.`,type:`string`,default:`install.mjs`}).option(`force`,{description:`Overwrite an existing output file.`,type:`boolean`,default:!1}),handler:n=>{let a=No(process.cwd(),n.output);if(existsSync(a)&&!n.force){ze.error(`${n.output} already exists. Re-run with --force to overwrite.`),process.exit(1);return}let S=No(process.cwd(),`package.json`),C=null;if(existsSync(S))try{C=JSON.parse(readFileSync(S,`utf-8`))}catch{}let N=n.target??C?.name;if(!N){ze.error("No target package: pass `gjsify generate-installer <pkg>` or run inside a directory with a package.json."),process.exit(1);return}let F=n[`bin-name`]??pickDefaultBinName(C,N),I=n[`bootstrap-url`]??`https://github.com/gjsify/gjsify/releases/latest/download/cli.gjs.mjs`;writeFileSync(a,loadInstallerTemplate().replace(/const DEFAULT_TARGET = '[^']+';/,`const DEFAULT_TARGET = ${JSON.stringify(N)};`).replace(/const DEFAULT_BIN_NAME = '[^']+';/,`const DEFAULT_BIN_NAME = ${JSON.stringify(F)};`).replace(/const DEFAULT_BOOTSTRAP_URL =\s*'[^']+';/,`const DEFAULT_BOOTSTRAP_URL = ${JSON.stringify(I)};`),{mode:493}),ze.log(`Wrote ${n.output} (target=${N}, bin=${F}).`),ze.log(``),ze.log(`Install one-liner for your README:`),ze.log(` curl -fsSL https://github.com/<you>/<repo>/raw/main/${n.output} -o /tmp/i.mjs \\`),ze.log(` && gjs -m /tmp/i.mjs && rm /tmp/i.mjs`)}};function pickDefaultBinName(n,a){let S=n?.gjsify?.bin;if(S&&typeof S==`object`){let n=Object.keys(S)[0];if(n)return n}let C=n?.bin;if(C&&typeof C==`object`){let n=Object.keys(C)[0];if(n)return n}return a.startsWith(`@`)?a.slice(a.indexOf(`/`)+1):a}Be(),Rs(),qo();const ME={command:`uninstall <packages..>`,description:"Uninstall a previously installed package. Currently only `--global` mode is supported.",builder:n=>n.positional(`packages`,{description:`Package(s) to uninstall (npm names, optionally with version).`,type:`string`,array:!0,demandOption:!0}).option(`global`,{description:`Uninstall from the user-global XDG location (the install -g target).`,type:`boolean`,alias:`g`,default:!1}).option(`dry-run`,{description:`Show what would be removed without touching the filesystem.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose logging.`,type:`boolean`,default:!1}),handler:n=>{if(!n.global){ze.error("gjsify uninstall currently only supports --global. For project-local removal, edit package.json + re-run `gjsify install`."),process.exit(1);return}let a=defaultGlobalLayout(),S=n[`dry-run`]??!1,C=n.verbose??!1,N=`gjsify uninstall${S?` (dry-run)`:``} --global`;ze.log(`${N} ← ${a.prefix}`),ze.log(`${` `.repeat(N.length)} bins ← ${a.binDir}`);let F=!1;for(let N of n.packages){let n=specToPackageName(N),I=Io(a.prefix,`node_modules`,n);if(!existsSync(I)){ze.warn(` ✗ ${n} — not installed at ${I}`);continue}let H=findBinShimsForPackage(a.binDir,I,C);if(S){ze.log(` • would remove ${I}`);for(let n of H)ze.log(` • would remove ${n}`)}else{rmSync(I,{recursive:!0,force:!0}),ze.log(` • removed ${I}`);for(let n of H)unlinkSync(n),ze.log(` • removed ${n}`)}F=!0}F||(ze.error(`
799
+ No packages removed.`),process.exit(1))}};function findBinShimsForPackage(n,a,S){if(!existsSync(n))return[];let C=[],N;try{N=readdirSync(n)}catch{return[]}for(let F of N){let N=Io(n,F);try{if(!statSync(N).isFile())continue;let n=readFileSync(N,`utf-8`);if(!n.startsWith(`#!/bin/sh`))continue;let S=n.match(/'([^']+)'/);if(!S)continue;let F=S[1];(F.startsWith(a+`/`)||F===a)&&C.push(N)}catch(n){S&&ze.warn(` ? could not inspect ${N}: ${n.message}`)}}return C}await du(hideBin(process.argv)).scriptName(fu).strict().command(UT.command,UT.description,UT.builder,UT.handler).command(CE.command,CE.description,CE.builder,CE.handler).command(AT.command,AT.description,AT.builder,AT.handler).command(jT.command,jT.description,jT.builder,jT.handler).command(SE.command,SE.description,SE.builder,SE.handler).command(MT.command,MT.description,MT.builder,MT.handler).command(LT.command,LT.description,LT.builder,LT.handler).command(RT.command,RT.description,RT.builder,RT.handler).command(GT.command,GT.description,GT.builder,GT.handler).command(qT.command,qT.description,qT.builder,qT.handler).command(YT.command,YT.description,YT.builder,YT.handler).command(rE.command,rE.description,rE.builder,rE.handler).command(wE.command,wE.description,wE.builder,wE.handler).command(TE.command,TE.description,TE.builder,TE.handler).command(EE.command,EE.description,EE.builder,EE.handler).command(OE.command,OE.description,OE.builder,OE.handler).command(AE.command,AE.description,AE.builder,AE.handler).command(jE.command,jE.description,jE.builder,jE.handler).command(ME.command,ME.description,ME.builder,ME.handler).demandCommand(1).help().parseAsync();