blink 0.1.46 → 0.1.47

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.
Files changed (2) hide show
  1. package/dist/cli/index.js +8 -13
  2. package/package.json +2 -2
package/dist/cli/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire}from"node:module";import{errorMonitor}from"events";import*as https$5 from"https";import*as http$7 from"http";import{createServer}from"http";import crypto$1,{randomUUID}from"crypto";import{Readable}from"stream";import*as zlib$4 from"zlib";import EventEmitter,{EventEmitter as EventEmitter$1,addAbortListener,on,once,setMaxListeners}from"node:events";import childProcess,{ChildProcess,exec,execFile,execSync,spawn,spawnSync}from"node:child_process";import*as path$3 from"node:path";import path,{basename,dirname,join,posix,win32}from"node:path";import*as fs$4 from"node:fs";import fs,{appendFileSync,createReadStream,createWriteStream,existsSync,promises,readFileSync,statSync,writeFileSync}from"node:fs";import*as process$2 from"node:process";import process$1,{cwd,env,execArgv,execPath,hrtime,platform,stdin,stdout}from"node:process";import*as fs$37 from"fs/promises";import{mkdir,readFile,readdir,stat,writeFile}from"fs/promises";import path$1,{basename as basename$1,dirname as dirname$1,join as join$1,normalize,relative,resolve,sep}from"path";import{builtinModules,createRequire as createRequire$1}from"module";import{Buffer as Buffer$1}from"node:buffer";import url,{URL as URL$1,fileURLToPath,pathToFileURL}from"node:url";import{TextDecoder as TextDecoder$1,aborted,callbackify,debuglog,inspect,promisify,stripVTControlCharacters}from"node:util";import*as fs$1$1 from"node:fs/promises";import fs$1,{constants,lstat,readFile as readFile$1,readdir as readdir$1,readlink,realpath,stat as stat$1}from"node:fs/promises";import*as os$3 from"node:os";import os,{EOL,constants as constants$1,platform as platform$1}from"node:os";import z$1,{z}from"zod";import{spawn as spawn$1}from"child_process";import*as nativeFs from"fs";import fs$2,{createWriteStream as createWriteStream$1,existsSync as existsSync$1,lstatSync,mkdirSync,readFileSync as readFileSync$1,readdir as readdir$2,readdirSync,readlinkSync,realpathSync,watch,writeFile as writeFile$1,writeFileSync as writeFileSync$1}from"fs";import Stream,{Duplex,PassThrough,Readable as Readable$1,Stream as Stream$1,Transform,Writable,getDefaultHighWaterMark}from"node:stream";import{checkServerIdentity}from"node:tls";import*as http$5 from"node:http";import http,{ServerResponse}from"node:http";import{finished,pipeline}from"node:stream/promises";import https from"node:https";import*as crypto$8 from"node:crypto";import crypto$2,{createHash,randomUUID as randomUUID$1}from"node:crypto";import*as z4 from"zod/v4";import z6,{z as z$2}from"zod/v4";import{ZodFirstPartyTypeKind}from"zod/v3";import os$1,{tmpdir}from"os";import tty from"node:tty";import*as g from"node:readline";import O from"node:readline";import{inspect as inspect$1,types}from"util";import*as net$5 from"node:net";import net from"node:net";import{StringDecoder}from"node:string_decoder";import{scheduler,setImmediate as setImmediate$1,setTimeout as setTimeout$1}from"node:timers/promises";import{serialize}from"node:v8";import{ADDRCONFIG,ALL,V4MAPPED,lookup,promises as promises$1}from"node:dns";import{AsyncLocalStorage}from"node:async_hooks";var __create$2=Object.create,__defProp$4=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__getOwnPropNames$3=Object.getOwnPropertyNames,__getProtoOf$2=Object.getPrototypeOf,__hasOwnProp$3=Object.prototype.hasOwnProperty,__esmMin=(fn,res)=>()=>(fn&&(res=fn(fn=0)),res),__commonJSMin=(cb,mod$1)=>()=>(mod$1||cb((mod$1={exports:{}}).exports,mod$1),mod$1.exports),__export$3=(target,all$2)=>{for(var name$5 in all$2)__defProp$4(target,name$5,{get:all$2[name$5],enumerable:!0})},__copyProps$3=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(var keys=__getOwnPropNames$3(from),i$7=0,n$2=keys.length,key;i$7<n$2;i$7++)key=keys[i$7],!__hasOwnProp$3.call(to,key)&&key!==except&&__defProp$4(to,key,{get:(k$2=>from[k$2]).bind(null,key),enumerable:!(desc=__getOwnPropDesc$3(from,key))||desc.enumerable});return to},__reExport=(target,mod$1,secondTarget)=>(__copyProps$3(target,mod$1,`default`),secondTarget&&__copyProps$3(secondTarget,mod$1,`default`)),__toESM$2=(mod$1,isNodeMode,target)=>(target=mod$1==null?{}:__create$2(__getProtoOf$2(mod$1)),__copyProps$3(isNodeMode||!mod$1||!mod$1.__esModule?__defProp$4(target,`default`,{value:mod$1,enumerable:!0}):target,mod$1)),__toCommonJS$1=mod$1=>__copyProps$3(__defProp$4({},`__esModule`,{value:!0}),mod$1),__require$3=createRequire(import.meta.url),require_constants$12=__commonJSMin(((exports,module)=>{let BINARY_TYPES$2=[`nodebuffer`,`arraybuffer`,`fragments`],hasBlob$1=typeof Blob<`u`;hasBlob$1&&BINARY_TYPES$2.push(`blob`),module.exports={BINARY_TYPES:BINARY_TYPES$2,EMPTY_BUFFER:Buffer.alloc(0),GUID:`258EAFA5-E914-47DA-95CA-C5AB0DC85B11`,hasBlob:hasBlob$1,kForOnEventAttribute:Symbol(`kIsForOnEventAttribute`),kListener:Symbol(`kListener`),kStatusCode:Symbol(`status-code`),kWebSocket:Symbol(`websocket`),NOOP:()=>{}}})),require_buffer_util$2=__commonJSMin(((exports,module)=>{let{EMPTY_BUFFER:EMPTY_BUFFER$3}=require_constants$12(),FastBuffer$3=Buffer[Symbol.species];function concat$39(list$2,totalLength){if(list$2.length===0)return EMPTY_BUFFER$3;if(list$2.length===1)return list$2[0];let target=Buffer.allocUnsafe(totalLength),offset=0;for(let i$7=0;i$7<list$2.length;i$7++){let buf=list$2[i$7];target.set(buf,offset),offset+=buf.length}return offset<totalLength?new FastBuffer$3(target.buffer,target.byteOffset,offset):target}function _mask(source$39,mask,output,offset,length){for(let i$7=0;i$7<length;i$7++)output[offset+i$7]=source$39[i$7]^mask[i$7&3]}function _unmask(buffer$2,mask){for(let i$7=0;i$7<buffer$2.length;i$7++)buffer$2[i$7]^=mask[i$7&3]}function toArrayBuffer$4(buf){return buf.length===buf.buffer.byteLength?buf.buffer:buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.length)}function toBuffer$5(data$2){if(toBuffer$5.readOnly=!0,Buffer.isBuffer(data$2))return data$2;let buf;return data$2 instanceof ArrayBuffer?buf=new FastBuffer$3(data$2):ArrayBuffer.isView(data$2)?buf=new FastBuffer$3(data$2.buffer,data$2.byteOffset,data$2.byteLength):(buf=Buffer.from(data$2),toBuffer$5.readOnly=!1),buf}if(module.exports={concat:concat$39,mask:_mask,toArrayBuffer:toArrayBuffer$4,toBuffer:toBuffer$5,unmask:_unmask},!process.env.WS_NO_BUFFER_UTIL)try{let bufferUtil$1=__require$3(`bufferutil`);module.exports.mask=function(source$39,mask,output,offset,length){length<48?_mask(source$39,mask,output,offset,length):bufferUtil$1.mask(source$39,mask,output,offset,length)},module.exports.unmask=function(buffer$2,mask){buffer$2.length<32?_unmask(buffer$2,mask):bufferUtil$1.unmask(buffer$2,mask)}}catch{}})),require_limiter$2=__commonJSMin(((exports,module)=>{let kDone=Symbol(`kDone`),kRun=Symbol(`kRun`);var Limiter$1=class{constructor(concurrency){this[kDone]=()=>{this.pending--,this[kRun]()},this.concurrency=concurrency||1/0,this.jobs=[],this.pending=0}add(job){this.jobs.push(job),this[kRun]()}[kRun](){if(this.pending!==this.concurrency&&this.jobs.length){let job=this.jobs.shift();this.pending++,job(this[kDone])}}};module.exports=Limiter$1})),require_permessage_deflate$3=__commonJSMin(((exports,module)=>{let zlib$8=__require$3(`zlib`),bufferUtil=require_buffer_util$2(),Limiter=require_limiter$2(),{kStatusCode:kStatusCode$2}=require_constants$12(),FastBuffer$2=Buffer[Symbol.species],TRAILER=Buffer.from([0,0,255,255]),kPerMessageDeflate=Symbol(`permessage-deflate`),kTotalLength=Symbol(`total-length`),kCallback=Symbol(`callback`),kBuffers=Symbol(`buffers`),kError$4=Symbol(`error`),zlibLimiter;var PerMessageDeflate$6=class{constructor(options$1,isServer,maxPayload){if(this._maxPayload=maxPayload|0,this._options=options$1||{},this._threshold=this._options.threshold===void 0?1024:this._options.threshold,this._isServer=!!isServer,this._deflate=null,this._inflate=null,this.params=null,!zlibLimiter){let concurrency=this._options.concurrencyLimit===void 0?10:this._options.concurrencyLimit;zlibLimiter=new Limiter(concurrency)}}static get extensionName(){return`permessage-deflate`}offer(){let params={};return this._options.serverNoContextTakeover&&(params.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(params.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(params.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?params.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits??(params.client_max_window_bits=!0),params}accept(configurations){return configurations=this.normalizeParams(configurations),this.params=this._isServer?this.acceptAsServer(configurations):this.acceptAsClient(configurations),this.params}cleanup(){if(this._inflate&&=(this._inflate.close(),null),this._deflate){let callback$1=this._deflate[kCallback];this._deflate.close(),this._deflate=null,callback$1&&callback$1(Error(`The deflate stream was closed while data was being processed`))}}acceptAsServer(offers){let opts=this._options,accepted=offers.find(params=>!(opts.serverNoContextTakeover===!1&&params.server_no_context_takeover||params.server_max_window_bits&&(opts.serverMaxWindowBits===!1||typeof opts.serverMaxWindowBits==`number`&&opts.serverMaxWindowBits>params.server_max_window_bits)||typeof opts.clientMaxWindowBits==`number`&&!params.client_max_window_bits));if(!accepted)throw Error(`None of the extension offers can be accepted`);return opts.serverNoContextTakeover&&(accepted.server_no_context_takeover=!0),opts.clientNoContextTakeover&&(accepted.client_no_context_takeover=!0),typeof opts.serverMaxWindowBits==`number`&&(accepted.server_max_window_bits=opts.serverMaxWindowBits),typeof opts.clientMaxWindowBits==`number`?accepted.client_max_window_bits=opts.clientMaxWindowBits:(accepted.client_max_window_bits===!0||opts.clientMaxWindowBits===!1)&&delete accepted.client_max_window_bits,accepted}acceptAsClient(response){let params=response[0];if(this._options.clientNoContextTakeover===!1&&params.client_no_context_takeover)throw Error(`Unexpected parameter "client_no_context_takeover"`);if(!params.client_max_window_bits)typeof this._options.clientMaxWindowBits==`number`&&(params.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits==`number`&&params.client_max_window_bits>this._options.clientMaxWindowBits)throw Error(`Unexpected or invalid parameter "client_max_window_bits"`);return params}normalizeParams(configurations){return configurations.forEach(params=>{Object.keys(params).forEach(key=>{let value=params[key];if(value.length>1)throw Error(`Parameter "${key}" must have only a single value`);if(value=value[0],key===`client_max_window_bits`){if(value!==!0){let num=+value;if(!Number.isInteger(num)||num<8||num>15)throw TypeError(`Invalid value for parameter "${key}": ${value}`);value=num}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${key}": ${value}`)}else if(key===`server_max_window_bits`){let num=+value;if(!Number.isInteger(num)||num<8||num>15)throw TypeError(`Invalid value for parameter "${key}": ${value}`);value=num}else if(key===`client_no_context_takeover`||key===`server_no_context_takeover`){if(value!==!0)throw TypeError(`Invalid value for parameter "${key}": ${value}`)}else throw Error(`Unknown parameter "${key}"`);params[key]=value})}),configurations}decompress(data$2,fin,callback$1){zlibLimiter.add(done=>{this._decompress(data$2,fin,(err$2,result)=>{done(),callback$1(err$2,result)})})}compress(data$2,fin,callback$1){zlibLimiter.add(done=>{this._compress(data$2,fin,(err$2,result)=>{done(),callback$1(err$2,result)})})}_decompress(data$2,fin,callback$1){let endpoint=this._isServer?`client`:`server`;if(!this._inflate){let key=`${endpoint}_max_window_bits`,windowBits=typeof this.params[key]==`number`?this.params[key]:zlib$8.Z_DEFAULT_WINDOWBITS;this._inflate=zlib$8.createInflateRaw({...this._options.zlibInflateOptions,windowBits}),this._inflate[kPerMessageDeflate]=this,this._inflate[kTotalLength]=0,this._inflate[kBuffers]=[],this._inflate.on(`error`,inflateOnError),this._inflate.on(`data`,inflateOnData)}this._inflate[kCallback]=callback$1,this._inflate.write(data$2),fin&&this._inflate.write(TRAILER),this._inflate.flush(()=>{let err$2=this._inflate[kError$4];if(err$2){this._inflate.close(),this._inflate=null,callback$1(err$2);return}let data$3=bufferUtil.concat(this._inflate[kBuffers],this._inflate[kTotalLength]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[kTotalLength]=0,this._inflate[kBuffers]=[],fin&&this.params[`${endpoint}_no_context_takeover`]&&this._inflate.reset()),callback$1(null,data$3)})}_compress(data$2,fin,callback$1){let endpoint=this._isServer?`server`:`client`;if(!this._deflate){let key=`${endpoint}_max_window_bits`,windowBits=typeof this.params[key]==`number`?this.params[key]:zlib$8.Z_DEFAULT_WINDOWBITS;this._deflate=zlib$8.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits}),this._deflate[kTotalLength]=0,this._deflate[kBuffers]=[],this._deflate.on(`data`,deflateOnData)}this._deflate[kCallback]=callback$1,this._deflate.write(data$2),this._deflate.flush(zlib$8.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let data$3=bufferUtil.concat(this._deflate[kBuffers],this._deflate[kTotalLength]);fin&&(data$3=new FastBuffer$2(data$3.buffer,data$3.byteOffset,data$3.length-4)),this._deflate[kCallback]=null,this._deflate[kTotalLength]=0,this._deflate[kBuffers]=[],fin&&this.params[`${endpoint}_no_context_takeover`]&&this._deflate.reset(),callback$1(null,data$3)})}};module.exports=PerMessageDeflate$6;function deflateOnData(chunk$1){this[kBuffers].push(chunk$1),this[kTotalLength]+=chunk$1.length}function inflateOnData(chunk$1){if(this[kTotalLength]+=chunk$1.length,this[kPerMessageDeflate]._maxPayload<1||this[kTotalLength]<=this[kPerMessageDeflate]._maxPayload){this[kBuffers].push(chunk$1);return}this[kError$4]=RangeError(`Max payload size exceeded`),this[kError$4].code=`WS_ERR_UNSUPPORTED_MESSAGE_LENGTH`,this[kError$4][kStatusCode$2]=1009,this.removeListener(`data`,inflateOnData),this.reset()}function inflateOnError(err$2){if(this[kPerMessageDeflate]._inflate=null,this[kError$4]){this[kCallback](this[kError$4]);return}err$2[kStatusCode$2]=1007,this[kCallback](err$2)}})),require_validation$3=__commonJSMin(((exports,module)=>{let{isUtf8:isUtf8$1}=__require$3(`buffer`),{hasBlob}=require_constants$12(),tokenChars$2=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function isValidStatusCode$4(code$1){return code$1>=1e3&&code$1<=1014&&code$1!==1004&&code$1!==1005&&code$1!==1006||code$1>=3e3&&code$1<=4999}function _isValidUTF8(buf){let len$1=buf.length,i$7=0;for(;i$7<len$1;)if(!(buf[i$7]&128))i$7++;else if((buf[i$7]&224)==192){if(i$7+1===len$1||(buf[i$7+1]&192)!=128||(buf[i$7]&254)==192)return!1;i$7+=2}else if((buf[i$7]&240)==224){if(i$7+2>=len$1||(buf[i$7+1]&192)!=128||(buf[i$7+2]&192)!=128||buf[i$7]===224&&(buf[i$7+1]&224)==128||buf[i$7]===237&&(buf[i$7+1]&224)==160)return!1;i$7+=3}else if((buf[i$7]&248)==240){if(i$7+3>=len$1||(buf[i$7+1]&192)!=128||(buf[i$7+2]&192)!=128||(buf[i$7+3]&192)!=128||buf[i$7]===240&&(buf[i$7+1]&240)==128||buf[i$7]===244&&buf[i$7+1]>143||buf[i$7]>244)return!1;i$7+=4}else return!1;return!0}function isBlob$6(value){return hasBlob&&typeof value==`object`&&typeof value.arrayBuffer==`function`&&typeof value.type==`string`&&typeof value.stream==`function`&&(value[Symbol.toStringTag]===`Blob`||value[Symbol.toStringTag]===`File`)}if(module.exports={isBlob:isBlob$6,isValidStatusCode:isValidStatusCode$4,isValidUTF8:_isValidUTF8,tokenChars:tokenChars$2},isUtf8$1)module.exports.isValidUTF8=function(buf){return buf.length<24?_isValidUTF8(buf):isUtf8$1(buf)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let isValidUTF8$1=__require$3(`utf-8-validate`);module.exports.isValidUTF8=function(buf){return buf.length<32?_isValidUTF8(buf):isValidUTF8$1(buf)}}catch{}})),require_receiver$3=__commonJSMin(((exports,module)=>{let{Writable:Writable$7}=__require$3(`stream`),PerMessageDeflate$5=require_permessage_deflate$3(),{BINARY_TYPES:BINARY_TYPES$1,EMPTY_BUFFER:EMPTY_BUFFER$2,kStatusCode:kStatusCode$1,kWebSocket:kWebSocket$3}=require_constants$12(),{concat:concat$38,toArrayBuffer:toArrayBuffer$3,unmask}=require_buffer_util$2(),{isValidStatusCode:isValidStatusCode$3,isValidUTF8}=require_validation$3(),FastBuffer$1=Buffer[Symbol.species],GET_INFO=0,GET_PAYLOAD_LENGTH_16=1,GET_PAYLOAD_LENGTH_64=2,GET_MASK=3,GET_DATA=4,INFLATING=5,DEFER_EVENT=6;var Receiver$2=class extends Writable$7{constructor(options$1={}){super(),this._allowSynchronousEvents=options$1.allowSynchronousEvents===void 0?!0:options$1.allowSynchronousEvents,this._binaryType=options$1.binaryType||BINARY_TYPES$1[0],this._extensions=options$1.extensions||{},this._isServer=!!options$1.isServer,this._maxPayload=options$1.maxPayload|0,this._skipUTF8Validation=!!options$1.skipUTF8Validation,this[kWebSocket$3]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(chunk$1,encoding,cb){if(this._opcode===8&&this._state==0)return cb();this._bufferedBytes+=chunk$1.length,this._buffers.push(chunk$1),this.startLoop(cb)}consume(n$2){if(this._bufferedBytes-=n$2,n$2===this._buffers[0].length)return this._buffers.shift();if(n$2<this._buffers[0].length){let buf=this._buffers[0];return this._buffers[0]=new FastBuffer$1(buf.buffer,buf.byteOffset+n$2,buf.length-n$2),new FastBuffer$1(buf.buffer,buf.byteOffset,n$2)}let dst=Buffer.allocUnsafe(n$2);do{let buf=this._buffers[0],offset=dst.length-n$2;n$2>=buf.length?dst.set(this._buffers.shift(),offset):(dst.set(new Uint8Array(buf.buffer,buf.byteOffset,n$2),offset),this._buffers[0]=new FastBuffer$1(buf.buffer,buf.byteOffset+n$2,buf.length-n$2)),n$2-=buf.length}while(n$2>0);return dst}startLoop(cb){this._loop=!0;do switch(this._state){case 0:this.getInfo(cb);break;case 1:this.getPayloadLength16(cb);break;case 2:this.getPayloadLength64(cb);break;case 3:this.getMask();break;case 4:this.getData(cb);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||cb()}getInfo(cb){if(this._bufferedBytes<2){this._loop=!1;return}let buf=this.consume(2);if(buf[0]&48){let error$22=this.createError(RangeError,`RSV2 and RSV3 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_2_3`);cb(error$22);return}let compressed=(buf[0]&64)==64;if(compressed&&!this._extensions[PerMessageDeflate$5.extensionName]){let error$22=this.createError(RangeError,`RSV1 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_1`);cb(error$22);return}if(this._fin=(buf[0]&128)==128,this._opcode=buf[0]&15,this._payloadLength=buf[1]&127,this._opcode===0){if(compressed){let error$22=this.createError(RangeError,`RSV1 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_1`);cb(error$22);return}if(!this._fragmented){let error$22=this.createError(RangeError,`invalid opcode 0`,!0,1002,`WS_ERR_INVALID_OPCODE`);cb(error$22);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let error$22=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,`WS_ERR_INVALID_OPCODE`);cb(error$22);return}this._compressed=compressed}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let error$22=this.createError(RangeError,`FIN must be set`,!0,1002,`WS_ERR_EXPECTED_FIN`);cb(error$22);return}if(compressed){let error$22=this.createError(RangeError,`RSV1 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_1`);cb(error$22);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let error$22=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,`WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH`);cb(error$22);return}}else{let error$22=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,`WS_ERR_INVALID_OPCODE`);cb(error$22);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(buf[1]&128)==128,this._isServer){if(!this._masked){let error$22=this.createError(RangeError,`MASK must be set`,!0,1002,`WS_ERR_EXPECTED_MASK`);cb(error$22);return}}else if(this._masked){let error$22=this.createError(RangeError,`MASK must be clear`,!0,1002,`WS_ERR_UNEXPECTED_MASK`);cb(error$22);return}this._payloadLength===126?this._state=1:this._payloadLength===127?this._state=2:this.haveLength(cb)}getPayloadLength16(cb){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(cb)}getPayloadLength64(cb){if(this._bufferedBytes<8){this._loop=!1;return}let buf=this.consume(8),num=buf.readUInt32BE(0);if(num>2**21-1){let error$22=this.createError(RangeError,`Unsupported WebSocket frame: payload length > 2^53 - 1`,!1,1009,`WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH`);cb(error$22);return}this._payloadLength=num*2**32+buf.readUInt32BE(4),this.haveLength(cb)}haveLength(cb){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let error$22=this.createError(RangeError,`Max payload size exceeded`,!1,1009,`WS_ERR_UNSUPPORTED_MESSAGE_LENGTH`);cb(error$22);return}this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(cb){let data$2=EMPTY_BUFFER$2;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}data$2=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&unmask(data$2,this._mask)}if(this._opcode>7){this.controlMessage(data$2,cb);return}if(this._compressed){this._state=5,this.decompress(data$2,cb);return}data$2.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(data$2)),this.dataMessage(cb)}decompress(data$2,cb){let perMessageDeflate=this._extensions[PerMessageDeflate$5.extensionName];perMessageDeflate.decompress(data$2,this._fin,(err$2,buf)=>{if(err$2)return cb(err$2);if(buf.length){if(this._messageLength+=buf.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let error$22=this.createError(RangeError,`Max payload size exceeded`,!1,1009,`WS_ERR_UNSUPPORTED_MESSAGE_LENGTH`);cb(error$22);return}this._fragments.push(buf)}this.dataMessage(cb),this._state===0&&this.startLoop(cb)})}dataMessage(cb){if(!this._fin){this._state=0;return}let messageLength=this._messageLength,fragments=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let data$2;data$2=this._binaryType===`nodebuffer`?concat$38(fragments,messageLength):this._binaryType===`arraybuffer`?toArrayBuffer$3(concat$38(fragments,messageLength)):this._binaryType===`blob`?new Blob(fragments):fragments,this._allowSynchronousEvents?(this.emit(`message`,data$2,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit(`message`,data$2,!0),this._state=0,this.startLoop(cb)}))}else{let buf=concat$38(fragments,messageLength);if(!this._skipUTF8Validation&&!isValidUTF8(buf)){let error$22=this.createError(Error,`invalid UTF-8 sequence`,!0,1007,`WS_ERR_INVALID_UTF8`);cb(error$22);return}this._state===5||this._allowSynchronousEvents?(this.emit(`message`,buf,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit(`message`,buf,!1),this._state=0,this.startLoop(cb)}))}}controlMessage(data$2,cb){if(this._opcode===8){if(data$2.length===0)this._loop=!1,this.emit(`conclude`,1005,EMPTY_BUFFER$2),this.end();else{let code$1=data$2.readUInt16BE(0);if(!isValidStatusCode$3(code$1)){let error$22=this.createError(RangeError,`invalid status code ${code$1}`,!0,1002,`WS_ERR_INVALID_CLOSE_CODE`);cb(error$22);return}let buf=new FastBuffer$1(data$2.buffer,data$2.byteOffset+2,data$2.length-2);if(!this._skipUTF8Validation&&!isValidUTF8(buf)){let error$22=this.createError(Error,`invalid UTF-8 sequence`,!0,1007,`WS_ERR_INVALID_UTF8`);cb(error$22);return}this._loop=!1,this.emit(`conclude`,code$1,buf),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?`ping`:`pong`,data$2),this._state=0):(this._state=6,setImmediate(()=>{this.emit(this._opcode===9?`ping`:`pong`,data$2),this._state=0,this.startLoop(cb)}))}createError(ErrorCtor,message,prefix,statusCode,errorCode){this._loop=!1,this._errored=!0;let err$2=new ErrorCtor(prefix?`Invalid WebSocket frame: ${message}`:message);return Error.captureStackTrace(err$2,this.createError),err$2.code=errorCode,err$2[kStatusCode$1]=statusCode,err$2}};module.exports=Receiver$2})),require_sender$3=__commonJSMin(((exports,module)=>{let{Duplex:Duplex$5}=__require$3(`stream`),{randomFillSync}=__require$3(`crypto`),PerMessageDeflate$4=require_permessage_deflate$3(),{EMPTY_BUFFER:EMPTY_BUFFER$1,kWebSocket:kWebSocket$2,NOOP:NOOP$3}=require_constants$12(),{isBlob:isBlob$5,isValidStatusCode:isValidStatusCode$2}=require_validation$3(),{mask:applyMask,toBuffer:toBuffer$4}=require_buffer_util$2(),kByteLength=Symbol(`kByteLength`),maskBuffer=Buffer.alloc(4),RANDOM_POOL_SIZE=8*1024,randomPool,randomPoolPointer=RANDOM_POOL_SIZE,DEFAULT=0,DEFLATING=1,GET_BLOB_DATA=2;var Sender$2=class Sender$2{constructor(socket,extensions,generateMask$1){this._extensions=extensions||{},generateMask$1&&(this._generateMask=generateMask$1,this._maskBuffer=Buffer.alloc(4)),this._socket=socket,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=NOOP$3,this[kWebSocket$2]=void 0}static frame(data$2,options$1){let mask,merge$3=!1,offset=2,skipMasking=!1;options$1.mask&&(mask=options$1.maskBuffer||maskBuffer,options$1.generateMask?options$1.generateMask(mask):(randomPoolPointer===RANDOM_POOL_SIZE&&(randomPool===void 0&&(randomPool=Buffer.alloc(RANDOM_POOL_SIZE)),randomFillSync(randomPool,0,RANDOM_POOL_SIZE),randomPoolPointer=0),mask[0]=randomPool[randomPoolPointer++],mask[1]=randomPool[randomPoolPointer++],mask[2]=randomPool[randomPoolPointer++],mask[3]=randomPool[randomPoolPointer++]),skipMasking=(mask[0]|mask[1]|mask[2]|mask[3])===0,offset=6);let dataLength;typeof data$2==`string`?(!options$1.mask||skipMasking)&&options$1[kByteLength]!==void 0?dataLength=options$1[kByteLength]:(data$2=Buffer.from(data$2),dataLength=data$2.length):(dataLength=data$2.length,merge$3=options$1.mask&&options$1.readOnly&&!skipMasking);let payloadLength=dataLength;dataLength>=65536?(offset+=8,payloadLength=127):dataLength>125&&(offset+=2,payloadLength=126);let target=Buffer.allocUnsafe(merge$3?dataLength+offset:offset);return target[0]=options$1.fin?options$1.opcode|128:options$1.opcode,options$1.rsv1&&(target[0]|=64),target[1]=payloadLength,payloadLength===126?target.writeUInt16BE(dataLength,2):payloadLength===127&&(target[2]=target[3]=0,target.writeUIntBE(dataLength,4,6)),!options$1.mask||(target[1]|=128,target[offset-4]=mask[0],target[offset-3]=mask[1],target[offset-2]=mask[2],target[offset-1]=mask[3],skipMasking)?[target,data$2]:merge$3?(applyMask(data$2,mask,target,offset,dataLength),[target]):(applyMask(data$2,mask,data$2,0,dataLength),[target,data$2])}close(code$1,data$2,mask,cb){let buf;if(code$1===void 0)buf=EMPTY_BUFFER$1;else if(typeof code$1!=`number`||!isValidStatusCode$2(code$1))throw TypeError(`First argument must be a valid error code number`);else if(data$2===void 0||!data$2.length)buf=Buffer.allocUnsafe(2),buf.writeUInt16BE(code$1,0);else{let length=Buffer.byteLength(data$2);if(length>123)throw RangeError(`The message must not be greater than 123 bytes`);buf=Buffer.allocUnsafe(2+length),buf.writeUInt16BE(code$1,0),typeof data$2==`string`?buf.write(data$2,2):buf.set(data$2,2)}let options$1={[kByteLength]:buf.length,fin:!0,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state===0?this.sendFrame(Sender$2.frame(buf,options$1),cb):this.enqueue([this.dispatch,buf,!1,options$1,cb])}ping(data$2,mask,cb){let byteLength$1,readOnly;if(typeof data$2==`string`?(byteLength$1=Buffer.byteLength(data$2),readOnly=!1):isBlob$5(data$2)?(byteLength$1=data$2.size,readOnly=!1):(data$2=toBuffer$4(data$2),byteLength$1=data$2.length,readOnly=toBuffer$4.readOnly),byteLength$1>125)throw RangeError(`The data size must not be greater than 125 bytes`);let options$1={[kByteLength]:byteLength$1,fin:!0,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:9,readOnly,rsv1:!1};isBlob$5(data$2)?this._state===0?this.getBlobData(data$2,!1,options$1,cb):this.enqueue([this.getBlobData,data$2,!1,options$1,cb]):this._state===0?this.sendFrame(Sender$2.frame(data$2,options$1),cb):this.enqueue([this.dispatch,data$2,!1,options$1,cb])}pong(data$2,mask,cb){let byteLength$1,readOnly;if(typeof data$2==`string`?(byteLength$1=Buffer.byteLength(data$2),readOnly=!1):isBlob$5(data$2)?(byteLength$1=data$2.size,readOnly=!1):(data$2=toBuffer$4(data$2),byteLength$1=data$2.length,readOnly=toBuffer$4.readOnly),byteLength$1>125)throw RangeError(`The data size must not be greater than 125 bytes`);let options$1={[kByteLength]:byteLength$1,fin:!0,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:10,readOnly,rsv1:!1};isBlob$5(data$2)?this._state===0?this.getBlobData(data$2,!1,options$1,cb):this.enqueue([this.getBlobData,data$2,!1,options$1,cb]):this._state===0?this.sendFrame(Sender$2.frame(data$2,options$1),cb):this.enqueue([this.dispatch,data$2,!1,options$1,cb])}send(data$2,options$1,cb){let perMessageDeflate=this._extensions[PerMessageDeflate$4.extensionName],opcode=options$1.binary?2:1,rsv1=options$1.compress,byteLength$1,readOnly;typeof data$2==`string`?(byteLength$1=Buffer.byteLength(data$2),readOnly=!1):isBlob$5(data$2)?(byteLength$1=data$2.size,readOnly=!1):(data$2=toBuffer$4(data$2),byteLength$1=data$2.length,readOnly=toBuffer$4.readOnly),this._firstFragment?(this._firstFragment=!1,rsv1&&perMessageDeflate&&perMessageDeflate.params[perMessageDeflate._isServer?`server_no_context_takeover`:`client_no_context_takeover`]&&(rsv1=byteLength$1>=perMessageDeflate._threshold),this._compress=rsv1):(rsv1=!1,opcode=0),options$1.fin&&(this._firstFragment=!0);let opts={[kByteLength]:byteLength$1,fin:options$1.fin,generateMask:this._generateMask,mask:options$1.mask,maskBuffer:this._maskBuffer,opcode,readOnly,rsv1};isBlob$5(data$2)?this._state===0?this.getBlobData(data$2,this._compress,opts,cb):this.enqueue([this.getBlobData,data$2,this._compress,opts,cb]):this._state===0?this.dispatch(data$2,this._compress,opts,cb):this.enqueue([this.dispatch,data$2,this._compress,opts,cb])}getBlobData(blob,compress,options$1,cb){this._bufferedBytes+=options$1[kByteLength],this._state=2,blob.arrayBuffer().then(arrayBuffer=>{if(this._socket.destroyed){let err$2=Error(`The socket was closed while the blob was being read`);process.nextTick(callCallbacks,this,err$2,cb);return}this._bufferedBytes-=options$1[kByteLength];let data$2=toBuffer$4(arrayBuffer);compress?this.dispatch(data$2,compress,options$1,cb):(this._state=0,this.sendFrame(Sender$2.frame(data$2,options$1),cb),this.dequeue())}).catch(err$2=>{process.nextTick(onError$2,this,err$2,cb)})}dispatch(data$2,compress,options$1,cb){if(!compress){this.sendFrame(Sender$2.frame(data$2,options$1),cb);return}let perMessageDeflate=this._extensions[PerMessageDeflate$4.extensionName];this._bufferedBytes+=options$1[kByteLength],this._state=1,perMessageDeflate.compress(data$2,options$1.fin,(_$6,buf)=>{if(this._socket.destroyed){let err$2=Error(`The socket was closed while data was being compressed`);callCallbacks(this,err$2,cb);return}this._bufferedBytes-=options$1[kByteLength],this._state=0,options$1.readOnly=!1,this.sendFrame(Sender$2.frame(buf,options$1),cb),this.dequeue()})}dequeue(){for(;this._state===0&&this._queue.length;){let params=this._queue.shift();this._bufferedBytes-=params[3][kByteLength],Reflect.apply(params[0],this,params.slice(1))}}enqueue(params){this._bufferedBytes+=params[3][kByteLength],this._queue.push(params)}sendFrame(list$2,cb){list$2.length===2?(this._socket.cork(),this._socket.write(list$2[0]),this._socket.write(list$2[1],cb),this._socket.uncork()):this._socket.write(list$2[0],cb)}};module.exports=Sender$2;function callCallbacks(sender,err$2,cb){typeof cb==`function`&&cb(err$2);for(let i$7=0;i$7<sender._queue.length;i$7++){let params=sender._queue[i$7],callback$1=params[params.length-1];typeof callback$1==`function`&&callback$1(err$2)}}function onError$2(sender,err$2,cb){callCallbacks(sender,err$2,cb),sender.onerror(err$2)}})),require_event_target$2=__commonJSMin(((exports,module)=>{let{kForOnEventAttribute:kForOnEventAttribute$1,kListener:kListener$2}=require_constants$12(),kCode=Symbol(`kCode`),kData=Symbol(`kData`),kError$3=Symbol(`kError`),kMessage=Symbol(`kMessage`),kReason=Symbol(`kReason`),kTarget=Symbol(`kTarget`),kType=Symbol(`kType`),kWasClean=Symbol(`kWasClean`);var Event$1=class{constructor(type){this[kTarget]=null,this[kType]=type}get target(){return this[kTarget]}get type(){return this[kType]}};Object.defineProperty(Event$1.prototype,`target`,{enumerable:!0}),Object.defineProperty(Event$1.prototype,`type`,{enumerable:!0});var CloseEvent$3=class extends Event$1{constructor(type,options$1={}){super(type),this[kCode]=options$1.code===void 0?0:options$1.code,this[kReason]=options$1.reason===void 0?``:options$1.reason,this[kWasClean]=options$1.wasClean===void 0?!1:options$1.wasClean}get code(){return this[kCode]}get reason(){return this[kReason]}get wasClean(){return this[kWasClean]}};Object.defineProperty(CloseEvent$3.prototype,`code`,{enumerable:!0}),Object.defineProperty(CloseEvent$3.prototype,`reason`,{enumerable:!0}),Object.defineProperty(CloseEvent$3.prototype,`wasClean`,{enumerable:!0});var ErrorEvent$4=class extends Event$1{constructor(type,options$1={}){super(type),this[kError$3]=options$1.error===void 0?null:options$1.error,this[kMessage]=options$1.message===void 0?``:options$1.message}get error(){return this[kError$3]}get message(){return this[kMessage]}};Object.defineProperty(ErrorEvent$4.prototype,`error`,{enumerable:!0}),Object.defineProperty(ErrorEvent$4.prototype,`message`,{enumerable:!0});var MessageEvent$3=class extends Event$1{constructor(type,options$1={}){super(type),this[kData]=options$1.data===void 0?null:options$1.data}get data(){return this[kData]}};Object.defineProperty(MessageEvent$3.prototype,`data`,{enumerable:!0});let EventTarget$1={addEventListener(type,handler,options$1={}){for(let listener of this.listeners(type))if(!options$1[kForOnEventAttribute$1]&&listener[kListener$2]===handler&&!listener[kForOnEventAttribute$1])return;let wrapper;if(type===`message`)wrapper=function(data$2,isBinary$1){let event=new MessageEvent$3(`message`,{data:isBinary$1?data$2:data$2.toString()});event[kTarget]=this,callListener(handler,this,event)};else if(type===`close`)wrapper=function(code$1,message){let event=new CloseEvent$3(`close`,{code:code$1,reason:message.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});event[kTarget]=this,callListener(handler,this,event)};else if(type===`error`)wrapper=function(error$22){let event=new ErrorEvent$4(`error`,{error:error$22,message:error$22.message});event[kTarget]=this,callListener(handler,this,event)};else if(type===`open`)wrapper=function(){let event=new Event$1(`open`);event[kTarget]=this,callListener(handler,this,event)};else return;wrapper[kForOnEventAttribute$1]=!!options$1[kForOnEventAttribute$1],wrapper[kListener$2]=handler,options$1.once?this.once(type,wrapper):this.on(type,wrapper)},removeEventListener(type,handler){for(let listener of this.listeners(type))if(listener[kListener$2]===handler&&!listener[kForOnEventAttribute$1]){this.removeListener(type,listener);break}}};module.exports={CloseEvent:CloseEvent$3,ErrorEvent:ErrorEvent$4,Event:Event$1,EventTarget:EventTarget$1,MessageEvent:MessageEvent$3};function callListener(listener,thisArg,event){typeof listener==`object`&&listener.handleEvent?listener.handleEvent.call(listener,event):listener.call(thisArg,event)}})),require_extension$2=__commonJSMin(((exports,module)=>{let{tokenChars:tokenChars$1}=require_validation$3();function push$2(dest,name$5,elem){dest[name$5]===void 0?dest[name$5]=[elem]:dest[name$5].push(elem)}function parse$21(header){let offers=Object.create(null),params=Object.create(null),mustUnescape=!1,isEscaping=!1,inQuotes=!1,extensionName,paramName,start$1=-1,code$1=-1,end=-1,i$7=0;for(;i$7<header.length;i$7++)if(code$1=header.charCodeAt(i$7),extensionName===void 0)if(end===-1&&tokenChars$1[code$1]===1)start$1===-1&&(start$1=i$7);else if(i$7!==0&&(code$1===32||code$1===9))end===-1&&start$1!==-1&&(end=i$7);else if(code$1===59||code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$7}`);end===-1&&(end=i$7);let name$5=header.slice(start$1,end);code$1===44?(push$2(offers,name$5,params),params=Object.create(null)):extensionName=name$5,start$1=end=-1}else throw SyntaxError(`Unexpected character at index ${i$7}`);else if(paramName===void 0)if(end===-1&&tokenChars$1[code$1]===1)start$1===-1&&(start$1=i$7);else if(code$1===32||code$1===9)end===-1&&start$1!==-1&&(end=i$7);else if(code$1===59||code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$7}`);end===-1&&(end=i$7),push$2(params,header.slice(start$1,end),!0),code$1===44&&(push$2(offers,extensionName,params),params=Object.create(null),extensionName=void 0),start$1=end=-1}else if(code$1===61&&start$1!==-1&&end===-1)paramName=header.slice(start$1,i$7),start$1=end=-1;else throw SyntaxError(`Unexpected character at index ${i$7}`);else if(isEscaping){if(tokenChars$1[code$1]!==1)throw SyntaxError(`Unexpected character at index ${i$7}`);start$1===-1?start$1=i$7:mustUnescape||=!0,isEscaping=!1}else if(inQuotes)if(tokenChars$1[code$1]===1)start$1===-1&&(start$1=i$7);else if(code$1===34&&start$1!==-1)inQuotes=!1,end=i$7;else if(code$1===92)isEscaping=!0;else throw SyntaxError(`Unexpected character at index ${i$7}`);else if(code$1===34&&header.charCodeAt(i$7-1)===61)inQuotes=!0;else if(end===-1&&tokenChars$1[code$1]===1)start$1===-1&&(start$1=i$7);else if(start$1!==-1&&(code$1===32||code$1===9))end===-1&&(end=i$7);else if(code$1===59||code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$7}`);end===-1&&(end=i$7);let value=header.slice(start$1,end);mustUnescape&&=(value=value.replace(/\\/g,``),!1),push$2(params,paramName,value),code$1===44&&(push$2(offers,extensionName,params),params=Object.create(null),extensionName=void 0),paramName=void 0,start$1=end=-1}else throw SyntaxError(`Unexpected character at index ${i$7}`);if(start$1===-1||inQuotes||code$1===32||code$1===9)throw SyntaxError(`Unexpected end of input`);end===-1&&(end=i$7);let token$1=header.slice(start$1,end);return extensionName===void 0?push$2(offers,token$1,params):(paramName===void 0?push$2(params,token$1,!0):mustUnescape?push$2(params,paramName,token$1.replace(/\\/g,``)):push$2(params,paramName,token$1),push$2(offers,extensionName,params)),offers}function format$3(extensions){return Object.keys(extensions).map(extension$1=>{let configurations=extensions[extension$1];return Array.isArray(configurations)||(configurations=[configurations]),configurations.map(params=>[extension$1].concat(Object.keys(params).map(k$2=>{let values=params[k$2];return Array.isArray(values)||(values=[values]),values.map(v$2=>v$2===!0?k$2:`${k$2}=${v$2}`).join(`; `)})).join(`; `)).join(`, `)}).join(`, `)}module.exports={format:format$3,parse:parse$21}})),require_websocket$3=__commonJSMin(((exports,module)=>{let EventEmitter$13=__require$3(`events`),https$9=__require$3(`https`),http$15=__require$3(`http`),net$8=__require$3(`net`),tls$6=__require$3(`tls`),{randomBytes,createHash:createHash$2}=__require$3(`crypto`),{Duplex:Duplex$4,Readable:Readable$11}=__require$3(`stream`),{URL:URL$11}=__require$3(`url`),PerMessageDeflate$3=require_permessage_deflate$3(),Receiver$1=require_receiver$3(),Sender$1=require_sender$3(),{isBlob:isBlob$4}=require_validation$3(),{BINARY_TYPES,EMPTY_BUFFER,GUID:GUID$1,kForOnEventAttribute,kListener:kListener$1,kStatusCode,kWebSocket:kWebSocket$1,NOOP:NOOP$2}=require_constants$12(),{EventTarget:{addEventListener:addEventListener$1,removeEventListener}}=require_event_target$2(),{format:format$2,parse:parse$20}=require_extension$2(),{toBuffer:toBuffer$3}=require_buffer_util$2(),closeTimeout=30*1e3,kAborted=Symbol(`kAborted`),protocolVersions=[8,13],readyStates=[`CONNECTING`,`OPEN`,`CLOSING`,`CLOSED`],subprotocolRegex=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;var WebSocket$7=class WebSocket$7 extends EventEmitter$13{constructor(address,protocols,options$1){super(),this._binaryType=BINARY_TYPES[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=EMPTY_BUFFER,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol=``,this._readyState=WebSocket$7.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,address===null?(this._autoPong=options$1.autoPong,this._isServer=!0):(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,protocols===void 0?protocols=[]:Array.isArray(protocols)||(typeof protocols==`object`&&protocols?(options$1=protocols,protocols=[]):protocols=[protocols]),initAsClient(this,address,protocols,options$1))}get binaryType(){return this._binaryType}set binaryType(type){BINARY_TYPES.includes(type)&&(this._binaryType=type,this._receiver&&(this._receiver._binaryType=type))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(socket,head,options$1){let receiver=new Receiver$1({allowSynchronousEvents:options$1.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:options$1.maxPayload,skipUTF8Validation:options$1.skipUTF8Validation}),sender=new Sender$1(socket,this._extensions,options$1.generateMask);this._receiver=receiver,this._sender=sender,this._socket=socket,receiver[kWebSocket$1]=this,sender[kWebSocket$1]=this,socket[kWebSocket$1]=this,receiver.on(`conclude`,receiverOnConclude),receiver.on(`drain`,receiverOnDrain),receiver.on(`error`,receiverOnError),receiver.on(`message`,receiverOnMessage),receiver.on(`ping`,receiverOnPing),receiver.on(`pong`,receiverOnPong),sender.onerror=senderOnError,socket.setTimeout&&socket.setTimeout(0),socket.setNoDelay&&socket.setNoDelay(),head.length>0&&socket.unshift(head),socket.on(`close`,socketOnClose),socket.on(`data`,socketOnData),socket.on(`end`,socketOnEnd),socket.on(`error`,socketOnError$1),this._readyState=WebSocket$7.OPEN,this.emit(`open`)}emitClose(){if(!this._socket){this._readyState=WebSocket$7.CLOSED,this.emit(`close`,this._closeCode,this._closeMessage);return}this._extensions[PerMessageDeflate$3.extensionName]&&this._extensions[PerMessageDeflate$3.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=WebSocket$7.CLOSED,this.emit(`close`,this._closeCode,this._closeMessage)}close(code$1,data$2){if(this.readyState!==WebSocket$7.CLOSED){if(this.readyState===WebSocket$7.CONNECTING){let msg=`WebSocket was closed before the connection was established`;abortHandshake$1(this,this._req,`WebSocket was closed before the connection was established`);return}if(this.readyState===WebSocket$7.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=WebSocket$7.CLOSING,this._sender.close(code$1,data$2,!this._isServer,err$2=>{err$2||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),setCloseTimer(this)}}pause(){this.readyState===WebSocket$7.CONNECTING||this.readyState===WebSocket$7.CLOSED||(this._paused=!0,this._socket.pause())}ping(data$2,mask,cb){if(this.readyState===WebSocket$7.CONNECTING)throw Error(`WebSocket is not open: readyState 0 (CONNECTING)`);if(typeof data$2==`function`?(cb=data$2,data$2=mask=void 0):typeof mask==`function`&&(cb=mask,mask=void 0),typeof data$2==`number`&&(data$2=data$2.toString()),this.readyState!==WebSocket$7.OPEN){sendAfterClose(this,data$2,cb);return}mask===void 0&&(mask=!this._isServer),this._sender.ping(data$2||EMPTY_BUFFER,mask,cb)}pong(data$2,mask,cb){if(this.readyState===WebSocket$7.CONNECTING)throw Error(`WebSocket is not open: readyState 0 (CONNECTING)`);if(typeof data$2==`function`?(cb=data$2,data$2=mask=void 0):typeof mask==`function`&&(cb=mask,mask=void 0),typeof data$2==`number`&&(data$2=data$2.toString()),this.readyState!==WebSocket$7.OPEN){sendAfterClose(this,data$2,cb);return}mask===void 0&&(mask=!this._isServer),this._sender.pong(data$2||EMPTY_BUFFER,mask,cb)}resume(){this.readyState===WebSocket$7.CONNECTING||this.readyState===WebSocket$7.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(data$2,options$1,cb){if(this.readyState===WebSocket$7.CONNECTING)throw Error(`WebSocket is not open: readyState 0 (CONNECTING)`);if(typeof options$1==`function`&&(cb=options$1,options$1={}),typeof data$2==`number`&&(data$2=data$2.toString()),this.readyState!==WebSocket$7.OPEN){sendAfterClose(this,data$2,cb);return}let opts={binary:typeof data$2!=`string`,mask:!this._isServer,compress:!0,fin:!0,...options$1};this._extensions[PerMessageDeflate$3.extensionName]||(opts.compress=!1),this._sender.send(data$2||EMPTY_BUFFER,opts,cb)}terminate(){if(this.readyState!==WebSocket$7.CLOSED){if(this.readyState===WebSocket$7.CONNECTING){let msg=`WebSocket was closed before the connection was established`;abortHandshake$1(this,this._req,`WebSocket was closed before the connection was established`);return}this._socket&&(this._readyState=WebSocket$7.CLOSING,this._socket.destroy())}}};Object.defineProperty(WebSocket$7,`CONNECTING`,{enumerable:!0,value:readyStates.indexOf(`CONNECTING`)}),Object.defineProperty(WebSocket$7.prototype,`CONNECTING`,{enumerable:!0,value:readyStates.indexOf(`CONNECTING`)}),Object.defineProperty(WebSocket$7,`OPEN`,{enumerable:!0,value:readyStates.indexOf(`OPEN`)}),Object.defineProperty(WebSocket$7.prototype,`OPEN`,{enumerable:!0,value:readyStates.indexOf(`OPEN`)}),Object.defineProperty(WebSocket$7,`CLOSING`,{enumerable:!0,value:readyStates.indexOf(`CLOSING`)}),Object.defineProperty(WebSocket$7.prototype,`CLOSING`,{enumerable:!0,value:readyStates.indexOf(`CLOSING`)}),Object.defineProperty(WebSocket$7,`CLOSED`,{enumerable:!0,value:readyStates.indexOf(`CLOSED`)}),Object.defineProperty(WebSocket$7.prototype,`CLOSED`,{enumerable:!0,value:readyStates.indexOf(`CLOSED`)}),[`binaryType`,`bufferedAmount`,`extensions`,`isPaused`,`protocol`,`readyState`,`url`].forEach(property=>{Object.defineProperty(WebSocket$7.prototype,property,{enumerable:!0})}),[`open`,`error`,`close`,`message`].forEach(method=>{Object.defineProperty(WebSocket$7.prototype,`on${method}`,{enumerable:!0,get(){for(let listener of this.listeners(method))if(listener[kForOnEventAttribute])return listener[kListener$1];return null},set(handler){for(let listener of this.listeners(method))if(listener[kForOnEventAttribute]){this.removeListener(method,listener);break}typeof handler==`function`&&this.addEventListener(method,handler,{[kForOnEventAttribute]:!0})}})}),WebSocket$7.prototype.addEventListener=addEventListener$1,WebSocket$7.prototype.removeEventListener=removeEventListener,module.exports=WebSocket$7;function initAsClient(websocket,address,protocols,options$1){let opts={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:protocolVersions[1],maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...options$1,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:`GET`,host:void 0,path:void 0,port:void 0};if(websocket._autoPong=opts.autoPong,!protocolVersions.includes(opts.protocolVersion))throw RangeError(`Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(`, `)})`);let parsedUrl;if(address instanceof URL$11)parsedUrl=address;else try{parsedUrl=new URL$11(address)}catch{throw SyntaxError(`Invalid URL: ${address}`)}parsedUrl.protocol===`http:`?parsedUrl.protocol=`ws:`:parsedUrl.protocol===`https:`&&(parsedUrl.protocol=`wss:`),websocket._url=parsedUrl.href;let isSecure=parsedUrl.protocol===`wss:`,isIpcUrl=parsedUrl.protocol===`ws+unix:`,invalidUrlMessage;if(parsedUrl.protocol!==`ws:`&&!isSecure&&!isIpcUrl?invalidUrlMessage=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:isIpcUrl&&!parsedUrl.pathname?invalidUrlMessage=`The URL's pathname is empty`:parsedUrl.hash&&(invalidUrlMessage=`The URL contains a fragment identifier`),invalidUrlMessage){let err$2=SyntaxError(invalidUrlMessage);if(websocket._redirects===0)throw err$2;emitErrorAndClose(websocket,err$2);return}let defaultPort$1=isSecure?443:80,key=randomBytes(16).toString(`base64`),request$3=isSecure?https$9.request:http$15.request,protocolSet=new Set,perMessageDeflate;if(opts.createConnection=opts.createConnection||(isSecure?tlsConnect:netConnect),opts.defaultPort=opts.defaultPort||defaultPort$1,opts.port=parsedUrl.port||defaultPort$1,opts.host=parsedUrl.hostname.startsWith(`[`)?parsedUrl.hostname.slice(1,-1):parsedUrl.hostname,opts.headers={...opts.headers,"Sec-WebSocket-Version":opts.protocolVersion,"Sec-WebSocket-Key":key,Connection:`Upgrade`,Upgrade:`websocket`},opts.path=parsedUrl.pathname+parsedUrl.search,opts.timeout=opts.handshakeTimeout,opts.perMessageDeflate&&(perMessageDeflate=new PerMessageDeflate$3(opts.perMessageDeflate===!0?{}:opts.perMessageDeflate,!1,opts.maxPayload),opts.headers[`Sec-WebSocket-Extensions`]=format$2({[PerMessageDeflate$3.extensionName]:perMessageDeflate.offer()})),protocols.length){for(let protocol of protocols){if(typeof protocol!=`string`||!subprotocolRegex.test(protocol)||protocolSet.has(protocol))throw SyntaxError(`An invalid or duplicated subprotocol was specified`);protocolSet.add(protocol)}opts.headers[`Sec-WebSocket-Protocol`]=protocols.join(`,`)}if(opts.origin&&(opts.protocolVersion<13?opts.headers[`Sec-WebSocket-Origin`]=opts.origin:opts.headers.Origin=opts.origin),(parsedUrl.username||parsedUrl.password)&&(opts.auth=`${parsedUrl.username}:${parsedUrl.password}`),isIpcUrl){let parts=opts.path.split(`:`);opts.socketPath=parts[0],opts.path=parts[1]}let req$1;if(opts.followRedirects){if(websocket._redirects===0){websocket._originalIpc=isIpcUrl,websocket._originalSecure=isSecure,websocket._originalHostOrSocketPath=isIpcUrl?opts.socketPath:parsedUrl.host;let headers=options$1&&options$1.headers;if(options$1={...options$1,headers:{}},headers)for(let[key$1,value]of Object.entries(headers))options$1.headers[key$1.toLowerCase()]=value}else if(websocket.listenerCount(`redirect`)===0){let isSameHost=isIpcUrl?websocket._originalIpc?opts.socketPath===websocket._originalHostOrSocketPath:!1:websocket._originalIpc?!1:parsedUrl.host===websocket._originalHostOrSocketPath;(!isSameHost||websocket._originalSecure&&!isSecure)&&(delete opts.headers.authorization,delete opts.headers.cookie,isSameHost||delete opts.headers.host,opts.auth=void 0)}opts.auth&&!options$1.headers.authorization&&(options$1.headers.authorization=`Basic `+Buffer.from(opts.auth).toString(`base64`)),req$1=websocket._req=request$3(opts),websocket._redirects&&websocket.emit(`redirect`,websocket.url,req$1)}else req$1=websocket._req=request$3(opts);opts.timeout&&req$1.on(`timeout`,()=>{abortHandshake$1(websocket,req$1,`Opening handshake has timed out`)}),req$1.on(`error`,err$2=>{req$1===null||req$1[kAborted]||(req$1=websocket._req=null,emitErrorAndClose(websocket,err$2))}),req$1.on(`response`,res=>{let location=res.headers.location,statusCode=res.statusCode;if(location&&opts.followRedirects&&statusCode>=300&&statusCode<400){if(++websocket._redirects>opts.maxRedirects){abortHandshake$1(websocket,req$1,`Maximum redirects exceeded`);return}req$1.abort();let addr;try{addr=new URL$11(location,address)}catch{let err$2=SyntaxError(`Invalid URL: ${location}`);emitErrorAndClose(websocket,err$2);return}initAsClient(websocket,addr,protocols,options$1)}else websocket.emit(`unexpected-response`,req$1,res)||abortHandshake$1(websocket,req$1,`Unexpected server response: ${res.statusCode}`)}),req$1.on(`upgrade`,(res,socket,head)=>{if(websocket.emit(`upgrade`,res),websocket.readyState!==WebSocket$7.CONNECTING)return;req$1=websocket._req=null;let upgrade$1=res.headers.upgrade;if(upgrade$1===void 0||upgrade$1.toLowerCase()!==`websocket`){abortHandshake$1(websocket,socket,`Invalid Upgrade header`);return}let digest=createHash$2(`sha1`).update(key+GUID$1).digest(`base64`);if(res.headers[`sec-websocket-accept`]!==digest){abortHandshake$1(websocket,socket,`Invalid Sec-WebSocket-Accept header`);return}let serverProt=res.headers[`sec-websocket-protocol`],protError;if(serverProt===void 0?protocolSet.size&&(protError=`Server sent no subprotocol`):protocolSet.size?protocolSet.has(serverProt)||(protError=`Server sent an invalid subprotocol`):protError=`Server sent a subprotocol but none was requested`,protError){abortHandshake$1(websocket,socket,protError);return}serverProt&&(websocket._protocol=serverProt);let secWebSocketExtensions=res.headers[`sec-websocket-extensions`];if(secWebSocketExtensions!==void 0){if(!perMessageDeflate){let message=`Server sent a Sec-WebSocket-Extensions header but no extension was requested`;abortHandshake$1(websocket,socket,`Server sent a Sec-WebSocket-Extensions header but no extension was requested`);return}let extensions;try{extensions=parse$20(secWebSocketExtensions)}catch{let message=`Invalid Sec-WebSocket-Extensions header`;abortHandshake$1(websocket,socket,`Invalid Sec-WebSocket-Extensions header`);return}let extensionNames=Object.keys(extensions);if(extensionNames.length!==1||extensionNames[0]!==PerMessageDeflate$3.extensionName){let message=`Server indicated an extension that was not requested`;abortHandshake$1(websocket,socket,`Server indicated an extension that was not requested`);return}try{perMessageDeflate.accept(extensions[PerMessageDeflate$3.extensionName])}catch{let message=`Invalid Sec-WebSocket-Extensions header`;abortHandshake$1(websocket,socket,`Invalid Sec-WebSocket-Extensions header`);return}websocket._extensions[PerMessageDeflate$3.extensionName]=perMessageDeflate}websocket.setSocket(socket,head,{allowSynchronousEvents:opts.allowSynchronousEvents,generateMask:opts.generateMask,maxPayload:opts.maxPayload,skipUTF8Validation:opts.skipUTF8Validation})}),opts.finishRequest?opts.finishRequest(req$1,websocket):req$1.end()}function emitErrorAndClose(websocket,err$2){websocket._readyState=WebSocket$7.CLOSING,websocket._errorEmitted=!0,websocket.emit(`error`,err$2),websocket.emitClose()}function netConnect(options$1){return options$1.path=options$1.socketPath,net$8.connect(options$1)}function tlsConnect(options$1){return options$1.path=void 0,!options$1.servername&&options$1.servername!==``&&(options$1.servername=net$8.isIP(options$1.host)?``:options$1.host),tls$6.connect(options$1)}function abortHandshake$1(websocket,stream$10,message){websocket._readyState=WebSocket$7.CLOSING;let err$2=Error(message);Error.captureStackTrace(err$2,abortHandshake$1),stream$10.setHeader?(stream$10[kAborted]=!0,stream$10.abort(),stream$10.socket&&!stream$10.socket.destroyed&&stream$10.socket.destroy(),process.nextTick(emitErrorAndClose,websocket,err$2)):(stream$10.destroy(err$2),stream$10.once(`error`,websocket.emit.bind(websocket,`error`)),stream$10.once(`close`,websocket.emitClose.bind(websocket)))}function sendAfterClose(websocket,data$2,cb){if(data$2){let length=isBlob$4(data$2)?data$2.size:toBuffer$3(data$2).length;websocket._socket?websocket._sender._bufferedBytes+=length:websocket._bufferedAmount+=length}if(cb){let err$2=Error(`WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})`);process.nextTick(cb,err$2)}}function receiverOnConclude(code$1,reason){let websocket=this[kWebSocket$1];websocket._closeFrameReceived=!0,websocket._closeMessage=reason,websocket._closeCode=code$1,websocket._socket[kWebSocket$1]!==void 0&&(websocket._socket.removeListener(`data`,socketOnData),process.nextTick(resume$2,websocket._socket),code$1===1005?websocket.close():websocket.close(code$1,reason))}function receiverOnDrain(){let websocket=this[kWebSocket$1];websocket.isPaused||websocket._socket.resume()}function receiverOnError(err$2){let websocket=this[kWebSocket$1];websocket._socket[kWebSocket$1]!==void 0&&(websocket._socket.removeListener(`data`,socketOnData),process.nextTick(resume$2,websocket._socket),websocket.close(err$2[kStatusCode])),websocket._errorEmitted||(websocket._errorEmitted=!0,websocket.emit(`error`,err$2))}function receiverOnFinish(){this[kWebSocket$1].emitClose()}function receiverOnMessage(data$2,isBinary$1){this[kWebSocket$1].emit(`message`,data$2,isBinary$1)}function receiverOnPing(data$2){let websocket=this[kWebSocket$1];websocket._autoPong&&websocket.pong(data$2,!this._isServer,NOOP$2),websocket.emit(`ping`,data$2)}function receiverOnPong(data$2){this[kWebSocket$1].emit(`pong`,data$2)}function resume$2(stream$10){stream$10.resume()}function senderOnError(err$2){let websocket=this[kWebSocket$1];websocket.readyState!==WebSocket$7.CLOSED&&(websocket.readyState===WebSocket$7.OPEN&&(websocket._readyState=WebSocket$7.CLOSING,setCloseTimer(websocket)),this._socket.end(),websocket._errorEmitted||(websocket._errorEmitted=!0,websocket.emit(`error`,err$2)))}function setCloseTimer(websocket){websocket._closeTimer=setTimeout(websocket._socket.destroy.bind(websocket._socket),3e4)}function socketOnClose(){let websocket=this[kWebSocket$1];this.removeListener(`close`,socketOnClose),this.removeListener(`data`,socketOnData),this.removeListener(`end`,socketOnEnd),websocket._readyState=WebSocket$7.CLOSING;let chunk$1;!this._readableState.endEmitted&&!websocket._closeFrameReceived&&!websocket._receiver._writableState.errorEmitted&&(chunk$1=websocket._socket.read())!==null&&websocket._receiver.write(chunk$1),websocket._receiver.end(),this[kWebSocket$1]=void 0,clearTimeout(websocket._closeTimer),websocket._receiver._writableState.finished||websocket._receiver._writableState.errorEmitted?websocket.emitClose():(websocket._receiver.on(`error`,receiverOnFinish),websocket._receiver.on(`finish`,receiverOnFinish))}function socketOnData(chunk$1){this[kWebSocket$1]._receiver.write(chunk$1)||this.pause()}function socketOnEnd(){let websocket=this[kWebSocket$1];websocket._readyState=WebSocket$7.CLOSING,websocket._receiver.end(),this.end()}function socketOnError$1(){let websocket=this[kWebSocket$1];this.removeListener(`error`,socketOnError$1),this.on(`error`,NOOP$2),websocket&&(websocket._readyState=WebSocket$7.CLOSING,this.destroy())}})),require_stream$2=__commonJSMin(((exports,module)=>{require_websocket$3();let{Duplex:Duplex$3}=__require$3(`stream`);function emitClose$1(stream$10){stream$10.emit(`close`)}function duplexOnEnd(){!this.destroyed&&this._writableState.finished&&this.destroy()}function duplexOnError(err$2){this.removeListener(`error`,duplexOnError),this.destroy(),this.listenerCount(`error`)===0&&this.emit(`error`,err$2)}function createWebSocketStream$1(ws$2,options$1){let terminateOnDestroy=!0,duplex$1=new Duplex$3({...options$1,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return ws$2.on(`message`,function(msg,isBinary$1){let data$2=!isBinary$1&&duplex$1._readableState.objectMode?msg.toString():msg;duplex$1.push(data$2)||ws$2.pause()}),ws$2.once(`error`,function(err$2){duplex$1.destroyed||(terminateOnDestroy=!1,duplex$1.destroy(err$2))}),ws$2.once(`close`,function(){duplex$1.destroyed||duplex$1.push(null)}),duplex$1._destroy=function(err$2,callback$1){if(ws$2.readyState===ws$2.CLOSED){callback$1(err$2),process.nextTick(emitClose$1,duplex$1);return}let called=!1;ws$2.once(`error`,function(err$3){called=!0,callback$1(err$3)}),ws$2.once(`close`,function(){called||callback$1(err$2),process.nextTick(emitClose$1,duplex$1)}),terminateOnDestroy&&ws$2.terminate()},duplex$1._final=function(callback$1){if(ws$2.readyState===ws$2.CONNECTING){ws$2.once(`open`,function(){duplex$1._final(callback$1)});return}ws$2._socket!==null&&(ws$2._socket._writableState.finished?(callback$1(),duplex$1._readableState.endEmitted&&duplex$1.destroy()):(ws$2._socket.once(`finish`,function(){callback$1()}),ws$2.close()))},duplex$1._read=function(){ws$2.isPaused&&ws$2.resume()},duplex$1._write=function(chunk$1,encoding,callback$1){if(ws$2.readyState===ws$2.CONNECTING){ws$2.once(`open`,function(){duplex$1._write(chunk$1,encoding,callback$1)});return}ws$2.send(chunk$1,callback$1)},duplex$1.on(`end`,duplexOnEnd),duplex$1.on(`error`,duplexOnError),duplex$1}module.exports=createWebSocketStream$1})),require_subprotocol$2=__commonJSMin(((exports,module)=>{let{tokenChars}=require_validation$3();function parse$19(header){let protocols=new Set,start$1=-1,end=-1,i$7=0;for(;i$7<header.length;i$7++){let code$1=header.charCodeAt(i$7);if(end===-1&&tokenChars[code$1]===1)start$1===-1&&(start$1=i$7);else if(i$7!==0&&(code$1===32||code$1===9))end===-1&&start$1!==-1&&(end=i$7);else if(code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$7}`);end===-1&&(end=i$7);let protocol$1=header.slice(start$1,end);if(protocols.has(protocol$1))throw SyntaxError(`The "${protocol$1}" subprotocol is duplicated`);protocols.add(protocol$1),start$1=end=-1}else throw SyntaxError(`Unexpected character at index ${i$7}`)}if(start$1===-1||end!==-1)throw SyntaxError(`Unexpected end of input`);let protocol=header.slice(start$1,i$7);if(protocols.has(protocol))throw SyntaxError(`The "${protocol}" subprotocol is duplicated`);return protocols.add(protocol),protocols}module.exports={parse:parse$19}})),require_websocket_server$2=__commonJSMin(((exports,module)=>{let EventEmitter$12=__require$3(`events`),http$14=__require$3(`http`),{Duplex:Duplex$2}=__require$3(`stream`),{createHash:createHash$1}=__require$3(`crypto`),extension=require_extension$2(),PerMessageDeflate$2=require_permessage_deflate$3(),subprotocol=require_subprotocol$2(),WebSocket$6=require_websocket$3(),{GUID,kWebSocket}=require_constants$12(),keyRegex=/^[+/0-9A-Za-z]{22}==$/,RUNNING=0,CLOSING=1,CLOSED$2=2;var WebSocketServer$1=class extends EventEmitter$12{constructor(options$1,callback$1){if(super(),options$1={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:WebSocket$6,...options$1},options$1.port==null&&!options$1.server&&!options$1.noServer||options$1.port!=null&&(options$1.server||options$1.noServer)||options$1.server&&options$1.noServer)throw TypeError(`One and only one of the "port", "server", or "noServer" options must be specified`);if(options$1.port==null?options$1.server&&(this._server=options$1.server):(this._server=http$14.createServer((req$1,res)=>{let body=http$14.STATUS_CODES[426];res.writeHead(426,{"Content-Length":body.length,"Content-Type":`text/plain`}),res.end(body)}),this._server.listen(options$1.port,options$1.host,options$1.backlog,callback$1)),this._server){let emitConnection=this.emit.bind(this,`connection`);this._removeListeners=addListeners(this._server,{listening:this.emit.bind(this,`listening`),error:this.emit.bind(this,`error`),upgrade:(req$1,socket,head)=>{this.handleUpgrade(req$1,socket,head,emitConnection)}})}options$1.perMessageDeflate===!0&&(options$1.perMessageDeflate={}),options$1.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=options$1,this._state=0}address(){if(this.options.noServer)throw Error(`The server is operating in "noServer" mode`);return this._server?this._server.address():null}close(cb){if(this._state===2){cb&&this.once(`close`,()=>{cb(Error(`The server is not running`))}),process.nextTick(emitClose,this);return}if(cb&&this.once(`close`,cb),this._state!==1)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(emitClose,this);else{let server=this._server;this._removeListeners(),this._removeListeners=this._server=null,server.close(()=>{emitClose(this)})}}shouldHandle(req$1){if(this.options.path){let index=req$1.url.indexOf(`?`),pathname=index===-1?req$1.url:req$1.url.slice(0,index);if(pathname!==this.options.path)return!1}return!0}handleUpgrade(req$1,socket,head,cb){socket.on(`error`,socketOnError);let key=req$1.headers[`sec-websocket-key`],upgrade$1=req$1.headers.upgrade,version$4=+req$1.headers[`sec-websocket-version`];if(req$1.method!==`GET`){let message=`Invalid HTTP method`;abortHandshakeOrEmitwsClientError(this,req$1,socket,405,`Invalid HTTP method`);return}if(upgrade$1===void 0||upgrade$1.toLowerCase()!==`websocket`){let message=`Invalid Upgrade header`;abortHandshakeOrEmitwsClientError(this,req$1,socket,400,`Invalid Upgrade header`);return}if(key===void 0||!keyRegex.test(key)){let message=`Missing or invalid Sec-WebSocket-Key header`;abortHandshakeOrEmitwsClientError(this,req$1,socket,400,`Missing or invalid Sec-WebSocket-Key header`);return}if(version$4!==13&&version$4!==8){let message=`Missing or invalid Sec-WebSocket-Version header`;abortHandshakeOrEmitwsClientError(this,req$1,socket,400,`Missing or invalid Sec-WebSocket-Version header`,{"Sec-WebSocket-Version":`13, 8`});return}if(!this.shouldHandle(req$1)){abortHandshake(socket,400);return}let secWebSocketProtocol=req$1.headers[`sec-websocket-protocol`],protocols=new Set;if(secWebSocketProtocol!==void 0)try{protocols=subprotocol.parse(secWebSocketProtocol)}catch{let message=`Invalid Sec-WebSocket-Protocol header`;abortHandshakeOrEmitwsClientError(this,req$1,socket,400,`Invalid Sec-WebSocket-Protocol header`);return}let secWebSocketExtensions=req$1.headers[`sec-websocket-extensions`],extensions={};if(this.options.perMessageDeflate&&secWebSocketExtensions!==void 0){let perMessageDeflate=new PerMessageDeflate$2(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let offers=extension.parse(secWebSocketExtensions);offers[PerMessageDeflate$2.extensionName]&&(perMessageDeflate.accept(offers[PerMessageDeflate$2.extensionName]),extensions[PerMessageDeflate$2.extensionName]=perMessageDeflate)}catch{let message=`Invalid or unacceptable Sec-WebSocket-Extensions header`;abortHandshakeOrEmitwsClientError(this,req$1,socket,400,`Invalid or unacceptable Sec-WebSocket-Extensions header`);return}}if(this.options.verifyClient){let info$1={origin:req$1.headers[`${version$4===8?`sec-websocket-origin`:`origin`}`],secure:!!(req$1.socket.authorized||req$1.socket.encrypted),req:req$1};if(this.options.verifyClient.length===2){this.options.verifyClient(info$1,(verified,code$1,message,headers)=>{if(!verified)return abortHandshake(socket,code$1||401,message,headers);this.completeUpgrade(extensions,key,protocols,req$1,socket,head,cb)});return}if(!this.options.verifyClient(info$1))return abortHandshake(socket,401)}this.completeUpgrade(extensions,key,protocols,req$1,socket,head,cb)}completeUpgrade(extensions,key,protocols,req$1,socket,head,cb){if(!socket.readable||!socket.writable)return socket.destroy();if(socket[kWebSocket])throw Error(`server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration`);if(this._state>0)return abortHandshake(socket,503);let digest=createHash$1(`sha1`).update(key+GUID).digest(`base64`),headers=[`HTTP/1.1 101 Switching Protocols`,`Upgrade: websocket`,`Connection: Upgrade`,`Sec-WebSocket-Accept: ${digest}`],ws$2=new this.options.WebSocket(null,void 0,this.options);if(protocols.size){let protocol=this.options.handleProtocols?this.options.handleProtocols(protocols,req$1):protocols.values().next().value;protocol&&(headers.push(`Sec-WebSocket-Protocol: ${protocol}`),ws$2._protocol=protocol)}if(extensions[PerMessageDeflate$2.extensionName]){let params=extensions[PerMessageDeflate$2.extensionName].params,value=extension.format({[PerMessageDeflate$2.extensionName]:[params]});headers.push(`Sec-WebSocket-Extensions: ${value}`),ws$2._extensions=extensions}this.emit(`headers`,headers,req$1),socket.write(headers.concat(`\r
2
+ import{createRequire}from"node:module";import{errorMonitor}from"events";import*as https$5 from"https";import*as http$7 from"http";import{createServer}from"http";import crypto$1,{randomUUID}from"crypto";import{Readable}from"stream";import*as zlib$4 from"zlib";import EventEmitter,{EventEmitter as EventEmitter$1,addAbortListener,on,once,setMaxListeners}from"node:events";import childProcess,{ChildProcess,exec,execFile,execSync,spawn,spawnSync}from"node:child_process";import*as path$3 from"node:path";import path,{basename,dirname,join,posix,win32}from"node:path";import*as fs$4 from"node:fs";import fs,{appendFileSync,createReadStream,createWriteStream,existsSync,promises,readFileSync,statSync,writeFileSync}from"node:fs";import*as process$2 from"node:process";import process$1,{cwd,env,execArgv,execPath,hrtime,platform,stdin,stdout}from"node:process";import*as fs$37 from"fs/promises";import{mkdir,readFile,readdir,stat,writeFile}from"fs/promises";import path$1,{basename as basename$1,dirname as dirname$1,join as join$1,normalize,relative,resolve,sep}from"path";import{builtinModules,createRequire as createRequire$1}from"module";import{Buffer as Buffer$1}from"node:buffer";import url,{URL as URL$1,fileURLToPath,pathToFileURL}from"node:url";import{TextDecoder as TextDecoder$1,aborted,callbackify,debuglog,inspect,promisify,stripVTControlCharacters}from"node:util";import*as fs$1$1 from"node:fs/promises";import fs$1,{constants,lstat,readFile as readFile$1,readdir as readdir$1,readlink,realpath,stat as stat$1}from"node:fs/promises";import*as os$3 from"node:os";import os,{EOL,constants as constants$1,platform as platform$1}from"node:os";import z$1,{z}from"zod";import{spawn as spawn$1}from"child_process";import*as nativeFs from"fs";import fs$2,{createWriteStream as createWriteStream$1,existsSync as existsSync$1,lstatSync,mkdirSync,readFileSync as readFileSync$1,readdir as readdir$2,readdirSync,readlinkSync,realpathSync,watch,writeFile as writeFile$1,writeFileSync as writeFileSync$1}from"fs";import Stream,{Duplex,PassThrough,Readable as Readable$1,Stream as Stream$1,Transform,Writable,getDefaultHighWaterMark}from"node:stream";import{checkServerIdentity}from"node:tls";import*as http$5 from"node:http";import http,{ServerResponse}from"node:http";import{finished,pipeline}from"node:stream/promises";import https from"node:https";import*as crypto$8 from"node:crypto";import crypto$2,{createHash,randomUUID as randomUUID$1}from"node:crypto";import*as z4 from"zod/v4";import z6,{z as z$2}from"zod/v4";import{ZodFirstPartyTypeKind}from"zod/v3";import os$1,{tmpdir}from"os";import tty from"node:tty";import*as g from"node:readline";import O from"node:readline";import{inspect as inspect$1,types}from"util";import*as net$5 from"node:net";import net from"node:net";import{StringDecoder}from"node:string_decoder";import{scheduler,setImmediate as setImmediate$1,setTimeout as setTimeout$1}from"node:timers/promises";import{serialize}from"node:v8";import{ADDRCONFIG,ALL,V4MAPPED,lookup,promises as promises$1}from"node:dns";import{AsyncLocalStorage}from"node:async_hooks";var __create$2=Object.create,__defProp$4=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__getOwnPropNames$3=Object.getOwnPropertyNames,__getProtoOf$2=Object.getPrototypeOf,__hasOwnProp$3=Object.prototype.hasOwnProperty,__esmMin=(fn,res)=>()=>(fn&&(res=fn(fn=0)),res),__commonJSMin=(cb,mod$1)=>()=>(mod$1||cb((mod$1={exports:{}}).exports,mod$1),mod$1.exports),__export$3=(target,all$2)=>{for(var name$5 in all$2)__defProp$4(target,name$5,{get:all$2[name$5],enumerable:!0})},__copyProps$3=(to,from,except,desc)=>{if(from&&typeof from==`object`||typeof from==`function`)for(var keys=__getOwnPropNames$3(from),i$7=0,n$2=keys.length,key;i$7<n$2;i$7++)key=keys[i$7],!__hasOwnProp$3.call(to,key)&&key!==except&&__defProp$4(to,key,{get:(k$2=>from[k$2]).bind(null,key),enumerable:!(desc=__getOwnPropDesc$3(from,key))||desc.enumerable});return to},__reExport=(target,mod$1,secondTarget)=>(__copyProps$3(target,mod$1,`default`),secondTarget&&__copyProps$3(secondTarget,mod$1,`default`)),__toESM$2=(mod$1,isNodeMode,target)=>(target=mod$1==null?{}:__create$2(__getProtoOf$2(mod$1)),__copyProps$3(isNodeMode||!mod$1||!mod$1.__esModule?__defProp$4(target,`default`,{value:mod$1,enumerable:!0}):target,mod$1)),__toCommonJS$1=mod$1=>__copyProps$3(__defProp$4({},`__esModule`,{value:!0}),mod$1),__require$3=createRequire(import.meta.url),require_constants$12=__commonJSMin(((exports,module)=>{let BINARY_TYPES$2=[`nodebuffer`,`arraybuffer`,`fragments`],hasBlob$1=typeof Blob<`u`;hasBlob$1&&BINARY_TYPES$2.push(`blob`),module.exports={BINARY_TYPES:BINARY_TYPES$2,EMPTY_BUFFER:Buffer.alloc(0),GUID:`258EAFA5-E914-47DA-95CA-C5AB0DC85B11`,hasBlob:hasBlob$1,kForOnEventAttribute:Symbol(`kIsForOnEventAttribute`),kListener:Symbol(`kListener`),kStatusCode:Symbol(`status-code`),kWebSocket:Symbol(`websocket`),NOOP:()=>{}}})),require_buffer_util$1=__commonJSMin(((exports,module)=>{let{EMPTY_BUFFER:EMPTY_BUFFER$3}=require_constants$12(),FastBuffer$3=Buffer[Symbol.species];function concat$39(list$2,totalLength){if(list$2.length===0)return EMPTY_BUFFER$3;if(list$2.length===1)return list$2[0];let target=Buffer.allocUnsafe(totalLength),offset=0;for(let i$7=0;i$7<list$2.length;i$7++){let buf=list$2[i$7];target.set(buf,offset),offset+=buf.length}return offset<totalLength?new FastBuffer$3(target.buffer,target.byteOffset,offset):target}function _mask(source$39,mask,output,offset,length){for(let i$7=0;i$7<length;i$7++)output[offset+i$7]=source$39[i$7]^mask[i$7&3]}function _unmask(buffer$2,mask){for(let i$7=0;i$7<buffer$2.length;i$7++)buffer$2[i$7]^=mask[i$7&3]}function toArrayBuffer$4(buf){return buf.length===buf.buffer.byteLength?buf.buffer:buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.length)}function toBuffer$5(data$2){if(toBuffer$5.readOnly=!0,Buffer.isBuffer(data$2))return data$2;let buf;return data$2 instanceof ArrayBuffer?buf=new FastBuffer$3(data$2):ArrayBuffer.isView(data$2)?buf=new FastBuffer$3(data$2.buffer,data$2.byteOffset,data$2.byteLength):(buf=Buffer.from(data$2),toBuffer$5.readOnly=!1),buf}if(module.exports={concat:concat$39,mask:_mask,toArrayBuffer:toArrayBuffer$4,toBuffer:toBuffer$5,unmask:_unmask},!process.env.WS_NO_BUFFER_UTIL)try{let bufferUtil$1=__require$3(`bufferutil`);module.exports.mask=function(source$39,mask,output,offset,length){length<48?_mask(source$39,mask,output,offset,length):bufferUtil$1.mask(source$39,mask,output,offset,length)},module.exports.unmask=function(buffer$2,mask){buffer$2.length<32?_unmask(buffer$2,mask):bufferUtil$1.unmask(buffer$2,mask)}}catch{}})),require_limiter$1=__commonJSMin(((exports,module)=>{let kDone=Symbol(`kDone`),kRun=Symbol(`kRun`);var Limiter$1=class{constructor(concurrency){this[kDone]=()=>{this.pending--,this[kRun]()},this.concurrency=concurrency||1/0,this.jobs=[],this.pending=0}add(job){this.jobs.push(job),this[kRun]()}[kRun](){if(this.pending!==this.concurrency&&this.jobs.length){let job=this.jobs.shift();this.pending++,job(this[kDone])}}};module.exports=Limiter$1})),require_permessage_deflate$2=__commonJSMin(((exports,module)=>{let zlib$8=__require$3(`zlib`),bufferUtil=require_buffer_util$1(),Limiter=require_limiter$1(),{kStatusCode:kStatusCode$2}=require_constants$12(),FastBuffer$2=Buffer[Symbol.species],TRAILER=Buffer.from([0,0,255,255]),kPerMessageDeflate=Symbol(`permessage-deflate`),kTotalLength=Symbol(`total-length`),kCallback=Symbol(`callback`),kBuffers=Symbol(`buffers`),kError$4=Symbol(`error`),zlibLimiter;var PerMessageDeflate$6=class{constructor(options$1,isServer,maxPayload){if(this._maxPayload=maxPayload|0,this._options=options$1||{},this._threshold=this._options.threshold===void 0?1024:this._options.threshold,this._isServer=!!isServer,this._deflate=null,this._inflate=null,this.params=null,!zlibLimiter){let concurrency=this._options.concurrencyLimit===void 0?10:this._options.concurrencyLimit;zlibLimiter=new Limiter(concurrency)}}static get extensionName(){return`permessage-deflate`}offer(){let params={};return this._options.serverNoContextTakeover&&(params.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(params.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(params.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?params.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits??(params.client_max_window_bits=!0),params}accept(configurations){return configurations=this.normalizeParams(configurations),this.params=this._isServer?this.acceptAsServer(configurations):this.acceptAsClient(configurations),this.params}cleanup(){if(this._inflate&&=(this._inflate.close(),null),this._deflate){let callback$1=this._deflate[kCallback];this._deflate.close(),this._deflate=null,callback$1&&callback$1(Error(`The deflate stream was closed while data was being processed`))}}acceptAsServer(offers){let opts=this._options,accepted=offers.find(params=>!(opts.serverNoContextTakeover===!1&&params.server_no_context_takeover||params.server_max_window_bits&&(opts.serverMaxWindowBits===!1||typeof opts.serverMaxWindowBits==`number`&&opts.serverMaxWindowBits>params.server_max_window_bits)||typeof opts.clientMaxWindowBits==`number`&&!params.client_max_window_bits));if(!accepted)throw Error(`None of the extension offers can be accepted`);return opts.serverNoContextTakeover&&(accepted.server_no_context_takeover=!0),opts.clientNoContextTakeover&&(accepted.client_no_context_takeover=!0),typeof opts.serverMaxWindowBits==`number`&&(accepted.server_max_window_bits=opts.serverMaxWindowBits),typeof opts.clientMaxWindowBits==`number`?accepted.client_max_window_bits=opts.clientMaxWindowBits:(accepted.client_max_window_bits===!0||opts.clientMaxWindowBits===!1)&&delete accepted.client_max_window_bits,accepted}acceptAsClient(response){let params=response[0];if(this._options.clientNoContextTakeover===!1&&params.client_no_context_takeover)throw Error(`Unexpected parameter "client_no_context_takeover"`);if(!params.client_max_window_bits)typeof this._options.clientMaxWindowBits==`number`&&(params.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits==`number`&&params.client_max_window_bits>this._options.clientMaxWindowBits)throw Error(`Unexpected or invalid parameter "client_max_window_bits"`);return params}normalizeParams(configurations){return configurations.forEach(params=>{Object.keys(params).forEach(key=>{let value=params[key];if(value.length>1)throw Error(`Parameter "${key}" must have only a single value`);if(value=value[0],key===`client_max_window_bits`){if(value!==!0){let num=+value;if(!Number.isInteger(num)||num<8||num>15)throw TypeError(`Invalid value for parameter "${key}": ${value}`);value=num}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${key}": ${value}`)}else if(key===`server_max_window_bits`){let num=+value;if(!Number.isInteger(num)||num<8||num>15)throw TypeError(`Invalid value for parameter "${key}": ${value}`);value=num}else if(key===`client_no_context_takeover`||key===`server_no_context_takeover`){if(value!==!0)throw TypeError(`Invalid value for parameter "${key}": ${value}`)}else throw Error(`Unknown parameter "${key}"`);params[key]=value})}),configurations}decompress(data$2,fin,callback$1){zlibLimiter.add(done=>{this._decompress(data$2,fin,(err$2,result)=>{done(),callback$1(err$2,result)})})}compress(data$2,fin,callback$1){zlibLimiter.add(done=>{this._compress(data$2,fin,(err$2,result)=>{done(),callback$1(err$2,result)})})}_decompress(data$2,fin,callback$1){let endpoint=this._isServer?`client`:`server`;if(!this._inflate){let key=`${endpoint}_max_window_bits`,windowBits=typeof this.params[key]==`number`?this.params[key]:zlib$8.Z_DEFAULT_WINDOWBITS;this._inflate=zlib$8.createInflateRaw({...this._options.zlibInflateOptions,windowBits}),this._inflate[kPerMessageDeflate]=this,this._inflate[kTotalLength]=0,this._inflate[kBuffers]=[],this._inflate.on(`error`,inflateOnError),this._inflate.on(`data`,inflateOnData)}this._inflate[kCallback]=callback$1,this._inflate.write(data$2),fin&&this._inflate.write(TRAILER),this._inflate.flush(()=>{let err$2=this._inflate[kError$4];if(err$2){this._inflate.close(),this._inflate=null,callback$1(err$2);return}let data$3=bufferUtil.concat(this._inflate[kBuffers],this._inflate[kTotalLength]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[kTotalLength]=0,this._inflate[kBuffers]=[],fin&&this.params[`${endpoint}_no_context_takeover`]&&this._inflate.reset()),callback$1(null,data$3)})}_compress(data$2,fin,callback$1){let endpoint=this._isServer?`server`:`client`;if(!this._deflate){let key=`${endpoint}_max_window_bits`,windowBits=typeof this.params[key]==`number`?this.params[key]:zlib$8.Z_DEFAULT_WINDOWBITS;this._deflate=zlib$8.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits}),this._deflate[kTotalLength]=0,this._deflate[kBuffers]=[],this._deflate.on(`data`,deflateOnData)}this._deflate[kCallback]=callback$1,this._deflate.write(data$2),this._deflate.flush(zlib$8.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let data$3=bufferUtil.concat(this._deflate[kBuffers],this._deflate[kTotalLength]);fin&&(data$3=new FastBuffer$2(data$3.buffer,data$3.byteOffset,data$3.length-4)),this._deflate[kCallback]=null,this._deflate[kTotalLength]=0,this._deflate[kBuffers]=[],fin&&this.params[`${endpoint}_no_context_takeover`]&&this._deflate.reset(),callback$1(null,data$3)})}};module.exports=PerMessageDeflate$6;function deflateOnData(chunk$1){this[kBuffers].push(chunk$1),this[kTotalLength]+=chunk$1.length}function inflateOnData(chunk$1){if(this[kTotalLength]+=chunk$1.length,this[kPerMessageDeflate]._maxPayload<1||this[kTotalLength]<=this[kPerMessageDeflate]._maxPayload){this[kBuffers].push(chunk$1);return}this[kError$4]=RangeError(`Max payload size exceeded`),this[kError$4].code=`WS_ERR_UNSUPPORTED_MESSAGE_LENGTH`,this[kError$4][kStatusCode$2]=1009,this.removeListener(`data`,inflateOnData),this.reset()}function inflateOnError(err$2){if(this[kPerMessageDeflate]._inflate=null,this[kError$4]){this[kCallback](this[kError$4]);return}err$2[kStatusCode$2]=1007,this[kCallback](err$2)}})),require_validation$2=__commonJSMin(((exports,module)=>{let{isUtf8:isUtf8$1}=__require$3(`buffer`),{hasBlob}=require_constants$12(),tokenChars$2=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function isValidStatusCode$4(code$1){return code$1>=1e3&&code$1<=1014&&code$1!==1004&&code$1!==1005&&code$1!==1006||code$1>=3e3&&code$1<=4999}function _isValidUTF8(buf){let len$1=buf.length,i$7=0;for(;i$7<len$1;)if(!(buf[i$7]&128))i$7++;else if((buf[i$7]&224)==192){if(i$7+1===len$1||(buf[i$7+1]&192)!=128||(buf[i$7]&254)==192)return!1;i$7+=2}else if((buf[i$7]&240)==224){if(i$7+2>=len$1||(buf[i$7+1]&192)!=128||(buf[i$7+2]&192)!=128||buf[i$7]===224&&(buf[i$7+1]&224)==128||buf[i$7]===237&&(buf[i$7+1]&224)==160)return!1;i$7+=3}else if((buf[i$7]&248)==240){if(i$7+3>=len$1||(buf[i$7+1]&192)!=128||(buf[i$7+2]&192)!=128||(buf[i$7+3]&192)!=128||buf[i$7]===240&&(buf[i$7+1]&240)==128||buf[i$7]===244&&buf[i$7+1]>143||buf[i$7]>244)return!1;i$7+=4}else return!1;return!0}function isBlob$6(value){return hasBlob&&typeof value==`object`&&typeof value.arrayBuffer==`function`&&typeof value.type==`string`&&typeof value.stream==`function`&&(value[Symbol.toStringTag]===`Blob`||value[Symbol.toStringTag]===`File`)}if(module.exports={isBlob:isBlob$6,isValidStatusCode:isValidStatusCode$4,isValidUTF8:_isValidUTF8,tokenChars:tokenChars$2},isUtf8$1)module.exports.isValidUTF8=function(buf){return buf.length<24?_isValidUTF8(buf):isUtf8$1(buf)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let isValidUTF8$1=__require$3(`utf-8-validate`);module.exports.isValidUTF8=function(buf){return buf.length<32?_isValidUTF8(buf):isValidUTF8$1(buf)}}catch{}})),require_receiver$2=__commonJSMin(((exports,module)=>{let{Writable:Writable$7}=__require$3(`stream`),PerMessageDeflate$5=require_permessage_deflate$2(),{BINARY_TYPES:BINARY_TYPES$1,EMPTY_BUFFER:EMPTY_BUFFER$2,kStatusCode:kStatusCode$1,kWebSocket:kWebSocket$3}=require_constants$12(),{concat:concat$38,toArrayBuffer:toArrayBuffer$3,unmask}=require_buffer_util$1(),{isValidStatusCode:isValidStatusCode$3,isValidUTF8}=require_validation$2(),FastBuffer$1=Buffer[Symbol.species],GET_INFO=0,GET_PAYLOAD_LENGTH_16=1,GET_PAYLOAD_LENGTH_64=2,GET_MASK=3,GET_DATA=4,INFLATING=5,DEFER_EVENT=6;var Receiver$2=class extends Writable$7{constructor(options$1={}){super(),this._allowSynchronousEvents=options$1.allowSynchronousEvents===void 0?!0:options$1.allowSynchronousEvents,this._binaryType=options$1.binaryType||BINARY_TYPES$1[0],this._extensions=options$1.extensions||{},this._isServer=!!options$1.isServer,this._maxPayload=options$1.maxPayload|0,this._skipUTF8Validation=!!options$1.skipUTF8Validation,this[kWebSocket$3]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(chunk$1,encoding,cb){if(this._opcode===8&&this._state==0)return cb();this._bufferedBytes+=chunk$1.length,this._buffers.push(chunk$1),this.startLoop(cb)}consume(n$2){if(this._bufferedBytes-=n$2,n$2===this._buffers[0].length)return this._buffers.shift();if(n$2<this._buffers[0].length){let buf=this._buffers[0];return this._buffers[0]=new FastBuffer$1(buf.buffer,buf.byteOffset+n$2,buf.length-n$2),new FastBuffer$1(buf.buffer,buf.byteOffset,n$2)}let dst=Buffer.allocUnsafe(n$2);do{let buf=this._buffers[0],offset=dst.length-n$2;n$2>=buf.length?dst.set(this._buffers.shift(),offset):(dst.set(new Uint8Array(buf.buffer,buf.byteOffset,n$2),offset),this._buffers[0]=new FastBuffer$1(buf.buffer,buf.byteOffset+n$2,buf.length-n$2)),n$2-=buf.length}while(n$2>0);return dst}startLoop(cb){this._loop=!0;do switch(this._state){case 0:this.getInfo(cb);break;case 1:this.getPayloadLength16(cb);break;case 2:this.getPayloadLength64(cb);break;case 3:this.getMask();break;case 4:this.getData(cb);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||cb()}getInfo(cb){if(this._bufferedBytes<2){this._loop=!1;return}let buf=this.consume(2);if(buf[0]&48){let error$22=this.createError(RangeError,`RSV2 and RSV3 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_2_3`);cb(error$22);return}let compressed=(buf[0]&64)==64;if(compressed&&!this._extensions[PerMessageDeflate$5.extensionName]){let error$22=this.createError(RangeError,`RSV1 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_1`);cb(error$22);return}if(this._fin=(buf[0]&128)==128,this._opcode=buf[0]&15,this._payloadLength=buf[1]&127,this._opcode===0){if(compressed){let error$22=this.createError(RangeError,`RSV1 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_1`);cb(error$22);return}if(!this._fragmented){let error$22=this.createError(RangeError,`invalid opcode 0`,!0,1002,`WS_ERR_INVALID_OPCODE`);cb(error$22);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let error$22=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,`WS_ERR_INVALID_OPCODE`);cb(error$22);return}this._compressed=compressed}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let error$22=this.createError(RangeError,`FIN must be set`,!0,1002,`WS_ERR_EXPECTED_FIN`);cb(error$22);return}if(compressed){let error$22=this.createError(RangeError,`RSV1 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_1`);cb(error$22);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let error$22=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,`WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH`);cb(error$22);return}}else{let error$22=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,`WS_ERR_INVALID_OPCODE`);cb(error$22);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(buf[1]&128)==128,this._isServer){if(!this._masked){let error$22=this.createError(RangeError,`MASK must be set`,!0,1002,`WS_ERR_EXPECTED_MASK`);cb(error$22);return}}else if(this._masked){let error$22=this.createError(RangeError,`MASK must be clear`,!0,1002,`WS_ERR_UNEXPECTED_MASK`);cb(error$22);return}this._payloadLength===126?this._state=1:this._payloadLength===127?this._state=2:this.haveLength(cb)}getPayloadLength16(cb){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(cb)}getPayloadLength64(cb){if(this._bufferedBytes<8){this._loop=!1;return}let buf=this.consume(8),num=buf.readUInt32BE(0);if(num>2**21-1){let error$22=this.createError(RangeError,`Unsupported WebSocket frame: payload length > 2^53 - 1`,!1,1009,`WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH`);cb(error$22);return}this._payloadLength=num*2**32+buf.readUInt32BE(4),this.haveLength(cb)}haveLength(cb){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let error$22=this.createError(RangeError,`Max payload size exceeded`,!1,1009,`WS_ERR_UNSUPPORTED_MESSAGE_LENGTH`);cb(error$22);return}this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(cb){let data$2=EMPTY_BUFFER$2;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}data$2=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&unmask(data$2,this._mask)}if(this._opcode>7){this.controlMessage(data$2,cb);return}if(this._compressed){this._state=5,this.decompress(data$2,cb);return}data$2.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(data$2)),this.dataMessage(cb)}decompress(data$2,cb){let perMessageDeflate=this._extensions[PerMessageDeflate$5.extensionName];perMessageDeflate.decompress(data$2,this._fin,(err$2,buf)=>{if(err$2)return cb(err$2);if(buf.length){if(this._messageLength+=buf.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let error$22=this.createError(RangeError,`Max payload size exceeded`,!1,1009,`WS_ERR_UNSUPPORTED_MESSAGE_LENGTH`);cb(error$22);return}this._fragments.push(buf)}this.dataMessage(cb),this._state===0&&this.startLoop(cb)})}dataMessage(cb){if(!this._fin){this._state=0;return}let messageLength=this._messageLength,fragments=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let data$2;data$2=this._binaryType===`nodebuffer`?concat$38(fragments,messageLength):this._binaryType===`arraybuffer`?toArrayBuffer$3(concat$38(fragments,messageLength)):this._binaryType===`blob`?new Blob(fragments):fragments,this._allowSynchronousEvents?(this.emit(`message`,data$2,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit(`message`,data$2,!0),this._state=0,this.startLoop(cb)}))}else{let buf=concat$38(fragments,messageLength);if(!this._skipUTF8Validation&&!isValidUTF8(buf)){let error$22=this.createError(Error,`invalid UTF-8 sequence`,!0,1007,`WS_ERR_INVALID_UTF8`);cb(error$22);return}this._state===5||this._allowSynchronousEvents?(this.emit(`message`,buf,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit(`message`,buf,!1),this._state=0,this.startLoop(cb)}))}}controlMessage(data$2,cb){if(this._opcode===8){if(data$2.length===0)this._loop=!1,this.emit(`conclude`,1005,EMPTY_BUFFER$2),this.end();else{let code$1=data$2.readUInt16BE(0);if(!isValidStatusCode$3(code$1)){let error$22=this.createError(RangeError,`invalid status code ${code$1}`,!0,1002,`WS_ERR_INVALID_CLOSE_CODE`);cb(error$22);return}let buf=new FastBuffer$1(data$2.buffer,data$2.byteOffset+2,data$2.length-2);if(!this._skipUTF8Validation&&!isValidUTF8(buf)){let error$22=this.createError(Error,`invalid UTF-8 sequence`,!0,1007,`WS_ERR_INVALID_UTF8`);cb(error$22);return}this._loop=!1,this.emit(`conclude`,code$1,buf),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?`ping`:`pong`,data$2),this._state=0):(this._state=6,setImmediate(()=>{this.emit(this._opcode===9?`ping`:`pong`,data$2),this._state=0,this.startLoop(cb)}))}createError(ErrorCtor,message,prefix,statusCode,errorCode){this._loop=!1,this._errored=!0;let err$2=new ErrorCtor(prefix?`Invalid WebSocket frame: ${message}`:message);return Error.captureStackTrace(err$2,this.createError),err$2.code=errorCode,err$2[kStatusCode$1]=statusCode,err$2}};module.exports=Receiver$2})),require_sender$2=__commonJSMin(((exports,module)=>{let{Duplex:Duplex$5}=__require$3(`stream`),{randomFillSync}=__require$3(`crypto`),PerMessageDeflate$4=require_permessage_deflate$2(),{EMPTY_BUFFER:EMPTY_BUFFER$1,kWebSocket:kWebSocket$2,NOOP:NOOP$3}=require_constants$12(),{isBlob:isBlob$5,isValidStatusCode:isValidStatusCode$2}=require_validation$2(),{mask:applyMask,toBuffer:toBuffer$4}=require_buffer_util$1(),kByteLength=Symbol(`kByteLength`),maskBuffer=Buffer.alloc(4),RANDOM_POOL_SIZE=8*1024,randomPool,randomPoolPointer=RANDOM_POOL_SIZE,DEFAULT=0,DEFLATING=1,GET_BLOB_DATA=2;var Sender$2=class Sender$2{constructor(socket,extensions,generateMask$1){this._extensions=extensions||{},generateMask$1&&(this._generateMask=generateMask$1,this._maskBuffer=Buffer.alloc(4)),this._socket=socket,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=NOOP$3,this[kWebSocket$2]=void 0}static frame(data$2,options$1){let mask,merge$3=!1,offset=2,skipMasking=!1;options$1.mask&&(mask=options$1.maskBuffer||maskBuffer,options$1.generateMask?options$1.generateMask(mask):(randomPoolPointer===RANDOM_POOL_SIZE&&(randomPool===void 0&&(randomPool=Buffer.alloc(RANDOM_POOL_SIZE)),randomFillSync(randomPool,0,RANDOM_POOL_SIZE),randomPoolPointer=0),mask[0]=randomPool[randomPoolPointer++],mask[1]=randomPool[randomPoolPointer++],mask[2]=randomPool[randomPoolPointer++],mask[3]=randomPool[randomPoolPointer++]),skipMasking=(mask[0]|mask[1]|mask[2]|mask[3])===0,offset=6);let dataLength;typeof data$2==`string`?(!options$1.mask||skipMasking)&&options$1[kByteLength]!==void 0?dataLength=options$1[kByteLength]:(data$2=Buffer.from(data$2),dataLength=data$2.length):(dataLength=data$2.length,merge$3=options$1.mask&&options$1.readOnly&&!skipMasking);let payloadLength=dataLength;dataLength>=65536?(offset+=8,payloadLength=127):dataLength>125&&(offset+=2,payloadLength=126);let target=Buffer.allocUnsafe(merge$3?dataLength+offset:offset);return target[0]=options$1.fin?options$1.opcode|128:options$1.opcode,options$1.rsv1&&(target[0]|=64),target[1]=payloadLength,payloadLength===126?target.writeUInt16BE(dataLength,2):payloadLength===127&&(target[2]=target[3]=0,target.writeUIntBE(dataLength,4,6)),!options$1.mask||(target[1]|=128,target[offset-4]=mask[0],target[offset-3]=mask[1],target[offset-2]=mask[2],target[offset-1]=mask[3],skipMasking)?[target,data$2]:merge$3?(applyMask(data$2,mask,target,offset,dataLength),[target]):(applyMask(data$2,mask,data$2,0,dataLength),[target,data$2])}close(code$1,data$2,mask,cb){let buf;if(code$1===void 0)buf=EMPTY_BUFFER$1;else if(typeof code$1!=`number`||!isValidStatusCode$2(code$1))throw TypeError(`First argument must be a valid error code number`);else if(data$2===void 0||!data$2.length)buf=Buffer.allocUnsafe(2),buf.writeUInt16BE(code$1,0);else{let length=Buffer.byteLength(data$2);if(length>123)throw RangeError(`The message must not be greater than 123 bytes`);buf=Buffer.allocUnsafe(2+length),buf.writeUInt16BE(code$1,0),typeof data$2==`string`?buf.write(data$2,2):buf.set(data$2,2)}let options$1={[kByteLength]:buf.length,fin:!0,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state===0?this.sendFrame(Sender$2.frame(buf,options$1),cb):this.enqueue([this.dispatch,buf,!1,options$1,cb])}ping(data$2,mask,cb){let byteLength$1,readOnly;if(typeof data$2==`string`?(byteLength$1=Buffer.byteLength(data$2),readOnly=!1):isBlob$5(data$2)?(byteLength$1=data$2.size,readOnly=!1):(data$2=toBuffer$4(data$2),byteLength$1=data$2.length,readOnly=toBuffer$4.readOnly),byteLength$1>125)throw RangeError(`The data size must not be greater than 125 bytes`);let options$1={[kByteLength]:byteLength$1,fin:!0,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:9,readOnly,rsv1:!1};isBlob$5(data$2)?this._state===0?this.getBlobData(data$2,!1,options$1,cb):this.enqueue([this.getBlobData,data$2,!1,options$1,cb]):this._state===0?this.sendFrame(Sender$2.frame(data$2,options$1),cb):this.enqueue([this.dispatch,data$2,!1,options$1,cb])}pong(data$2,mask,cb){let byteLength$1,readOnly;if(typeof data$2==`string`?(byteLength$1=Buffer.byteLength(data$2),readOnly=!1):isBlob$5(data$2)?(byteLength$1=data$2.size,readOnly=!1):(data$2=toBuffer$4(data$2),byteLength$1=data$2.length,readOnly=toBuffer$4.readOnly),byteLength$1>125)throw RangeError(`The data size must not be greater than 125 bytes`);let options$1={[kByteLength]:byteLength$1,fin:!0,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:10,readOnly,rsv1:!1};isBlob$5(data$2)?this._state===0?this.getBlobData(data$2,!1,options$1,cb):this.enqueue([this.getBlobData,data$2,!1,options$1,cb]):this._state===0?this.sendFrame(Sender$2.frame(data$2,options$1),cb):this.enqueue([this.dispatch,data$2,!1,options$1,cb])}send(data$2,options$1,cb){let perMessageDeflate=this._extensions[PerMessageDeflate$4.extensionName],opcode=options$1.binary?2:1,rsv1=options$1.compress,byteLength$1,readOnly;typeof data$2==`string`?(byteLength$1=Buffer.byteLength(data$2),readOnly=!1):isBlob$5(data$2)?(byteLength$1=data$2.size,readOnly=!1):(data$2=toBuffer$4(data$2),byteLength$1=data$2.length,readOnly=toBuffer$4.readOnly),this._firstFragment?(this._firstFragment=!1,rsv1&&perMessageDeflate&&perMessageDeflate.params[perMessageDeflate._isServer?`server_no_context_takeover`:`client_no_context_takeover`]&&(rsv1=byteLength$1>=perMessageDeflate._threshold),this._compress=rsv1):(rsv1=!1,opcode=0),options$1.fin&&(this._firstFragment=!0);let opts={[kByteLength]:byteLength$1,fin:options$1.fin,generateMask:this._generateMask,mask:options$1.mask,maskBuffer:this._maskBuffer,opcode,readOnly,rsv1};isBlob$5(data$2)?this._state===0?this.getBlobData(data$2,this._compress,opts,cb):this.enqueue([this.getBlobData,data$2,this._compress,opts,cb]):this._state===0?this.dispatch(data$2,this._compress,opts,cb):this.enqueue([this.dispatch,data$2,this._compress,opts,cb])}getBlobData(blob,compress,options$1,cb){this._bufferedBytes+=options$1[kByteLength],this._state=2,blob.arrayBuffer().then(arrayBuffer=>{if(this._socket.destroyed){let err$2=Error(`The socket was closed while the blob was being read`);process.nextTick(callCallbacks,this,err$2,cb);return}this._bufferedBytes-=options$1[kByteLength];let data$2=toBuffer$4(arrayBuffer);compress?this.dispatch(data$2,compress,options$1,cb):(this._state=0,this.sendFrame(Sender$2.frame(data$2,options$1),cb),this.dequeue())}).catch(err$2=>{process.nextTick(onError$2,this,err$2,cb)})}dispatch(data$2,compress,options$1,cb){if(!compress){this.sendFrame(Sender$2.frame(data$2,options$1),cb);return}let perMessageDeflate=this._extensions[PerMessageDeflate$4.extensionName];this._bufferedBytes+=options$1[kByteLength],this._state=1,perMessageDeflate.compress(data$2,options$1.fin,(_$6,buf)=>{if(this._socket.destroyed){let err$2=Error(`The socket was closed while data was being compressed`);callCallbacks(this,err$2,cb);return}this._bufferedBytes-=options$1[kByteLength],this._state=0,options$1.readOnly=!1,this.sendFrame(Sender$2.frame(buf,options$1),cb),this.dequeue()})}dequeue(){for(;this._state===0&&this._queue.length;){let params=this._queue.shift();this._bufferedBytes-=params[3][kByteLength],Reflect.apply(params[0],this,params.slice(1))}}enqueue(params){this._bufferedBytes+=params[3][kByteLength],this._queue.push(params)}sendFrame(list$2,cb){list$2.length===2?(this._socket.cork(),this._socket.write(list$2[0]),this._socket.write(list$2[1],cb),this._socket.uncork()):this._socket.write(list$2[0],cb)}};module.exports=Sender$2;function callCallbacks(sender,err$2,cb){typeof cb==`function`&&cb(err$2);for(let i$7=0;i$7<sender._queue.length;i$7++){let params=sender._queue[i$7],callback$1=params[params.length-1];typeof callback$1==`function`&&callback$1(err$2)}}function onError$2(sender,err$2,cb){callCallbacks(sender,err$2,cb),sender.onerror(err$2)}})),require_event_target$1=__commonJSMin(((exports,module)=>{let{kForOnEventAttribute:kForOnEventAttribute$1,kListener:kListener$2}=require_constants$12(),kCode=Symbol(`kCode`),kData=Symbol(`kData`),kError$3=Symbol(`kError`),kMessage=Symbol(`kMessage`),kReason=Symbol(`kReason`),kTarget=Symbol(`kTarget`),kType=Symbol(`kType`),kWasClean=Symbol(`kWasClean`);var Event$1=class{constructor(type){this[kTarget]=null,this[kType]=type}get target(){return this[kTarget]}get type(){return this[kType]}};Object.defineProperty(Event$1.prototype,`target`,{enumerable:!0}),Object.defineProperty(Event$1.prototype,`type`,{enumerable:!0});var CloseEvent$3=class extends Event$1{constructor(type,options$1={}){super(type),this[kCode]=options$1.code===void 0?0:options$1.code,this[kReason]=options$1.reason===void 0?``:options$1.reason,this[kWasClean]=options$1.wasClean===void 0?!1:options$1.wasClean}get code(){return this[kCode]}get reason(){return this[kReason]}get wasClean(){return this[kWasClean]}};Object.defineProperty(CloseEvent$3.prototype,`code`,{enumerable:!0}),Object.defineProperty(CloseEvent$3.prototype,`reason`,{enumerable:!0}),Object.defineProperty(CloseEvent$3.prototype,`wasClean`,{enumerable:!0});var ErrorEvent$4=class extends Event$1{constructor(type,options$1={}){super(type),this[kError$3]=options$1.error===void 0?null:options$1.error,this[kMessage]=options$1.message===void 0?``:options$1.message}get error(){return this[kError$3]}get message(){return this[kMessage]}};Object.defineProperty(ErrorEvent$4.prototype,`error`,{enumerable:!0}),Object.defineProperty(ErrorEvent$4.prototype,`message`,{enumerable:!0});var MessageEvent$3=class extends Event$1{constructor(type,options$1={}){super(type),this[kData]=options$1.data===void 0?null:options$1.data}get data(){return this[kData]}};Object.defineProperty(MessageEvent$3.prototype,`data`,{enumerable:!0});let EventTarget$1={addEventListener(type,handler,options$1={}){for(let listener of this.listeners(type))if(!options$1[kForOnEventAttribute$1]&&listener[kListener$2]===handler&&!listener[kForOnEventAttribute$1])return;let wrapper;if(type===`message`)wrapper=function(data$2,isBinary$1){let event=new MessageEvent$3(`message`,{data:isBinary$1?data$2:data$2.toString()});event[kTarget]=this,callListener(handler,this,event)};else if(type===`close`)wrapper=function(code$1,message){let event=new CloseEvent$3(`close`,{code:code$1,reason:message.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});event[kTarget]=this,callListener(handler,this,event)};else if(type===`error`)wrapper=function(error$22){let event=new ErrorEvent$4(`error`,{error:error$22,message:error$22.message});event[kTarget]=this,callListener(handler,this,event)};else if(type===`open`)wrapper=function(){let event=new Event$1(`open`);event[kTarget]=this,callListener(handler,this,event)};else return;wrapper[kForOnEventAttribute$1]=!!options$1[kForOnEventAttribute$1],wrapper[kListener$2]=handler,options$1.once?this.once(type,wrapper):this.on(type,wrapper)},removeEventListener(type,handler){for(let listener of this.listeners(type))if(listener[kListener$2]===handler&&!listener[kForOnEventAttribute$1]){this.removeListener(type,listener);break}}};module.exports={CloseEvent:CloseEvent$3,ErrorEvent:ErrorEvent$4,Event:Event$1,EventTarget:EventTarget$1,MessageEvent:MessageEvent$3};function callListener(listener,thisArg,event){typeof listener==`object`&&listener.handleEvent?listener.handleEvent.call(listener,event):listener.call(thisArg,event)}})),require_extension$1=__commonJSMin(((exports,module)=>{let{tokenChars:tokenChars$1}=require_validation$2();function push$2(dest,name$5,elem){dest[name$5]===void 0?dest[name$5]=[elem]:dest[name$5].push(elem)}function parse$21(header){let offers=Object.create(null),params=Object.create(null),mustUnescape=!1,isEscaping=!1,inQuotes=!1,extensionName,paramName,start$1=-1,code$1=-1,end=-1,i$7=0;for(;i$7<header.length;i$7++)if(code$1=header.charCodeAt(i$7),extensionName===void 0)if(end===-1&&tokenChars$1[code$1]===1)start$1===-1&&(start$1=i$7);else if(i$7!==0&&(code$1===32||code$1===9))end===-1&&start$1!==-1&&(end=i$7);else if(code$1===59||code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$7}`);end===-1&&(end=i$7);let name$5=header.slice(start$1,end);code$1===44?(push$2(offers,name$5,params),params=Object.create(null)):extensionName=name$5,start$1=end=-1}else throw SyntaxError(`Unexpected character at index ${i$7}`);else if(paramName===void 0)if(end===-1&&tokenChars$1[code$1]===1)start$1===-1&&(start$1=i$7);else if(code$1===32||code$1===9)end===-1&&start$1!==-1&&(end=i$7);else if(code$1===59||code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$7}`);end===-1&&(end=i$7),push$2(params,header.slice(start$1,end),!0),code$1===44&&(push$2(offers,extensionName,params),params=Object.create(null),extensionName=void 0),start$1=end=-1}else if(code$1===61&&start$1!==-1&&end===-1)paramName=header.slice(start$1,i$7),start$1=end=-1;else throw SyntaxError(`Unexpected character at index ${i$7}`);else if(isEscaping){if(tokenChars$1[code$1]!==1)throw SyntaxError(`Unexpected character at index ${i$7}`);start$1===-1?start$1=i$7:mustUnescape||=!0,isEscaping=!1}else if(inQuotes)if(tokenChars$1[code$1]===1)start$1===-1&&(start$1=i$7);else if(code$1===34&&start$1!==-1)inQuotes=!1,end=i$7;else if(code$1===92)isEscaping=!0;else throw SyntaxError(`Unexpected character at index ${i$7}`);else if(code$1===34&&header.charCodeAt(i$7-1)===61)inQuotes=!0;else if(end===-1&&tokenChars$1[code$1]===1)start$1===-1&&(start$1=i$7);else if(start$1!==-1&&(code$1===32||code$1===9))end===-1&&(end=i$7);else if(code$1===59||code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$7}`);end===-1&&(end=i$7);let value=header.slice(start$1,end);mustUnescape&&=(value=value.replace(/\\/g,``),!1),push$2(params,paramName,value),code$1===44&&(push$2(offers,extensionName,params),params=Object.create(null),extensionName=void 0),paramName=void 0,start$1=end=-1}else throw SyntaxError(`Unexpected character at index ${i$7}`);if(start$1===-1||inQuotes||code$1===32||code$1===9)throw SyntaxError(`Unexpected end of input`);end===-1&&(end=i$7);let token$1=header.slice(start$1,end);return extensionName===void 0?push$2(offers,token$1,params):(paramName===void 0?push$2(params,token$1,!0):mustUnescape?push$2(params,paramName,token$1.replace(/\\/g,``)):push$2(params,paramName,token$1),push$2(offers,extensionName,params)),offers}function format$3(extensions){return Object.keys(extensions).map(extension$1=>{let configurations=extensions[extension$1];return Array.isArray(configurations)||(configurations=[configurations]),configurations.map(params=>[extension$1].concat(Object.keys(params).map(k$2=>{let values=params[k$2];return Array.isArray(values)||(values=[values]),values.map(v$2=>v$2===!0?k$2:`${k$2}=${v$2}`).join(`; `)})).join(`; `)).join(`, `)}).join(`, `)}module.exports={format:format$3,parse:parse$21}})),require_websocket$2=__commonJSMin(((exports,module)=>{let EventEmitter$13=__require$3(`events`),https$9=__require$3(`https`),http$15=__require$3(`http`),net$8=__require$3(`net`),tls$6=__require$3(`tls`),{randomBytes,createHash:createHash$2}=__require$3(`crypto`),{Duplex:Duplex$4,Readable:Readable$11}=__require$3(`stream`),{URL:URL$11}=__require$3(`url`),PerMessageDeflate$3=require_permessage_deflate$2(),Receiver$1=require_receiver$2(),Sender$1=require_sender$2(),{isBlob:isBlob$4}=require_validation$2(),{BINARY_TYPES,EMPTY_BUFFER,GUID:GUID$1,kForOnEventAttribute,kListener:kListener$1,kStatusCode,kWebSocket:kWebSocket$1,NOOP:NOOP$2}=require_constants$12(),{EventTarget:{addEventListener:addEventListener$1,removeEventListener}}=require_event_target$1(),{format:format$2,parse:parse$20}=require_extension$1(),{toBuffer:toBuffer$3}=require_buffer_util$1(),closeTimeout=30*1e3,kAborted=Symbol(`kAborted`),protocolVersions=[8,13],readyStates=[`CONNECTING`,`OPEN`,`CLOSING`,`CLOSED`],subprotocolRegex=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;var WebSocket$8=class WebSocket$8 extends EventEmitter$13{constructor(address,protocols,options$1){super(),this._binaryType=BINARY_TYPES[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=EMPTY_BUFFER,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol=``,this._readyState=WebSocket$8.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,address===null?(this._autoPong=options$1.autoPong,this._isServer=!0):(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,protocols===void 0?protocols=[]:Array.isArray(protocols)||(typeof protocols==`object`&&protocols?(options$1=protocols,protocols=[]):protocols=[protocols]),initAsClient(this,address,protocols,options$1))}get binaryType(){return this._binaryType}set binaryType(type){BINARY_TYPES.includes(type)&&(this._binaryType=type,this._receiver&&(this._receiver._binaryType=type))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(socket,head,options$1){let receiver=new Receiver$1({allowSynchronousEvents:options$1.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:options$1.maxPayload,skipUTF8Validation:options$1.skipUTF8Validation}),sender=new Sender$1(socket,this._extensions,options$1.generateMask);this._receiver=receiver,this._sender=sender,this._socket=socket,receiver[kWebSocket$1]=this,sender[kWebSocket$1]=this,socket[kWebSocket$1]=this,receiver.on(`conclude`,receiverOnConclude),receiver.on(`drain`,receiverOnDrain),receiver.on(`error`,receiverOnError),receiver.on(`message`,receiverOnMessage),receiver.on(`ping`,receiverOnPing),receiver.on(`pong`,receiverOnPong),sender.onerror=senderOnError,socket.setTimeout&&socket.setTimeout(0),socket.setNoDelay&&socket.setNoDelay(),head.length>0&&socket.unshift(head),socket.on(`close`,socketOnClose),socket.on(`data`,socketOnData),socket.on(`end`,socketOnEnd),socket.on(`error`,socketOnError$1),this._readyState=WebSocket$8.OPEN,this.emit(`open`)}emitClose(){if(!this._socket){this._readyState=WebSocket$8.CLOSED,this.emit(`close`,this._closeCode,this._closeMessage);return}this._extensions[PerMessageDeflate$3.extensionName]&&this._extensions[PerMessageDeflate$3.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=WebSocket$8.CLOSED,this.emit(`close`,this._closeCode,this._closeMessage)}close(code$1,data$2){if(this.readyState!==WebSocket$8.CLOSED){if(this.readyState===WebSocket$8.CONNECTING){let msg=`WebSocket was closed before the connection was established`;abortHandshake$1(this,this._req,`WebSocket was closed before the connection was established`);return}if(this.readyState===WebSocket$8.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=WebSocket$8.CLOSING,this._sender.close(code$1,data$2,!this._isServer,err$2=>{err$2||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),setCloseTimer(this)}}pause(){this.readyState===WebSocket$8.CONNECTING||this.readyState===WebSocket$8.CLOSED||(this._paused=!0,this._socket.pause())}ping(data$2,mask,cb){if(this.readyState===WebSocket$8.CONNECTING)throw Error(`WebSocket is not open: readyState 0 (CONNECTING)`);if(typeof data$2==`function`?(cb=data$2,data$2=mask=void 0):typeof mask==`function`&&(cb=mask,mask=void 0),typeof data$2==`number`&&(data$2=data$2.toString()),this.readyState!==WebSocket$8.OPEN){sendAfterClose(this,data$2,cb);return}mask===void 0&&(mask=!this._isServer),this._sender.ping(data$2||EMPTY_BUFFER,mask,cb)}pong(data$2,mask,cb){if(this.readyState===WebSocket$8.CONNECTING)throw Error(`WebSocket is not open: readyState 0 (CONNECTING)`);if(typeof data$2==`function`?(cb=data$2,data$2=mask=void 0):typeof mask==`function`&&(cb=mask,mask=void 0),typeof data$2==`number`&&(data$2=data$2.toString()),this.readyState!==WebSocket$8.OPEN){sendAfterClose(this,data$2,cb);return}mask===void 0&&(mask=!this._isServer),this._sender.pong(data$2||EMPTY_BUFFER,mask,cb)}resume(){this.readyState===WebSocket$8.CONNECTING||this.readyState===WebSocket$8.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(data$2,options$1,cb){if(this.readyState===WebSocket$8.CONNECTING)throw Error(`WebSocket is not open: readyState 0 (CONNECTING)`);if(typeof options$1==`function`&&(cb=options$1,options$1={}),typeof data$2==`number`&&(data$2=data$2.toString()),this.readyState!==WebSocket$8.OPEN){sendAfterClose(this,data$2,cb);return}let opts={binary:typeof data$2!=`string`,mask:!this._isServer,compress:!0,fin:!0,...options$1};this._extensions[PerMessageDeflate$3.extensionName]||(opts.compress=!1),this._sender.send(data$2||EMPTY_BUFFER,opts,cb)}terminate(){if(this.readyState!==WebSocket$8.CLOSED){if(this.readyState===WebSocket$8.CONNECTING){let msg=`WebSocket was closed before the connection was established`;abortHandshake$1(this,this._req,`WebSocket was closed before the connection was established`);return}this._socket&&(this._readyState=WebSocket$8.CLOSING,this._socket.destroy())}}};Object.defineProperty(WebSocket$8,`CONNECTING`,{enumerable:!0,value:readyStates.indexOf(`CONNECTING`)}),Object.defineProperty(WebSocket$8.prototype,`CONNECTING`,{enumerable:!0,value:readyStates.indexOf(`CONNECTING`)}),Object.defineProperty(WebSocket$8,`OPEN`,{enumerable:!0,value:readyStates.indexOf(`OPEN`)}),Object.defineProperty(WebSocket$8.prototype,`OPEN`,{enumerable:!0,value:readyStates.indexOf(`OPEN`)}),Object.defineProperty(WebSocket$8,`CLOSING`,{enumerable:!0,value:readyStates.indexOf(`CLOSING`)}),Object.defineProperty(WebSocket$8.prototype,`CLOSING`,{enumerable:!0,value:readyStates.indexOf(`CLOSING`)}),Object.defineProperty(WebSocket$8,`CLOSED`,{enumerable:!0,value:readyStates.indexOf(`CLOSED`)}),Object.defineProperty(WebSocket$8.prototype,`CLOSED`,{enumerable:!0,value:readyStates.indexOf(`CLOSED`)}),[`binaryType`,`bufferedAmount`,`extensions`,`isPaused`,`protocol`,`readyState`,`url`].forEach(property=>{Object.defineProperty(WebSocket$8.prototype,property,{enumerable:!0})}),[`open`,`error`,`close`,`message`].forEach(method=>{Object.defineProperty(WebSocket$8.prototype,`on${method}`,{enumerable:!0,get(){for(let listener of this.listeners(method))if(listener[kForOnEventAttribute])return listener[kListener$1];return null},set(handler){for(let listener of this.listeners(method))if(listener[kForOnEventAttribute]){this.removeListener(method,listener);break}typeof handler==`function`&&this.addEventListener(method,handler,{[kForOnEventAttribute]:!0})}})}),WebSocket$8.prototype.addEventListener=addEventListener$1,WebSocket$8.prototype.removeEventListener=removeEventListener,module.exports=WebSocket$8;function initAsClient(websocket,address,protocols,options$1){let opts={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:protocolVersions[1],maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...options$1,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:`GET`,host:void 0,path:void 0,port:void 0};if(websocket._autoPong=opts.autoPong,!protocolVersions.includes(opts.protocolVersion))throw RangeError(`Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(`, `)})`);let parsedUrl;if(address instanceof URL$11)parsedUrl=address;else try{parsedUrl=new URL$11(address)}catch{throw SyntaxError(`Invalid URL: ${address}`)}parsedUrl.protocol===`http:`?parsedUrl.protocol=`ws:`:parsedUrl.protocol===`https:`&&(parsedUrl.protocol=`wss:`),websocket._url=parsedUrl.href;let isSecure=parsedUrl.protocol===`wss:`,isIpcUrl=parsedUrl.protocol===`ws+unix:`,invalidUrlMessage;if(parsedUrl.protocol!==`ws:`&&!isSecure&&!isIpcUrl?invalidUrlMessage=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:isIpcUrl&&!parsedUrl.pathname?invalidUrlMessage=`The URL's pathname is empty`:parsedUrl.hash&&(invalidUrlMessage=`The URL contains a fragment identifier`),invalidUrlMessage){let err$2=SyntaxError(invalidUrlMessage);if(websocket._redirects===0)throw err$2;emitErrorAndClose(websocket,err$2);return}let defaultPort$1=isSecure?443:80,key=randomBytes(16).toString(`base64`),request$3=isSecure?https$9.request:http$15.request,protocolSet=new Set,perMessageDeflate;if(opts.createConnection=opts.createConnection||(isSecure?tlsConnect:netConnect),opts.defaultPort=opts.defaultPort||defaultPort$1,opts.port=parsedUrl.port||defaultPort$1,opts.host=parsedUrl.hostname.startsWith(`[`)?parsedUrl.hostname.slice(1,-1):parsedUrl.hostname,opts.headers={...opts.headers,"Sec-WebSocket-Version":opts.protocolVersion,"Sec-WebSocket-Key":key,Connection:`Upgrade`,Upgrade:`websocket`},opts.path=parsedUrl.pathname+parsedUrl.search,opts.timeout=opts.handshakeTimeout,opts.perMessageDeflate&&(perMessageDeflate=new PerMessageDeflate$3(opts.perMessageDeflate===!0?{}:opts.perMessageDeflate,!1,opts.maxPayload),opts.headers[`Sec-WebSocket-Extensions`]=format$2({[PerMessageDeflate$3.extensionName]:perMessageDeflate.offer()})),protocols.length){for(let protocol of protocols){if(typeof protocol!=`string`||!subprotocolRegex.test(protocol)||protocolSet.has(protocol))throw SyntaxError(`An invalid or duplicated subprotocol was specified`);protocolSet.add(protocol)}opts.headers[`Sec-WebSocket-Protocol`]=protocols.join(`,`)}if(opts.origin&&(opts.protocolVersion<13?opts.headers[`Sec-WebSocket-Origin`]=opts.origin:opts.headers.Origin=opts.origin),(parsedUrl.username||parsedUrl.password)&&(opts.auth=`${parsedUrl.username}:${parsedUrl.password}`),isIpcUrl){let parts=opts.path.split(`:`);opts.socketPath=parts[0],opts.path=parts[1]}let req$1;if(opts.followRedirects){if(websocket._redirects===0){websocket._originalIpc=isIpcUrl,websocket._originalSecure=isSecure,websocket._originalHostOrSocketPath=isIpcUrl?opts.socketPath:parsedUrl.host;let headers=options$1&&options$1.headers;if(options$1={...options$1,headers:{}},headers)for(let[key$1,value]of Object.entries(headers))options$1.headers[key$1.toLowerCase()]=value}else if(websocket.listenerCount(`redirect`)===0){let isSameHost=isIpcUrl?websocket._originalIpc?opts.socketPath===websocket._originalHostOrSocketPath:!1:websocket._originalIpc?!1:parsedUrl.host===websocket._originalHostOrSocketPath;(!isSameHost||websocket._originalSecure&&!isSecure)&&(delete opts.headers.authorization,delete opts.headers.cookie,isSameHost||delete opts.headers.host,opts.auth=void 0)}opts.auth&&!options$1.headers.authorization&&(options$1.headers.authorization=`Basic `+Buffer.from(opts.auth).toString(`base64`)),req$1=websocket._req=request$3(opts),websocket._redirects&&websocket.emit(`redirect`,websocket.url,req$1)}else req$1=websocket._req=request$3(opts);opts.timeout&&req$1.on(`timeout`,()=>{abortHandshake$1(websocket,req$1,`Opening handshake has timed out`)}),req$1.on(`error`,err$2=>{req$1===null||req$1[kAborted]||(req$1=websocket._req=null,emitErrorAndClose(websocket,err$2))}),req$1.on(`response`,res=>{let location=res.headers.location,statusCode=res.statusCode;if(location&&opts.followRedirects&&statusCode>=300&&statusCode<400){if(++websocket._redirects>opts.maxRedirects){abortHandshake$1(websocket,req$1,`Maximum redirects exceeded`);return}req$1.abort();let addr;try{addr=new URL$11(location,address)}catch{let err$2=SyntaxError(`Invalid URL: ${location}`);emitErrorAndClose(websocket,err$2);return}initAsClient(websocket,addr,protocols,options$1)}else websocket.emit(`unexpected-response`,req$1,res)||abortHandshake$1(websocket,req$1,`Unexpected server response: ${res.statusCode}`)}),req$1.on(`upgrade`,(res,socket,head)=>{if(websocket.emit(`upgrade`,res),websocket.readyState!==WebSocket$8.CONNECTING)return;req$1=websocket._req=null;let upgrade$1=res.headers.upgrade;if(upgrade$1===void 0||upgrade$1.toLowerCase()!==`websocket`){abortHandshake$1(websocket,socket,`Invalid Upgrade header`);return}let digest=createHash$2(`sha1`).update(key+GUID$1).digest(`base64`);if(res.headers[`sec-websocket-accept`]!==digest){abortHandshake$1(websocket,socket,`Invalid Sec-WebSocket-Accept header`);return}let serverProt=res.headers[`sec-websocket-protocol`],protError;if(serverProt===void 0?protocolSet.size&&(protError=`Server sent no subprotocol`):protocolSet.size?protocolSet.has(serverProt)||(protError=`Server sent an invalid subprotocol`):protError=`Server sent a subprotocol but none was requested`,protError){abortHandshake$1(websocket,socket,protError);return}serverProt&&(websocket._protocol=serverProt);let secWebSocketExtensions=res.headers[`sec-websocket-extensions`];if(secWebSocketExtensions!==void 0){if(!perMessageDeflate){let message=`Server sent a Sec-WebSocket-Extensions header but no extension was requested`;abortHandshake$1(websocket,socket,`Server sent a Sec-WebSocket-Extensions header but no extension was requested`);return}let extensions;try{extensions=parse$20(secWebSocketExtensions)}catch{let message=`Invalid Sec-WebSocket-Extensions header`;abortHandshake$1(websocket,socket,`Invalid Sec-WebSocket-Extensions header`);return}let extensionNames=Object.keys(extensions);if(extensionNames.length!==1||extensionNames[0]!==PerMessageDeflate$3.extensionName){let message=`Server indicated an extension that was not requested`;abortHandshake$1(websocket,socket,`Server indicated an extension that was not requested`);return}try{perMessageDeflate.accept(extensions[PerMessageDeflate$3.extensionName])}catch{let message=`Invalid Sec-WebSocket-Extensions header`;abortHandshake$1(websocket,socket,`Invalid Sec-WebSocket-Extensions header`);return}websocket._extensions[PerMessageDeflate$3.extensionName]=perMessageDeflate}websocket.setSocket(socket,head,{allowSynchronousEvents:opts.allowSynchronousEvents,generateMask:opts.generateMask,maxPayload:opts.maxPayload,skipUTF8Validation:opts.skipUTF8Validation})}),opts.finishRequest?opts.finishRequest(req$1,websocket):req$1.end()}function emitErrorAndClose(websocket,err$2){websocket._readyState=WebSocket$8.CLOSING,websocket._errorEmitted=!0,websocket.emit(`error`,err$2),websocket.emitClose()}function netConnect(options$1){return options$1.path=options$1.socketPath,net$8.connect(options$1)}function tlsConnect(options$1){return options$1.path=void 0,!options$1.servername&&options$1.servername!==``&&(options$1.servername=net$8.isIP(options$1.host)?``:options$1.host),tls$6.connect(options$1)}function abortHandshake$1(websocket,stream$10,message){websocket._readyState=WebSocket$8.CLOSING;let err$2=Error(message);Error.captureStackTrace(err$2,abortHandshake$1),stream$10.setHeader?(stream$10[kAborted]=!0,stream$10.abort(),stream$10.socket&&!stream$10.socket.destroyed&&stream$10.socket.destroy(),process.nextTick(emitErrorAndClose,websocket,err$2)):(stream$10.destroy(err$2),stream$10.once(`error`,websocket.emit.bind(websocket,`error`)),stream$10.once(`close`,websocket.emitClose.bind(websocket)))}function sendAfterClose(websocket,data$2,cb){if(data$2){let length=isBlob$4(data$2)?data$2.size:toBuffer$3(data$2).length;websocket._socket?websocket._sender._bufferedBytes+=length:websocket._bufferedAmount+=length}if(cb){let err$2=Error(`WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})`);process.nextTick(cb,err$2)}}function receiverOnConclude(code$1,reason){let websocket=this[kWebSocket$1];websocket._closeFrameReceived=!0,websocket._closeMessage=reason,websocket._closeCode=code$1,websocket._socket[kWebSocket$1]!==void 0&&(websocket._socket.removeListener(`data`,socketOnData),process.nextTick(resume$2,websocket._socket),code$1===1005?websocket.close():websocket.close(code$1,reason))}function receiverOnDrain(){let websocket=this[kWebSocket$1];websocket.isPaused||websocket._socket.resume()}function receiverOnError(err$2){let websocket=this[kWebSocket$1];websocket._socket[kWebSocket$1]!==void 0&&(websocket._socket.removeListener(`data`,socketOnData),process.nextTick(resume$2,websocket._socket),websocket.close(err$2[kStatusCode])),websocket._errorEmitted||(websocket._errorEmitted=!0,websocket.emit(`error`,err$2))}function receiverOnFinish(){this[kWebSocket$1].emitClose()}function receiverOnMessage(data$2,isBinary$1){this[kWebSocket$1].emit(`message`,data$2,isBinary$1)}function receiverOnPing(data$2){let websocket=this[kWebSocket$1];websocket._autoPong&&websocket.pong(data$2,!this._isServer,NOOP$2),websocket.emit(`ping`,data$2)}function receiverOnPong(data$2){this[kWebSocket$1].emit(`pong`,data$2)}function resume$2(stream$10){stream$10.resume()}function senderOnError(err$2){let websocket=this[kWebSocket$1];websocket.readyState!==WebSocket$8.CLOSED&&(websocket.readyState===WebSocket$8.OPEN&&(websocket._readyState=WebSocket$8.CLOSING,setCloseTimer(websocket)),this._socket.end(),websocket._errorEmitted||(websocket._errorEmitted=!0,websocket.emit(`error`,err$2)))}function setCloseTimer(websocket){websocket._closeTimer=setTimeout(websocket._socket.destroy.bind(websocket._socket),3e4)}function socketOnClose(){let websocket=this[kWebSocket$1];this.removeListener(`close`,socketOnClose),this.removeListener(`data`,socketOnData),this.removeListener(`end`,socketOnEnd),websocket._readyState=WebSocket$8.CLOSING;let chunk$1;!this._readableState.endEmitted&&!websocket._closeFrameReceived&&!websocket._receiver._writableState.errorEmitted&&(chunk$1=websocket._socket.read())!==null&&websocket._receiver.write(chunk$1),websocket._receiver.end(),this[kWebSocket$1]=void 0,clearTimeout(websocket._closeTimer),websocket._receiver._writableState.finished||websocket._receiver._writableState.errorEmitted?websocket.emitClose():(websocket._receiver.on(`error`,receiverOnFinish),websocket._receiver.on(`finish`,receiverOnFinish))}function socketOnData(chunk$1){this[kWebSocket$1]._receiver.write(chunk$1)||this.pause()}function socketOnEnd(){let websocket=this[kWebSocket$1];websocket._readyState=WebSocket$8.CLOSING,websocket._receiver.end(),this.end()}function socketOnError$1(){let websocket=this[kWebSocket$1];this.removeListener(`error`,socketOnError$1),this.on(`error`,NOOP$2),websocket&&(websocket._readyState=WebSocket$8.CLOSING,this.destroy())}})),require_stream$1=__commonJSMin(((exports,module)=>{require_websocket$2();let{Duplex:Duplex$3}=__require$3(`stream`);function emitClose$1(stream$10){stream$10.emit(`close`)}function duplexOnEnd(){!this.destroyed&&this._writableState.finished&&this.destroy()}function duplexOnError(err$2){this.removeListener(`error`,duplexOnError),this.destroy(),this.listenerCount(`error`)===0&&this.emit(`error`,err$2)}function createWebSocketStream$1(ws$2,options$1){let terminateOnDestroy=!0,duplex$1=new Duplex$3({...options$1,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return ws$2.on(`message`,function(msg,isBinary$1){let data$2=!isBinary$1&&duplex$1._readableState.objectMode?msg.toString():msg;duplex$1.push(data$2)||ws$2.pause()}),ws$2.once(`error`,function(err$2){duplex$1.destroyed||(terminateOnDestroy=!1,duplex$1.destroy(err$2))}),ws$2.once(`close`,function(){duplex$1.destroyed||duplex$1.push(null)}),duplex$1._destroy=function(err$2,callback$1){if(ws$2.readyState===ws$2.CLOSED){callback$1(err$2),process.nextTick(emitClose$1,duplex$1);return}let called=!1;ws$2.once(`error`,function(err$3){called=!0,callback$1(err$3)}),ws$2.once(`close`,function(){called||callback$1(err$2),process.nextTick(emitClose$1,duplex$1)}),terminateOnDestroy&&ws$2.terminate()},duplex$1._final=function(callback$1){if(ws$2.readyState===ws$2.CONNECTING){ws$2.once(`open`,function(){duplex$1._final(callback$1)});return}ws$2._socket!==null&&(ws$2._socket._writableState.finished?(callback$1(),duplex$1._readableState.endEmitted&&duplex$1.destroy()):(ws$2._socket.once(`finish`,function(){callback$1()}),ws$2.close()))},duplex$1._read=function(){ws$2.isPaused&&ws$2.resume()},duplex$1._write=function(chunk$1,encoding,callback$1){if(ws$2.readyState===ws$2.CONNECTING){ws$2.once(`open`,function(){duplex$1._write(chunk$1,encoding,callback$1)});return}ws$2.send(chunk$1,callback$1)},duplex$1.on(`end`,duplexOnEnd),duplex$1.on(`error`,duplexOnError),duplex$1}module.exports=createWebSocketStream$1})),require_subprotocol$1=__commonJSMin(((exports,module)=>{let{tokenChars}=require_validation$2();function parse$19(header){let protocols=new Set,start$1=-1,end=-1,i$7=0;for(;i$7<header.length;i$7++){let code$1=header.charCodeAt(i$7);if(end===-1&&tokenChars[code$1]===1)start$1===-1&&(start$1=i$7);else if(i$7!==0&&(code$1===32||code$1===9))end===-1&&start$1!==-1&&(end=i$7);else if(code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$7}`);end===-1&&(end=i$7);let protocol$1=header.slice(start$1,end);if(protocols.has(protocol$1))throw SyntaxError(`The "${protocol$1}" subprotocol is duplicated`);protocols.add(protocol$1),start$1=end=-1}else throw SyntaxError(`Unexpected character at index ${i$7}`)}if(start$1===-1||end!==-1)throw SyntaxError(`Unexpected end of input`);let protocol=header.slice(start$1,i$7);if(protocols.has(protocol))throw SyntaxError(`The "${protocol}" subprotocol is duplicated`);return protocols.add(protocol),protocols}module.exports={parse:parse$19}})),require_websocket_server$1=__commonJSMin(((exports,module)=>{let EventEmitter$12=__require$3(`events`),http$14=__require$3(`http`),{Duplex:Duplex$2}=__require$3(`stream`),{createHash:createHash$1}=__require$3(`crypto`),extension=require_extension$1(),PerMessageDeflate$2=require_permessage_deflate$2(),subprotocol=require_subprotocol$1(),WebSocket$7=require_websocket$2(),{GUID,kWebSocket}=require_constants$12(),keyRegex=/^[+/0-9A-Za-z]{22}==$/,RUNNING=0,CLOSING=1,CLOSED$2=2;var WebSocketServer$1=class extends EventEmitter$12{constructor(options$1,callback$1){if(super(),options$1={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:WebSocket$7,...options$1},options$1.port==null&&!options$1.server&&!options$1.noServer||options$1.port!=null&&(options$1.server||options$1.noServer)||options$1.server&&options$1.noServer)throw TypeError(`One and only one of the "port", "server", or "noServer" options must be specified`);if(options$1.port==null?options$1.server&&(this._server=options$1.server):(this._server=http$14.createServer((req$1,res)=>{let body=http$14.STATUS_CODES[426];res.writeHead(426,{"Content-Length":body.length,"Content-Type":`text/plain`}),res.end(body)}),this._server.listen(options$1.port,options$1.host,options$1.backlog,callback$1)),this._server){let emitConnection=this.emit.bind(this,`connection`);this._removeListeners=addListeners(this._server,{listening:this.emit.bind(this,`listening`),error:this.emit.bind(this,`error`),upgrade:(req$1,socket,head)=>{this.handleUpgrade(req$1,socket,head,emitConnection)}})}options$1.perMessageDeflate===!0&&(options$1.perMessageDeflate={}),options$1.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=options$1,this._state=0}address(){if(this.options.noServer)throw Error(`The server is operating in "noServer" mode`);return this._server?this._server.address():null}close(cb){if(this._state===2){cb&&this.once(`close`,()=>{cb(Error(`The server is not running`))}),process.nextTick(emitClose,this);return}if(cb&&this.once(`close`,cb),this._state!==1)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(emitClose,this);else{let server=this._server;this._removeListeners(),this._removeListeners=this._server=null,server.close(()=>{emitClose(this)})}}shouldHandle(req$1){if(this.options.path){let index=req$1.url.indexOf(`?`),pathname=index===-1?req$1.url:req$1.url.slice(0,index);if(pathname!==this.options.path)return!1}return!0}handleUpgrade(req$1,socket,head,cb){socket.on(`error`,socketOnError);let key=req$1.headers[`sec-websocket-key`],upgrade$1=req$1.headers.upgrade,version$4=+req$1.headers[`sec-websocket-version`];if(req$1.method!==`GET`){let message=`Invalid HTTP method`;abortHandshakeOrEmitwsClientError(this,req$1,socket,405,`Invalid HTTP method`);return}if(upgrade$1===void 0||upgrade$1.toLowerCase()!==`websocket`){let message=`Invalid Upgrade header`;abortHandshakeOrEmitwsClientError(this,req$1,socket,400,`Invalid Upgrade header`);return}if(key===void 0||!keyRegex.test(key)){let message=`Missing or invalid Sec-WebSocket-Key header`;abortHandshakeOrEmitwsClientError(this,req$1,socket,400,`Missing or invalid Sec-WebSocket-Key header`);return}if(version$4!==13&&version$4!==8){let message=`Missing or invalid Sec-WebSocket-Version header`;abortHandshakeOrEmitwsClientError(this,req$1,socket,400,`Missing or invalid Sec-WebSocket-Version header`,{"Sec-WebSocket-Version":`13, 8`});return}if(!this.shouldHandle(req$1)){abortHandshake(socket,400);return}let secWebSocketProtocol=req$1.headers[`sec-websocket-protocol`],protocols=new Set;if(secWebSocketProtocol!==void 0)try{protocols=subprotocol.parse(secWebSocketProtocol)}catch{let message=`Invalid Sec-WebSocket-Protocol header`;abortHandshakeOrEmitwsClientError(this,req$1,socket,400,`Invalid Sec-WebSocket-Protocol header`);return}let secWebSocketExtensions=req$1.headers[`sec-websocket-extensions`],extensions={};if(this.options.perMessageDeflate&&secWebSocketExtensions!==void 0){let perMessageDeflate=new PerMessageDeflate$2(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let offers=extension.parse(secWebSocketExtensions);offers[PerMessageDeflate$2.extensionName]&&(perMessageDeflate.accept(offers[PerMessageDeflate$2.extensionName]),extensions[PerMessageDeflate$2.extensionName]=perMessageDeflate)}catch{let message=`Invalid or unacceptable Sec-WebSocket-Extensions header`;abortHandshakeOrEmitwsClientError(this,req$1,socket,400,`Invalid or unacceptable Sec-WebSocket-Extensions header`);return}}if(this.options.verifyClient){let info$1={origin:req$1.headers[`${version$4===8?`sec-websocket-origin`:`origin`}`],secure:!!(req$1.socket.authorized||req$1.socket.encrypted),req:req$1};if(this.options.verifyClient.length===2){this.options.verifyClient(info$1,(verified,code$1,message,headers)=>{if(!verified)return abortHandshake(socket,code$1||401,message,headers);this.completeUpgrade(extensions,key,protocols,req$1,socket,head,cb)});return}if(!this.options.verifyClient(info$1))return abortHandshake(socket,401)}this.completeUpgrade(extensions,key,protocols,req$1,socket,head,cb)}completeUpgrade(extensions,key,protocols,req$1,socket,head,cb){if(!socket.readable||!socket.writable)return socket.destroy();if(socket[kWebSocket])throw Error(`server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration`);if(this._state>0)return abortHandshake(socket,503);let digest=createHash$1(`sha1`).update(key+GUID).digest(`base64`),headers=[`HTTP/1.1 101 Switching Protocols`,`Upgrade: websocket`,`Connection: Upgrade`,`Sec-WebSocket-Accept: ${digest}`],ws$2=new this.options.WebSocket(null,void 0,this.options);if(protocols.size){let protocol=this.options.handleProtocols?this.options.handleProtocols(protocols,req$1):protocols.values().next().value;protocol&&(headers.push(`Sec-WebSocket-Protocol: ${protocol}`),ws$2._protocol=protocol)}if(extensions[PerMessageDeflate$2.extensionName]){let params=extensions[PerMessageDeflate$2.extensionName].params,value=extension.format({[PerMessageDeflate$2.extensionName]:[params]});headers.push(`Sec-WebSocket-Extensions: ${value}`),ws$2._extensions=extensions}this.emit(`headers`,headers,req$1),socket.write(headers.concat(`\r
3
3
  `).join(`\r
4
4
  `)),socket.removeListener(`error`,socketOnError),ws$2.setSocket(socket,head,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(ws$2),ws$2.on(`close`,()=>{this.clients.delete(ws$2),this._shouldEmitClose&&!this.clients.size&&process.nextTick(emitClose,this)})),cb(ws$2,req$1)}};module.exports=WebSocketServer$1;function addListeners(server,map$2){for(let event of Object.keys(map$2))server.on(event,map$2[event]);return function(){for(let event of Object.keys(map$2))server.removeListener(event,map$2[event])}}function emitClose(server){server._state=2,server.emit(`close`)}function socketOnError(){this.destroy()}function abortHandshake(socket,code$1,message,headers){message||=http$14.STATUS_CODES[code$1],headers={Connection:`close`,"Content-Type":`text/html`,"Content-Length":Buffer.byteLength(message),...headers},socket.once(`finish`,socket.destroy),socket.end(`HTTP/1.1 ${code$1} ${http$14.STATUS_CODES[code$1]}\r\n`+Object.keys(headers).map(h$4=>`${h$4}: ${headers[h$4]}`).join(`\r
5
5
  `)+`\r
6
6
  \r
7
- `+message)}function abortHandshakeOrEmitwsClientError(server,req$1,socket,code$1,message,headers){if(server.listenerCount(`wsClientError`)){let err$2=Error(message);Error.captureStackTrace(err$2,abortHandshakeOrEmitwsClientError),server.emit(`wsClientError`,err$2,socket,req$1)}else abortHandshake(socket,code$1,message,headers)}})),import_stream,import_receiver,import_sender,import_websocket$2,import_websocket_server,wrapper_default,init_wrapper=__esmMin((()=>{import_stream=__toESM$2(require_stream$2(),1),import_receiver=__toESM$2(require_receiver$3(),1),import_sender=__toESM$2(require_sender$3(),1),import_websocket$2=__toESM$2(require_websocket$3(),1),import_websocket_server=__toESM$2(require_websocket_server$2(),1),wrapper_default=import_websocket$2.default})),require_error$2=__commonJSMin((exports=>{var CommanderError$3=class extends Error{constructor(exitCode,code$1,message){super(message),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=code$1,this.exitCode=exitCode,this.nestedError=void 0}},InvalidArgumentError$40=class extends CommanderError$3{constructor(message){super(1,`commander.invalidArgument`,message),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};exports.CommanderError=CommanderError$3,exports.InvalidArgumentError=InvalidArgumentError$40})),require_argument=__commonJSMin((exports=>{let{InvalidArgumentError:InvalidArgumentError$39}=require_error$2();var Argument$3=class{constructor(name$5,description){switch(this.description=description||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,name$5[0]){case`<`:this.required=!0,this._name=name$5.slice(1,-1);break;case`[`:this.required=!1,this._name=name$5.slice(1,-1);break;default:this.required=!0,this._name=name$5;break}this._name.length>3&&this._name.slice(-3)===`...`&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_concatValue(value,previous){return previous===this.defaultValue||!Array.isArray(previous)?[value]:previous.concat(value)}default(value,description){return this.defaultValue=value,this.defaultValueDescription=description,this}argParser(fn){return this.parseArg=fn,this}choices(values){return this.argChoices=values.slice(),this.parseArg=(arg,previous)=>{if(!this.argChoices.includes(arg))throw new InvalidArgumentError$39(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._concatValue(arg,previous):arg},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function humanReadableArgName$2(arg){let nameOutput=arg.name()+(arg.variadic===!0?`...`:``);return arg.required?`<`+nameOutput+`>`:`[`+nameOutput+`]`}exports.Argument=Argument$3,exports.humanReadableArgName=humanReadableArgName$2})),require_help=__commonJSMin((exports=>{let{humanReadableArgName:humanReadableArgName$1}=require_argument();var Help$3=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(contextOptions){this.helpWidth=this.helpWidth??contextOptions.helpWidth??80}visibleCommands(cmd){let visibleCommands=cmd.commands.filter(cmd$1=>!cmd$1._hidden),helpCommand=cmd._getHelpCommand();return helpCommand&&!helpCommand._hidden&&visibleCommands.push(helpCommand),this.sortSubcommands&&visibleCommands.sort((a$4,b$4)=>a$4.name().localeCompare(b$4.name())),visibleCommands}compareOptions(a$4,b$4){let getSortKey=option$1=>option$1.short?option$1.short.replace(/^-/,``):option$1.long.replace(/^--/,``);return getSortKey(a$4).localeCompare(getSortKey(b$4))}visibleOptions(cmd){let visibleOptions=cmd.options.filter(option$1=>!option$1.hidden),helpOption=cmd._getHelpOption();if(helpOption&&!helpOption.hidden){let removeShort=helpOption.short&&cmd._findOption(helpOption.short),removeLong=helpOption.long&&cmd._findOption(helpOption.long);!removeShort&&!removeLong?visibleOptions.push(helpOption):helpOption.long&&!removeLong?visibleOptions.push(cmd.createOption(helpOption.long,helpOption.description)):helpOption.short&&!removeShort&&visibleOptions.push(cmd.createOption(helpOption.short,helpOption.description))}return this.sortOptions&&visibleOptions.sort(this.compareOptions),visibleOptions}visibleGlobalOptions(cmd){if(!this.showGlobalOptions)return[];let globalOptions=[];for(let ancestorCmd=cmd.parent;ancestorCmd;ancestorCmd=ancestorCmd.parent){let visibleOptions=ancestorCmd.options.filter(option$1=>!option$1.hidden);globalOptions.push(...visibleOptions)}return this.sortOptions&&globalOptions.sort(this.compareOptions),globalOptions}visibleArguments(cmd){return cmd._argsDescription&&cmd.registeredArguments.forEach(argument=>{argument.description=argument.description||cmd._argsDescription[argument.name()]||``}),cmd.registeredArguments.find(argument=>argument.description)?cmd.registeredArguments:[]}subcommandTerm(cmd){let args=cmd.registeredArguments.map(arg=>humanReadableArgName$1(arg)).join(` `);return cmd._name+(cmd._aliases[0]?`|`+cmd._aliases[0]:``)+(cmd.options.length?` [options]`:``)+(args?` `+args:``)}optionTerm(option$1){return option$1.flags}argumentTerm(argument){return argument.name()}longestSubcommandTermLength(cmd,helper){return helper.visibleCommands(cmd).reduce((max$3,command)=>Math.max(max$3,this.displayWidth(helper.styleSubcommandTerm(helper.subcommandTerm(command)))),0)}longestOptionTermLength(cmd,helper){return helper.visibleOptions(cmd).reduce((max$3,option$1)=>Math.max(max$3,this.displayWidth(helper.styleOptionTerm(helper.optionTerm(option$1)))),0)}longestGlobalOptionTermLength(cmd,helper){return helper.visibleGlobalOptions(cmd).reduce((max$3,option$1)=>Math.max(max$3,this.displayWidth(helper.styleOptionTerm(helper.optionTerm(option$1)))),0)}longestArgumentTermLength(cmd,helper){return helper.visibleArguments(cmd).reduce((max$3,argument)=>Math.max(max$3,this.displayWidth(helper.styleArgumentTerm(helper.argumentTerm(argument)))),0)}commandUsage(cmd){let cmdName=cmd._name;cmd._aliases[0]&&(cmdName=cmdName+`|`+cmd._aliases[0]);let ancestorCmdNames=``;for(let ancestorCmd=cmd.parent;ancestorCmd;ancestorCmd=ancestorCmd.parent)ancestorCmdNames=ancestorCmd.name()+` `+ancestorCmdNames;return ancestorCmdNames+cmdName+` `+cmd.usage()}commandDescription(cmd){return cmd.description()}subcommandDescription(cmd){return cmd.summary()||cmd.description()}optionDescription(option$1){let extraInfo=[];if(option$1.argChoices&&extraInfo.push(`choices: ${option$1.argChoices.map(choice$1=>JSON.stringify(choice$1)).join(`, `)}`),option$1.defaultValue!==void 0){let showDefault=option$1.required||option$1.optional||option$1.isBoolean()&&typeof option$1.defaultValue==`boolean`;showDefault&&extraInfo.push(`default: ${option$1.defaultValueDescription||JSON.stringify(option$1.defaultValue)}`)}if(option$1.presetArg!==void 0&&option$1.optional&&extraInfo.push(`preset: ${JSON.stringify(option$1.presetArg)}`),option$1.envVar!==void 0&&extraInfo.push(`env: ${option$1.envVar}`),extraInfo.length>0){let extraDescription=`(${extraInfo.join(`, `)})`;return option$1.description?`${option$1.description} ${extraDescription}`:extraDescription}return option$1.description}argumentDescription(argument){let extraInfo=[];if(argument.argChoices&&extraInfo.push(`choices: ${argument.argChoices.map(choice$1=>JSON.stringify(choice$1)).join(`, `)}`),argument.defaultValue!==void 0&&extraInfo.push(`default: ${argument.defaultValueDescription||JSON.stringify(argument.defaultValue)}`),extraInfo.length>0){let extraDescription=`(${extraInfo.join(`, `)})`;return argument.description?`${argument.description} ${extraDescription}`:extraDescription}return argument.description}formatItemList(heading$1,items,helper){return items.length===0?[]:[helper.styleTitle(heading$1),...items,``]}groupItems(unsortedItems,visibleItems,getGroup){let result=new Map;return unsortedItems.forEach(item=>{let group=getGroup(item);result.has(group)||result.set(group,[])}),visibleItems.forEach(item=>{let group=getGroup(item);result.has(group)||result.set(group,[]),result.get(group).push(item)}),result}formatHelp(cmd,helper){let termWidth=helper.padWidth(cmd,helper),helpWidth=helper.helpWidth??80;function callFormatItem(term,description){return helper.formatItem(term,termWidth,description,helper)}let output=[`${helper.styleTitle(`Usage:`)} ${helper.styleUsage(helper.commandUsage(cmd))}`,``],commandDescription=helper.commandDescription(cmd);commandDescription.length>0&&(output=output.concat([helper.boxWrap(helper.styleCommandDescription(commandDescription),helpWidth),``]));let argumentList=helper.visibleArguments(cmd).map(argument=>callFormatItem(helper.styleArgumentTerm(helper.argumentTerm(argument)),helper.styleArgumentDescription(helper.argumentDescription(argument))));output=output.concat(this.formatItemList(`Arguments:`,argumentList,helper));let optionGroups=this.groupItems(cmd.options,helper.visibleOptions(cmd),option$1=>option$1.helpGroupHeading??`Options:`);if(optionGroups.forEach((options$1,group)=>{let optionList=options$1.map(option$1=>callFormatItem(helper.styleOptionTerm(helper.optionTerm(option$1)),helper.styleOptionDescription(helper.optionDescription(option$1))));output=output.concat(this.formatItemList(group,optionList,helper))}),helper.showGlobalOptions){let globalOptionList=helper.visibleGlobalOptions(cmd).map(option$1=>callFormatItem(helper.styleOptionTerm(helper.optionTerm(option$1)),helper.styleOptionDescription(helper.optionDescription(option$1))));output=output.concat(this.formatItemList(`Global Options:`,globalOptionList,helper))}let commandGroups=this.groupItems(cmd.commands,helper.visibleCommands(cmd),sub=>sub.helpGroup()||`Commands:`);return commandGroups.forEach((commands,group)=>{let commandList=commands.map(sub=>callFormatItem(helper.styleSubcommandTerm(helper.subcommandTerm(sub)),helper.styleSubcommandDescription(helper.subcommandDescription(sub))));output=output.concat(this.formatItemList(group,commandList,helper))}),output.join(`
7
+ `+message)}function abortHandshakeOrEmitwsClientError(server,req$1,socket,code$1,message,headers){if(server.listenerCount(`wsClientError`)){let err$2=Error(message);Error.captureStackTrace(err$2,abortHandshakeOrEmitwsClientError),server.emit(`wsClientError`,err$2,socket,req$1)}else abortHandshake(socket,code$1,message,headers)}})),import_stream,import_receiver,import_sender,import_websocket$1,import_websocket_server,wrapper_default,init_wrapper=__esmMin((()=>{import_stream=__toESM$2(require_stream$1(),1),import_receiver=__toESM$2(require_receiver$2(),1),import_sender=__toESM$2(require_sender$2(),1),import_websocket$1=__toESM$2(require_websocket$2(),1),import_websocket_server=__toESM$2(require_websocket_server$1(),1),wrapper_default=import_websocket$1.default})),require_error$2=__commonJSMin((exports=>{var CommanderError$3=class extends Error{constructor(exitCode,code$1,message){super(message),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=code$1,this.exitCode=exitCode,this.nestedError=void 0}},InvalidArgumentError$40=class extends CommanderError$3{constructor(message){super(1,`commander.invalidArgument`,message),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};exports.CommanderError=CommanderError$3,exports.InvalidArgumentError=InvalidArgumentError$40})),require_argument=__commonJSMin((exports=>{let{InvalidArgumentError:InvalidArgumentError$39}=require_error$2();var Argument$3=class{constructor(name$5,description){switch(this.description=description||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,name$5[0]){case`<`:this.required=!0,this._name=name$5.slice(1,-1);break;case`[`:this.required=!1,this._name=name$5.slice(1,-1);break;default:this.required=!0,this._name=name$5;break}this._name.length>3&&this._name.slice(-3)===`...`&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_concatValue(value,previous){return previous===this.defaultValue||!Array.isArray(previous)?[value]:previous.concat(value)}default(value,description){return this.defaultValue=value,this.defaultValueDescription=description,this}argParser(fn){return this.parseArg=fn,this}choices(values){return this.argChoices=values.slice(),this.parseArg=(arg,previous)=>{if(!this.argChoices.includes(arg))throw new InvalidArgumentError$39(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._concatValue(arg,previous):arg},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function humanReadableArgName$2(arg){let nameOutput=arg.name()+(arg.variadic===!0?`...`:``);return arg.required?`<`+nameOutput+`>`:`[`+nameOutput+`]`}exports.Argument=Argument$3,exports.humanReadableArgName=humanReadableArgName$2})),require_help=__commonJSMin((exports=>{let{humanReadableArgName:humanReadableArgName$1}=require_argument();var Help$3=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(contextOptions){this.helpWidth=this.helpWidth??contextOptions.helpWidth??80}visibleCommands(cmd){let visibleCommands=cmd.commands.filter(cmd$1=>!cmd$1._hidden),helpCommand=cmd._getHelpCommand();return helpCommand&&!helpCommand._hidden&&visibleCommands.push(helpCommand),this.sortSubcommands&&visibleCommands.sort((a$4,b$4)=>a$4.name().localeCompare(b$4.name())),visibleCommands}compareOptions(a$4,b$4){let getSortKey=option$1=>option$1.short?option$1.short.replace(/^-/,``):option$1.long.replace(/^--/,``);return getSortKey(a$4).localeCompare(getSortKey(b$4))}visibleOptions(cmd){let visibleOptions=cmd.options.filter(option$1=>!option$1.hidden),helpOption=cmd._getHelpOption();if(helpOption&&!helpOption.hidden){let removeShort=helpOption.short&&cmd._findOption(helpOption.short),removeLong=helpOption.long&&cmd._findOption(helpOption.long);!removeShort&&!removeLong?visibleOptions.push(helpOption):helpOption.long&&!removeLong?visibleOptions.push(cmd.createOption(helpOption.long,helpOption.description)):helpOption.short&&!removeShort&&visibleOptions.push(cmd.createOption(helpOption.short,helpOption.description))}return this.sortOptions&&visibleOptions.sort(this.compareOptions),visibleOptions}visibleGlobalOptions(cmd){if(!this.showGlobalOptions)return[];let globalOptions=[];for(let ancestorCmd=cmd.parent;ancestorCmd;ancestorCmd=ancestorCmd.parent){let visibleOptions=ancestorCmd.options.filter(option$1=>!option$1.hidden);globalOptions.push(...visibleOptions)}return this.sortOptions&&globalOptions.sort(this.compareOptions),globalOptions}visibleArguments(cmd){return cmd._argsDescription&&cmd.registeredArguments.forEach(argument=>{argument.description=argument.description||cmd._argsDescription[argument.name()]||``}),cmd.registeredArguments.find(argument=>argument.description)?cmd.registeredArguments:[]}subcommandTerm(cmd){let args=cmd.registeredArguments.map(arg=>humanReadableArgName$1(arg)).join(` `);return cmd._name+(cmd._aliases[0]?`|`+cmd._aliases[0]:``)+(cmd.options.length?` [options]`:``)+(args?` `+args:``)}optionTerm(option$1){return option$1.flags}argumentTerm(argument){return argument.name()}longestSubcommandTermLength(cmd,helper){return helper.visibleCommands(cmd).reduce((max$3,command)=>Math.max(max$3,this.displayWidth(helper.styleSubcommandTerm(helper.subcommandTerm(command)))),0)}longestOptionTermLength(cmd,helper){return helper.visibleOptions(cmd).reduce((max$3,option$1)=>Math.max(max$3,this.displayWidth(helper.styleOptionTerm(helper.optionTerm(option$1)))),0)}longestGlobalOptionTermLength(cmd,helper){return helper.visibleGlobalOptions(cmd).reduce((max$3,option$1)=>Math.max(max$3,this.displayWidth(helper.styleOptionTerm(helper.optionTerm(option$1)))),0)}longestArgumentTermLength(cmd,helper){return helper.visibleArguments(cmd).reduce((max$3,argument)=>Math.max(max$3,this.displayWidth(helper.styleArgumentTerm(helper.argumentTerm(argument)))),0)}commandUsage(cmd){let cmdName=cmd._name;cmd._aliases[0]&&(cmdName=cmdName+`|`+cmd._aliases[0]);let ancestorCmdNames=``;for(let ancestorCmd=cmd.parent;ancestorCmd;ancestorCmd=ancestorCmd.parent)ancestorCmdNames=ancestorCmd.name()+` `+ancestorCmdNames;return ancestorCmdNames+cmdName+` `+cmd.usage()}commandDescription(cmd){return cmd.description()}subcommandDescription(cmd){return cmd.summary()||cmd.description()}optionDescription(option$1){let extraInfo=[];if(option$1.argChoices&&extraInfo.push(`choices: ${option$1.argChoices.map(choice$1=>JSON.stringify(choice$1)).join(`, `)}`),option$1.defaultValue!==void 0){let showDefault=option$1.required||option$1.optional||option$1.isBoolean()&&typeof option$1.defaultValue==`boolean`;showDefault&&extraInfo.push(`default: ${option$1.defaultValueDescription||JSON.stringify(option$1.defaultValue)}`)}if(option$1.presetArg!==void 0&&option$1.optional&&extraInfo.push(`preset: ${JSON.stringify(option$1.presetArg)}`),option$1.envVar!==void 0&&extraInfo.push(`env: ${option$1.envVar}`),extraInfo.length>0){let extraDescription=`(${extraInfo.join(`, `)})`;return option$1.description?`${option$1.description} ${extraDescription}`:extraDescription}return option$1.description}argumentDescription(argument){let extraInfo=[];if(argument.argChoices&&extraInfo.push(`choices: ${argument.argChoices.map(choice$1=>JSON.stringify(choice$1)).join(`, `)}`),argument.defaultValue!==void 0&&extraInfo.push(`default: ${argument.defaultValueDescription||JSON.stringify(argument.defaultValue)}`),extraInfo.length>0){let extraDescription=`(${extraInfo.join(`, `)})`;return argument.description?`${argument.description} ${extraDescription}`:extraDescription}return argument.description}formatItemList(heading$1,items,helper){return items.length===0?[]:[helper.styleTitle(heading$1),...items,``]}groupItems(unsortedItems,visibleItems,getGroup){let result=new Map;return unsortedItems.forEach(item=>{let group=getGroup(item);result.has(group)||result.set(group,[])}),visibleItems.forEach(item=>{let group=getGroup(item);result.has(group)||result.set(group,[]),result.get(group).push(item)}),result}formatHelp(cmd,helper){let termWidth=helper.padWidth(cmd,helper),helpWidth=helper.helpWidth??80;function callFormatItem(term,description){return helper.formatItem(term,termWidth,description,helper)}let output=[`${helper.styleTitle(`Usage:`)} ${helper.styleUsage(helper.commandUsage(cmd))}`,``],commandDescription=helper.commandDescription(cmd);commandDescription.length>0&&(output=output.concat([helper.boxWrap(helper.styleCommandDescription(commandDescription),helpWidth),``]));let argumentList=helper.visibleArguments(cmd).map(argument=>callFormatItem(helper.styleArgumentTerm(helper.argumentTerm(argument)),helper.styleArgumentDescription(helper.argumentDescription(argument))));output=output.concat(this.formatItemList(`Arguments:`,argumentList,helper));let optionGroups=this.groupItems(cmd.options,helper.visibleOptions(cmd),option$1=>option$1.helpGroupHeading??`Options:`);if(optionGroups.forEach((options$1,group)=>{let optionList=options$1.map(option$1=>callFormatItem(helper.styleOptionTerm(helper.optionTerm(option$1)),helper.styleOptionDescription(helper.optionDescription(option$1))));output=output.concat(this.formatItemList(group,optionList,helper))}),helper.showGlobalOptions){let globalOptionList=helper.visibleGlobalOptions(cmd).map(option$1=>callFormatItem(helper.styleOptionTerm(helper.optionTerm(option$1)),helper.styleOptionDescription(helper.optionDescription(option$1))));output=output.concat(this.formatItemList(`Global Options:`,globalOptionList,helper))}let commandGroups=this.groupItems(cmd.commands,helper.visibleCommands(cmd),sub=>sub.helpGroup()||`Commands:`);return commandGroups.forEach((commands,group)=>{let commandList=commands.map(sub=>callFormatItem(helper.styleSubcommandTerm(helper.subcommandTerm(sub)),helper.styleSubcommandDescription(helper.subcommandDescription(sub))));output=output.concat(this.formatItemList(group,commandList,helper))}),output.join(`
8
8
  `)}displayWidth(str$1){return stripColor$1(str$1).length}styleTitle(str$1){return str$1}styleUsage(str$1){return str$1.split(` `).map(word=>word===`[options]`?this.styleOptionText(word):word===`[command]`?this.styleSubcommandText(word):word[0]===`[`||word[0]===`<`?this.styleArgumentText(word):this.styleCommandText(word)).join(` `)}styleCommandDescription(str$1){return this.styleDescriptionText(str$1)}styleOptionDescription(str$1){return this.styleDescriptionText(str$1)}styleSubcommandDescription(str$1){return this.styleDescriptionText(str$1)}styleArgumentDescription(str$1){return this.styleDescriptionText(str$1)}styleDescriptionText(str$1){return str$1}styleOptionTerm(str$1){return this.styleOptionText(str$1)}styleSubcommandTerm(str$1){return str$1.split(` `).map(word=>word===`[options]`?this.styleOptionText(word):word[0]===`[`||word[0]===`<`?this.styleArgumentText(word):this.styleSubcommandText(word)).join(` `)}styleArgumentTerm(str$1){return this.styleArgumentText(str$1)}styleOptionText(str$1){return str$1}styleArgumentText(str$1){return str$1}styleSubcommandText(str$1){return str$1}styleCommandText(str$1){return str$1}padWidth(cmd,helper){return Math.max(helper.longestOptionTermLength(cmd,helper),helper.longestGlobalOptionTermLength(cmd,helper),helper.longestSubcommandTermLength(cmd,helper),helper.longestArgumentTermLength(cmd,helper))}preformatted(str$1){return/\n[^\S\r\n]/.test(str$1)}formatItem(term,termWidth,description,helper){let itemIndent=2,itemIndentStr=` `.repeat(2);if(!description)return itemIndentStr+term;let paddedTerm=term.padEnd(termWidth+term.length-helper.displayWidth(term)),spacerWidth=2,helpWidth=this.helpWidth??80,remainingWidth=helpWidth-termWidth-2-2,formattedDescription;if(remainingWidth<this.minWidthToWrap||helper.preformatted(description))formattedDescription=description;else{let wrappedDescription=helper.boxWrap(description,remainingWidth);formattedDescription=wrappedDescription.replace(/\n/g,`
9
9
  `+` `.repeat(termWidth+2))}return itemIndentStr+paddedTerm+` `.repeat(2)+formattedDescription.replace(/\n/g,`\n${itemIndentStr}`)}boxWrap(str$1,width){if(width<this.minWidthToWrap)return str$1;let rawLines=str$1.split(/\r\n|\n/),chunkPattern=/[\s]*[^\s]+/g,wrappedLines=[];return rawLines.forEach(line$1=>{let chunks=line$1.match(chunkPattern);if(chunks===null){wrappedLines.push(``);return}let sumChunks=[chunks.shift()],sumWidth=this.displayWidth(sumChunks[0]);chunks.forEach(chunk$1=>{let visibleWidth=this.displayWidth(chunk$1);if(sumWidth+visibleWidth<=width){sumChunks.push(chunk$1),sumWidth+=visibleWidth;return}wrappedLines.push(sumChunks.join(``));let nextChunk=chunk$1.trimStart();sumChunks=[nextChunk],sumWidth=this.displayWidth(nextChunk)}),wrappedLines.push(sumChunks.join(``))}),wrappedLines.join(`
10
10
  `)}};function stripColor$1(str$1){let sgrPattern=/\x1b\[\d*(;\d*)*m/g;return str$1.replace(sgrPattern,``)}exports.Help=Help$3,exports.stripColor=stripColor$1})),require_option=__commonJSMin((exports=>{let{InvalidArgumentError:InvalidArgumentError$38}=require_error$2();var Option$3=class{constructor(flags,description){this.flags=flags,this.description=description||``,this.required=flags.includes(`<`),this.optional=flags.includes(`[`),this.variadic=/\w\.\.\.[>\]]$/.test(flags),this.mandatory=!1;let optionFlags=splitOptionFlags(flags);this.short=optionFlags.shortFlag,this.long=optionFlags.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith(`--no-`)),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(value,description){return this.defaultValue=value,this.defaultValueDescription=description,this}preset(arg){return this.presetArg=arg,this}conflicts(names$1){return this.conflictsWith=this.conflictsWith.concat(names$1),this}implies(impliedOptionValues){let newImplied=impliedOptionValues;return typeof impliedOptionValues==`string`&&(newImplied={[impliedOptionValues]:!0}),this.implied=Object.assign(this.implied||{},newImplied),this}env(name$5){return this.envVar=name$5,this}argParser(fn){return this.parseArg=fn,this}makeOptionMandatory(mandatory=!0){return this.mandatory=!!mandatory,this}hideHelp(hide=!0){return this.hidden=!!hide,this}_concatValue(value,previous){return previous===this.defaultValue||!Array.isArray(previous)?[value]:previous.concat(value)}choices(values){return this.argChoices=values.slice(),this.parseArg=(arg,previous)=>{if(!this.argChoices.includes(arg))throw new InvalidArgumentError$38(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._concatValue(arg,previous):arg},this}name(){return this.long?this.long.replace(/^--/,``):this.short.replace(/^-/,``)}attributeName(){return this.negate?camelcase(this.name().replace(/^no-/,``)):camelcase(this.name())}helpGroup(heading$1){return this.helpGroupHeading=heading$1,this}is(arg){return this.short===arg||this.long===arg}isBoolean(){return!this.required&&!this.optional&&!this.negate}},DualOptions$1=class{constructor(options$1){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,options$1.forEach(option$1=>{option$1.negate?this.negativeOptions.set(option$1.attributeName(),option$1):this.positiveOptions.set(option$1.attributeName(),option$1)}),this.negativeOptions.forEach((value,key)=>{this.positiveOptions.has(key)&&this.dualOptions.add(key)})}valueFromOption(value,option$1){let optionKey=option$1.attributeName();if(!this.dualOptions.has(optionKey))return!0;let preset=this.negativeOptions.get(optionKey).presetArg,negativeValue=preset===void 0?!1:preset;return option$1.negate===(negativeValue===value)}};function camelcase(str$1){return str$1.split(`-`).reduce((str$2,word)=>str$2+word[0].toUpperCase()+word.slice(1))}function splitOptionFlags(flags){let shortFlag,longFlag,shortFlagExp=/^-[^-]$/,longFlagExp=/^--[^-]/,flagParts=flags.split(/[ |,]+/).concat(`guard`);if(shortFlagExp.test(flagParts[0])&&(shortFlag=flagParts.shift()),longFlagExp.test(flagParts[0])&&(longFlag=flagParts.shift()),!shortFlag&&shortFlagExp.test(flagParts[0])&&(shortFlag=flagParts.shift()),!shortFlag&&longFlagExp.test(flagParts[0])&&(shortFlag=longFlag,longFlag=flagParts.shift()),flagParts[0].startsWith(`-`)){let unsupportedFlag=flagParts[0],baseError=`option creation failed due to '${unsupportedFlag}' in option flags '${flags}'`;throw/^-[^-][^-]/.test(unsupportedFlag)?Error(`${baseError}
@@ -25,7 +25,7 @@ Expecting one of '${allowedValues.join(`', '`)}'`);return this._lifeCycleHooks[e
25
25
  Expecting one of '${allowedValues.join(`', '`)}'`);let helpEvent=`${position}Help`;return this.on(helpEvent,context$1=>{let helpStr;helpStr=typeof text$1==`function`?text$1({error:context$1.error,command:context$1.command}):text$1,helpStr&&context$1.write(`${helpStr}\n`)}),this}_outputHelpIfRequested(args){let helpOption=this._getHelpOption(),helpRequested=helpOption&&args.find(arg=>helpOption.is(arg));helpRequested&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function incrementNodeInspectorPort(args){return args.map(arg=>{if(!arg.startsWith(`--inspect`))return arg;let debugOption,debugHost=`127.0.0.1`,debugPort=`9229`,match$1;return(match$1=arg.match(/^(--inspect(-brk)?)$/))===null?(match$1=arg.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(match$1=arg.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(debugOption=match$1[1],debugHost=match$1[3],debugPort=match$1[4]):(debugOption=match$1[1],/^\d+$/.test(match$1[3])?debugPort=match$1[3]:debugHost=match$1[3]):debugOption=match$1[1],debugOption&&debugPort!==`0`?`${debugOption}=${debugHost}:${parseInt(debugPort)+1}`:arg})}function useColor(){if(process$9.env.NO_COLOR||process$9.env.FORCE_COLOR===`0`||process$9.env.FORCE_COLOR===`false`)return!1;if(process$9.env.FORCE_COLOR||process$9.env.CLICOLOR_FORCE!==void 0)return!0}exports.Command=Command$3,exports.useColor=useColor})),require_commander=__commonJSMin((exports=>{let{Argument:Argument$1}=require_argument(),{Command:Command$2}=require_command(),{CommanderError:CommanderError$1,InvalidArgumentError:InvalidArgumentError$37}=require_error$2(),{Help:Help$1}=require_help(),{Option:Option$1}=require_option();exports.program=new Command$2,exports.createCommand=name$5=>new Command$2(name$5),exports.createOption=(flags,description)=>new Option$1(flags,description),exports.createArgument=(name$5,description)=>new Argument$1(name$5,description),exports.Command=Command$2,exports.Option=Option$1,exports.Argument=Argument$1,exports.Help=Help$1,exports.CommanderError=CommanderError$1,exports.InvalidArgumentError=InvalidArgumentError$37,exports.InvalidOptionArgumentError=InvalidArgumentError$37}));init_wrapper();var import_commander=__toESM$2(require_commander(),1);const{program,createCommand,createArgument,createOption,CommanderError,InvalidArgumentError:InvalidArgumentError$36,InvalidOptionArgumentError,Command:Command$1,Argument,Option,Help}=import_commander.default;async function build$1(path$38,{outdir}={}){outdir||=await resolveOutputDirectory(path$38);let outfile=join$1(outdir,`agent.js`),esbuild=loadEsbuild(),result=await esbuild.build({...sharedBuildOptions,entryPoints:[path$38],outfile,write:!1});if(result.errors.length>0)throw Error(`Failed to build agent!`);let outputFile$2=result.outputFiles[0];return await writeFile(outfile,Buffer.from(outputFile$2.contents),`utf-8`),{outfile}}async function watch$1(entrypoint,{onErrors,onBuildStart,onBuildEnd,outdir}){let esbuild=loadEsbuild();outdir||=await resolveOutputDirectory(entrypoint);let outfile=join$1(outdir,`agent.js`),context$1=await esbuild.context({...sharedBuildOptions,entryPoints:[entrypoint],logLevel:`silent`,outfile,plugins:[...sharedBuildOptions.plugins??[],{name:`blink-dev-server`,setup(build$11){build$11.onStart(()=>{onBuildStart?.()}),build$11.onEnd(async result=>{if(result.errors.length>0){onErrors?.(result.errors);return}let outputFile$2=result.outputFiles[0];await writeFile(outfile,Buffer.from(outputFile$2.contents),`utf-8`),onBuildEnd?.({outfile})})}}],write:!1});return await context$1.watch(),{dispose:()=>{context$1.dispose()}}}async function resolveEntrypoint(directory){let packageJsonPath=await findNearestEntry(directory,`package.json`);if(!packageJsonPath)throw Error(`No package.json found in ${directory}`);let packageJson$1=JSON.parse(await readFile(packageJsonPath,`utf-8`)),main=packageJson$1.main;if(!main)throw Error(`"main" is not set in ${relative(process.cwd(),packageJsonPath)}. It should be set to the entrypoint of your agent.`);let mainPath=join$1(dirname$1(packageJsonPath),main),stats=await stat(mainPath);if(!stats.isFile())throw Error(`${mainPath} is not a file.`);return mainPath}async function resolveOutputDirectory(path$38){let nodeModulesPath=await findNearestEntry(path$38,`node_modules`);if(!nodeModulesPath){let stats=await stat(path$38);return stats.isDirectory()?join$1(path$38,`.blink`):join$1(dirname$1(path$38),`.blink`)}let blinkPath=join$1(nodeModulesPath,`.blink`);return await mkdir(blinkPath,{recursive:!0}),blinkPath}async function findNearestEntry(startDir,name$5){let currentDir=startDir;for(;currentDir!==dirname$1(currentDir);){let file=join$1(currentDir,name$5);try{return await stat(file),file}catch{}currentDir=dirname$1(currentDir)}}const sharedBuildOptions={bundle:!0,format:`esm`,platform:`node`,target:`node22`,mainFields:[`module`,`main`],conditions:[`import`,`module`],plugins:[{name:`blink-esm-require-to-import`,setup(build$11){build$11.onEnd(result=>{build$11.initialOptions.format!==`esm`||build$11.initialOptions.platform!==`node`||result.outputFiles?.forEach(file=>{if(file.path.endsWith(`.js`)||file.path.endsWith(`.mjs`)){let contents=Buffer.from(file.contents).toString(`utf-8`),modules=new Map,rx=RegExp(`\\b__require\\("(${builtinModules.join(`|`)})"\\)`,`gm`);if(contents=contents.replace(rx,(match$1,moduleName)=>{let importId=`__import_${moduleName.toUpperCase().replace(/-/g,`_`)}`;return modules.set(moduleName,importId),importId}),modules.size>0){let imports=Array.from(modules.entries()).map(([mod$1,id])=>`import ${id} from "${mod$1}";`).join(`
26
26
  `);contents=imports+`
27
27
 
28
- `+contents}file.contents=Buffer.from(contents,`utf-8`)}})})}}]},loadEsbuild=()=>{try{return __require$3(`esbuild`)}catch{throw Error("esbuild is not installed. Please install it with `bun add esbuild`.")}};async function build(directory){directory||=process.cwd();let entrypoint=await resolveEntrypoint(directory),{outfile}=await build$1(entrypoint);console.log(`Built agent to ${outfile}`)}let isDockerCached;function hasDockerEnv(){try{return fs.statSync(`/.dockerenv`),!0}catch{return!1}}function hasDockerCGroup(){try{return fs.readFileSync(`/proc/self/cgroup`,`utf8`).includes(`docker`)}catch{return!1}}function isDocker(){return isDockerCached===void 0&&(isDockerCached=hasDockerEnv()||hasDockerCGroup()),isDockerCached}let cachedResult;const hasContainerEnv=()=>{try{return fs.statSync(`/run/.containerenv`),!0}catch{return!1}};function isInsideContainer(){return cachedResult===void 0&&(cachedResult=hasContainerEnv()||isDocker()),cachedResult}const isWsl=()=>{if(process$1.platform!==`linux`)return!1;if(os.release().toLowerCase().includes(`microsoft`))return!isInsideContainer();try{return fs.readFileSync(`/proc/version`,`utf8`).toLowerCase().includes(`microsoft`)?!isInsideContainer():!1}catch{return!1}};var is_wsl_default=process$1.env.__IS_WSL_TEST__?isWsl:isWsl();const wslDrivesMountPoint=(()=>{let defaultMountPoint=`/mnt/`,mountPoint;return async function(){if(mountPoint)return mountPoint;let configFilePath$1=`/etc/wsl.conf`,isConfigFileExists=!1;try{await fs$1.access(configFilePath$1,constants.F_OK),isConfigFileExists=!0}catch{}if(!isConfigFileExists)return defaultMountPoint;let configContent=await fs$1.readFile(configFilePath$1,{encoding:`utf8`}),configMountPoint=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(configContent);return configMountPoint?(mountPoint=configMountPoint.groups.mountPoint.trim(),mountPoint=mountPoint.endsWith(`/`)?mountPoint:`${mountPoint}/`,mountPoint):defaultMountPoint}})(),powerShellPathFromWsl=async()=>{let mountPoint=await wslDrivesMountPoint();return`${mountPoint}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},powerShellPath=async()=>is_wsl_default?powerShellPathFromWsl():`${process$1.env.SYSTEMROOT||process$1.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;function defineLazyProperty(object$1,propertyName,valueGetter){let define$2=value=>Object.defineProperty(object$1,propertyName,{value,enumerable:!0,writable:!0});return Object.defineProperty(object$1,propertyName,{configurable:!0,enumerable:!0,get(){let result=valueGetter();return define$2(result),result},set(value){define$2(value)}}),object$1}const execFileAsync$4=promisify(execFile);async function defaultBrowserId(){if(process$1.platform!==`darwin`)throw Error(`macOS only`);let{stdout:stdout$1}=await execFileAsync$4(`defaults`,[`read`,`com.apple.LaunchServices/com.apple.launchservices.secure`,`LSHandlers`]),match$1=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(stdout$1);return match$1?.groups.id??`com.apple.Safari`}const execFileAsync$3=promisify(execFile);async function runAppleScript(script,{humanReadableOutput=!0}={}){if(process$1.platform!==`darwin`)throw Error(`macOS only`);let outputArguments=humanReadableOutput?[]:[`-ss`],{stdout:stdout$1}=await execFileAsync$3(`osascript`,[`-e`,script,outputArguments]);return stdout$1.trim()}async function bundleName(bundleId){return runAppleScript(`tell application "Finder" to set app_path to application file id "${bundleId}" as string\ntell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}const execFileAsync$2=promisify(execFile),windowsBrowserProgIds={AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:`Edge`,id:`com.microsoft.edge.old`},MSEdgeDHTML:{name:`Edge`,id:`com.microsoft.edge`},MSEdgeHTM:{name:`Edge`,id:`com.microsoft.edge`},"IE.HTTP":{name:`Internet Explorer`,id:`com.microsoft.ie`},FirefoxURL:{name:`Firefox`,id:`org.mozilla.firefox`},ChromeHTML:{name:`Chrome`,id:`com.google.chrome`},BraveHTML:{name:`Brave`,id:`com.brave.Browser`},BraveBHTML:{name:`Brave Beta`,id:`com.brave.Browser.beta`},BraveSSHTM:{name:`Brave Nightly`,id:`com.brave.Browser.nightly`}};var UnknownBrowserError=class extends Error{};async function defaultBrowser$1(_execFileAsync=execFileAsync$2){let{stdout:stdout$1}=await _execFileAsync(`reg`,[`QUERY`,` HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice`,`/v`,`ProgId`]),match$1=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(stdout$1);if(!match$1)throw new UnknownBrowserError(`Cannot find Windows browser in stdout: ${JSON.stringify(stdout$1)}`);let{id}=match$1.groups,browser=windowsBrowserProgIds[id];if(!browser)throw new UnknownBrowserError(`Unknown browser ID: ${id}`);return browser}const execFileAsync$1=promisify(execFile),titleize=string=>string.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,x$5=>x$5.toUpperCase());async function defaultBrowser(){if(process$1.platform===`darwin`){let id=await defaultBrowserId(),name$5=await bundleName(id);return{name:name$5,id}}if(process$1.platform===`linux`){let{stdout:stdout$1}=await execFileAsync$1(`xdg-mime`,[`query`,`default`,`x-scheme-handler/http`]),id=stdout$1.trim(),name$5=titleize(id.replace(/.desktop$/,``).replace(`-`,` `));return{name:name$5,id}}if(process$1.platform===`win32`)return defaultBrowser$1();throw Error(`Only macOS, Linux, and Windows are supported`)}const execFile$1=promisify(childProcess.execFile),__dirname$3=path.dirname(fileURLToPath(import.meta.url)),localXdgOpenPath=path.join(__dirname$3,`xdg-open`),{platform:platform$4,arch}=process$1;async function getWindowsDefaultBrowserFromWsl(){let powershellPath=await powerShellPath(),rawCommand=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,encodedCommand=Buffer$1.from(rawCommand,`utf16le`).toString(`base64`),{stdout:stdout$1}=await execFile$1(powershellPath,[`-NoProfile`,`-NonInteractive`,`-ExecutionPolicy`,`Bypass`,`-EncodedCommand`,encodedCommand],{encoding:`utf8`}),progId=stdout$1.trim(),browserMap={ChromeHTML:`com.google.chrome`,BraveHTML:`com.brave.Browser`,MSEdgeHTM:`com.microsoft.edge`,FirefoxURL:`org.mozilla.firefox`};return browserMap[progId]?{id:browserMap[progId]}:{}}const pTryEach=async(array,mapper)=>{let latestError;for(let item of array)try{return await mapper(item)}catch(error$22){latestError=error$22}throw latestError},baseOpen=async options$1=>{if(options$1={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...options$1},Array.isArray(options$1.app))return pTryEach(options$1.app,singleApp=>baseOpen({...options$1,app:singleApp}));let{name:app,arguments:appArguments=[]}=options$1.app??{};if(appArguments=[...appArguments],Array.isArray(app))return pTryEach(app,appName=>baseOpen({...options$1,app:{name:appName,arguments:appArguments}}));if(app===`browser`||app===`browserPrivate`){let ids={"com.google.chrome":`chrome`,"google-chrome.desktop":`chrome`,"com.brave.Browser":`brave`,"org.mozilla.firefox":`firefox`,"firefox.desktop":`firefox`,"com.microsoft.msedge":`edge`,"com.microsoft.edge":`edge`,"com.microsoft.edgemac":`edge`,"microsoft-edge.desktop":`edge`},flags={chrome:`--incognito`,brave:`--incognito`,firefox:`--private-window`,edge:`--inPrivate`},browser=is_wsl_default?await getWindowsDefaultBrowserFromWsl():await defaultBrowser();if(browser.id in ids){let browserName=ids[browser.id];return app===`browserPrivate`&&appArguments.push(flags[browserName]),baseOpen({...options$1,app:{name:apps[browserName],arguments:appArguments}})}throw Error(`${browser.name} is not supported as a default browser`)}let command,cliArguments=[],childProcessOptions={};if(platform$4===`darwin`)command=`open`,options$1.wait&&cliArguments.push(`--wait-apps`),options$1.background&&cliArguments.push(`--background`),options$1.newInstance&&cliArguments.push(`--new`),app&&cliArguments.push(`-a`,app);else if(platform$4===`win32`||is_wsl_default&&!isInsideContainer()&&!app){command=await powerShellPath(),cliArguments.push(`-NoProfile`,`-NonInteractive`,`-ExecutionPolicy`,`Bypass`,`-EncodedCommand`),is_wsl_default||(childProcessOptions.windowsVerbatimArguments=!0);let encodedArguments=[`Start`];options$1.wait&&encodedArguments.push(`-Wait`),app?(encodedArguments.push(`"\`"${app}\`""`),options$1.target&&appArguments.push(options$1.target)):options$1.target&&encodedArguments.push(`"${options$1.target}"`),appArguments.length>0&&(appArguments=appArguments.map(argument=>`"\`"${argument}\`""`),encodedArguments.push(`-ArgumentList`,appArguments.join(`,`))),options$1.target=Buffer$1.from(encodedArguments.join(` `),`utf16le`).toString(`base64`)}else{if(app)command=app;else{let isBundled=!__dirname$3||__dirname$3===`/`,exeLocalXdgOpen=!1;try{await fs$1.access(localXdgOpenPath,constants.X_OK),exeLocalXdgOpen=!0}catch{}let useSystemXdgOpen=process$1.versions.electron??(platform$4===`android`||isBundled||!exeLocalXdgOpen);command=useSystemXdgOpen?`xdg-open`:localXdgOpenPath}appArguments.length>0&&cliArguments.push(...appArguments),options$1.wait||(childProcessOptions.stdio=`ignore`,childProcessOptions.detached=!0)}platform$4===`darwin`&&appArguments.length>0&&cliArguments.push(`--args`,...appArguments),options$1.target&&cliArguments.push(options$1.target);let subprocess=childProcess.spawn(command,cliArguments,childProcessOptions);return options$1.wait?new Promise((resolve$10,reject)=>{subprocess.once(`error`,reject),subprocess.once(`close`,exitCode=>{if(!options$1.allowNonzeroExitCode&&exitCode>0){reject(Error(`Exited with code ${exitCode}`));return}resolve$10(subprocess)})}):(subprocess.unref(),subprocess)},open$2=(target,options$1)=>{if(typeof target!=`string`)throw TypeError("Expected a `target`");return baseOpen({...options$1,target})};function detectArchBinary(binary){if(typeof binary==`string`||Array.isArray(binary))return binary;let{[arch]:archBinary}=binary;if(!archBinary)throw Error(`${arch} is not supported`);return archBinary}function detectPlatformBinary({[platform$4]:platformBinary},{wsl}){if(wsl&&is_wsl_default)return detectArchBinary(wsl);if(!platformBinary)throw Error(`${platform$4} is not supported`);return detectArchBinary(platformBinary)}const apps={};defineLazyProperty(apps,`chrome`,()=>detectPlatformBinary({darwin:`google chrome`,win32:`chrome`,linux:[`google-chrome`,`google-chrome-stable`,`chromium`]},{wsl:{ia32:`/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe`,x64:[`/mnt/c/Program Files/Google/Chrome/Application/chrome.exe`,`/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe`]}})),defineLazyProperty(apps,`brave`,()=>detectPlatformBinary({darwin:`brave browser`,win32:`brave`,linux:[`brave-browser`,`brave`]},{wsl:{ia32:`/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe`,x64:[`/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe`,`/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe`]}})),defineLazyProperty(apps,`firefox`,()=>detectPlatformBinary({darwin:`firefox`,win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:`firefox`},{wsl:`/mnt/c/Program Files/Mozilla Firefox/firefox.exe`})),defineLazyProperty(apps,`edge`,()=>detectPlatformBinary({darwin:`microsoft edge`,win32:`msedge`,linux:[`microsoft-edge`,`microsoft-edge-dev`]},{wsl:`/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe`})),defineLazyProperty(apps,`browser`,()=>`browser`),defineLazyProperty(apps,`browserPrivate`,()=>`browserPrivate`);var open_default=open$2;const createWebSocketMessagePayload$1=(payload,encoder$3)=>{let isText$1=typeof payload==`string`;typeof payload==`string`&&(payload=encoder$3.encode(payload));let arr=new Uint8Array(1+payload.byteLength);return arr[0]=isText$1?0:1,arr.set(new Uint8Array(payload),1),arr},parseWebSocketMessagePayload$1=(payload,decoder$2)=>payload[0]===0?decoder$2.decode(payload.subarray(1)):new Uint8Array(payload.subarray(1));let ClientMessageType$1=function(ClientMessageType$1$1){return ClientMessageType$1$1[ClientMessageType$1$1.REQUEST=0]=`REQUEST`,ClientMessageType$1$1[ClientMessageType$1$1.PROXY_INIT=1]=`PROXY_INIT`,ClientMessageType$1$1[ClientMessageType$1$1.PROXY_BODY=2]=`PROXY_BODY`,ClientMessageType$1$1[ClientMessageType$1$1.PROXY_WEBSOCKET_MESSAGE=3]=`PROXY_WEBSOCKET_MESSAGE`,ClientMessageType$1$1[ClientMessageType$1$1.PROXY_WEBSOCKET_CLOSE=4]=`PROXY_WEBSOCKET_CLOSE`,ClientMessageType$1$1}({}),ServerMessageType$1=function(ServerMessageType$1$1){return ServerMessageType$1$1[ServerMessageType$1$1.RESPONSE=0]=`RESPONSE`,ServerMessageType$1$1[ServerMessageType$1$1.NOTIFICATION=1]=`NOTIFICATION`,ServerMessageType$1$1[ServerMessageType$1$1.PROXY_INIT=2]=`PROXY_INIT`,ServerMessageType$1$1[ServerMessageType$1$1.PROXY_DATA=3]=`PROXY_DATA`,ServerMessageType$1$1[ServerMessageType$1$1.PROXY_WEBSOCKET_MESSAGE=4]=`PROXY_WEBSOCKET_MESSAGE`,ServerMessageType$1$1[ServerMessageType$1$1.PROXY_WEBSOCKET_CLOSE=5]=`PROXY_WEBSOCKET_CLOSE`,ServerMessageType$1$1}({});const ClientMessageSchema$1={[ClientMessageType$1.REQUEST]:z.string(),[ClientMessageType$1.PROXY_INIT]:z.object({method:z.string(),headers:z.record(z.string(),z.string()),url:z.string()}),[ClientMessageType$1.PROXY_BODY]:z.instanceof(Uint8Array),[ClientMessageType$1.PROXY_WEBSOCKET_MESSAGE]:z.object({type:z.enum([`text`,`binary`]),data:z.instanceof(Uint8Array)}),[ClientMessageType$1.PROXY_WEBSOCKET_CLOSE]:z.object({code:z.number().optional(),reason:z.string().optional()})},ServerMessageSchema={[ServerMessageType$1.RESPONSE]:z.string(),[ServerMessageType$1.NOTIFICATION]:z.string(),[ServerMessageType$1.PROXY_INIT]:z.object({status_code:z.number(),status_message:z.string(),headers:z.record(z.string(),z.string())}),[ServerMessageType$1.PROXY_DATA]:z.instanceof(Uint8Array),[ServerMessageType$1.PROXY_WEBSOCKET_MESSAGE]:z.instanceof(Uint8Array),[ServerMessageType$1.PROXY_WEBSOCKET_CLOSE]:z.object({code:z.number(),reason:z.string()})},ProxySchema={[ClientMessageType$1.PROXY_INIT]:{method:z.string(),headers:z.record(z.string(),z.string()),url:z.string()}},RequestSchema$3={process_execute:z.object({command:z.string(),args:z.array(z.string()),env:z.record(z.string(),z.string()).optional(),cwd:z.string().optional()}),process_send_input:z.object({pid:z.number(),data:z.string()}),process_wait:z.object({pid:z.number(),output_idle_timeout_ms:z.number().optional(),timeout_ms:z.number().optional()}),process_list:z.object({include_dead:z.boolean().optional()}),process_read_plain_output:z.object({pid:z.number(),start_line:z.number().optional(),end_line:z.number().optional()}),process_kill:z.object({pid:z.number(),signal:z.string().optional()}),set_env:z.object({env:z.record(z.string(),z.string())}),read_file:z.object({path:z.string(),line_start:z.number().optional(),line_end:z.number().optional()}),write_file:z.object({path:z.string(),content:z.string(),base64:z.boolean().optional(),mode:z.number().optional()}),read_directory:z.object({path:z.string()}),watch_directory:z.object({path:z.string()}),deploy_static_files:z.object({path:z.string()})},ProcessStatusSchema$1=z.object({pid:z.number(),command:z.string(),args:z.array(z.string()),title:z.string().optional(),cwd:z.string(),env:z.record(z.string(),z.string()),exit_code:z.number().optional(),exit_signal:z.number().optional(),duration_ms:z.number().optional(),output_total_lines:z.number()}),ProcessWaitSchema=ProcessStatusSchema$1.extend({ansi_output:z.string(),plain_output:z.object({lines:z.array(z.string()),total_lines:z.number()})}),ResponseSchema={process_execute:z.object({pid:z.number()}),process_send_input:z.object({}),process_wait:ProcessWaitSchema,process_list:z.object({processes:z.array(ProcessStatusSchema$1)}),process_read_plain_output:z.object({lines:z.array(z.string()),total_lines:z.number(),duration_ms:z.number(),exit_code:z.number().optional(),exit_signal:z.number().optional()}),process_kill:z.object({}),set_env:z.object({}),read_file:z.object({total_lines:z.number(),lines_read:z.number(),start_line:z.number(),content:z.string(),mime_type:z.string()}),write_file:z.object({}),read_directory:z.object({entries:z.array(z.object({name:z.string(),type:z.enum([`file`,`directory`,`symlink`])}))}),watch_directory:z.object({}),deploy_static_files:z.object({deployment_id:z.string()})},FileChangeEventSchema$1=z.object({type:z.enum([`create`,`update`,`delete`]),path:z.string()}),DiffLineSchema$1=z.object({type:z.enum([`context`,`added`,`deleted`]),content:z.string(),oldLineNumber:z.number().optional(),newLineNumber:z.number().optional()}),DiffChunkSchema$1=z.object({oldStart:z.number(),oldLines:z.number(),newStart:z.number(),newLines:z.number(),lines:z.array(DiffLineSchema$1)}),FileDiffSchema$1=z.object({path:z.string(),status:z.enum([`added`,`modified`,`deleted`,`renamed`,`copied`,`untracked`,`ignored`,`unmerged`,`typechange`]),oldPath:z.string().optional(),insertions:z.number(),deletions:z.number(),chunks:z.array(DiffChunkSchema$1)}),DiffSummarySchema$1=z.object({totalFiles:z.number(),totalInsertions:z.number(),totalDeletions:z.number(),netChange:z.number(),startHash:z.string().optional(),currentHash:z.string().optional(),timespan:z.number(),files:z.array(FileDiffSchema$1)}),GitFileStatusSchema$1=z.object({path:z.string(),status:z.enum([`added`,`modified`,`deleted`,`renamed`,`copied`,`untracked`,`ignored`,`unmerged`,`typechange`]),staged:z.boolean()}),GitCommitEventSchema$1=z.object({hash:z.string(),shortHash:z.string(),message:z.string(),author:z.string(),email:z.string(),date:z.date(),timestamp:z.date(),filesChanged:z.number(),insertions:z.number(),deletions:z.number(),commitDiff:z.array(FileDiffSchema$1).optional()}),GitStatusEventSchema=z.object({files:z.array(GitFileStatusSchema$1),branch:z.string(),ahead:z.number(),behind:z.number(),timestamp:z.date(),sessionDiff:DiffSummarySchema$1.optional(),workingDirectoryDiff:DiffSummarySchema$1.optional(),newCommits:z.array(GitCommitEventSchema$1),currentCommit:z.object({hash:z.string(),shortHash:z.string(),message:z.string(),author:z.string(),date:z.date()}).optional(),diffSkipped:z.boolean().optional(),payloadTruncated:z.boolean().optional(),estimatedSizeKB:z.number().optional()}),WatchOptionsSchema=z.object({debounceDelay:z.number().optional(),gitStatusInterval:z.number().optional(),ignoreDotfiles:z.boolean().optional(),ignored:z.array(z.string()).optional(),watchGit:z.boolean().optional(),includeDiffs:z.boolean().optional(),maxDiffFiles:z.number().optional(),maxPayloadSizeKB:z.number().optional(),truncateLargeDiffs:z.boolean().optional()}),NotificationSchema$1={process_status:z.object({status:ProcessStatusSchema$1}),process_output:z.object({pid:z.number(),output:z.string()}),file_change:z.object({changes:z.array(FileChangeEventSchema$1)}),git_status:GitStatusEventSchema};var __create$1=Object.create,__defProp$3=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__getOwnPropNames$2=Object.getOwnPropertyNames,__getProtoOf$1=Object.getPrototypeOf,__hasOwnProp$2=Object.prototype.hasOwnProperty,__commonJS$2=(cb,mod$1)=>function(){return mod$1||(0,cb[__getOwnPropNames$2(cb)[0]])((mod$1={exports:{}}).exports,mod$1),mod$1.exports},__copyProps$2=(to,from$1,except,desc)=>{if(from$1&&typeof from$1==`object`||typeof from$1==`function`)for(var keys=__getOwnPropNames$2(from$1),i$1$1=0,n$2=keys.length,key;i$1$1<n$2;i$1$1++)key=keys[i$1$1],!__hasOwnProp$2.call(to,key)&&key!==except&&__defProp$3(to,key,{get:(k$2=>from$1[k$2]).bind(null,key),enumerable:!(desc=__getOwnPropDesc$2(from$1,key))||desc.enumerable});return to},__toESM$1=(mod$1,isNodeMode,target)=>(target=mod$1==null?{}:__create$1(__getProtoOf$1(mod$1)),__copyProps$2(isNodeMode||!mod$1||!mod$1.__esModule?__defProp$3(target,`default`,{value:mod$1,enumerable:!0}):target,mod$1)),__require$2=createRequire(import.meta.url),Emitter$3=class{listeners=[];get event(){return listener=>(this.listeners.push(listener),{dispose:()=>{this.listeners=this.listeners.filter(l$2=>l$2!==listener)}})}emit(event){for(let i$1$1=this.listeners.length-1;i$1$1>=0;i$1$1--)this.listeners[i$1$1]?.(event)}dispose(){this.listeners=[]}};let MessageType$1=function(MessageType$1$1){return MessageType$1$1[MessageType$1$1.DATA=0]=`DATA`,MessageType$1$1[MessageType$1$1.CLOSE=1]=`CLOSE`,MessageType$1$1[MessageType$1$1.ERROR=2]=`ERROR`,MessageType$1$1}({}),Flag$1=function(Flag$1$1){return Flag$1$1[Flag$1$1.NEW=1]=`NEW`,Flag$1$1}({});var BufferPool$1=class{static MAX_POOL_SIZE=100;static COMMON_SIZES=[64,256,1024,4096,16384];static pools=new Map;static{for(let size of this.COMMON_SIZES)this.pools.set(size,[])}static acquire(size){for(let poolSize of this.COMMON_SIZES)if(poolSize>=size){let pool$1=this.pools.get(poolSize);if(pool$1&&pool$1.length>0)return pool$1.pop();break}return new Uint8Array(size)}static release(buffer$2){let size=buffer$2.length;for(let poolSize of this.COMMON_SIZES)if(poolSize===size){let pool$1=this.pools.get(poolSize);pool$1&&pool$1.length<this.MAX_POOL_SIZE&&pool$1.push(buffer$2);break}}},FrameCodec$1=class FrameCodec$2{static HEADER_SIZE=4;static MAX_FRAME_SIZE=1024*1024-FrameCodec$2.HEADER_SIZE;static encode(frame){let payloadLength=frame.payload.length;if(payloadLength>this.MAX_FRAME_SIZE)throw Error(`Frame payload too large: ${payloadLength} > ${this.MAX_FRAME_SIZE}`);let totalSize=this.HEADER_SIZE+payloadLength,result=BufferPool$1.acquire(totalSize),word=frame.streamId<<8|frame.type<<4|frame.flags&15;return result[0]=word>>>24&255,result[1]=word>>>16&255,result[2]=word>>>8&255,result[3]=word&255,payloadLength>0&&result.set(frame.payload,this.HEADER_SIZE),result.length===totalSize?result:result.subarray(0,totalSize)}static encodeTyped(streamId,msgType,flags,typeByte,payload){let payloadLength=1+payload.length;if(payloadLength>this.MAX_FRAME_SIZE)throw Error(`Frame payload too large: ${payloadLength} > ${this.MAX_FRAME_SIZE}`);let totalSize=this.HEADER_SIZE+payloadLength,result=BufferPool$1.acquire(totalSize),word=streamId<<8|msgType<<4|flags&15;return result[0]=word>>>24&255,result[1]=word>>>16&255,result[2]=word>>>8&255,result[3]=word&255,result[FrameCodec$2.HEADER_SIZE]=typeByte&255,payload.length>0&&result.set(payload,FrameCodec$2.HEADER_SIZE+1),result.length===totalSize?result:result.subarray(0,totalSize)}static decode(data$2){if(data$2.length<FrameCodec$2.HEADER_SIZE)throw Error(`Invalid frame: too short (${data$2.length} < ${FrameCodec$2.HEADER_SIZE})`);let word=data$2[0]<<24|data$2[1]<<16|data$2[2]<<8|data$2[3],streamId=word>>>8,typeAndFlags=word&255,type=typeAndFlags>>>4,flags=typeAndFlags&15,payload=data$2.length>FrameCodec$2.HEADER_SIZE?data$2.subarray(FrameCodec$2.HEADER_SIZE):new Uint8Array;return{streamId,type,flags,payload}}static releaseBuffer(buffer$2){BufferPool$1.release(buffer$2)}static getMaxPayloadSize(){return FrameCodec$2.MAX_FRAME_SIZE}},Stream$8=class{_onData;_onClose;_onError;_disposed=!1;_id;constructor(id,send,sendTypedCb){this.send=send,this.sendTypedCb=sendTypedCb,this._id=id}get id(){return this._id}get onData(){return this._onData||=new Emitter$3,this._onData.event}get onClose(){return this._onClose||=new Emitter$3,this._onClose.event}get onError(){return this._onError||=new Emitter$3,this._onError.event}write(data$2,isFirst=!1){if(this._disposed)throw Error(`Cannot write to disposed stream ${this.id}`);let maxPayload=FrameCodec$1.getMaxPayloadSize();if(data$2.length<=maxPayload){this.send({streamId:this.id,type:MessageType$1.DATA,flags:isFirst?Flag$1.NEW:0,payload:data$2});return}let offset=0,firstChunk=!0;for(;offset<data$2.length;){let remaining=data$2.length-offset,chunkSize=remaining>maxPayload?maxPayload:remaining,chunk$1=data$2.subarray(offset,offset+chunkSize);this.send({streamId:this.id,type:MessageType$1.DATA,flags:isFirst&&firstChunk?Flag$1.NEW:0,payload:chunk$1}),offset+=chunkSize,firstChunk=!1}}writeTyped(typeByte,data$2,isFirst=!1){if(this._disposed)throw Error(`Cannot write to disposed stream ${this.id}`);if(!this.sendTypedCb){let merged=new Uint8Array(1+data$2.length);merged[0]=typeByte&255,data$2.length&&merged.set(data$2,1),this.write(merged,isFirst);return}let maxPayload=FrameCodec$1.getMaxPayloadSize()-1;if(data$2.length<=maxPayload){this.sendTypedCb(this.id,isFirst?Flag$1.NEW:0,typeByte,data$2);return}let offset=0,firstChunk=!0;for(;offset<data$2.length;){let remaining=data$2.length-offset,chunkSize=remaining>maxPayload?maxPayload:remaining,chunk$1=data$2.subarray(offset,offset+chunkSize);this.sendTypedCb(this.id,isFirst&&firstChunk?Flag$1.NEW:0,typeByte,chunk$1),offset+=chunkSize,firstChunk=!1}}close(){this._disposed||(this.send({streamId:this.id,type:MessageType$1.CLOSE,flags:0,payload:new Uint8Array}),this._dispose())}error(message){this._disposed||this.send({streamId:this.id,type:MessageType$1.ERROR,flags:0,payload:new TextEncoder().encode(message)})}_handleFrame(frame){if(!this._disposed)switch(frame.type){case MessageType$1.DATA:this._onData?.emit(frame.payload);break;case MessageType$1.CLOSE:this._onClose?.emit(),this._dispose();break;case MessageType$1.ERROR:let error$22=new TextDecoder().decode(frame.payload);this._onError?.emit(error$22),this._dispose();break}}_dispose(){this._disposed||(this._disposed=!0,this._onData?.dispose(),this._onClose?.dispose(),this._onError?.dispose(),this._onData=void 0,this._onClose=void 0,this._onError=void 0)}_reset(newId,newSend,newSendTyped){this._dispose(),this._id=newId,this.send=newSend,this.sendTypedCb=newSendTyped,this._disposed=!1}get createdByClient(){return this.id%2==1}get disposed(){return this._disposed}},StreamPool$1=class{static MAX_POOL_SIZE=200;static pool=[];static acquire(id,send,sendTyped){let stream$10=this.pool.pop();return stream$10?(stream$10._reset(id,send,sendTyped),stream$10):new Stream$8(id,send,sendTyped)}static release(stream$10){this.pool.length<this.MAX_POOL_SIZE&&this.pool.push(stream$10)}},Multiplexer$1=class{_onNextStreamIDChange=new Emitter$3;onNextStreamIDChange=this._onNextStreamIDChange.event;_onStream=new Emitter$3;onStream=this._onStream.event;streams=[];streamCount=0;nextStreamId=1;send;releaseAfterSend;constructor(opts){this.nextStreamId=opts.initialNextStreamID??(opts.isClient?1:2),this.send=opts.send,this.releaseAfterSend=!!opts.releaseAfterSend}getStream(id){return this.streams[id]}createStream(id){id===void 0&&(id=this.nextStreamId,this.nextStreamId+=2,this._onNextStreamIDChange.emit(this.nextStreamId));let existingStream=this.streams[id];if(existingStream&&!existingStream.disposed)throw Error(`Stream ${id} already exists`);let stream$10=StreamPool$1.acquire(id,frame=>this.sendFrame(frame),(sid,flags,typeByte,payload)=>this.sendFrameTyped(sid,typeByte,flags,payload));return this.streams[id]=stream$10,this.streamCount++,stream$10}sendFrame(frame){let encoded=FrameCodec$1.encode(frame);try{this.send(encoded)}finally{this.releaseAfterSend&&FrameCodec$1.releaseBuffer(encoded)}}sendFrameTyped(streamId,appTypeByte,flags,payload){let encoded=FrameCodec$1.encodeTyped(streamId,MessageType$1.DATA,flags,appTypeByte,payload);try{this.send(encoded)}finally{this.releaseAfterSend&&FrameCodec$1.releaseBuffer(encoded)}}handleMessage(data$2){this.handleFrame(FrameCodec$1.decode(data$2))}handleFrame(frame){let stream$10=this.streams[frame.streamId];(!stream$10||stream$10.disposed)&&(stream$10=StreamPool$1.acquire(frame.streamId,frame$1=>this.sendFrame(frame$1),(sid,flags,typeByte,payload)=>this.sendFrameTyped(sid,typeByte,flags,payload)),this.streams[frame.streamId]=stream$10,this.streamCount++,this._onStream.emit(stream$10)),stream$10._handleFrame(frame),(frame.type===MessageType$1.CLOSE||frame.type===MessageType$1.ERROR)&&(this.streams[frame.streamId]=void 0,this.streamCount--,StreamPool$1.release(stream$10))}get activeStreamCount(){return this.streamCount}dispose(){for(let stream$10 of this.streams)stream$10&&!stream$10.disposed&&(stream$10.close(),StreamPool$1.release(stream$10));this.streams.length=0,this.streamCount=0,this._onNextStreamIDChange.dispose(),this._onStream.dispose()}};const defaultMessages$1=`End-Of-Stream`;var EndOfStreamError$1=class extends Error{constructor(){super(`End-Of-Stream`),this.name=`EndOfStreamError`}},AbortError$8=class extends Error{constructor(message=`The operation was aborted`){super(message),this.name=`AbortError`}},AbstractStreamReader$1=class{constructor(){this.endOfStream=!1,this.interrupted=!1,this.peekQueue=[]}async peek(uint8Array,mayBeLess=!1){let bytesRead=await this.read(uint8Array,mayBeLess);return this.peekQueue.push(uint8Array.subarray(0,bytesRead)),bytesRead}async read(buffer$2,mayBeLess=!1){if(buffer$2.length===0)return 0;let bytesRead=this.readFromPeekBuffer(buffer$2);if(this.endOfStream||(bytesRead+=await this.readRemainderFromStream(buffer$2.subarray(bytesRead),mayBeLess)),bytesRead===0&&!mayBeLess)throw new EndOfStreamError$1;return bytesRead}readFromPeekBuffer(buffer$2){let remaining=buffer$2.length,bytesRead=0;for(;this.peekQueue.length>0&&remaining>0;){let peekData=this.peekQueue.pop();if(!peekData)throw Error(`peekData should be defined`);let lenCopy=Math.min(peekData.length,remaining);buffer$2.set(peekData.subarray(0,lenCopy),bytesRead),bytesRead+=lenCopy,remaining-=lenCopy,lenCopy<peekData.length&&this.peekQueue.push(peekData.subarray(lenCopy))}return bytesRead}async readRemainderFromStream(buffer$2,mayBeLess){let bytesRead=0;for(;bytesRead<buffer$2.length&&!this.endOfStream;){if(this.interrupted)throw new AbortError$8;let chunkLen=await this.readFromStream(buffer$2.subarray(bytesRead),mayBeLess);if(chunkLen===0)break;bytesRead+=chunkLen}if(!mayBeLess&&bytesRead<buffer$2.length)throw new EndOfStreamError$1;return bytesRead}},WebStreamReader$1=class extends AbstractStreamReader$1{constructor(reader){super(),this.reader=reader}async abort(){return this.close()}async close(){this.reader.releaseLock()}},WebStreamByobReader$1=class extends WebStreamReader$1{async readFromStream(buffer$2,mayBeLess){if(buffer$2.length===0)return 0;let result=await this.reader.read(new Uint8Array(buffer$2.length),{min:mayBeLess?void 0:buffer$2.length});return result.done&&(this.endOfStream=result.done),result.value?(buffer$2.set(result.value),result.value.length):0}},WebStreamDefaultReader$1=class extends AbstractStreamReader$1{constructor(reader){super(),this.reader=reader,this.buffer=null}writeChunk(target,chunk$1){let written=Math.min(chunk$1.length,target.length);return target.set(chunk$1.subarray(0,written)),written<chunk$1.length?this.buffer=chunk$1.subarray(written):this.buffer=null,written}async readFromStream(buffer$2,mayBeLess){if(buffer$2.length===0)return 0;let totalBytesRead=0;for(this.buffer&&(totalBytesRead+=this.writeChunk(buffer$2,this.buffer));totalBytesRead<buffer$2.length&&!this.endOfStream;){let result=await this.reader.read();if(result.done){this.endOfStream=!0;break}result.value&&(totalBytesRead+=this.writeChunk(buffer$2.subarray(totalBytesRead),result.value))}if(!mayBeLess&&totalBytesRead===0&&this.endOfStream)throw new EndOfStreamError$1;return totalBytesRead}abort(){return this.interrupted=!0,this.reader.cancel()}async close(){await this.abort(),this.reader.releaseLock()}};function makeWebStreamReader$1(stream$10){try{let reader=stream$10.getReader({mode:`byob`});return reader instanceof ReadableStreamDefaultReader?new WebStreamDefaultReader$1(reader):new WebStreamByobReader$1(reader)}catch(error$22){if(error$22 instanceof TypeError)return new WebStreamDefaultReader$1(stream$10.getReader());throw error$22}}var AbstractTokenizer$1=class{constructor(options$1){this.numBuffer=new Uint8Array(8),this.position=0,this.onClose=options$1?.onClose,options$1?.abortSignal&&options$1.abortSignal.addEventListener(`abort`,()=>{this.abort()})}async readToken(token$1,position=this.position){let uint8Array=new Uint8Array(token$1.len),len$1=await this.readBuffer(uint8Array,{position});if(len$1<token$1.len)throw new EndOfStreamError$1;return token$1.get(uint8Array,0)}async peekToken(token$1,position=this.position){let uint8Array=new Uint8Array(token$1.len),len$1=await this.peekBuffer(uint8Array,{position});if(len$1<token$1.len)throw new EndOfStreamError$1;return token$1.get(uint8Array,0)}async readNumber(token$1){let len$1=await this.readBuffer(this.numBuffer,{length:token$1.len});if(len$1<token$1.len)throw new EndOfStreamError$1;return token$1.get(this.numBuffer,0)}async peekNumber(token$1){let len$1=await this.peekBuffer(this.numBuffer,{length:token$1.len});if(len$1<token$1.len)throw new EndOfStreamError$1;return token$1.get(this.numBuffer,0)}async ignore(length){if(this.fileInfo.size!==void 0){let bytesLeft=this.fileInfo.size-this.position;if(length>bytesLeft)return this.position+=bytesLeft,bytesLeft}return this.position+=length,length}async close(){await this.abort(),await this.onClose?.()}normalizeOptions(uint8Array,options$1){if(!this.supportsRandomAccess()&&options$1&&options$1.position!==void 0&&options$1.position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");return{mayBeLess:!1,offset:0,length:uint8Array.length,position:this.position,...options$1}}abort(){return Promise.resolve()}};const maxBufferSize$1=256e3;var ReadStreamTokenizer$1=class extends AbstractTokenizer$1{constructor(streamReader,options$1){super(options$1),this.streamReader=streamReader,this.fileInfo=options$1?.fileInfo??{}}async readBuffer(uint8Array,options$1){let normOptions=this.normalizeOptions(uint8Array,options$1),skipBytes=normOptions.position-this.position;if(skipBytes>0)return await this.ignore(skipBytes),this.readBuffer(uint8Array,options$1);if(skipBytes<0)throw Error("`options.position` must be equal or greater than `tokenizer.position`");if(normOptions.length===0)return 0;let bytesRead=await this.streamReader.read(uint8Array.subarray(0,normOptions.length),normOptions.mayBeLess);if(this.position+=bytesRead,(!options$1||!options$1.mayBeLess)&&bytesRead<normOptions.length)throw new EndOfStreamError$1;return bytesRead}async peekBuffer(uint8Array,options$1){let normOptions=this.normalizeOptions(uint8Array,options$1),bytesRead=0;if(normOptions.position){let skipBytes=normOptions.position-this.position;if(skipBytes>0){let skipBuffer=new Uint8Array(normOptions.length+skipBytes);return bytesRead=await this.peekBuffer(skipBuffer,{mayBeLess:normOptions.mayBeLess}),uint8Array.set(skipBuffer.subarray(skipBytes)),bytesRead-skipBytes}if(skipBytes<0)throw Error(`Cannot peek from a negative offset in a stream`)}if(normOptions.length>0){try{bytesRead=await this.streamReader.peek(uint8Array.subarray(0,normOptions.length),normOptions.mayBeLess)}catch(err$1$1){if(options$1?.mayBeLess&&err$1$1 instanceof EndOfStreamError$1)return 0;throw err$1$1}if(!normOptions.mayBeLess&&bytesRead<normOptions.length)throw new EndOfStreamError$1}return bytesRead}async ignore(length){let bufSize=Math.min(256e3,length),buf=new Uint8Array(bufSize),totBytesRead=0;for(;totBytesRead<length;){let remaining=length-totBytesRead,bytesRead=await this.readBuffer(buf,{length:Math.min(bufSize,remaining)});if(bytesRead<0)return bytesRead;totBytesRead+=bytesRead}return totBytesRead}abort(){return this.streamReader.abort()}async close(){return this.streamReader.close()}supportsRandomAccess(){return!1}},BufferTokenizer$1=class extends AbstractTokenizer$1{constructor(uint8Array,options$1){super(options$1),this.uint8Array=uint8Array,this.fileInfo={...options$1?.fileInfo??{},size:uint8Array.length}}async readBuffer(uint8Array,options$1){options$1?.position&&(this.position=options$1.position);let bytesRead=await this.peekBuffer(uint8Array,options$1);return this.position+=bytesRead,bytesRead}async peekBuffer(uint8Array,options$1){let normOptions=this.normalizeOptions(uint8Array,options$1),bytes2read=Math.min(this.uint8Array.length-normOptions.position,normOptions.length);if(!normOptions.mayBeLess&&bytes2read<normOptions.length)throw new EndOfStreamError$1;return uint8Array.set(this.uint8Array.subarray(normOptions.position,normOptions.position+bytes2read)),bytes2read}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(position){this.position=position}};function fromWebStream$1(webStream,options$1){let webStreamReader=makeWebStreamReader$1(webStream),_options$1=options$1??{},chainedClose=_options$1.onClose;return _options$1.onClose=async()=>{if(await webStreamReader.close(),chainedClose)return chainedClose()},new ReadStreamTokenizer$1(webStreamReader,_options$1)}function fromBuffer$2(uint8Array,options$1){return new BufferTokenizer$1(uint8Array,options$1)}const WINDOWS_1252_EXTRA$1={128:`€`,130:`‚`,131:`ƒ`,132:`„`,133:`…`,134:`†`,135:`‡`,136:`ˆ`,137:`‰`,138:`Š`,139:`‹`,140:`Œ`,142:`Ž`,145:`‘`,146:`’`,147:`“`,148:`”`,149:`•`,150:`–`,151:`—`,152:`˜`,153:`™`,154:`š`,155:`›`,156:`œ`,158:`ž`,159:`Ÿ`},WINDOWS_1252_REVERSE$1={};for(let[code$1,char]of Object.entries(WINDOWS_1252_EXTRA$1))WINDOWS_1252_REVERSE$1[char]=Number.parseInt(code$1);function textDecode$1(bytes,encoding=`utf-8`){switch(encoding.toLowerCase()){case`utf-8`:case`utf8`:return globalThis.TextDecoder===void 0?decodeUTF8$1(bytes):new globalThis.TextDecoder(`utf-8`).decode(bytes);case`utf-16le`:return decodeUTF16LE$1(bytes);case`ascii`:return decodeASCII$1(bytes);case`latin1`:case`iso-8859-1`:return decodeLatin1$1(bytes);case`windows-1252`:return decodeWindows1252$1(bytes);default:throw RangeError(`Encoding '${encoding}' not supported`)}}function decodeUTF8$1(bytes){let out=``,i$1$1=0;for(;i$1$1<bytes.length;){let b1=bytes[i$1$1++];if(b1<128)out+=String.fromCharCode(b1);else if(b1<224){let b2=bytes[i$1$1++]&63;out+=String.fromCharCode((b1&31)<<6|b2)}else if(b1<240){let b2=bytes[i$1$1++]&63,b3=bytes[i$1$1++]&63;out+=String.fromCharCode((b1&15)<<12|b2<<6|b3)}else{let b2=bytes[i$1$1++]&63,b3=bytes[i$1$1++]&63,b4=bytes[i$1$1++]&63,cp$1=(b1&7)<<18|b2<<12|b3<<6|b4;cp$1-=65536,out+=String.fromCharCode(55296+(cp$1>>10&1023),56320+(cp$1&1023))}}return out}function decodeUTF16LE$1(bytes){let out=``;for(let i$1$1=0;i$1$1<bytes.length;i$1$1+=2)out+=String.fromCharCode(bytes[i$1$1]|bytes[i$1$1+1]<<8);return out}function decodeASCII$1(bytes){return String.fromCharCode(...bytes.map(b$4=>b$4&127))}function decodeLatin1$1(bytes){return String.fromCharCode(...bytes)}function decodeWindows1252$1(bytes){let out=``;for(let b$4 of bytes)b$4>=128&&b$4<=159&&WINDOWS_1252_EXTRA$1[b$4]?out+=WINDOWS_1252_EXTRA$1[b$4]:out+=String.fromCharCode(b$4);return out}function dv$1(array){return new DataView(array.buffer,array.byteOffset)}const UINT8$1={len:1,get(array,offset){return dv$1(array).getUint8(offset)},put(array,offset,value){return dv$1(array).setUint8(offset,value),offset+1}},UINT16_LE$1={len:2,get(array,offset){return dv$1(array).getUint16(offset,!0)},put(array,offset,value){return dv$1(array).setUint16(offset,value,!0),offset+2}},UINT16_BE$1={len:2,get(array,offset){return dv$1(array).getUint16(offset)},put(array,offset,value){return dv$1(array).setUint16(offset,value),offset+2}},UINT32_LE$1={len:4,get(array,offset){return dv$1(array).getUint32(offset,!0)},put(array,offset,value){return dv$1(array).setUint32(offset,value,!0),offset+4}},UINT32_BE$1={len:4,get(array,offset){return dv$1(array).getUint32(offset)},put(array,offset,value){return dv$1(array).setUint32(offset,value),offset+4}},INT32_BE$1={len:4,get(array,offset){return dv$1(array).getInt32(offset)},put(array,offset,value){return dv$1(array).setInt32(offset,value),offset+4}},UINT64_LE$1={len:8,get(array,offset){return dv$1(array).getBigUint64(offset,!0)},put(array,offset,value){return dv$1(array).setBigUint64(offset,value,!0),offset+8}};var StringType$1=class{constructor(len$1,encoding){this.len=len$1,this.encoding=encoding}get(data$2,offset=0){let bytes=data$2.subarray(offset,offset+this.len);return textDecode$1(bytes,this.encoding)}},require$1$1=createRequire$1(`/`),Worker$1;try{Worker$1=require$1$1(`worker_threads`).Worker}catch{}var u8$1=Uint8Array,u16$1=Uint16Array,i32$1=Int32Array,fleb$1=new u8$1([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),fdeb$1=new u8$1([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),clim$1=new u8$1([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),freb$1=function(eb,start$1){for(var b$4=new u16$1(31),i$1$1=0;i$1$1<31;++i$1$1)b$4[i$1$1]=start$1+=1<<eb[i$1$1-1];for(var r$3=new i32$1(b$4[30]),i$1$1=1;i$1$1<30;++i$1$1)for(var j$2=b$4[i$1$1];j$2<b$4[i$1$1+1];++j$2)r$3[j$2]=j$2-b$4[i$1$1]<<5|i$1$1;return{b:b$4,r:r$3}},_a$14=freb$1(fleb$1,2),fl$1=_a$14.b,revfl$1=_a$14.r;fl$1[28]=258,revfl$1[258]=28;var _b$4=freb$1(fdeb$1,0),fd$1=_b$4.b;_b$4.r;for(var rev$1=new u16$1(32768),i$6=0;i$6<32768;++i$6){var x$4=(i$6&43690)>>1|(i$6&21845)<<1;x$4=(x$4&52428)>>2|(x$4&13107)<<2,x$4=(x$4&61680)>>4|(x$4&3855)<<4,rev$1[i$6]=((x$4&65280)>>8|(x$4&255)<<8)>>1}for(var hMap$1=(function(cd,mb,r$3){for(var s$1$1=cd.length,i$1$1=0,l$2=new u16$1(mb);i$1$1<s$1$1;++i$1$1)cd[i$1$1]&&++l$2[cd[i$1$1]-1];var le$3=new u16$1(mb);for(i$1$1=1;i$1$1<mb;++i$1$1)le$3[i$1$1]=le$3[i$1$1-1]+l$2[i$1$1-1]<<1;var co;if(r$3){co=new u16$1(1<<mb);var rvb=15-mb;for(i$1$1=0;i$1$1<s$1$1;++i$1$1)if(cd[i$1$1])for(var sv=i$1$1<<4|cd[i$1$1],r_1=mb-cd[i$1$1],v$2=le$3[cd[i$1$1]-1]++<<r_1,m$1$1=v$2|(1<<r_1)-1;v$2<=m$1$1;++v$2)co[rev$1[v$2]>>rvb]=sv}else for(co=new u16$1(s$1$1),i$1$1=0;i$1$1<s$1$1;++i$1$1)cd[i$1$1]&&(co[i$1$1]=rev$1[le$3[cd[i$1$1]-1]++]>>15-cd[i$1$1]);return co}),flt$1=new u8$1(288),i$6=0;i$6<144;++i$6)flt$1[i$6]=8;for(var i$6=144;i$6<256;++i$6)flt$1[i$6]=9;for(var i$6=256;i$6<280;++i$6)flt$1[i$6]=7;for(var i$6=280;i$6<288;++i$6)flt$1[i$6]=8;for(var fdt$1=new u8$1(32),i$6=0;i$6<32;++i$6)fdt$1[i$6]=5;var flrm$1=hMap$1(flt$1,9,1),fdrm$1=hMap$1(fdt$1,5,1),max$2=function(a$4){for(var m$1$1=a$4[0],i$1$1=1;i$1$1<a$4.length;++i$1$1)a$4[i$1$1]>m$1$1&&(m$1$1=a$4[i$1$1]);return m$1$1},bits$1=function(d$1$1,p$2,m$1$1){var o$3=p$2/8|0;return(d$1$1[o$3]|d$1$1[o$3+1]<<8)>>(p$2&7)&m$1$1},bits16$1=function(d$1$1,p$2){var o$3=p$2/8|0;return(d$1$1[o$3]|d$1$1[o$3+1]<<8|d$1$1[o$3+2]<<16)>>(p$2&7)},shft$1=function(p$2){return(p$2+7)/8|0},slc$1=function(v$2,s$1$1,e$3){return(s$1$1==null||s$1$1<0)&&(s$1$1=0),(e$3==null||e$3>v$2.length)&&(e$3=v$2.length),new u8$1(v$2.subarray(s$1$1,e$3))},ec$1=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],err$1=function(ind,msg,nt){var e$3=Error(msg||ec$1[ind]);if(e$3.code=ind,Error.captureStackTrace&&Error.captureStackTrace(e$3,err$1),!nt)throw e$3;return e$3},inflt$1=function(dat,st,buf,dict){var sl=dat.length,dl=dict?dict.length:0;if(!sl||st.f&&!st.l)return buf||new u8$1(0);var noBuf=!buf,resize=noBuf||st.i!=2,noSt=st.i;noBuf&&(buf=new u8$1(sl*3));var cbuf=function(l$1$1){var bl=buf.length;if(l$1$1>bl){var nbuf=new u8$1(Math.max(bl*2,l$1$1));nbuf.set(buf),buf=nbuf}},final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n,tbts=sl*8;do{if(!lm){final=bits$1(dat,pos,1);var type=bits$1(dat,pos+1,3);if(pos+=3,type)if(type==1)lm=flrm$1,dm=fdrm$1,lbt=9,dbt=5;else if(type==2){var hLit=bits$1(dat,pos,31)+257,hcLen=bits$1(dat,pos+10,15)+4,tl=hLit+bits$1(dat,pos+5,31)+1;pos+=14;for(var ldt=new u8$1(tl),clt=new u8$1(19),i$1$1=0;i$1$1<hcLen;++i$1$1)clt[clim$1[i$1$1]]=bits$1(dat,pos+i$1$1*3,7);pos+=hcLen*3;for(var clb=max$2(clt),clbmsk=(1<<clb)-1,clm=hMap$1(clt,clb,1),i$1$1=0;i$1$1<tl;){var r$3=clm[bits$1(dat,pos,clbmsk)];pos+=r$3&15;var s$1$1=r$3>>4;if(s$1$1<16)ldt[i$1$1++]=s$1$1;else{var c$3=0,n$2=0;for(s$1$1==16?(n$2=3+bits$1(dat,pos,3),pos+=2,c$3=ldt[i$1$1-1]):s$1$1==17?(n$2=3+bits$1(dat,pos,7),pos+=3):s$1$1==18&&(n$2=11+bits$1(dat,pos,127),pos+=7);n$2--;)ldt[i$1$1++]=c$3}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max$2(lt),dbt=max$2(dt),lm=hMap$1(lt,lbt,1),dm=hMap$1(dt,dbt,1)}else err$1(1);else{var s$1$1=shft$1(pos)+4,l$2=dat[s$1$1-4]|dat[s$1$1-3]<<8,t$1=s$1$1+l$2;if(t$1>sl){noSt&&err$1(0);break}resize&&cbuf(bt+l$2),buf.set(dat.subarray(s$1$1,t$1),bt),st.b=bt+=l$2,st.p=pos=t$1*8,st.f=final;continue}if(pos>tbts){noSt&&err$1(0);break}}resize&&cbuf(bt+131072);for(var lms=(1<<lbt)-1,dms=(1<<dbt)-1,lpos=pos;;lpos=pos){var c$3=lm[bits16$1(dat,pos)&lms],sym=c$3>>4;if(pos+=c$3&15,pos>tbts){noSt&&err$1(0);break}if(c$3||err$1(2),sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i$1$1=sym-257,b$4=fleb$1[i$1$1];add=bits$1(dat,pos,(1<<b$4)-1)+fl$1[i$1$1],pos+=b$4}var d$1$1=dm[bits16$1(dat,pos)&dms],dsym=d$1$1>>4;d$1$1||err$1(3),pos+=d$1$1&15;var dt=fd$1[dsym];if(dsym>3){var b$4=fdeb$1[dsym];dt+=bits16$1(dat,pos)&(1<<b$4)-1,pos+=b$4}if(pos>tbts){noSt&&err$1(0);break}resize&&cbuf(bt+131072);var end=bt+add;if(bt<dt){var shift=dl-dt,dend=Math.min(dt,end);for(shift+bt<0&&err$1(3);bt<dend;++bt)buf[bt]=dict[shift+bt]}for(;bt<end;++bt)buf[bt]=buf[bt-dt]}}st.l=lm,st.p=lpos,st.b=bt,st.f=final,lm&&(final=1,st.m=lbt,st.d=dm,st.n=dbt)}while(!final);return bt!=buf.length&&noBuf?slc$1(buf,0,bt):buf.subarray(0,bt)},et$1=new u8$1(0),gzs$1=function(d$1$1){(d$1$1[0]!=31||d$1$1[1]!=139||d$1$1[2]!=8)&&err$1(6,`invalid gzip data`);var flg=d$1$1[3],st=10;flg&4&&(st+=(d$1$1[10]|d$1$1[11]<<8)+2);for(var zs=(flg>>3&1)+(flg>>4&1);zs>0;zs-=!d$1$1[st++]);return st+(flg&2)},gzl$1=function(d$1$1){var l$2=d$1$1.length;return(d$1$1[l$2-4]|d$1$1[l$2-3]<<8|d$1$1[l$2-2]<<16|d$1$1[l$2-1]<<24)>>>0},zls$1=function(d$1$1,dict){return((d$1$1[0]&15)!=8||d$1$1[0]>>4>7||(d$1$1[0]<<8|d$1$1[1])%31)&&err$1(6,`invalid zlib data`),(d$1$1[1]>>5&1)==+!dict&&err$1(6,`invalid zlib data: `+(d$1$1[1]&32?`need`:`unexpected`)+` dictionary`),(d$1$1[1]>>3&4)+2};function inflateSync$1(data$2,opts){return inflt$1(data$2,{i:2},opts&&opts.out,opts&&opts.dictionary)}function gunzipSync$1(data$2,opts){var st=gzs$1(data$2);return st+8>data$2.length&&err$1(6,`invalid gzip data`),inflt$1(data$2.subarray(st,-8),{i:2},opts&&opts.out||new u8$1(gzl$1(data$2)),opts&&opts.dictionary)}function unzlibSync$1(data$2,opts){return inflt$1(data$2.subarray(zls$1(data$2,opts&&opts.dictionary),-4),{i:2},opts&&opts.out,opts&&opts.dictionary)}function decompressSync$1(data$2,opts){return data$2[0]==31&&data$2[1]==139&&data$2[2]==8?gunzipSync$1(data$2,opts):(data$2[0]&15)!=8||data$2[0]>>4>7||(data$2[0]<<8|data$2[1])%31?inflateSync$1(data$2,opts):unzlibSync$1(data$2,opts)}var td$1=typeof TextDecoder<`u`&&new TextDecoder,tds$1=0;try{td$1.decode(et$1,{stream:!0}),tds$1=1}catch{}var require_ms$2=__commonJS$2({"../../node_modules/ms/index.js":((exports$1,module$1)=>{var s$3=1e3,m$3=s$3*60,h$4=m$3*60,d$5=h$4*24,w$4=d$5*7,y$3=d$5*365.25;module$1.exports=function(val,options$1){options$1||={};var type=typeof val;if(type===`string`&&val.length>0)return parse$3$1(val);if(type===`number`&&isFinite(val))return options$1.long?fmtLong$1(val):fmtShort$1(val);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(val))};function parse$3$1(str$1){if(str$1=String(str$1),!(str$1.length>100)){var match$1=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str$1);if(match$1){var n$2=parseFloat(match$1[1]),type=(match$1[2]||`ms`).toLowerCase();switch(type){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return n$2*y$3;case`weeks`:case`week`:case`w`:return n$2*w$4;case`days`:case`day`:case`d`:return n$2*d$5;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return n$2*h$4;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return n$2*m$3;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return n$2*s$3;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return n$2;default:return}}}}function fmtShort$1(ms){var msAbs=Math.abs(ms);return msAbs>=d$5?Math.round(ms/d$5)+`d`:msAbs>=h$4?Math.round(ms/h$4)+`h`:msAbs>=m$3?Math.round(ms/m$3)+`m`:msAbs>=s$3?Math.round(ms/s$3)+`s`:ms+`ms`}function fmtLong$1(ms){var msAbs=Math.abs(ms);return msAbs>=d$5?plural$1(ms,msAbs,d$5,`day`):msAbs>=h$4?plural$1(ms,msAbs,h$4,`hour`):msAbs>=m$3?plural$1(ms,msAbs,m$3,`minute`):msAbs>=s$3?plural$1(ms,msAbs,s$3,`second`):ms+` ms`}function plural$1(ms,msAbs,n$2,name$5){var isPlural=msAbs>=n$2*1.5;return Math.round(ms/n$2)+` `+name$5+(isPlural?`s`:``)}})}),require_common$5=__commonJS$2({"../../node_modules/debug/src/common.js":((exports$1,module$1)=>{function setup$8(env$1$1){createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=coerce,createDebug.disable=disable,createDebug.enable=enable,createDebug.enabled=enabled,createDebug.humanize=require_ms$2(),createDebug.destroy=destroy$2,Object.keys(env$1$1).forEach(key=>{createDebug[key]=env$1$1[key]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={};function selectColor(namespace){let hash$1=0;for(let i$1$1=0;i$1$1<namespace.length;i$1$1++)hash$1=(hash$1<<5)-hash$1+namespace.charCodeAt(i$1$1),hash$1|=0;return createDebug.colors[Math.abs(hash$1)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime,enableOverride=null,namespacesCache,enabledCache;function debug$1$1(...args){if(!debug$1$1.enabled)return;let self$1=debug$1$1,curr=Number(new Date),ms=curr-(prevTime||curr);self$1.diff=ms,self$1.prev=prevTime,self$1.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),typeof args[0]!=`string`&&args.unshift(`%O`);let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(match$1,format$2$1)=>{if(match$1===`%%`)return`%`;index++;let formatter$1=createDebug.formatters[format$2$1];if(typeof formatter$1==`function`){let val=args[index];match$1=formatter$1.call(self$1,val),args.splice(index,1),index--}return match$1}),createDebug.formatArgs.call(self$1,args);let logFn=self$1.log||createDebug.log;logFn.apply(self$1,args)}return debug$1$1.namespace=namespace,debug$1$1.useColors=createDebug.useColors(),debug$1$1.color=createDebug.selectColor(namespace),debug$1$1.extend=extend,debug$1$1.destroy=createDebug.destroy,Object.defineProperty(debug$1$1,`enabled`,{enumerable:!0,configurable:!1,get:()=>enableOverride===null?(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache):enableOverride,set:v$2=>{enableOverride=v$2}}),typeof createDebug.init==`function`&&createDebug.init(debug$1$1),debug$1$1}function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(delimiter===void 0?`:`:delimiter)+namespace);return newDebug.log=this.log,newDebug}function enable(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=(typeof namespaces==`string`?namespaces:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let ns of split)ns[0]===`-`?createDebug.skips.push(ns.slice(1)):createDebug.names.push(ns)}function matchesTemplate(search,template$1){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;for(;searchIndex<search.length;)if(templateIndex<template$1.length&&(template$1[templateIndex]===search[searchIndex]||template$1[templateIndex]===`*`))template$1[templateIndex]===`*`?(starIndex=templateIndex,matchIndex=searchIndex,templateIndex++):(searchIndex++,templateIndex++);else if(starIndex!==-1)templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex;else return!1;for(;templateIndex<template$1.length&&template$1[templateIndex]===`*`;)templateIndex++;return templateIndex===template$1.length}function disable(){let namespaces=[...createDebug.names,...createDebug.skips.map(namespace=>`-`+namespace)].join(`,`);return createDebug.enable(``),namespaces}function enabled(name$5){for(let skip of createDebug.skips)if(matchesTemplate(name$5,skip))return!1;for(let ns of createDebug.names)if(matchesTemplate(name$5,ns))return!0;return!1}function coerce(val){return val instanceof Error?val.stack||val.message:val}function destroy$2(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return createDebug.enable(createDebug.load()),createDebug}module$1.exports=setup$8})}),require_browser$2=__commonJS$2({"../../node_modules/debug/src/browser.js":((exports$1,module$1)=>{exports$1.formatArgs=formatArgs$1$1,exports$1.save=save$1$1,exports$1.load=load$1$1,exports$1.useColors=useColors$1$1,exports$1.storage=localstorage$1(),exports$1.destroy=(()=>{let warned$1=!1;return()=>{warned$1||(warned$1=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),exports$1.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function useColors$1$1(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m$1$1;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(m$1$1=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m$1$1[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs$1$1(args){if(args[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+args[0]+(this.useColors?`%c `:` `)+`+`+module$1.exports.humanize(this.diff),!this.useColors)return;let c$3=`color: `+this.color;args.splice(1,0,c$3,`color: inherit`);let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,match$1=>{match$1!==`%%`&&(index++,match$1===`%c`&&(lastC=index))}),args.splice(lastC,0,c$3)}exports$1.log=console.debug||console.log||(()=>{});function save$1$1(namespaces){try{namespaces?exports$1.storage.setItem(`debug`,namespaces):exports$1.storage.removeItem(`debug`)}catch{}}function load$1$1(){let r$3;try{r$3=exports$1.storage.getItem(`debug`)||exports$1.storage.getItem(`DEBUG`)}catch{}return!r$3&&typeof process<`u`&&`env`in process&&(r$3=process.env.DEBUG),r$3}function localstorage$1(){try{return localStorage}catch{}}module$1.exports=require_common$5()(exports$1);let{formatters:formatters$1$1}=module$1.exports;formatters$1$1.j=function(v$2){try{return JSON.stringify(v$2)}catch(error$22){return`[UnexpectedJSONParseError]: `+error$22.message}}})}),require_has_flag$3=__commonJS$2({"../../node_modules/has-flag/index.js":((exports$1,module$1)=>{module$1.exports=(flag,argv$1=process.argv)=>{let prefix=flag.startsWith(`-`)?``:flag.length===1?`-`:`--`,position=argv$1.indexOf(prefix+flag),terminatorPosition=argv$1.indexOf(`--`);return position!==-1&&(terminatorPosition===-1||position<terminatorPosition)}})}),require_supports_color$4=__commonJS$2({"../../node_modules/supports-color/index.js":((exports$1,module$1)=>{let os$14=__require$2(`os`),tty$1$1=__require$2(`tty`),hasFlag$6=require_has_flag$3(),{env:env$8}=process,forceColor$4;hasFlag$6(`no-color`)||hasFlag$6(`no-colors`)||hasFlag$6(`color=false`)||hasFlag$6(`color=never`)?forceColor$4=0:(hasFlag$6(`color`)||hasFlag$6(`colors`)||hasFlag$6(`color=true`)||hasFlag$6(`color=always`))&&(forceColor$4=1),`FORCE_COLOR`in env$8&&(forceColor$4=env$8.FORCE_COLOR===`true`?1:env$8.FORCE_COLOR===`false`?0:env$8.FORCE_COLOR.length===0?1:Math.min(parseInt(env$8.FORCE_COLOR,10),3));function translateLevel$5(level$1){return level$1===0?!1:{level:level$1,hasBasic:!0,has256:level$1>=2,has16m:level$1>=3}}function supportsColor$6(haveStream,streamIsTTY){if(forceColor$4===0)return 0;if(hasFlag$6(`color=16m`)||hasFlag$6(`color=full`)||hasFlag$6(`color=truecolor`))return 3;if(hasFlag$6(`color=256`))return 2;if(haveStream&&!streamIsTTY&&forceColor$4===void 0)return 0;let min=forceColor$4||0;if(env$8.TERM===`dumb`)return min;if(process.platform===`win32`){let osRelease=os$14.release().split(`.`);return Number(osRelease[0])>=10&&Number(osRelease[2])>=10586?Number(osRelease[2])>=14931?3:2:1}if(`CI`in env$8)return[`TRAVIS`,`CIRCLECI`,`APPVEYOR`,`GITLAB_CI`,`GITHUB_ACTIONS`,`BUILDKITE`].some(sign$2=>sign$2 in env$8)||env$8.CI_NAME===`codeship`?1:min;if(`TEAMCITY_VERSION`in env$8)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env$8.TEAMCITY_VERSION)?1:0;if(env$8.COLORTERM===`truecolor`)return 3;if(`TERM_PROGRAM`in env$8){let version$4=parseInt((env$8.TERM_PROGRAM_VERSION||``).split(`.`)[0],10);switch(env$8.TERM_PROGRAM){case`iTerm.app`:return version$4>=3?3:2;case`Apple_Terminal`:return 2}}return/-256(color)?$/i.test(env$8.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env$8.TERM)||`COLORTERM`in env$8?1:min}function getSupportLevel$4(stream$10){let level$1=supportsColor$6(stream$10,stream$10&&stream$10.isTTY);return translateLevel$5(level$1)}module$1.exports={supportsColor:getSupportLevel$4,stdout:translateLevel$5(supportsColor$6(!0,tty$1$1.isatty(1))),stderr:translateLevel$5(supportsColor$6(!0,tty$1$1.isatty(2)))}})}),require_node$20=__commonJS$2({"../../node_modules/debug/src/node.js":((exports$1,module$1)=>{let tty$6=__require$2(`tty`),util$68=__require$2(`util`);exports$1.init=init$4,exports$1.log=log$5,exports$1.formatArgs=formatArgs$2,exports$1.save=save$2,exports$1.load=load$7,exports$1.useColors=useColors$2,exports$1.destroy=util$68.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),exports$1.colors=[6,2,3,4,5,1];try{let supportsColor$1$1=require_supports_color$4();supportsColor$1$1&&(supportsColor$1$1.stderr||supportsColor$1$1).level>=2&&(exports$1.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}exports$1.inspectOpts=Object.keys(process.env).filter(key=>/^debug_/i.test(key)).reduce((obj,key)=>{let prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_$6,k$2)=>k$2.toUpperCase()),val=process.env[key];return val=/^(yes|on|true|enabled)$/i.test(val)?!0:/^(no|off|false|disabled)$/i.test(val)?!1:val===`null`?null:Number(val),obj[prop]=val,obj},{});function useColors$2(){return`colors`in exports$1.inspectOpts?!!exports$1.inspectOpts.colors:tty$6.isatty(process.stderr.fd)}function formatArgs$2(args){let{namespace:name$5,useColors:useColors$2$1}=this;if(useColors$2$1){let c$3=this.color,colorCode=`\x1B[3`+(c$3<8?c$3:`8;5;`+c$3),prefix=` ${colorCode};1m${name$5} \u001B[0m`;args[0]=prefix+args[0].split(`
28
+ `+contents}file.contents=Buffer.from(contents,`utf-8`)}})})}}]},loadEsbuild=()=>{try{return __require$3(`esbuild`)}catch{throw Error("esbuild is not installed. Please install it with `bun add esbuild`.")}};async function build(directory){directory||=process.cwd();let entrypoint=await resolveEntrypoint(directory),{outfile}=await build$1(entrypoint);console.log(`Built agent to ${outfile}`)}let isDockerCached;function hasDockerEnv(){try{return fs.statSync(`/.dockerenv`),!0}catch{return!1}}function hasDockerCGroup(){try{return fs.readFileSync(`/proc/self/cgroup`,`utf8`).includes(`docker`)}catch{return!1}}function isDocker(){return isDockerCached===void 0&&(isDockerCached=hasDockerEnv()||hasDockerCGroup()),isDockerCached}let cachedResult;const hasContainerEnv=()=>{try{return fs.statSync(`/run/.containerenv`),!0}catch{return!1}};function isInsideContainer(){return cachedResult===void 0&&(cachedResult=hasContainerEnv()||isDocker()),cachedResult}const isWsl=()=>{if(process$1.platform!==`linux`)return!1;if(os.release().toLowerCase().includes(`microsoft`))return!isInsideContainer();try{return fs.readFileSync(`/proc/version`,`utf8`).toLowerCase().includes(`microsoft`)?!isInsideContainer():!1}catch{return!1}};var is_wsl_default=process$1.env.__IS_WSL_TEST__?isWsl:isWsl();const wslDrivesMountPoint=(()=>{let defaultMountPoint=`/mnt/`,mountPoint;return async function(){if(mountPoint)return mountPoint;let configFilePath$1=`/etc/wsl.conf`,isConfigFileExists=!1;try{await fs$1.access(configFilePath$1,constants.F_OK),isConfigFileExists=!0}catch{}if(!isConfigFileExists)return defaultMountPoint;let configContent=await fs$1.readFile(configFilePath$1,{encoding:`utf8`}),configMountPoint=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(configContent);return configMountPoint?(mountPoint=configMountPoint.groups.mountPoint.trim(),mountPoint=mountPoint.endsWith(`/`)?mountPoint:`${mountPoint}/`,mountPoint):defaultMountPoint}})(),powerShellPathFromWsl=async()=>{let mountPoint=await wslDrivesMountPoint();return`${mountPoint}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},powerShellPath=async()=>is_wsl_default?powerShellPathFromWsl():`${process$1.env.SYSTEMROOT||process$1.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;function defineLazyProperty(object$1,propertyName,valueGetter){let define$2=value=>Object.defineProperty(object$1,propertyName,{value,enumerable:!0,writable:!0});return Object.defineProperty(object$1,propertyName,{configurable:!0,enumerable:!0,get(){let result=valueGetter();return define$2(result),result},set(value){define$2(value)}}),object$1}const execFileAsync$4=promisify(execFile);async function defaultBrowserId(){if(process$1.platform!==`darwin`)throw Error(`macOS only`);let{stdout:stdout$1}=await execFileAsync$4(`defaults`,[`read`,`com.apple.LaunchServices/com.apple.launchservices.secure`,`LSHandlers`]),match$1=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(stdout$1);return match$1?.groups.id??`com.apple.Safari`}const execFileAsync$3=promisify(execFile);async function runAppleScript(script,{humanReadableOutput=!0}={}){if(process$1.platform!==`darwin`)throw Error(`macOS only`);let outputArguments=humanReadableOutput?[]:[`-ss`],{stdout:stdout$1}=await execFileAsync$3(`osascript`,[`-e`,script,outputArguments]);return stdout$1.trim()}async function bundleName(bundleId){return runAppleScript(`tell application "Finder" to set app_path to application file id "${bundleId}" as string\ntell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}const execFileAsync$2=promisify(execFile),windowsBrowserProgIds={AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:`Edge`,id:`com.microsoft.edge.old`},MSEdgeDHTML:{name:`Edge`,id:`com.microsoft.edge`},MSEdgeHTM:{name:`Edge`,id:`com.microsoft.edge`},"IE.HTTP":{name:`Internet Explorer`,id:`com.microsoft.ie`},FirefoxURL:{name:`Firefox`,id:`org.mozilla.firefox`},ChromeHTML:{name:`Chrome`,id:`com.google.chrome`},BraveHTML:{name:`Brave`,id:`com.brave.Browser`},BraveBHTML:{name:`Brave Beta`,id:`com.brave.Browser.beta`},BraveSSHTM:{name:`Brave Nightly`,id:`com.brave.Browser.nightly`}};var UnknownBrowserError=class extends Error{};async function defaultBrowser$1(_execFileAsync=execFileAsync$2){let{stdout:stdout$1}=await _execFileAsync(`reg`,[`QUERY`,` HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice`,`/v`,`ProgId`]),match$1=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(stdout$1);if(!match$1)throw new UnknownBrowserError(`Cannot find Windows browser in stdout: ${JSON.stringify(stdout$1)}`);let{id}=match$1.groups,browser=windowsBrowserProgIds[id];if(!browser)throw new UnknownBrowserError(`Unknown browser ID: ${id}`);return browser}const execFileAsync$1=promisify(execFile),titleize=string=>string.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,x$5=>x$5.toUpperCase());async function defaultBrowser(){if(process$1.platform===`darwin`){let id=await defaultBrowserId(),name$5=await bundleName(id);return{name:name$5,id}}if(process$1.platform===`linux`){let{stdout:stdout$1}=await execFileAsync$1(`xdg-mime`,[`query`,`default`,`x-scheme-handler/http`]),id=stdout$1.trim(),name$5=titleize(id.replace(/.desktop$/,``).replace(`-`,` `));return{name:name$5,id}}if(process$1.platform===`win32`)return defaultBrowser$1();throw Error(`Only macOS, Linux, and Windows are supported`)}const execFile$1=promisify(childProcess.execFile),__dirname$3=path.dirname(fileURLToPath(import.meta.url)),localXdgOpenPath=path.join(__dirname$3,`xdg-open`),{platform:platform$4,arch}=process$1;async function getWindowsDefaultBrowserFromWsl(){let powershellPath=await powerShellPath(),rawCommand=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,encodedCommand=Buffer$1.from(rawCommand,`utf16le`).toString(`base64`),{stdout:stdout$1}=await execFile$1(powershellPath,[`-NoProfile`,`-NonInteractive`,`-ExecutionPolicy`,`Bypass`,`-EncodedCommand`,encodedCommand],{encoding:`utf8`}),progId=stdout$1.trim(),browserMap={ChromeHTML:`com.google.chrome`,BraveHTML:`com.brave.Browser`,MSEdgeHTM:`com.microsoft.edge`,FirefoxURL:`org.mozilla.firefox`};return browserMap[progId]?{id:browserMap[progId]}:{}}const pTryEach=async(array,mapper)=>{let latestError;for(let item of array)try{return await mapper(item)}catch(error$22){latestError=error$22}throw latestError},baseOpen=async options$1=>{if(options$1={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...options$1},Array.isArray(options$1.app))return pTryEach(options$1.app,singleApp=>baseOpen({...options$1,app:singleApp}));let{name:app,arguments:appArguments=[]}=options$1.app??{};if(appArguments=[...appArguments],Array.isArray(app))return pTryEach(app,appName=>baseOpen({...options$1,app:{name:appName,arguments:appArguments}}));if(app===`browser`||app===`browserPrivate`){let ids={"com.google.chrome":`chrome`,"google-chrome.desktop":`chrome`,"com.brave.Browser":`brave`,"org.mozilla.firefox":`firefox`,"firefox.desktop":`firefox`,"com.microsoft.msedge":`edge`,"com.microsoft.edge":`edge`,"com.microsoft.edgemac":`edge`,"microsoft-edge.desktop":`edge`},flags={chrome:`--incognito`,brave:`--incognito`,firefox:`--private-window`,edge:`--inPrivate`},browser=is_wsl_default?await getWindowsDefaultBrowserFromWsl():await defaultBrowser();if(browser.id in ids){let browserName=ids[browser.id];return app===`browserPrivate`&&appArguments.push(flags[browserName]),baseOpen({...options$1,app:{name:apps[browserName],arguments:appArguments}})}throw Error(`${browser.name} is not supported as a default browser`)}let command,cliArguments=[],childProcessOptions={};if(platform$4===`darwin`)command=`open`,options$1.wait&&cliArguments.push(`--wait-apps`),options$1.background&&cliArguments.push(`--background`),options$1.newInstance&&cliArguments.push(`--new`),app&&cliArguments.push(`-a`,app);else if(platform$4===`win32`||is_wsl_default&&!isInsideContainer()&&!app){command=await powerShellPath(),cliArguments.push(`-NoProfile`,`-NonInteractive`,`-ExecutionPolicy`,`Bypass`,`-EncodedCommand`),is_wsl_default||(childProcessOptions.windowsVerbatimArguments=!0);let encodedArguments=[`Start`];options$1.wait&&encodedArguments.push(`-Wait`),app?(encodedArguments.push(`"\`"${app}\`""`),options$1.target&&appArguments.push(options$1.target)):options$1.target&&encodedArguments.push(`"${options$1.target}"`),appArguments.length>0&&(appArguments=appArguments.map(argument=>`"\`"${argument}\`""`),encodedArguments.push(`-ArgumentList`,appArguments.join(`,`))),options$1.target=Buffer$1.from(encodedArguments.join(` `),`utf16le`).toString(`base64`)}else{if(app)command=app;else{let isBundled=!__dirname$3||__dirname$3===`/`,exeLocalXdgOpen=!1;try{await fs$1.access(localXdgOpenPath,constants.X_OK),exeLocalXdgOpen=!0}catch{}let useSystemXdgOpen=process$1.versions.electron??(platform$4===`android`||isBundled||!exeLocalXdgOpen);command=useSystemXdgOpen?`xdg-open`:localXdgOpenPath}appArguments.length>0&&cliArguments.push(...appArguments),options$1.wait||(childProcessOptions.stdio=`ignore`,childProcessOptions.detached=!0)}platform$4===`darwin`&&appArguments.length>0&&cliArguments.push(`--args`,...appArguments),options$1.target&&cliArguments.push(options$1.target);let subprocess=childProcess.spawn(command,cliArguments,childProcessOptions);return options$1.wait?new Promise((resolve$10,reject)=>{subprocess.once(`error`,reject),subprocess.once(`close`,exitCode=>{if(!options$1.allowNonzeroExitCode&&exitCode>0){reject(Error(`Exited with code ${exitCode}`));return}resolve$10(subprocess)})}):(subprocess.unref(),subprocess)},open$2=(target,options$1)=>{if(typeof target!=`string`)throw TypeError("Expected a `target`");return baseOpen({...options$1,target})};function detectArchBinary(binary){if(typeof binary==`string`||Array.isArray(binary))return binary;let{[arch]:archBinary}=binary;if(!archBinary)throw Error(`${arch} is not supported`);return archBinary}function detectPlatformBinary({[platform$4]:platformBinary},{wsl}){if(wsl&&is_wsl_default)return detectArchBinary(wsl);if(!platformBinary)throw Error(`${platform$4} is not supported`);return detectArchBinary(platformBinary)}const apps={};defineLazyProperty(apps,`chrome`,()=>detectPlatformBinary({darwin:`google chrome`,win32:`chrome`,linux:[`google-chrome`,`google-chrome-stable`,`chromium`]},{wsl:{ia32:`/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe`,x64:[`/mnt/c/Program Files/Google/Chrome/Application/chrome.exe`,`/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe`]}})),defineLazyProperty(apps,`brave`,()=>detectPlatformBinary({darwin:`brave browser`,win32:`brave`,linux:[`brave-browser`,`brave`]},{wsl:{ia32:`/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe`,x64:[`/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe`,`/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe`]}})),defineLazyProperty(apps,`firefox`,()=>detectPlatformBinary({darwin:`firefox`,win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:`firefox`},{wsl:`/mnt/c/Program Files/Mozilla Firefox/firefox.exe`})),defineLazyProperty(apps,`edge`,()=>detectPlatformBinary({darwin:`microsoft edge`,win32:`msedge`,linux:[`microsoft-edge`,`microsoft-edge-dev`]},{wsl:`/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe`})),defineLazyProperty(apps,`browser`,()=>`browser`),defineLazyProperty(apps,`browserPrivate`,()=>`browserPrivate`);var open_default=open$2;const createWebSocketMessagePayload$1=(payload,encoder$3)=>{let isText$1=typeof payload==`string`;typeof payload==`string`&&(payload=encoder$3.encode(payload));let arr=new Uint8Array(1+payload.byteLength);return arr[0]=isText$1?0:1,arr.set(new Uint8Array(payload),1),arr},parseWebSocketMessagePayload$1=(payload,decoder$2)=>payload[0]===0?decoder$2.decode(payload.subarray(1)):new Uint8Array(payload.subarray(1));let ClientMessageType$1=function(ClientMessageType$1$1){return ClientMessageType$1$1[ClientMessageType$1$1.REQUEST=0]=`REQUEST`,ClientMessageType$1$1[ClientMessageType$1$1.PROXY_INIT=1]=`PROXY_INIT`,ClientMessageType$1$1[ClientMessageType$1$1.PROXY_BODY=2]=`PROXY_BODY`,ClientMessageType$1$1[ClientMessageType$1$1.PROXY_WEBSOCKET_MESSAGE=3]=`PROXY_WEBSOCKET_MESSAGE`,ClientMessageType$1$1[ClientMessageType$1$1.PROXY_WEBSOCKET_CLOSE=4]=`PROXY_WEBSOCKET_CLOSE`,ClientMessageType$1$1}({}),ServerMessageType$1=function(ServerMessageType$1$1){return ServerMessageType$1$1[ServerMessageType$1$1.RESPONSE=0]=`RESPONSE`,ServerMessageType$1$1[ServerMessageType$1$1.NOTIFICATION=1]=`NOTIFICATION`,ServerMessageType$1$1[ServerMessageType$1$1.PROXY_INIT=2]=`PROXY_INIT`,ServerMessageType$1$1[ServerMessageType$1$1.PROXY_DATA=3]=`PROXY_DATA`,ServerMessageType$1$1[ServerMessageType$1$1.PROXY_WEBSOCKET_MESSAGE=4]=`PROXY_WEBSOCKET_MESSAGE`,ServerMessageType$1$1[ServerMessageType$1$1.PROXY_WEBSOCKET_CLOSE=5]=`PROXY_WEBSOCKET_CLOSE`,ServerMessageType$1$1}({});const ClientMessageSchema$1={[ClientMessageType$1.REQUEST]:z.string(),[ClientMessageType$1.PROXY_INIT]:z.object({method:z.string(),headers:z.record(z.string(),z.string()),url:z.string()}),[ClientMessageType$1.PROXY_BODY]:z.instanceof(Uint8Array),[ClientMessageType$1.PROXY_WEBSOCKET_MESSAGE]:z.object({type:z.enum([`text`,`binary`]),data:z.instanceof(Uint8Array)}),[ClientMessageType$1.PROXY_WEBSOCKET_CLOSE]:z.object({code:z.number().optional(),reason:z.string().optional()})},ServerMessageSchema={[ServerMessageType$1.RESPONSE]:z.string(),[ServerMessageType$1.NOTIFICATION]:z.string(),[ServerMessageType$1.PROXY_INIT]:z.object({status_code:z.number(),status_message:z.string(),headers:z.record(z.string(),z.string())}),[ServerMessageType$1.PROXY_DATA]:z.instanceof(Uint8Array),[ServerMessageType$1.PROXY_WEBSOCKET_MESSAGE]:z.instanceof(Uint8Array),[ServerMessageType$1.PROXY_WEBSOCKET_CLOSE]:z.object({code:z.number(),reason:z.string()})},ProxySchema={[ClientMessageType$1.PROXY_INIT]:{method:z.string(),headers:z.record(z.string(),z.string()),url:z.string()}},RequestSchema$3={process_execute:z.object({command:z.string(),args:z.array(z.string()),env:z.record(z.string(),z.string()).optional(),cwd:z.string().optional()}),process_send_input:z.object({pid:z.number(),data:z.string()}),process_wait:z.object({pid:z.number(),output_idle_timeout_ms:z.number().optional(),timeout_ms:z.number().optional()}),process_list:z.object({include_dead:z.boolean().optional()}),process_read_plain_output:z.object({pid:z.number(),start_line:z.number().optional(),end_line:z.number().optional()}),process_kill:z.object({pid:z.number(),signal:z.string().optional()}),set_env:z.object({env:z.record(z.string(),z.string())}),read_file:z.object({path:z.string(),line_start:z.number().optional(),line_end:z.number().optional()}),write_file:z.object({path:z.string(),content:z.string(),base64:z.boolean().optional(),mode:z.number().optional()}),read_directory:z.object({path:z.string()}),watch_directory:z.object({path:z.string()}),deploy_static_files:z.object({path:z.string()})},ProcessStatusSchema$1=z.object({pid:z.number(),command:z.string(),args:z.array(z.string()),title:z.string().optional(),cwd:z.string(),env:z.record(z.string(),z.string()),exit_code:z.number().optional(),exit_signal:z.number().optional(),duration_ms:z.number().optional(),output_total_lines:z.number()}),ProcessWaitSchema=ProcessStatusSchema$1.extend({ansi_output:z.string(),plain_output:z.object({lines:z.array(z.string()),total_lines:z.number()})}),ResponseSchema={process_execute:z.object({pid:z.number()}),process_send_input:z.object({}),process_wait:ProcessWaitSchema,process_list:z.object({processes:z.array(ProcessStatusSchema$1)}),process_read_plain_output:z.object({lines:z.array(z.string()),total_lines:z.number(),duration_ms:z.number(),exit_code:z.number().optional(),exit_signal:z.number().optional()}),process_kill:z.object({}),set_env:z.object({}),read_file:z.object({total_lines:z.number(),lines_read:z.number(),start_line:z.number(),content:z.string(),mime_type:z.string()}),write_file:z.object({}),read_directory:z.object({entries:z.array(z.object({name:z.string(),type:z.enum([`file`,`directory`,`symlink`])}))}),watch_directory:z.object({}),deploy_static_files:z.object({deployment_id:z.string()})},FileChangeEventSchema$1=z.object({type:z.enum([`create`,`update`,`delete`]),path:z.string()}),DiffLineSchema$1=z.object({type:z.enum([`context`,`added`,`deleted`]),content:z.string(),oldLineNumber:z.number().optional(),newLineNumber:z.number().optional()}),DiffChunkSchema$1=z.object({oldStart:z.number(),oldLines:z.number(),newStart:z.number(),newLines:z.number(),lines:z.array(DiffLineSchema$1)}),FileDiffSchema$1=z.object({path:z.string(),status:z.enum([`added`,`modified`,`deleted`,`renamed`,`copied`,`untracked`,`ignored`,`unmerged`,`typechange`]),oldPath:z.string().optional(),insertions:z.number(),deletions:z.number(),chunks:z.array(DiffChunkSchema$1)}),DiffSummarySchema$1=z.object({totalFiles:z.number(),totalInsertions:z.number(),totalDeletions:z.number(),netChange:z.number(),startHash:z.string().optional(),currentHash:z.string().optional(),timespan:z.number(),files:z.array(FileDiffSchema$1)}),GitFileStatusSchema$1=z.object({path:z.string(),status:z.enum([`added`,`modified`,`deleted`,`renamed`,`copied`,`untracked`,`ignored`,`unmerged`,`typechange`]),staged:z.boolean()}),GitCommitEventSchema$1=z.object({hash:z.string(),shortHash:z.string(),message:z.string(),author:z.string(),email:z.string(),date:z.date(),timestamp:z.date(),filesChanged:z.number(),insertions:z.number(),deletions:z.number(),commitDiff:z.array(FileDiffSchema$1).optional()}),GitStatusEventSchema=z.object({files:z.array(GitFileStatusSchema$1),branch:z.string(),ahead:z.number(),behind:z.number(),timestamp:z.date(),sessionDiff:DiffSummarySchema$1.optional(),workingDirectoryDiff:DiffSummarySchema$1.optional(),newCommits:z.array(GitCommitEventSchema$1),currentCommit:z.object({hash:z.string(),shortHash:z.string(),message:z.string(),author:z.string(),date:z.date()}).optional(),diffSkipped:z.boolean().optional(),payloadTruncated:z.boolean().optional(),estimatedSizeKB:z.number().optional()}),WatchOptionsSchema=z.object({debounceDelay:z.number().optional(),gitStatusInterval:z.number().optional(),ignoreDotfiles:z.boolean().optional(),ignored:z.array(z.string()).optional(),watchGit:z.boolean().optional(),includeDiffs:z.boolean().optional(),maxDiffFiles:z.number().optional(),maxPayloadSizeKB:z.number().optional(),truncateLargeDiffs:z.boolean().optional()}),NotificationSchema$1={process_status:z.object({status:ProcessStatusSchema$1}),process_output:z.object({pid:z.number(),output:z.string()}),file_change:z.object({changes:z.array(FileChangeEventSchema$1)}),git_status:GitStatusEventSchema};var __create$1=Object.create,__defProp$3=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__getOwnPropNames$2=Object.getOwnPropertyNames,__getProtoOf$1=Object.getPrototypeOf,__hasOwnProp$2=Object.prototype.hasOwnProperty,__commonJS$2=(cb,mod$1)=>function(){return mod$1||(0,cb[__getOwnPropNames$2(cb)[0]])((mod$1={exports:{}}).exports,mod$1),mod$1.exports},__copyProps$2=(to,from$1,except,desc)=>{if(from$1&&typeof from$1==`object`||typeof from$1==`function`)for(var keys=__getOwnPropNames$2(from$1),i$1$1=0,n$2=keys.length,key;i$1$1<n$2;i$1$1++)key=keys[i$1$1],!__hasOwnProp$2.call(to,key)&&key!==except&&__defProp$3(to,key,{get:(k$2=>from$1[k$2]).bind(null,key),enumerable:!(desc=__getOwnPropDesc$2(from$1,key))||desc.enumerable});return to},__toESM$1=(mod$1,isNodeMode,target)=>(target=mod$1==null?{}:__create$1(__getProtoOf$1(mod$1)),__copyProps$2(isNodeMode||!mod$1||!mod$1.__esModule?__defProp$3(target,`default`,{value:mod$1,enumerable:!0}):target,mod$1)),__require$2=createRequire(import.meta.url),Emitter$3=class{listeners=[];get event(){return listener=>(this.listeners.push(listener),{dispose:()=>{this.listeners=this.listeners.filter(l$2=>l$2!==listener)}})}emit(event){for(let i$1$1=this.listeners.length-1;i$1$1>=0;i$1$1--)this.listeners[i$1$1]?.(event)}dispose(){this.listeners=[]}};let MessageType$1=function(MessageType$1$1){return MessageType$1$1[MessageType$1$1.DATA=0]=`DATA`,MessageType$1$1[MessageType$1$1.CLOSE=1]=`CLOSE`,MessageType$1$1[MessageType$1$1.ERROR=2]=`ERROR`,MessageType$1$1}({}),Flag$1=function(Flag$1$1){return Flag$1$1[Flag$1$1.NEW=1]=`NEW`,Flag$1$1}({});var BufferPool$1=class{static MAX_POOL_SIZE=100;static COMMON_SIZES=[64,256,1024,4096,16384];static pools=new Map;static{for(let size of this.COMMON_SIZES)this.pools.set(size,[])}static acquire(size){for(let poolSize of this.COMMON_SIZES)if(poolSize>=size){let pool$1=this.pools.get(poolSize);if(pool$1&&pool$1.length>0)return pool$1.pop();break}return new Uint8Array(size)}static release(buffer$2){let size=buffer$2.length;for(let poolSize of this.COMMON_SIZES)if(poolSize===size){let pool$1=this.pools.get(poolSize);pool$1&&pool$1.length<this.MAX_POOL_SIZE&&pool$1.push(buffer$2);break}}},FrameCodec$1=class FrameCodec$2{static HEADER_SIZE=4;static MAX_FRAME_SIZE=1024*1024-FrameCodec$2.HEADER_SIZE;static encode(frame){let payloadLength=frame.payload.length;if(payloadLength>this.MAX_FRAME_SIZE)throw Error(`Frame payload too large: ${payloadLength} > ${this.MAX_FRAME_SIZE}`);let totalSize=this.HEADER_SIZE+payloadLength,result=BufferPool$1.acquire(totalSize),word=frame.streamId<<8|frame.type<<4|frame.flags&15;return result[0]=word>>>24&255,result[1]=word>>>16&255,result[2]=word>>>8&255,result[3]=word&255,payloadLength>0&&result.set(frame.payload,this.HEADER_SIZE),result.length===totalSize?result:result.subarray(0,totalSize)}static encodeTyped(streamId,msgType,flags,typeByte,payload){let payloadLength=1+payload.length;if(payloadLength>this.MAX_FRAME_SIZE)throw Error(`Frame payload too large: ${payloadLength} > ${this.MAX_FRAME_SIZE}`);let totalSize=this.HEADER_SIZE+payloadLength,result=BufferPool$1.acquire(totalSize),word=streamId<<8|msgType<<4|flags&15;return result[0]=word>>>24&255,result[1]=word>>>16&255,result[2]=word>>>8&255,result[3]=word&255,result[FrameCodec$2.HEADER_SIZE]=typeByte&255,payload.length>0&&result.set(payload,FrameCodec$2.HEADER_SIZE+1),result.length===totalSize?result:result.subarray(0,totalSize)}static decode(data$2){if(data$2.length<FrameCodec$2.HEADER_SIZE)throw Error(`Invalid frame: too short (${data$2.length} < ${FrameCodec$2.HEADER_SIZE})`);let word=data$2[0]<<24|data$2[1]<<16|data$2[2]<<8|data$2[3],streamId=word>>>8,typeAndFlags=word&255,type=typeAndFlags>>>4,flags=typeAndFlags&15,payload=data$2.length>FrameCodec$2.HEADER_SIZE?data$2.subarray(FrameCodec$2.HEADER_SIZE):new Uint8Array;return{streamId,type,flags,payload}}static releaseBuffer(buffer$2){BufferPool$1.release(buffer$2)}static getMaxPayloadSize(){return FrameCodec$2.MAX_FRAME_SIZE}},Stream$8=class{_onData;_onClose;_onError;_disposed=!1;_id;constructor(id,send,sendTypedCb){this.send=send,this.sendTypedCb=sendTypedCb,this._id=id}get id(){return this._id}get onData(){return this._onData||=new Emitter$3,this._onData.event}get onClose(){return this._onClose||=new Emitter$3,this._onClose.event}get onError(){return this._onError||=new Emitter$3,this._onError.event}write(data$2,isFirst=!1){if(this._disposed)throw Error(`Cannot write to disposed stream ${this.id}`);let maxPayload=FrameCodec$1.getMaxPayloadSize();if(data$2.length<=maxPayload){this.send({streamId:this.id,type:MessageType$1.DATA,flags:isFirst?Flag$1.NEW:0,payload:data$2});return}let offset=0,firstChunk=!0;for(;offset<data$2.length;){let remaining=data$2.length-offset,chunkSize=remaining>maxPayload?maxPayload:remaining,chunk$1=data$2.subarray(offset,offset+chunkSize);this.send({streamId:this.id,type:MessageType$1.DATA,flags:isFirst&&firstChunk?Flag$1.NEW:0,payload:chunk$1}),offset+=chunkSize,firstChunk=!1}}writeTyped(typeByte,data$2,isFirst=!1){if(this._disposed)throw Error(`Cannot write to disposed stream ${this.id}`);if(!this.sendTypedCb){let merged=new Uint8Array(1+data$2.length);merged[0]=typeByte&255,data$2.length&&merged.set(data$2,1),this.write(merged,isFirst);return}let maxPayload=FrameCodec$1.getMaxPayloadSize()-1;if(data$2.length<=maxPayload){this.sendTypedCb(this.id,isFirst?Flag$1.NEW:0,typeByte,data$2);return}let offset=0,firstChunk=!0;for(;offset<data$2.length;){let remaining=data$2.length-offset,chunkSize=remaining>maxPayload?maxPayload:remaining,chunk$1=data$2.subarray(offset,offset+chunkSize);this.sendTypedCb(this.id,isFirst&&firstChunk?Flag$1.NEW:0,typeByte,chunk$1),offset+=chunkSize,firstChunk=!1}}close(){this._disposed||(this.send({streamId:this.id,type:MessageType$1.CLOSE,flags:0,payload:new Uint8Array}),this._dispose())}error(message){this._disposed||this.send({streamId:this.id,type:MessageType$1.ERROR,flags:0,payload:new TextEncoder().encode(message)})}_handleFrame(frame){if(!this._disposed)switch(frame.type){case MessageType$1.DATA:this._onData?.emit(frame.payload);break;case MessageType$1.CLOSE:this._onClose?.emit(),this._dispose();break;case MessageType$1.ERROR:let error$22=new TextDecoder().decode(frame.payload);this._onError?.emit(error$22),this._dispose();break}}_dispose(){this._disposed||(this._disposed=!0,this._onData?.dispose(),this._onClose?.dispose(),this._onError?.dispose(),this._onData=void 0,this._onClose=void 0,this._onError=void 0)}_reset(newId,newSend,newSendTyped){this._dispose(),this._id=newId,this.send=newSend,this.sendTypedCb=newSendTyped,this._disposed=!1}get createdByClient(){return this.id%2==1}get disposed(){return this._disposed}},StreamPool$1=class{static MAX_POOL_SIZE=200;static pool=[];static acquire(id,send,sendTyped){let stream$10=this.pool.pop();return stream$10?(stream$10._reset(id,send,sendTyped),stream$10):new Stream$8(id,send,sendTyped)}static release(stream$10){this.pool.length<this.MAX_POOL_SIZE&&this.pool.push(stream$10)}},Multiplexer$1=class{_onNextStreamIDChange=new Emitter$3;onNextStreamIDChange=this._onNextStreamIDChange.event;_onStream=new Emitter$3;onStream=this._onStream.event;streams=[];streamCount=0;nextStreamId=1;send;releaseAfterSend;constructor(opts){this.nextStreamId=opts.initialNextStreamID??(opts.isClient?1:2),this.send=opts.send,this.releaseAfterSend=!!opts.releaseAfterSend}getStream(id){return this.streams[id]}createStream(id){id===void 0&&(id=this.nextStreamId,this.nextStreamId+=2,this._onNextStreamIDChange.emit(this.nextStreamId));let existingStream=this.streams[id];if(existingStream&&!existingStream.disposed)throw Error(`Stream ${id} already exists`);let stream$10=StreamPool$1.acquire(id,frame=>this.sendFrame(frame),(sid,flags,typeByte,payload)=>this.sendFrameTyped(sid,typeByte,flags,payload));return this.streams[id]=stream$10,this.streamCount++,stream$10}sendFrame(frame){let encoded=FrameCodec$1.encode(frame);try{this.send(encoded)}finally{this.releaseAfterSend&&FrameCodec$1.releaseBuffer(encoded)}}sendFrameTyped(streamId,appTypeByte,flags,payload){let encoded=FrameCodec$1.encodeTyped(streamId,MessageType$1.DATA,flags,appTypeByte,payload);try{this.send(encoded)}finally{this.releaseAfterSend&&FrameCodec$1.releaseBuffer(encoded)}}handleMessage(data$2){this.handleFrame(FrameCodec$1.decode(data$2))}handleFrame(frame){let stream$10=this.streams[frame.streamId];(!stream$10||stream$10.disposed)&&(stream$10=StreamPool$1.acquire(frame.streamId,frame$1=>this.sendFrame(frame$1),(sid,flags,typeByte,payload)=>this.sendFrameTyped(sid,typeByte,flags,payload)),this.streams[frame.streamId]=stream$10,this.streamCount++,this._onStream.emit(stream$10)),stream$10._handleFrame(frame),(frame.type===MessageType$1.CLOSE||frame.type===MessageType$1.ERROR)&&(this.streams[frame.streamId]=void 0,this.streamCount--,StreamPool$1.release(stream$10))}get activeStreamCount(){return this.streamCount}dispose(){for(let stream$10 of this.streams)stream$10&&!stream$10.disposed&&(stream$10.close(),StreamPool$1.release(stream$10));this.streams.length=0,this.streamCount=0,this._onNextStreamIDChange.dispose(),this._onStream.dispose()}};const defaultMessages$1=`End-Of-Stream`;var EndOfStreamError$1=class extends Error{constructor(){super(`End-Of-Stream`),this.name=`EndOfStreamError`}},AbortError$8=class extends Error{constructor(message=`The operation was aborted`){super(message),this.name=`AbortError`}},AbstractStreamReader$1=class{constructor(){this.endOfStream=!1,this.interrupted=!1,this.peekQueue=[]}async peek(uint8Array,mayBeLess=!1){let bytesRead=await this.read(uint8Array,mayBeLess);return this.peekQueue.push(uint8Array.subarray(0,bytesRead)),bytesRead}async read(buffer$2,mayBeLess=!1){if(buffer$2.length===0)return 0;let bytesRead=this.readFromPeekBuffer(buffer$2);if(this.endOfStream||(bytesRead+=await this.readRemainderFromStream(buffer$2.subarray(bytesRead),mayBeLess)),bytesRead===0&&!mayBeLess)throw new EndOfStreamError$1;return bytesRead}readFromPeekBuffer(buffer$2){let remaining=buffer$2.length,bytesRead=0;for(;this.peekQueue.length>0&&remaining>0;){let peekData=this.peekQueue.pop();if(!peekData)throw Error(`peekData should be defined`);let lenCopy=Math.min(peekData.length,remaining);buffer$2.set(peekData.subarray(0,lenCopy),bytesRead),bytesRead+=lenCopy,remaining-=lenCopy,lenCopy<peekData.length&&this.peekQueue.push(peekData.subarray(lenCopy))}return bytesRead}async readRemainderFromStream(buffer$2,mayBeLess){let bytesRead=0;for(;bytesRead<buffer$2.length&&!this.endOfStream;){if(this.interrupted)throw new AbortError$8;let chunkLen=await this.readFromStream(buffer$2.subarray(bytesRead),mayBeLess);if(chunkLen===0)break;bytesRead+=chunkLen}if(!mayBeLess&&bytesRead<buffer$2.length)throw new EndOfStreamError$1;return bytesRead}},WebStreamReader$1=class extends AbstractStreamReader$1{constructor(reader){super(),this.reader=reader}async abort(){return this.close()}async close(){this.reader.releaseLock()}},WebStreamByobReader$1=class extends WebStreamReader$1{async readFromStream(buffer$2,mayBeLess){if(buffer$2.length===0)return 0;let result=await this.reader.read(new Uint8Array(buffer$2.length),{min:mayBeLess?void 0:buffer$2.length});return result.done&&(this.endOfStream=result.done),result.value?(buffer$2.set(result.value),result.value.length):0}},WebStreamDefaultReader$1=class extends AbstractStreamReader$1{constructor(reader){super(),this.reader=reader,this.buffer=null}writeChunk(target,chunk$1){let written=Math.min(chunk$1.length,target.length);return target.set(chunk$1.subarray(0,written)),written<chunk$1.length?this.buffer=chunk$1.subarray(written):this.buffer=null,written}async readFromStream(buffer$2,mayBeLess){if(buffer$2.length===0)return 0;let totalBytesRead=0;for(this.buffer&&(totalBytesRead+=this.writeChunk(buffer$2,this.buffer));totalBytesRead<buffer$2.length&&!this.endOfStream;){let result=await this.reader.read();if(result.done){this.endOfStream=!0;break}result.value&&(totalBytesRead+=this.writeChunk(buffer$2.subarray(totalBytesRead),result.value))}if(!mayBeLess&&totalBytesRead===0&&this.endOfStream)throw new EndOfStreamError$1;return totalBytesRead}abort(){return this.interrupted=!0,this.reader.cancel()}async close(){await this.abort(),this.reader.releaseLock()}};function makeWebStreamReader$1(stream$10){try{let reader=stream$10.getReader({mode:`byob`});return reader instanceof ReadableStreamDefaultReader?new WebStreamDefaultReader$1(reader):new WebStreamByobReader$1(reader)}catch(error$22){if(error$22 instanceof TypeError)return new WebStreamDefaultReader$1(stream$10.getReader());throw error$22}}var AbstractTokenizer$1=class{constructor(options$1){this.numBuffer=new Uint8Array(8),this.position=0,this.onClose=options$1?.onClose,options$1?.abortSignal&&options$1.abortSignal.addEventListener(`abort`,()=>{this.abort()})}async readToken(token$1,position=this.position){let uint8Array=new Uint8Array(token$1.len),len$1=await this.readBuffer(uint8Array,{position});if(len$1<token$1.len)throw new EndOfStreamError$1;return token$1.get(uint8Array,0)}async peekToken(token$1,position=this.position){let uint8Array=new Uint8Array(token$1.len),len$1=await this.peekBuffer(uint8Array,{position});if(len$1<token$1.len)throw new EndOfStreamError$1;return token$1.get(uint8Array,0)}async readNumber(token$1){let len$1=await this.readBuffer(this.numBuffer,{length:token$1.len});if(len$1<token$1.len)throw new EndOfStreamError$1;return token$1.get(this.numBuffer,0)}async peekNumber(token$1){let len$1=await this.peekBuffer(this.numBuffer,{length:token$1.len});if(len$1<token$1.len)throw new EndOfStreamError$1;return token$1.get(this.numBuffer,0)}async ignore(length){if(this.fileInfo.size!==void 0){let bytesLeft=this.fileInfo.size-this.position;if(length>bytesLeft)return this.position+=bytesLeft,bytesLeft}return this.position+=length,length}async close(){await this.abort(),await this.onClose?.()}normalizeOptions(uint8Array,options$1){if(!this.supportsRandomAccess()&&options$1&&options$1.position!==void 0&&options$1.position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");return{mayBeLess:!1,offset:0,length:uint8Array.length,position:this.position,...options$1}}abort(){return Promise.resolve()}};const maxBufferSize$1=256e3;var ReadStreamTokenizer$1=class extends AbstractTokenizer$1{constructor(streamReader,options$1){super(options$1),this.streamReader=streamReader,this.fileInfo=options$1?.fileInfo??{}}async readBuffer(uint8Array,options$1){let normOptions=this.normalizeOptions(uint8Array,options$1),skipBytes=normOptions.position-this.position;if(skipBytes>0)return await this.ignore(skipBytes),this.readBuffer(uint8Array,options$1);if(skipBytes<0)throw Error("`options.position` must be equal or greater than `tokenizer.position`");if(normOptions.length===0)return 0;let bytesRead=await this.streamReader.read(uint8Array.subarray(0,normOptions.length),normOptions.mayBeLess);if(this.position+=bytesRead,(!options$1||!options$1.mayBeLess)&&bytesRead<normOptions.length)throw new EndOfStreamError$1;return bytesRead}async peekBuffer(uint8Array,options$1){let normOptions=this.normalizeOptions(uint8Array,options$1),bytesRead=0;if(normOptions.position){let skipBytes=normOptions.position-this.position;if(skipBytes>0){let skipBuffer=new Uint8Array(normOptions.length+skipBytes);return bytesRead=await this.peekBuffer(skipBuffer,{mayBeLess:normOptions.mayBeLess}),uint8Array.set(skipBuffer.subarray(skipBytes)),bytesRead-skipBytes}if(skipBytes<0)throw Error(`Cannot peek from a negative offset in a stream`)}if(normOptions.length>0){try{bytesRead=await this.streamReader.peek(uint8Array.subarray(0,normOptions.length),normOptions.mayBeLess)}catch(err$1$1){if(options$1?.mayBeLess&&err$1$1 instanceof EndOfStreamError$1)return 0;throw err$1$1}if(!normOptions.mayBeLess&&bytesRead<normOptions.length)throw new EndOfStreamError$1}return bytesRead}async ignore(length){let bufSize=Math.min(256e3,length),buf=new Uint8Array(bufSize),totBytesRead=0;for(;totBytesRead<length;){let remaining=length-totBytesRead,bytesRead=await this.readBuffer(buf,{length:Math.min(bufSize,remaining)});if(bytesRead<0)return bytesRead;totBytesRead+=bytesRead}return totBytesRead}abort(){return this.streamReader.abort()}async close(){return this.streamReader.close()}supportsRandomAccess(){return!1}},BufferTokenizer$1=class extends AbstractTokenizer$1{constructor(uint8Array,options$1){super(options$1),this.uint8Array=uint8Array,this.fileInfo={...options$1?.fileInfo??{},size:uint8Array.length}}async readBuffer(uint8Array,options$1){options$1?.position&&(this.position=options$1.position);let bytesRead=await this.peekBuffer(uint8Array,options$1);return this.position+=bytesRead,bytesRead}async peekBuffer(uint8Array,options$1){let normOptions=this.normalizeOptions(uint8Array,options$1),bytes2read=Math.min(this.uint8Array.length-normOptions.position,normOptions.length);if(!normOptions.mayBeLess&&bytes2read<normOptions.length)throw new EndOfStreamError$1;return uint8Array.set(this.uint8Array.subarray(normOptions.position,normOptions.position+bytes2read)),bytes2read}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(position){this.position=position}};function fromWebStream$1(webStream,options$1){let webStreamReader=makeWebStreamReader$1(webStream),_options$1=options$1??{},chainedClose=_options$1.onClose;return _options$1.onClose=async()=>{if(await webStreamReader.close(),chainedClose)return chainedClose()},new ReadStreamTokenizer$1(webStreamReader,_options$1)}function fromBuffer$2(uint8Array,options$1){return new BufferTokenizer$1(uint8Array,options$1)}const WINDOWS_1252_EXTRA$1={128:`€`,130:`‚`,131:`ƒ`,132:`„`,133:`…`,134:`†`,135:`‡`,136:`ˆ`,137:`‰`,138:`Š`,139:`‹`,140:`Œ`,142:`Ž`,145:`‘`,146:`’`,147:`“`,148:`”`,149:`•`,150:`–`,151:`—`,152:`˜`,153:`™`,154:`š`,155:`›`,156:`œ`,158:`ž`,159:`Ÿ`},WINDOWS_1252_REVERSE$1={};for(let[code$1,char]of Object.entries(WINDOWS_1252_EXTRA$1))WINDOWS_1252_REVERSE$1[char]=Number.parseInt(code$1);function textDecode$1(bytes,encoding=`utf-8`){switch(encoding.toLowerCase()){case`utf-8`:case`utf8`:return globalThis.TextDecoder===void 0?decodeUTF8$1(bytes):new globalThis.TextDecoder(`utf-8`).decode(bytes);case`utf-16le`:return decodeUTF16LE$1(bytes);case`ascii`:return decodeASCII$1(bytes);case`latin1`:case`iso-8859-1`:return decodeLatin1$1(bytes);case`windows-1252`:return decodeWindows1252$1(bytes);default:throw RangeError(`Encoding '${encoding}' not supported`)}}function decodeUTF8$1(bytes){let out=``,i$1$1=0;for(;i$1$1<bytes.length;){let b1=bytes[i$1$1++];if(b1<128)out+=String.fromCharCode(b1);else if(b1<224){let b2=bytes[i$1$1++]&63;out+=String.fromCharCode((b1&31)<<6|b2)}else if(b1<240){let b2=bytes[i$1$1++]&63,b3=bytes[i$1$1++]&63;out+=String.fromCharCode((b1&15)<<12|b2<<6|b3)}else{let b2=bytes[i$1$1++]&63,b3=bytes[i$1$1++]&63,b4=bytes[i$1$1++]&63,cp$1=(b1&7)<<18|b2<<12|b3<<6|b4;cp$1-=65536,out+=String.fromCharCode(55296+(cp$1>>10&1023),56320+(cp$1&1023))}}return out}function decodeUTF16LE$1(bytes){let out=``;for(let i$1$1=0;i$1$1<bytes.length;i$1$1+=2)out+=String.fromCharCode(bytes[i$1$1]|bytes[i$1$1+1]<<8);return out}function decodeASCII$1(bytes){return String.fromCharCode(...bytes.map(b$4=>b$4&127))}function decodeLatin1$1(bytes){return String.fromCharCode(...bytes)}function decodeWindows1252$1(bytes){let out=``;for(let b$4 of bytes)b$4>=128&&b$4<=159&&WINDOWS_1252_EXTRA$1[b$4]?out+=WINDOWS_1252_EXTRA$1[b$4]:out+=String.fromCharCode(b$4);return out}function dv$1(array){return new DataView(array.buffer,array.byteOffset)}const UINT8$1={len:1,get(array,offset){return dv$1(array).getUint8(offset)},put(array,offset,value){return dv$1(array).setUint8(offset,value),offset+1}},UINT16_LE$1={len:2,get(array,offset){return dv$1(array).getUint16(offset,!0)},put(array,offset,value){return dv$1(array).setUint16(offset,value,!0),offset+2}},UINT16_BE$1={len:2,get(array,offset){return dv$1(array).getUint16(offset)},put(array,offset,value){return dv$1(array).setUint16(offset,value),offset+2}},UINT32_LE$1={len:4,get(array,offset){return dv$1(array).getUint32(offset,!0)},put(array,offset,value){return dv$1(array).setUint32(offset,value,!0),offset+4}},UINT32_BE$1={len:4,get(array,offset){return dv$1(array).getUint32(offset)},put(array,offset,value){return dv$1(array).setUint32(offset,value),offset+4}},INT32_BE$1={len:4,get(array,offset){return dv$1(array).getInt32(offset)},put(array,offset,value){return dv$1(array).setInt32(offset,value),offset+4}},UINT64_LE$1={len:8,get(array,offset){return dv$1(array).getBigUint64(offset,!0)},put(array,offset,value){return dv$1(array).setBigUint64(offset,value,!0),offset+8}};var StringType$1=class{constructor(len$1,encoding){this.len=len$1,this.encoding=encoding}get(data$2,offset=0){let bytes=data$2.subarray(offset,offset+this.len);return textDecode$1(bytes,this.encoding)}},require$1$1=createRequire$1(`/`),Worker$1;try{Worker$1=require$1$1(`worker_threads`).Worker}catch{}var u8$1=Uint8Array,u16$1=Uint16Array,i32$1=Int32Array,fleb$1=new u8$1([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),fdeb$1=new u8$1([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),clim$1=new u8$1([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),freb$1=function(eb,start$1){for(var b$4=new u16$1(31),i$1$1=0;i$1$1<31;++i$1$1)b$4[i$1$1]=start$1+=1<<eb[i$1$1-1];for(var r$3=new i32$1(b$4[30]),i$1$1=1;i$1$1<30;++i$1$1)for(var j$2=b$4[i$1$1];j$2<b$4[i$1$1+1];++j$2)r$3[j$2]=j$2-b$4[i$1$1]<<5|i$1$1;return{b:b$4,r:r$3}},_a$14=freb$1(fleb$1,2),fl$1=_a$14.b,revfl$1=_a$14.r;fl$1[28]=258,revfl$1[258]=28;var _b$4=freb$1(fdeb$1,0),fd$1=_b$4.b;_b$4.r;for(var rev$1=new u16$1(32768),i$6=0;i$6<32768;++i$6){var x$4=(i$6&43690)>>1|(i$6&21845)<<1;x$4=(x$4&52428)>>2|(x$4&13107)<<2,x$4=(x$4&61680)>>4|(x$4&3855)<<4,rev$1[i$6]=((x$4&65280)>>8|(x$4&255)<<8)>>1}for(var hMap$1=(function(cd,mb,r$3){for(var s$1$1=cd.length,i$1$1=0,l$2=new u16$1(mb);i$1$1<s$1$1;++i$1$1)cd[i$1$1]&&++l$2[cd[i$1$1]-1];var le$3=new u16$1(mb);for(i$1$1=1;i$1$1<mb;++i$1$1)le$3[i$1$1]=le$3[i$1$1-1]+l$2[i$1$1-1]<<1;var co;if(r$3){co=new u16$1(1<<mb);var rvb=15-mb;for(i$1$1=0;i$1$1<s$1$1;++i$1$1)if(cd[i$1$1])for(var sv=i$1$1<<4|cd[i$1$1],r_1=mb-cd[i$1$1],v$2=le$3[cd[i$1$1]-1]++<<r_1,m$1$1=v$2|(1<<r_1)-1;v$2<=m$1$1;++v$2)co[rev$1[v$2]>>rvb]=sv}else for(co=new u16$1(s$1$1),i$1$1=0;i$1$1<s$1$1;++i$1$1)cd[i$1$1]&&(co[i$1$1]=rev$1[le$3[cd[i$1$1]-1]++]>>15-cd[i$1$1]);return co}),flt$1=new u8$1(288),i$6=0;i$6<144;++i$6)flt$1[i$6]=8;for(var i$6=144;i$6<256;++i$6)flt$1[i$6]=9;for(var i$6=256;i$6<280;++i$6)flt$1[i$6]=7;for(var i$6=280;i$6<288;++i$6)flt$1[i$6]=8;for(var fdt$1=new u8$1(32),i$6=0;i$6<32;++i$6)fdt$1[i$6]=5;var flrm$1=hMap$1(flt$1,9,1),fdrm$1=hMap$1(fdt$1,5,1),max$2=function(a$4){for(var m$1$1=a$4[0],i$1$1=1;i$1$1<a$4.length;++i$1$1)a$4[i$1$1]>m$1$1&&(m$1$1=a$4[i$1$1]);return m$1$1},bits$1=function(d$1$1,p$2,m$1$1){var o$3=p$2/8|0;return(d$1$1[o$3]|d$1$1[o$3+1]<<8)>>(p$2&7)&m$1$1},bits16$1=function(d$1$1,p$2){var o$3=p$2/8|0;return(d$1$1[o$3]|d$1$1[o$3+1]<<8|d$1$1[o$3+2]<<16)>>(p$2&7)},shft$1=function(p$2){return(p$2+7)/8|0},slc$1=function(v$2,s$1$1,e$3){return(s$1$1==null||s$1$1<0)&&(s$1$1=0),(e$3==null||e$3>v$2.length)&&(e$3=v$2.length),new u8$1(v$2.subarray(s$1$1,e$3))},ec$1=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],err$1=function(ind,msg,nt){var e$3=Error(msg||ec$1[ind]);if(e$3.code=ind,Error.captureStackTrace&&Error.captureStackTrace(e$3,err$1),!nt)throw e$3;return e$3},inflt$1=function(dat,st,buf,dict){var sl=dat.length,dl=dict?dict.length:0;if(!sl||st.f&&!st.l)return buf||new u8$1(0);var noBuf=!buf,resize=noBuf||st.i!=2,noSt=st.i;noBuf&&(buf=new u8$1(sl*3));var cbuf=function(l$1$1){var bl=buf.length;if(l$1$1>bl){var nbuf=new u8$1(Math.max(bl*2,l$1$1));nbuf.set(buf),buf=nbuf}},final=st.f||0,pos=st.p||0,bt=st.b||0,lm=st.l,dm=st.d,lbt=st.m,dbt=st.n,tbts=sl*8;do{if(!lm){final=bits$1(dat,pos,1);var type=bits$1(dat,pos+1,3);if(pos+=3,type)if(type==1)lm=flrm$1,dm=fdrm$1,lbt=9,dbt=5;else if(type==2){var hLit=bits$1(dat,pos,31)+257,hcLen=bits$1(dat,pos+10,15)+4,tl=hLit+bits$1(dat,pos+5,31)+1;pos+=14;for(var ldt=new u8$1(tl),clt=new u8$1(19),i$1$1=0;i$1$1<hcLen;++i$1$1)clt[clim$1[i$1$1]]=bits$1(dat,pos+i$1$1*3,7);pos+=hcLen*3;for(var clb=max$2(clt),clbmsk=(1<<clb)-1,clm=hMap$1(clt,clb,1),i$1$1=0;i$1$1<tl;){var r$3=clm[bits$1(dat,pos,clbmsk)];pos+=r$3&15;var s$1$1=r$3>>4;if(s$1$1<16)ldt[i$1$1++]=s$1$1;else{var c$3=0,n$2=0;for(s$1$1==16?(n$2=3+bits$1(dat,pos,3),pos+=2,c$3=ldt[i$1$1-1]):s$1$1==17?(n$2=3+bits$1(dat,pos,7),pos+=3):s$1$1==18&&(n$2=11+bits$1(dat,pos,127),pos+=7);n$2--;)ldt[i$1$1++]=c$3}}var lt=ldt.subarray(0,hLit),dt=ldt.subarray(hLit);lbt=max$2(lt),dbt=max$2(dt),lm=hMap$1(lt,lbt,1),dm=hMap$1(dt,dbt,1)}else err$1(1);else{var s$1$1=shft$1(pos)+4,l$2=dat[s$1$1-4]|dat[s$1$1-3]<<8,t$1=s$1$1+l$2;if(t$1>sl){noSt&&err$1(0);break}resize&&cbuf(bt+l$2),buf.set(dat.subarray(s$1$1,t$1),bt),st.b=bt+=l$2,st.p=pos=t$1*8,st.f=final;continue}if(pos>tbts){noSt&&err$1(0);break}}resize&&cbuf(bt+131072);for(var lms=(1<<lbt)-1,dms=(1<<dbt)-1,lpos=pos;;lpos=pos){var c$3=lm[bits16$1(dat,pos)&lms],sym=c$3>>4;if(pos+=c$3&15,pos>tbts){noSt&&err$1(0);break}if(c$3||err$1(2),sym<256)buf[bt++]=sym;else if(sym==256){lpos=pos,lm=null;break}else{var add=sym-254;if(sym>264){var i$1$1=sym-257,b$4=fleb$1[i$1$1];add=bits$1(dat,pos,(1<<b$4)-1)+fl$1[i$1$1],pos+=b$4}var d$1$1=dm[bits16$1(dat,pos)&dms],dsym=d$1$1>>4;d$1$1||err$1(3),pos+=d$1$1&15;var dt=fd$1[dsym];if(dsym>3){var b$4=fdeb$1[dsym];dt+=bits16$1(dat,pos)&(1<<b$4)-1,pos+=b$4}if(pos>tbts){noSt&&err$1(0);break}resize&&cbuf(bt+131072);var end=bt+add;if(bt<dt){var shift=dl-dt,dend=Math.min(dt,end);for(shift+bt<0&&err$1(3);bt<dend;++bt)buf[bt]=dict[shift+bt]}for(;bt<end;++bt)buf[bt]=buf[bt-dt]}}st.l=lm,st.p=lpos,st.b=bt,st.f=final,lm&&(final=1,st.m=lbt,st.d=dm,st.n=dbt)}while(!final);return bt!=buf.length&&noBuf?slc$1(buf,0,bt):buf.subarray(0,bt)},et$1=new u8$1(0),gzs$1=function(d$1$1){(d$1$1[0]!=31||d$1$1[1]!=139||d$1$1[2]!=8)&&err$1(6,`invalid gzip data`);var flg=d$1$1[3],st=10;flg&4&&(st+=(d$1$1[10]|d$1$1[11]<<8)+2);for(var zs=(flg>>3&1)+(flg>>4&1);zs>0;zs-=!d$1$1[st++]);return st+(flg&2)},gzl$1=function(d$1$1){var l$2=d$1$1.length;return(d$1$1[l$2-4]|d$1$1[l$2-3]<<8|d$1$1[l$2-2]<<16|d$1$1[l$2-1]<<24)>>>0},zls$1=function(d$1$1,dict){return((d$1$1[0]&15)!=8||d$1$1[0]>>4>7||(d$1$1[0]<<8|d$1$1[1])%31)&&err$1(6,`invalid zlib data`),(d$1$1[1]>>5&1)==+!dict&&err$1(6,`invalid zlib data: `+(d$1$1[1]&32?`need`:`unexpected`)+` dictionary`),(d$1$1[1]>>3&4)+2};function inflateSync$1(data$2,opts){return inflt$1(data$2,{i:2},opts&&opts.out,opts&&opts.dictionary)}function gunzipSync$1(data$2,opts){var st=gzs$1(data$2);return st+8>data$2.length&&err$1(6,`invalid gzip data`),inflt$1(data$2.subarray(st,-8),{i:2},opts&&opts.out||new u8$1(gzl$1(data$2)),opts&&opts.dictionary)}function unzlibSync$1(data$2,opts){return inflt$1(data$2.subarray(zls$1(data$2,opts&&opts.dictionary),-4),{i:2},opts&&opts.out,opts&&opts.dictionary)}function decompressSync$1(data$2,opts){return data$2[0]==31&&data$2[1]==139&&data$2[2]==8?gunzipSync$1(data$2,opts):(data$2[0]&15)!=8||data$2[0]>>4>7||(data$2[0]<<8|data$2[1])%31?inflateSync$1(data$2,opts):unzlibSync$1(data$2,opts)}var td$1=typeof TextDecoder<`u`&&new TextDecoder,tds$1=0;try{td$1.decode(et$1,{stream:!0}),tds$1=1}catch{}var require_ms$2=__commonJS$2({"../../node_modules/ms/index.js":((exports$1,module$1)=>{var s$3=1e3,m$3=s$3*60,h$4=m$3*60,d$5=h$4*24,w$4=d$5*7,y$3=d$5*365.25;module$1.exports=function(val,options$1){options$1||={};var type=typeof val;if(type===`string`&&val.length>0)return parse$22(val);if(type===`number`&&isFinite(val))return options$1.long?fmtLong$1(val):fmtShort$1(val);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(val))};function parse$22(str$1){if(str$1=String(str$1),!(str$1.length>100)){var match$1=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str$1);if(match$1){var n$2=parseFloat(match$1[1]),type=(match$1[2]||`ms`).toLowerCase();switch(type){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return n$2*y$3;case`weeks`:case`week`:case`w`:return n$2*w$4;case`days`:case`day`:case`d`:return n$2*d$5;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return n$2*h$4;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return n$2*m$3;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return n$2*s$3;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return n$2;default:return}}}}function fmtShort$1(ms){var msAbs=Math.abs(ms);return msAbs>=d$5?Math.round(ms/d$5)+`d`:msAbs>=h$4?Math.round(ms/h$4)+`h`:msAbs>=m$3?Math.round(ms/m$3)+`m`:msAbs>=s$3?Math.round(ms/s$3)+`s`:ms+`ms`}function fmtLong$1(ms){var msAbs=Math.abs(ms);return msAbs>=d$5?plural$1(ms,msAbs,d$5,`day`):msAbs>=h$4?plural$1(ms,msAbs,h$4,`hour`):msAbs>=m$3?plural$1(ms,msAbs,m$3,`minute`):msAbs>=s$3?plural$1(ms,msAbs,s$3,`second`):ms+` ms`}function plural$1(ms,msAbs,n$2,name$5){var isPlural=msAbs>=n$2*1.5;return Math.round(ms/n$2)+` `+name$5+(isPlural?`s`:``)}})}),require_common$5=__commonJS$2({"../../node_modules/debug/src/common.js":((exports$1,module$1)=>{function setup$8(env$1$1){createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=coerce,createDebug.disable=disable,createDebug.enable=enable,createDebug.enabled=enabled,createDebug.humanize=require_ms$2(),createDebug.destroy=destroy$2,Object.keys(env$1$1).forEach(key=>{createDebug[key]=env$1$1[key]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={};function selectColor(namespace){let hash$1=0;for(let i$1$1=0;i$1$1<namespace.length;i$1$1++)hash$1=(hash$1<<5)-hash$1+namespace.charCodeAt(i$1$1),hash$1|=0;return createDebug.colors[Math.abs(hash$1)%createDebug.colors.length]}createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime,enableOverride=null,namespacesCache,enabledCache;function debug$1$1(...args){if(!debug$1$1.enabled)return;let self$1=debug$1$1,curr=Number(new Date),ms=curr-(prevTime||curr);self$1.diff=ms,self$1.prev=prevTime,self$1.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),typeof args[0]!=`string`&&args.unshift(`%O`);let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,(match$1,format$4)=>{if(match$1===`%%`)return`%`;index++;let formatter$1=createDebug.formatters[format$4];if(typeof formatter$1==`function`){let val=args[index];match$1=formatter$1.call(self$1,val),args.splice(index,1),index--}return match$1}),createDebug.formatArgs.call(self$1,args);let logFn=self$1.log||createDebug.log;logFn.apply(self$1,args)}return debug$1$1.namespace=namespace,debug$1$1.useColors=createDebug.useColors(),debug$1$1.color=createDebug.selectColor(namespace),debug$1$1.extend=extend,debug$1$1.destroy=createDebug.destroy,Object.defineProperty(debug$1$1,`enabled`,{enumerable:!0,configurable:!1,get:()=>enableOverride===null?(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache):enableOverride,set:v$2=>{enableOverride=v$2}}),typeof createDebug.init==`function`&&createDebug.init(debug$1$1),debug$1$1}function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(delimiter===void 0?`:`:delimiter)+namespace);return newDebug.log=this.log,newDebug}function enable(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=(typeof namespaces==`string`?namespaces:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let ns of split)ns[0]===`-`?createDebug.skips.push(ns.slice(1)):createDebug.names.push(ns)}function matchesTemplate(search,template$1){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;for(;searchIndex<search.length;)if(templateIndex<template$1.length&&(template$1[templateIndex]===search[searchIndex]||template$1[templateIndex]===`*`))template$1[templateIndex]===`*`?(starIndex=templateIndex,matchIndex=searchIndex,templateIndex++):(searchIndex++,templateIndex++);else if(starIndex!==-1)templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex;else return!1;for(;templateIndex<template$1.length&&template$1[templateIndex]===`*`;)templateIndex++;return templateIndex===template$1.length}function disable(){let namespaces=[...createDebug.names,...createDebug.skips.map(namespace=>`-`+namespace)].join(`,`);return createDebug.enable(``),namespaces}function enabled(name$5){for(let skip of createDebug.skips)if(matchesTemplate(name$5,skip))return!1;for(let ns of createDebug.names)if(matchesTemplate(name$5,ns))return!0;return!1}function coerce(val){return val instanceof Error?val.stack||val.message:val}function destroy$2(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return createDebug.enable(createDebug.load()),createDebug}module$1.exports=setup$8})}),require_browser$2=__commonJS$2({"../../node_modules/debug/src/browser.js":((exports$1,module$1)=>{exports$1.formatArgs=formatArgs$1$1,exports$1.save=save$1$1,exports$1.load=load$1$1,exports$1.useColors=useColors$1$1,exports$1.storage=localstorage$1(),exports$1.destroy=(()=>{let warned$1=!1;return()=>{warned$1||(warned$1=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),exports$1.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function useColors$1$1(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m$1$1;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(m$1$1=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m$1$1[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs$1$1(args){if(args[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+args[0]+(this.useColors?`%c `:` `)+`+`+module$1.exports.humanize(this.diff),!this.useColors)return;let c$3=`color: `+this.color;args.splice(1,0,c$3,`color: inherit`);let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,match$1=>{match$1!==`%%`&&(index++,match$1===`%c`&&(lastC=index))}),args.splice(lastC,0,c$3)}exports$1.log=console.debug||console.log||(()=>{});function save$1$1(namespaces){try{namespaces?exports$1.storage.setItem(`debug`,namespaces):exports$1.storage.removeItem(`debug`)}catch{}}function load$1$1(){let r$3;try{r$3=exports$1.storage.getItem(`debug`)||exports$1.storage.getItem(`DEBUG`)}catch{}return!r$3&&typeof process<`u`&&`env`in process&&(r$3=process.env.DEBUG),r$3}function localstorage$1(){try{return localStorage}catch{}}module$1.exports=require_common$5()(exports$1);let{formatters:formatters$1$1}=module$1.exports;formatters$1$1.j=function(v$2){try{return JSON.stringify(v$2)}catch(error$22){return`[UnexpectedJSONParseError]: `+error$22.message}}})}),require_has_flag$3=__commonJS$2({"../../node_modules/has-flag/index.js":((exports$1,module$1)=>{module$1.exports=(flag,argv$1=process.argv)=>{let prefix=flag.startsWith(`-`)?``:flag.length===1?`-`:`--`,position=argv$1.indexOf(prefix+flag),terminatorPosition=argv$1.indexOf(`--`);return position!==-1&&(terminatorPosition===-1||position<terminatorPosition)}})}),require_supports_color$4=__commonJS$2({"../../node_modules/supports-color/index.js":((exports$1,module$1)=>{let os$14=__require$2(`os`),tty$1$1=__require$2(`tty`),hasFlag$6=require_has_flag$3(),{env:env$8}=process,forceColor$4;hasFlag$6(`no-color`)||hasFlag$6(`no-colors`)||hasFlag$6(`color=false`)||hasFlag$6(`color=never`)?forceColor$4=0:(hasFlag$6(`color`)||hasFlag$6(`colors`)||hasFlag$6(`color=true`)||hasFlag$6(`color=always`))&&(forceColor$4=1),`FORCE_COLOR`in env$8&&(forceColor$4=env$8.FORCE_COLOR===`true`?1:env$8.FORCE_COLOR===`false`?0:env$8.FORCE_COLOR.length===0?1:Math.min(parseInt(env$8.FORCE_COLOR,10),3));function translateLevel$5(level$1){return level$1===0?!1:{level:level$1,hasBasic:!0,has256:level$1>=2,has16m:level$1>=3}}function supportsColor$6(haveStream,streamIsTTY){if(forceColor$4===0)return 0;if(hasFlag$6(`color=16m`)||hasFlag$6(`color=full`)||hasFlag$6(`color=truecolor`))return 3;if(hasFlag$6(`color=256`))return 2;if(haveStream&&!streamIsTTY&&forceColor$4===void 0)return 0;let min=forceColor$4||0;if(env$8.TERM===`dumb`)return min;if(process.platform===`win32`){let osRelease=os$14.release().split(`.`);return Number(osRelease[0])>=10&&Number(osRelease[2])>=10586?Number(osRelease[2])>=14931?3:2:1}if(`CI`in env$8)return[`TRAVIS`,`CIRCLECI`,`APPVEYOR`,`GITLAB_CI`,`GITHUB_ACTIONS`,`BUILDKITE`].some(sign$2=>sign$2 in env$8)||env$8.CI_NAME===`codeship`?1:min;if(`TEAMCITY_VERSION`in env$8)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env$8.TEAMCITY_VERSION)?1:0;if(env$8.COLORTERM===`truecolor`)return 3;if(`TERM_PROGRAM`in env$8){let version$4=parseInt((env$8.TERM_PROGRAM_VERSION||``).split(`.`)[0],10);switch(env$8.TERM_PROGRAM){case`iTerm.app`:return version$4>=3?3:2;case`Apple_Terminal`:return 2}}return/-256(color)?$/i.test(env$8.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env$8.TERM)||`COLORTERM`in env$8?1:min}function getSupportLevel$4(stream$10){let level$1=supportsColor$6(stream$10,stream$10&&stream$10.isTTY);return translateLevel$5(level$1)}module$1.exports={supportsColor:getSupportLevel$4,stdout:translateLevel$5(supportsColor$6(!0,tty$1$1.isatty(1))),stderr:translateLevel$5(supportsColor$6(!0,tty$1$1.isatty(2)))}})}),require_node$20=__commonJS$2({"../../node_modules/debug/src/node.js":((exports$1,module$1)=>{let tty$6=__require$2(`tty`),util$68=__require$2(`util`);exports$1.init=init$4,exports$1.log=log$5,exports$1.formatArgs=formatArgs$2,exports$1.save=save$2,exports$1.load=load$7,exports$1.useColors=useColors$2,exports$1.destroy=util$68.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),exports$1.colors=[6,2,3,4,5,1];try{let supportsColor$1$1=require_supports_color$4();supportsColor$1$1&&(supportsColor$1$1.stderr||supportsColor$1$1).level>=2&&(exports$1.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}exports$1.inspectOpts=Object.keys(process.env).filter(key=>/^debug_/i.test(key)).reduce((obj,key)=>{let prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_$6,k$2)=>k$2.toUpperCase()),val=process.env[key];return val=/^(yes|on|true|enabled)$/i.test(val)?!0:/^(no|off|false|disabled)$/i.test(val)?!1:val===`null`?null:Number(val),obj[prop]=val,obj},{});function useColors$2(){return`colors`in exports$1.inspectOpts?!!exports$1.inspectOpts.colors:tty$6.isatty(process.stderr.fd)}function formatArgs$2(args){let{namespace:name$5,useColors:useColors$2$1}=this;if(useColors$2$1){let c$3=this.color,colorCode=`\x1B[3`+(c$3<8?c$3:`8;5;`+c$3),prefix=` ${colorCode};1m${name$5} \u001B[0m`;args[0]=prefix+args[0].split(`
29
29
  `).join(`
30
30
  `+prefix),args.push(colorCode+`m+`+module$1.exports.humanize(this.diff)+`\x1B[0m`)}else args[0]=getDate$1()+name$5+` `+args[0]}function getDate$1(){return exports$1.inspectOpts.hideDate?``:new Date().toISOString()+` `}function log$5(...args){return process.stderr.write(util$68.formatWithOptions(exports$1.inspectOpts,...args)+`
31
31
  `)}function save$2(namespaces){namespaces?process.env.DEBUG=namespaces:delete process.env.DEBUG}function load$7(){return process.env.DEBUG}function init$4(debug$1$1){debug$1$1.inspectOpts={};let keys=Object.keys(exports$1.inspectOpts);for(let i$1$1=0;i$1$1<keys.length;i$1$1++)debug$1$1.inspectOpts[keys[i$1$1]]=exports$1.inspectOpts[keys[i$1$1]]}module$1.exports=require_common$5()(exports$1);let{formatters:formatters$2}=module$1.exports;formatters$2.o=function(v$2){return this.inspectOpts.colors=this.useColors,util$68.inspect(v$2,this.inspectOpts).split(`
@@ -33,15 +33,10 @@ Expecting one of '${allowedValues.join(`', '`)}'`);let helpEvent=`${position}Hel
33
33
  `,`\r`,` `,` `,`\0`].some(char7=>this.checkString(char7,{offset:6})))return{ext:`vtt`,mime:`text/vtt`};if(this.check([137,80,78,71,13,10,26,10])){await tokenizer.ignore(8);async function readChunkHeader(){return{length:await tokenizer.readToken(INT32_BE$1),type:await tokenizer.readToken(new StringType$1(4,`latin1`))}}do{let chunk$1=await readChunkHeader();if(chunk$1.length<0)return;switch(chunk$1.type){case`IDAT`:return{ext:`png`,mime:`image/png`};case`acTL`:return{ext:`apng`,mime:`image/apng`};default:await tokenizer.ignore(chunk$1.length+4)}}while(tokenizer.position+8<tokenizer.fileInfo.size);return{ext:`png`,mime:`image/png`}}if(this.check([65,82,82,79,87,49,0,0]))return{ext:`arrow`,mime:`application/vnd.apache.arrow.file`};if(this.check([103,108,84,70,2,0,0,0]))return{ext:`glb`,mime:`model/gltf-binary`};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:`mov`,mime:`video/quicktime`};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:`orf`,mime:`image/x-olympus-orf`};if(this.checkString(`gimp xcf `))return{ext:`xcf`,mime:`image/x-xcf`};if(this.checkString(`ftyp`,{offset:4})&&this.buffer[8]&96){let brandMajor=new StringType$1(4,`latin1`).get(this.buffer,8).replace(`\0`,` `).trim();switch(brandMajor){case`avif`:case`avis`:return{ext:`avif`,mime:`image/avif`};case`mif1`:return{ext:`heic`,mime:`image/heif`};case`msf1`:return{ext:`heic`,mime:`image/heif-sequence`};case`heic`:case`heix`:return{ext:`heic`,mime:`image/heic`};case`hevc`:case`hevx`:return{ext:`heic`,mime:`image/heic-sequence`};case`qt`:return{ext:`mov`,mime:`video/quicktime`};case`M4V`:case`M4VH`:case`M4VP`:return{ext:`m4v`,mime:`video/x-m4v`};case`M4P`:return{ext:`m4p`,mime:`video/mp4`};case`M4B`:return{ext:`m4b`,mime:`audio/mp4`};case`M4A`:return{ext:`m4a`,mime:`audio/x-m4a`};case`F4V`:return{ext:`f4v`,mime:`video/mp4`};case`F4P`:return{ext:`f4p`,mime:`video/mp4`};case`F4A`:return{ext:`f4a`,mime:`audio/mp4`};case`F4B`:return{ext:`f4b`,mime:`audio/mp4`};case`crx`:return{ext:`cr3`,mime:`image/x-canon-cr3`};default:return brandMajor.startsWith(`3g`)?brandMajor.startsWith(`3g2`)?{ext:`3g2`,mime:`video/3gpp2`}:{ext:`3gp`,mime:`video/3gpp`}:{ext:`mp4`,mime:`video/mp4`}}}if(this.check([82,73,70,70])){if(this.checkString(`WEBP`,{offset:8}))return{ext:`webp`,mime:`image/webp`};if(this.check([65,86,73],{offset:8}))return{ext:`avi`,mime:`video/vnd.avi`};if(this.check([87,65,86,69],{offset:8}))return{ext:`wav`,mime:`audio/wav`};if(this.check([81,76,67,77],{offset:8}))return{ext:`qcp`,mime:`audio/qcelp`}}if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:`rw2`,mime:`image/x-panasonic-rw2`};if(this.check([48,38,178,117,142,102,207,17,166,217])){async function readHeader(){let guid=new Uint8Array(16);return await tokenizer.readBuffer(guid),{id:guid,size:Number(await tokenizer.readToken(UINT64_LE$1))}}for(await tokenizer.ignore(30);tokenizer.position+24<tokenizer.fileInfo.size;){let header=await readHeader(),payload=header.size-24;if(_check$1(header.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let typeId=new Uint8Array(16);if(payload-=await tokenizer.readBuffer(typeId),_check$1(typeId,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:`asf`,mime:`audio/x-ms-asf`};if(_check$1(typeId,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:`asf`,mime:`video/x-ms-asf`};break}await tokenizer.ignore(payload)}return{ext:`asf`,mime:`application/vnd.ms-asf`}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:`ktx`,mime:`image/ktx`};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:`mie`,mime:`application/x-mie`};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:`shp`,mime:`application/x-esri-shape`};if(this.check([255,79,255,81]))return{ext:`j2c`,mime:`image/j2c`};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10])){await tokenizer.ignore(20);let type=await tokenizer.readToken(new StringType$1(4,`ascii`));switch(type){case`jp2 `:return{ext:`jp2`,mime:`image/jp2`};case`jpx `:return{ext:`jpx`,mime:`image/jpx`};case`jpm `:return{ext:`jpm`,mime:`image/jpm`};case`mjp2`:return{ext:`mj2`,mime:`image/mj2`};default:return}}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:`jxl`,mime:`image/jxl`};if(this.check([254,255]))return this.check([0,60,0,63,0,120,0,109,0,108],{offset:2})?{ext:`xml`,mime:`application/xml`}:void 0;if(this.check([208,207,17,224,161,177,26,225]))return{ext:`cfb`,mime:`application/x-cfb`};if(await tokenizer.peekBuffer(this.buffer,{length:Math.min(256,tokenizer.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:`icc`,mime:`application/vnd.iccprofile`};if(this.checkString(`**ACE`,{offset:7})&&this.checkString(`**`,{offset:12}))return{ext:`ace`,mime:`application/x-ace-compressed`};if(this.checkString(`BEGIN:`)){if(this.checkString(`VCARD`,{offset:6}))return{ext:`vcf`,mime:`text/vcard`};if(this.checkString(`VCALENDAR`,{offset:6}))return{ext:`ics`,mime:`text/calendar`}}if(this.checkString(`FUJIFILMCCD-RAW`))return{ext:`raf`,mime:`image/x-fujifilm-raf`};if(this.checkString(`Extended Module:`))return{ext:`xm`,mime:`audio/x-xm`};if(this.checkString(`Creative Voice File`))return{ext:`voc`,mime:`audio/x-voc`};if(this.check([4,0,0,0])&&this.buffer.length>=16){let jsonSize=new DataView(this.buffer.buffer).getUint32(12,!0);if(jsonSize>12&&this.buffer.length>=jsonSize+16)try{let header=new TextDecoder().decode(this.buffer.subarray(16,jsonSize+16)),json$2=JSON.parse(header);if(json$2.files)return{ext:`asar`,mime:`application/x-asar`}}catch{}}if(this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:`mxf`,mime:`application/mxf`};if(this.checkString(`SCRM`,{offset:44}))return{ext:`s3m`,mime:`audio/x-s3m`};if(this.check([71])&&this.check([71],{offset:188})||this.check([71],{offset:4})&&this.check([71],{offset:196}))return{ext:`mts`,mime:`video/mp2t`};if(this.check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:`mobi`,mime:`application/x-mobipocket-ebook`};if(this.check([68,73,67,77],{offset:128}))return{ext:`dcm`,mime:`application/dicom`};if(this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:`lnk`,mime:`application/x.ms.shortcut`};if(this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:`alias`,mime:`application/x.apple.alias`};if(this.checkString(`Kaydara FBX Binary \0`))return{ext:`fbx`,mime:`application/x.autodesk.fbx`};if(this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8})))return{ext:`eot`,mime:`application/vnd.ms-fontobject`};if(this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:`indd`,mime:`application/x-indesign`};if(await tokenizer.peekBuffer(this.buffer,{length:Math.min(512,tokenizer.fileInfo.size),mayBeLess:!0}),this.checkString(`ustar`,{offset:257})&&(this.checkString(`\0`,{offset:262})||this.checkString(` `,{offset:262}))||this.check([0,0,0,0,0,0],{offset:257})&&tarHeaderChecksumMatches$1(this.buffer))return{ext:`tar`,mime:`application/x-tar`};if(this.check([255,254]))return this.check([60,0,63,0,120,0,109,0,108,0],{offset:2})?{ext:`xml`,mime:`application/xml`}:this.check([255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0],{offset:2})?{ext:`skp`,mime:`application/vnd.sketchup.skp`}:void 0;if(this.checkString(`-----BEGIN PGP MESSAGE-----`))return{ext:`pgp`,mime:`application/pgp-encrypted`}};detectImprecise=async tokenizer=>{if(this.buffer=new Uint8Array(reasonableDetectionSizeInBytes$1),await tokenizer.peekBuffer(this.buffer,{length:Math.min(8,tokenizer.fileInfo.size),mayBeLess:!0}),this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:`mpg`,mime:`video/mpeg`};if(this.check([0,1,0,0,0]))return{ext:`ttf`,mime:`font/ttf`};if(this.check([0,0,1,0]))return{ext:`ico`,mime:`image/x-icon`};if(this.check([0,0,2,0]))return{ext:`cur`,mime:`image/x-icon`};if(await tokenizer.peekBuffer(this.buffer,{length:Math.min(2+this.options.mpegOffsetTolerance,tokenizer.fileInfo.size),mayBeLess:!0}),this.buffer.length>=2+this.options.mpegOffsetTolerance)for(let depth$1=0;depth$1<=this.options.mpegOffsetTolerance;++depth$1){let type=this.scanMpeg(depth$1);if(type)return type}};async readTiffTag(bigEndian){let tagId=await this.tokenizer.readToken(bigEndian?UINT16_BE$1:UINT16_LE$1);switch(this.tokenizer.ignore(10),tagId){case 50341:return{ext:`arw`,mime:`image/x-sony-arw`};case 50706:return{ext:`dng`,mime:`image/x-adobe-dng`};default:}}async readTiffIFD(bigEndian){let numberOfTags=await this.tokenizer.readToken(bigEndian?UINT16_BE$1:UINT16_LE$1);for(let n$2=0;n$2<numberOfTags;++n$2){let fileType=await this.readTiffTag(bigEndian);if(fileType)return fileType}}async readTiffHeader(bigEndian){let version$4=(bigEndian?UINT16_BE$1:UINT16_LE$1).get(this.buffer,2),ifdOffset=(bigEndian?UINT32_BE$1:UINT32_LE$1).get(this.buffer,4);if(version$4===42){if(ifdOffset>=6){if(this.checkString(`CR`,{offset:8}))return{ext:`cr2`,mime:`image/x-canon-cr2`};if(ifdOffset>=8){let someId1=(bigEndian?UINT16_BE$1:UINT16_LE$1).get(this.buffer,8),someId2=(bigEndian?UINT16_BE$1:UINT16_LE$1).get(this.buffer,10);if(someId1===28&&someId2===254||someId1===31&&someId2===11)return{ext:`nef`,mime:`image/x-nikon-nef`}}}await this.tokenizer.ignore(ifdOffset);let fileType=await this.readTiffIFD(bigEndian);return fileType??{ext:`tif`,mime:`image/tiff`}}if(version$4===43)return{ext:`tif`,mime:`image/tiff`}}scanMpeg(offset){if(this.check([255,224],{offset,mask:[255,224]})){if(this.check([16],{offset:offset+1,mask:[22]}))return this.check([8],{offset:offset+1,mask:[8]}),{ext:`aac`,mime:`audio/aac`};if(this.check([2],{offset:offset+1,mask:[6]}))return{ext:`mp3`,mime:`audio/mpeg`};if(this.check([4],{offset:offset+1,mask:[6]}))return{ext:`mp2`,mime:`audio/mpeg`};if(this.check([6],{offset:offset+1,mask:[6]}))return{ext:`mp1`,mime:`audio/mpeg`}}}},require_addon_serialize$1=__commonJS$2({"../../node_modules/@xterm/addon-serialize/lib/addon-serialize.js":((exports$1,module$1)=>{(function(e$3,t$1){typeof exports$1==`object`&&typeof module$1==`object`?module$1.exports=t$1():typeof define==`function`&&define.amd?define([],t$1):typeof exports$1==`object`?exports$1.SerializeAddon=t$1():e$3.SerializeAddon=t$1()})(exports$1,(()=>(()=>{var e$3={930:(e$1$1,t$1$1,s$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.ColorContrastCache=void 0;let r$1$1=s$2$1(485);t$1$1.ColorContrastCache=class{constructor(){this._color=new r$1$1.TwoKeyMap,this._css=new r$1$1.TwoKeyMap}setCss(e$2$1,t$2,s$3){this._css.set(e$2$1,t$2,s$3)}getCss(e$2$1,t$2){return this._css.get(e$2$1,t$2)}setColor(e$2$1,t$2,s$3){this._color.set(e$2$1,t$2,s$3)}getColor(e$2$1,t$2){return this._color.get(e$2$1,t$2)}clear(){this._color.clear(),this._css.clear()}}},997:function(e$1$1,t$1$1,s$2$1){var r$1$1=this&&this.__decorate||function(e$2$1,t$2,s$3,r$2$1){var o$1$1,i$2$1=arguments.length,n$1$1=i$2$1<3?t$2:r$2$1===null?r$2$1=Object.getOwnPropertyDescriptor(t$2,s$3):r$2$1;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)n$1$1=Reflect.decorate(e$2$1,t$2,s$3,r$2$1);else for(var l$1$1=e$2$1.length-1;l$1$1>=0;l$1$1--)(o$1$1=e$2$1[l$1$1])&&(n$1$1=(i$2$1<3?o$1$1(n$1$1):i$2$1>3?o$1$1(t$2,s$3,n$1$1):o$1$1(t$2,s$3))||n$1$1);return i$2$1>3&&n$1$1&&Object.defineProperty(t$2,s$3,n$1$1),n$1$1},o$3=this&&this.__param||function(e$2$1,t$2){return function(s$3,r$2$1){t$2(s$3,r$2$1,e$2$1)}};Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.ThemeService=t$1$1.DEFAULT_ANSI_COLORS=void 0;let i$1$1=s$2$1(930),n$2=s$2$1(160),l$2=s$2$1(345),a$4=s$2$1(859),c$3=s$2$1(97),h$1$1=n$2.css.toColor(`#ffffff`),u$18=n$2.css.toColor(`#000000`),_$6=n$2.css.toColor(`#ffffff`),d$1$1=n$2.css.toColor(`#000000`),C$3={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117};t$1$1.DEFAULT_ANSI_COLORS=Object.freeze((()=>{let e$2$1=[n$2.css.toColor(`#2e3436`),n$2.css.toColor(`#cc0000`),n$2.css.toColor(`#4e9a06`),n$2.css.toColor(`#c4a000`),n$2.css.toColor(`#3465a4`),n$2.css.toColor(`#75507b`),n$2.css.toColor(`#06989a`),n$2.css.toColor(`#d3d7cf`),n$2.css.toColor(`#555753`),n$2.css.toColor(`#ef2929`),n$2.css.toColor(`#8ae234`),n$2.css.toColor(`#fce94f`),n$2.css.toColor(`#729fcf`),n$2.css.toColor(`#ad7fa8`),n$2.css.toColor(`#34e2e2`),n$2.css.toColor(`#eeeeec`)],t$2=[0,95,135,175,215,255];for(let s$3=0;s$3<216;s$3++){let r$2$1=t$2[s$3/36%6|0],o$1$1=t$2[s$3/6%6|0],i$2$1=t$2[s$3%6];e$2$1.push({css:n$2.channels.toCss(r$2$1,o$1$1,i$2$1),rgba:n$2.channels.toRgba(r$2$1,o$1$1,i$2$1)})}for(let t$3=0;t$3<24;t$3++){let s$3=8+10*t$3;e$2$1.push({css:n$2.channels.toCss(s$3,s$3,s$3),rgba:n$2.channels.toRgba(s$3,s$3,s$3)})}return e$2$1})());let f=t$1$1.ThemeService=class extends a$4.Disposable{get colors(){return this._colors}constructor(e$2$1){super(),this._optionsService=e$2$1,this._contrastCache=new i$1$1.ColorContrastCache,this._halfContrastCache=new i$1$1.ColorContrastCache,this._onChangeColors=this.register(new l$2.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:h$1$1,background:u$18,cursor:_$6,cursorAccent:d$1$1,selectionForeground:void 0,selectionBackgroundTransparent:C$3,selectionBackgroundOpaque:n$2.color.blend(u$18,C$3),selectionInactiveBackgroundTransparent:C$3,selectionInactiveBackgroundOpaque:n$2.color.blend(u$18,C$3),ansi:t$1$1.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this.register(this._optionsService.onSpecificOptionChange(`minimumContrastRatio`,(()=>this._contrastCache.clear()))),this.register(this._optionsService.onSpecificOptionChange(`theme`,(()=>this._setTheme(this._optionsService.rawOptions.theme))))}_setTheme(e$2$1={}){let s$3=this._colors;if(s$3.foreground=g$1(e$2$1.foreground,h$1$1),s$3.background=g$1(e$2$1.background,u$18),s$3.cursor=g$1(e$2$1.cursor,_$6),s$3.cursorAccent=g$1(e$2$1.cursorAccent,d$1$1),s$3.selectionBackgroundTransparent=g$1(e$2$1.selectionBackground,C$3),s$3.selectionBackgroundOpaque=n$2.color.blend(s$3.background,s$3.selectionBackgroundTransparent),s$3.selectionInactiveBackgroundTransparent=g$1(e$2$1.selectionInactiveBackground,s$3.selectionBackgroundTransparent),s$3.selectionInactiveBackgroundOpaque=n$2.color.blend(s$3.background,s$3.selectionInactiveBackgroundTransparent),s$3.selectionForeground=e$2$1.selectionForeground?g$1(e$2$1.selectionForeground,n$2.NULL_COLOR):void 0,s$3.selectionForeground===n$2.NULL_COLOR&&(s$3.selectionForeground=void 0),n$2.color.isOpaque(s$3.selectionBackgroundTransparent)){let e$3$1=.3;s$3.selectionBackgroundTransparent=n$2.color.opacity(s$3.selectionBackgroundTransparent,.3)}if(n$2.color.isOpaque(s$3.selectionInactiveBackgroundTransparent)){let e$3$1=.3;s$3.selectionInactiveBackgroundTransparent=n$2.color.opacity(s$3.selectionInactiveBackgroundTransparent,.3)}if(s$3.ansi=t$1$1.DEFAULT_ANSI_COLORS.slice(),s$3.ansi[0]=g$1(e$2$1.black,t$1$1.DEFAULT_ANSI_COLORS[0]),s$3.ansi[1]=g$1(e$2$1.red,t$1$1.DEFAULT_ANSI_COLORS[1]),s$3.ansi[2]=g$1(e$2$1.green,t$1$1.DEFAULT_ANSI_COLORS[2]),s$3.ansi[3]=g$1(e$2$1.yellow,t$1$1.DEFAULT_ANSI_COLORS[3]),s$3.ansi[4]=g$1(e$2$1.blue,t$1$1.DEFAULT_ANSI_COLORS[4]),s$3.ansi[5]=g$1(e$2$1.magenta,t$1$1.DEFAULT_ANSI_COLORS[5]),s$3.ansi[6]=g$1(e$2$1.cyan,t$1$1.DEFAULT_ANSI_COLORS[6]),s$3.ansi[7]=g$1(e$2$1.white,t$1$1.DEFAULT_ANSI_COLORS[7]),s$3.ansi[8]=g$1(e$2$1.brightBlack,t$1$1.DEFAULT_ANSI_COLORS[8]),s$3.ansi[9]=g$1(e$2$1.brightRed,t$1$1.DEFAULT_ANSI_COLORS[9]),s$3.ansi[10]=g$1(e$2$1.brightGreen,t$1$1.DEFAULT_ANSI_COLORS[10]),s$3.ansi[11]=g$1(e$2$1.brightYellow,t$1$1.DEFAULT_ANSI_COLORS[11]),s$3.ansi[12]=g$1(e$2$1.brightBlue,t$1$1.DEFAULT_ANSI_COLORS[12]),s$3.ansi[13]=g$1(e$2$1.brightMagenta,t$1$1.DEFAULT_ANSI_COLORS[13]),s$3.ansi[14]=g$1(e$2$1.brightCyan,t$1$1.DEFAULT_ANSI_COLORS[14]),s$3.ansi[15]=g$1(e$2$1.brightWhite,t$1$1.DEFAULT_ANSI_COLORS[15]),e$2$1.extendedAnsi){let r$2$1=Math.min(s$3.ansi.length-16,e$2$1.extendedAnsi.length);for(let o$1$1=0;o$1$1<r$2$1;o$1$1++)s$3.ansi[o$1$1+16]=g$1(e$2$1.extendedAnsi[o$1$1],t$1$1.DEFAULT_ANSI_COLORS[o$1$1+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e$2$1){this._restoreColor(e$2$1),this._onChangeColors.fire(this.colors)}_restoreColor(e$2$1){if(e$2$1!==void 0)switch(e$2$1){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e$2$1]=this._restoreColors.ansi[e$2$1]}else for(let e$3$1=0;e$3$1<this._restoreColors.ansi.length;++e$3$1)this._colors.ansi[e$3$1]=this._restoreColors.ansi[e$3$1]}modifyColors(e$2$1){e$2$1(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function g$1(e$2$1,t$2){if(e$2$1!==void 0)try{return n$2.css.toColor(e$2$1)}catch{}return t$2}t$1$1.ThemeService=f=r$1$1([o$3(0,c$3.IOptionsService)],f)},160:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.contrastRatio=t$1$1.toPaddedHex=t$1$1.rgba=t$1$1.rgb=t$1$1.css=t$1$1.color=t$1$1.channels=t$1$1.NULL_COLOR=void 0;let s$2$1=0,r$1$1=0,o$3=0,i$1$1=0;var n$2,l$2,a$4,c$3,h$1$1;function u$18(e$2$1){let t$2=e$2$1.toString(16);return t$2.length<2?`0`+t$2:t$2}function _$6(e$2$1,t$2){return e$2$1<t$2?(t$2+.05)/(e$2$1+.05):(e$2$1+.05)/(t$2+.05)}t$1$1.NULL_COLOR={css:`#00000000`,rgba:0},function(e$2$1){e$2$1.toCss=function(e$3$1,t$2,s$3,r$2$1){return r$2$1===void 0?`#${u$18(e$3$1)}${u$18(t$2)}${u$18(s$3)}`:`#${u$18(e$3$1)}${u$18(t$2)}${u$18(s$3)}${u$18(r$2$1)}`},e$2$1.toRgba=function(e$3$1,t$2,s$3,r$2$1=255){return(e$3$1<<24|t$2<<16|s$3<<8|r$2$1)>>>0},e$2$1.toColor=function(t$2,s$3,r$2$1,o$1$1){return{css:e$2$1.toCss(t$2,s$3,r$2$1,o$1$1),rgba:e$2$1.toRgba(t$2,s$3,r$2$1,o$1$1)}}}(n$2||(t$1$1.channels=n$2={})),function(e$2$1){function t$2(e$3$1,t$3){return i$1$1=Math.round(255*t$3),[s$2$1,r$1$1,o$3]=h$1$1.toChannels(e$3$1.rgba),{css:n$2.toCss(s$2$1,r$1$1,o$3,i$1$1),rgba:n$2.toRgba(s$2$1,r$1$1,o$3,i$1$1)}}e$2$1.blend=function(e$3$1,t$3){if(i$1$1=(255&t$3.rgba)/255,i$1$1===1)return{css:t$3.css,rgba:t$3.rgba};let l$1$1=t$3.rgba>>24&255,a$1$1=t$3.rgba>>16&255,c$1$1=t$3.rgba>>8&255,h$2$1=e$3$1.rgba>>24&255,u$1$1=e$3$1.rgba>>16&255,_$1$1=e$3$1.rgba>>8&255;return s$2$1=h$2$1+Math.round((l$1$1-h$2$1)*i$1$1),r$1$1=u$1$1+Math.round((a$1$1-u$1$1)*i$1$1),o$3=_$1$1+Math.round((c$1$1-_$1$1)*i$1$1),{css:n$2.toCss(s$2$1,r$1$1,o$3),rgba:n$2.toRgba(s$2$1,r$1$1,o$3)}},e$2$1.isOpaque=function(e$3$1){return(255&e$3$1.rgba)==255},e$2$1.ensureContrastRatio=function(e$3$1,t$3,s$3){let r$2$1=h$1$1.ensureContrastRatio(e$3$1.rgba,t$3.rgba,s$3);if(r$2$1)return n$2.toColor(r$2$1>>24&255,r$2$1>>16&255,r$2$1>>8&255)},e$2$1.opaque=function(e$3$1){let t$3=(255|e$3$1.rgba)>>>0;return[s$2$1,r$1$1,o$3]=h$1$1.toChannels(t$3),{css:n$2.toCss(s$2$1,r$1$1,o$3),rgba:t$3}},e$2$1.opacity=t$2,e$2$1.multiplyOpacity=function(e$3$1,s$3){return i$1$1=255&e$3$1.rgba,t$2(e$3$1,i$1$1*s$3/255)},e$2$1.toColorRGB=function(e$3$1){return[e$3$1.rgba>>24&255,e$3$1.rgba>>16&255,e$3$1.rgba>>8&255]}}(l$2||(t$1$1.color=l$2={})),function(e$2$1){let t$2,l$1$1;try{let e$3$1=document.createElement(`canvas`);e$3$1.width=1,e$3$1.height=1;let s$3=e$3$1.getContext(`2d`,{willReadFrequently:!0});s$3&&(t$2=s$3,t$2.globalCompositeOperation=`copy`,l$1$1=t$2.createLinearGradient(0,0,1,1))}catch{}e$2$1.toColor=function(e$3$1){if(e$3$1.match(/#[\da-f]{3,8}/i))switch(e$3$1.length){case 4:return s$2$1=parseInt(e$3$1.slice(1,2).repeat(2),16),r$1$1=parseInt(e$3$1.slice(2,3).repeat(2),16),o$3=parseInt(e$3$1.slice(3,4).repeat(2),16),n$2.toColor(s$2$1,r$1$1,o$3);case 5:return s$2$1=parseInt(e$3$1.slice(1,2).repeat(2),16),r$1$1=parseInt(e$3$1.slice(2,3).repeat(2),16),o$3=parseInt(e$3$1.slice(3,4).repeat(2),16),i$1$1=parseInt(e$3$1.slice(4,5).repeat(2),16),n$2.toColor(s$2$1,r$1$1,o$3,i$1$1);case 7:return{css:e$3$1,rgba:(parseInt(e$3$1.slice(1),16)<<8|255)>>>0};case 9:return{css:e$3$1,rgba:parseInt(e$3$1.slice(1),16)>>>0}}let a$1$1=e$3$1.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(a$1$1)return s$2$1=parseInt(a$1$1[1]),r$1$1=parseInt(a$1$1[2]),o$3=parseInt(a$1$1[3]),i$1$1=Math.round(255*(a$1$1[5]===void 0?1:parseFloat(a$1$1[5]))),n$2.toColor(s$2$1,r$1$1,o$3,i$1$1);if(!t$2||!l$1$1||(t$2.fillStyle=l$1$1,t$2.fillStyle=e$3$1,typeof t$2.fillStyle!=`string`)||(t$2.fillRect(0,0,1,1),[s$2$1,r$1$1,o$3,i$1$1]=t$2.getImageData(0,0,1,1).data,i$1$1!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:n$2.toRgba(s$2$1,r$1$1,o$3,i$1$1),css:e$3$1}}}(a$4||(t$1$1.css=a$4={})),function(e$2$1){function t$2(e$3$1,t$3,s$3){let r$2$1=e$3$1/255,o$1$1=t$3/255,i$2$1=s$3/255;return .2126*(r$2$1<=.03928?r$2$1/12.92:((r$2$1+.055)/1.055)**2.4)+.7152*(o$1$1<=.03928?o$1$1/12.92:((o$1$1+.055)/1.055)**2.4)+.0722*(i$2$1<=.03928?i$2$1/12.92:((i$2$1+.055)/1.055)**2.4)}e$2$1.relativeLuminance=function(e$3$1){return t$2(e$3$1>>16&255,e$3$1>>8&255,255&e$3$1)},e$2$1.relativeLuminance2=t$2}(c$3||(t$1$1.rgb=c$3={})),function(e$2$1){function t$2(e$3$1,t$3,s$3){let r$2$1=e$3$1>>24&255,o$1$1=e$3$1>>16&255,i$2$1=e$3$1>>8&255,n$1$1=t$3>>24&255,l$2$1=t$3>>16&255,a$1$1=t$3>>8&255,h$2$1=_$6(c$3.relativeLuminance2(n$1$1,l$2$1,a$1$1),c$3.relativeLuminance2(r$2$1,o$1$1,i$2$1));for(;h$2$1<s$3&&(n$1$1>0||l$2$1>0||a$1$1>0);)n$1$1-=Math.max(0,Math.ceil(.1*n$1$1)),l$2$1-=Math.max(0,Math.ceil(.1*l$2$1)),a$1$1-=Math.max(0,Math.ceil(.1*a$1$1)),h$2$1=_$6(c$3.relativeLuminance2(n$1$1,l$2$1,a$1$1),c$3.relativeLuminance2(r$2$1,o$1$1,i$2$1));return(n$1$1<<24|l$2$1<<16|a$1$1<<8|255)>>>0}function l$1$1(e$3$1,t$3,s$3){let r$2$1=e$3$1>>24&255,o$1$1=e$3$1>>16&255,i$2$1=e$3$1>>8&255,n$1$1=t$3>>24&255,l$2$1=t$3>>16&255,a$1$1=t$3>>8&255,h$2$1=_$6(c$3.relativeLuminance2(n$1$1,l$2$1,a$1$1),c$3.relativeLuminance2(r$2$1,o$1$1,i$2$1));for(;h$2$1<s$3&&(n$1$1<255||l$2$1<255||a$1$1<255);)n$1$1=Math.min(255,n$1$1+Math.ceil(.1*(255-n$1$1))),l$2$1=Math.min(255,l$2$1+Math.ceil(.1*(255-l$2$1))),a$1$1=Math.min(255,a$1$1+Math.ceil(.1*(255-a$1$1))),h$2$1=_$6(c$3.relativeLuminance2(n$1$1,l$2$1,a$1$1),c$3.relativeLuminance2(r$2$1,o$1$1,i$2$1));return(n$1$1<<24|l$2$1<<16|a$1$1<<8|255)>>>0}e$2$1.blend=function(e$3$1,t$3){if(i$1$1=(255&t$3)/255,i$1$1===1)return t$3;let l$2$1=t$3>>24&255,a$1$1=t$3>>16&255,c$1$1=t$3>>8&255,h$2$1=e$3$1>>24&255,u$1$1=e$3$1>>16&255,_$1$1=e$3$1>>8&255;return s$2$1=h$2$1+Math.round((l$2$1-h$2$1)*i$1$1),r$1$1=u$1$1+Math.round((a$1$1-u$1$1)*i$1$1),o$3=_$1$1+Math.round((c$1$1-_$1$1)*i$1$1),n$2.toRgba(s$2$1,r$1$1,o$3)},e$2$1.ensureContrastRatio=function(e$3$1,s$3,r$2$1){let o$1$1=c$3.relativeLuminance(e$3$1>>8),i$2$1=c$3.relativeLuminance(s$3>>8);if(_$6(o$1$1,i$2$1)<r$2$1){if(i$2$1<o$1$1){let i$3$1=t$2(e$3$1,s$3,r$2$1),n$2$1=_$6(o$1$1,c$3.relativeLuminance(i$3$1>>8));if(n$2$1<r$2$1){let t$3=l$1$1(e$3$1,s$3,r$2$1);return n$2$1>_$6(o$1$1,c$3.relativeLuminance(t$3>>8))?i$3$1:t$3}return i$3$1}let n$1$1=l$1$1(e$3$1,s$3,r$2$1),a$1$1=_$6(o$1$1,c$3.relativeLuminance(n$1$1>>8));if(a$1$1<r$2$1){let i$3$1=t$2(e$3$1,s$3,r$2$1);return a$1$1>_$6(o$1$1,c$3.relativeLuminance(i$3$1>>8))?n$1$1:i$3$1}return n$1$1}},e$2$1.reduceLuminance=t$2,e$2$1.increaseLuminance=l$1$1,e$2$1.toChannels=function(e$3$1){return[e$3$1>>24&255,e$3$1>>16&255,e$3$1>>8&255,255&e$3$1]}}(h$1$1||(t$1$1.rgba=h$1$1={})),t$1$1.toPaddedHex=u$18,t$1$1.contrastRatio=_$6},345:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.runAndSubscribe=t$1$1.forwardEvent=t$1$1.EventEmitter=void 0,t$1$1.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||=e$2$1=>(this._listeners.push(e$2$1),{dispose:()=>{if(!this._disposed){for(let t$2=0;t$2<this._listeners.length;t$2++)if(this._listeners[t$2]===e$2$1)return void this._listeners.splice(t$2,1)}}}),this._event}fire(e$2$1,t$2){let s$2$1=[];for(let e$3$1=0;e$3$1<this._listeners.length;e$3$1++)s$2$1.push(this._listeners[e$3$1]);for(let r$1$1=0;r$1$1<s$2$1.length;r$1$1++)s$2$1[r$1$1].call(void 0,e$2$1,t$2)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},t$1$1.forwardEvent=function(e$2$1,t$2){return e$2$1((e$3$1=>t$2.fire(e$3$1)))},t$1$1.runAndSubscribe=function(e$2$1,t$2){return t$2(void 0),e$2$1((e$3$1=>t$2(e$3$1)))}},859:(e$1$1,t$1$1)=>{function s$2$1(e$2$1){for(let t$2 of e$2$1)t$2.dispose();e$2$1.length=0}Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.getDisposeArrayDisposable=t$1$1.disposeArray=t$1$1.toDisposable=t$1$1.MutableDisposable=t$1$1.Disposable=void 0,t$1$1.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(let e$2$1 of this._disposables)e$2$1.dispose();this._disposables.length=0}register(e$2$1){return this._disposables.push(e$2$1),e$2$1}unregister(e$2$1){let t$2=this._disposables.indexOf(e$2$1);t$2!==-1&&this._disposables.splice(t$2,1)}},t$1$1.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e$2$1){this._isDisposed||e$2$1===this._value||(this._value?.dispose(),this._value=e$2$1)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},t$1$1.toDisposable=function(e$2$1){return{dispose:e$2$1}},t$1$1.disposeArray=s$2$1,t$1$1.getDisposeArrayDisposable=function(e$2$1){return{dispose:()=>s$2$1(e$2$1)}}},485:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.FourKeyMap=t$1$1.TwoKeyMap=void 0;class s$2$1{constructor(){this._data={}}set(e$2$1,t$2,s$3){this._data[e$2$1]||(this._data[e$2$1]={}),this._data[e$2$1][t$2]=s$3}get(e$2$1,t$2){return this._data[e$2$1]?this._data[e$2$1][t$2]:void 0}clear(){this._data={}}}t$1$1.TwoKeyMap=s$2$1,t$1$1.FourKeyMap=class{constructor(){this._data=new s$2$1}set(e$2$1,t$2,r$1$1,o$3,i$1$1){this._data.get(e$2$1,t$2)||this._data.set(e$2$1,t$2,new s$2$1),this._data.get(e$2$1,t$2).set(r$1$1,o$3,i$1$1)}get(e$2$1,t$2,s$3,r$1$1){return this._data.get(e$2$1,t$2)?.get(s$3,r$1$1)}clear(){this._data.clear()}}},726:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.createDecorator=t$1$1.getServiceDependencies=t$1$1.serviceRegistry=void 0;let s$2$1=`di$target`,r$1$1=`di$dependencies`;t$1$1.serviceRegistry=new Map,t$1$1.getServiceDependencies=function(e$2$1){return e$2$1[r$1$1]||[]},t$1$1.createDecorator=function(e$2$1){if(t$1$1.serviceRegistry.has(e$2$1))return t$1$1.serviceRegistry.get(e$2$1);let o$3=function(e$3$1,t$2,i$1$1){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);(function(e$4,t$3,o$1$1){t$3[s$2$1]===t$3?t$3[r$1$1].push({id:e$4,index:o$1$1}):(t$3[r$1$1]=[{id:e$4,index:o$1$1}],t$3[s$2$1]=t$3)})(o$3,e$3$1,i$1$1)};return o$3.toString=()=>e$2$1,t$1$1.serviceRegistry.set(e$2$1,o$3),o$3}},97:(e$1$1,t$1$1,s$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.IDecorationService=t$1$1.IUnicodeService=t$1$1.IOscLinkService=t$1$1.IOptionsService=t$1$1.ILogService=t$1$1.LogLevelEnum=t$1$1.IInstantiationService=t$1$1.ICharsetService=t$1$1.ICoreService=t$1$1.ICoreMouseService=t$1$1.IBufferService=void 0;let r$1$1=s$2$1(726);var o$3;t$1$1.IBufferService=(0,r$1$1.createDecorator)(`BufferService`),t$1$1.ICoreMouseService=(0,r$1$1.createDecorator)(`CoreMouseService`),t$1$1.ICoreService=(0,r$1$1.createDecorator)(`CoreService`),t$1$1.ICharsetService=(0,r$1$1.createDecorator)(`CharsetService`),t$1$1.IInstantiationService=(0,r$1$1.createDecorator)(`InstantiationService`),function(e$2$1){e$2$1[e$2$1.TRACE=0]=`TRACE`,e$2$1[e$2$1.DEBUG=1]=`DEBUG`,e$2$1[e$2$1.INFO=2]=`INFO`,e$2$1[e$2$1.WARN=3]=`WARN`,e$2$1[e$2$1.ERROR=4]=`ERROR`,e$2$1[e$2$1.OFF=5]=`OFF`}(o$3||(t$1$1.LogLevelEnum=o$3={})),t$1$1.ILogService=(0,r$1$1.createDecorator)(`LogService`),t$1$1.IOptionsService=(0,r$1$1.createDecorator)(`OptionsService`),t$1$1.IOscLinkService=(0,r$1$1.createDecorator)(`OscLinkService`),t$1$1.IUnicodeService=(0,r$1$1.createDecorator)(`UnicodeService`),t$1$1.IDecorationService=(0,r$1$1.createDecorator)(`DecorationService`)}},t$1={};function s$1$1(r$1$1){var o$3=t$1[r$1$1];if(o$3!==void 0)return o$3.exports;var i$1$1=t$1[r$1$1]={exports:{}};return e$3[r$1$1].call(i$1$1.exports,i$1$1,i$1$1.exports,s$1$1),i$1$1.exports}var r$3={};return(()=>{var e$1$1=r$3;Object.defineProperty(e$1$1,`__esModule`,{value:!0}),e$1$1.HTMLSerializeHandler=e$1$1.SerializeAddon=void 0;let t$1$1=s$1$1(997);function o$3(e$2$1,t$2,s$2$1){return Math.max(t$2,Math.min(e$2$1,s$2$1))}class i$1$1{constructor(e$2$1){this._buffer=e$2$1}serialize(e$2$1,t$2){let s$2$1=this._buffer.getNullCell(),r$1$1=this._buffer.getNullCell(),o$1$1=s$2$1,i$2$1=e$2$1.start.y,n$1$1=e$2$1.end.y,l$1$1=e$2$1.start.x,a$1$1=e$2$1.end.x;this._beforeSerialize(n$1$1-i$2$1,i$2$1,n$1$1);for(let t$3=i$2$1;t$3<=n$1$1;t$3++){let i$3$1=this._buffer.getLine(t$3);if(i$3$1){let n$2$1=t$3===e$2$1.start.y?l$1$1:0,c$1$1=t$3===e$2$1.end.y?a$1$1:i$3$1.length;for(let e$3$1=n$2$1;e$3$1<c$1$1;e$3$1++){let n$3=i$3$1.getCell(e$3$1,o$1$1===s$2$1?r$1$1:s$2$1);n$3?(this._nextCell(n$3,o$1$1,t$3,e$3$1),o$1$1=n$3):console.warn(`Can't get cell at row=${t$3}, col=${e$3$1}`)}}this._rowEnd(t$3,t$3===n$1$1)}return this._afterSerialize(),this._serializeString(t$2)}_nextCell(e$2$1,t$2,s$2$1,r$1$1){}_rowEnd(e$2$1,t$2){}_beforeSerialize(e$2$1,t$2,s$2$1){}_afterSerialize(){}_serializeString(e$2$1){return``}}function n$2(e$2$1,t$2){return e$2$1.getFgColorMode()===t$2.getFgColorMode()&&e$2$1.getFgColor()===t$2.getFgColor()}function l$2(e$2$1,t$2){return e$2$1.getBgColorMode()===t$2.getBgColorMode()&&e$2$1.getBgColor()===t$2.getBgColor()}function a$4(e$2$1,t$2){return e$2$1.isInverse()===t$2.isInverse()&&e$2$1.isBold()===t$2.isBold()&&e$2$1.isUnderline()===t$2.isUnderline()&&e$2$1.isOverline()===t$2.isOverline()&&e$2$1.isBlink()===t$2.isBlink()&&e$2$1.isInvisible()===t$2.isInvisible()&&e$2$1.isItalic()===t$2.isItalic()&&e$2$1.isDim()===t$2.isDim()&&e$2$1.isStrikethrough()===t$2.isStrikethrough()}class c$3 extends i$1$1{constructor(e$2$1,t$2){super(e$2$1),this._terminal=t$2,this._rowIndex=0,this._allRows=[],this._allRowSeparators=[],this._currentRow=``,this._nullCellCount=0,this._cursorStyle=this._buffer.getNullCell(),this._cursorStyleRow=0,this._cursorStyleCol=0,this._backgroundCell=this._buffer.getNullCell(),this._firstRow=0,this._lastCursorRow=0,this._lastCursorCol=0,this._lastContentCursorRow=0,this._lastContentCursorCol=0,this._thisRowLastChar=this._buffer.getNullCell(),this._thisRowLastSecondChar=this._buffer.getNullCell(),this._nextRowFirstChar=this._buffer.getNullCell()}_beforeSerialize(e$2$1,t$2,s$2$1){this._allRows=Array(e$2$1),this._lastContentCursorRow=t$2,this._lastCursorRow=t$2,this._firstRow=t$2}_rowEnd(e$2$1,t$2){this._nullCellCount>0&&!l$2(this._cursorStyle,this._backgroundCell)&&(this._currentRow+=`[${this._nullCellCount}X`);let s$2$1=``;if(!t$2){e$2$1-this._firstRow>=this._terminal.rows&&this._buffer.getLine(this._cursorStyleRow)?.getCell(this._cursorStyleCol,this._backgroundCell);let t$3=this._buffer.getLine(e$2$1),r$1$1=this._buffer.getLine(e$2$1+1);if(r$1$1.isWrapped){s$2$1=``;let o$1$1=t$3.getCell(t$3.length-1,this._thisRowLastChar),i$2$1=t$3.getCell(t$3.length-2,this._thisRowLastSecondChar),n$1$1=r$1$1.getCell(0,this._nextRowFirstChar),a$1$1=n$1$1.getWidth()>1,c$1$1=!1;(n$1$1.getChars()&&a$1$1?this._nullCellCount<=1:this._nullCellCount<=0)&&((o$1$1.getChars()||o$1$1.getWidth()===0)&&l$2(o$1$1,n$1$1)&&(c$1$1=!0),a$1$1&&(i$2$1.getChars()||i$2$1.getWidth()===0)&&l$2(o$1$1,n$1$1)&&l$2(i$2$1,n$1$1)&&(c$1$1=!0)),c$1$1||(s$2$1=`-`.repeat(this._nullCellCount+1),s$2$1+=`\x1B[1D\x1B[1X`,this._nullCellCount>0&&(s$2$1+=`\x1B[A`,s$2$1+=`[${t$3.length-this._nullCellCount}C`,s$2$1+=`[${this._nullCellCount}X`,s$2$1+=`[${t$3.length-this._nullCellCount}D`,s$2$1+=`\x1B[B`),this._lastContentCursorRow=e$2$1+1,this._lastContentCursorCol=0,this._lastCursorRow=e$2$1+1,this._lastCursorCol=0)}else s$2$1=`\r
34
34
  `,this._lastCursorRow=e$2$1+1,this._lastCursorCol=0}this._allRows[this._rowIndex]=this._currentRow,this._allRowSeparators[this._rowIndex++]=s$2$1,this._currentRow=``,this._nullCellCount=0}_diffStyle(e$2$1,t$2){let s$2$1=[],r$1$1=!n$2(e$2$1,t$2),o$1$1=!l$2(e$2$1,t$2),i$2$1=!a$4(e$2$1,t$2);if(r$1$1||o$1$1||i$2$1)if(e$2$1.isAttributeDefault())t$2.isAttributeDefault()||s$2$1.push(0);else{if(r$1$1){let t$3=e$2$1.getFgColor();e$2$1.isFgRGB()?s$2$1.push(38,2,t$3>>>16&255,t$3>>>8&255,255&t$3):e$2$1.isFgPalette()?t$3>=16?s$2$1.push(38,5,t$3):s$2$1.push(8&t$3?90+(7&t$3):30+(7&t$3)):s$2$1.push(39)}if(o$1$1){let t$3=e$2$1.getBgColor();e$2$1.isBgRGB()?s$2$1.push(48,2,t$3>>>16&255,t$3>>>8&255,255&t$3):e$2$1.isBgPalette()?t$3>=16?s$2$1.push(48,5,t$3):s$2$1.push(8&t$3?100+(7&t$3):40+(7&t$3)):s$2$1.push(49)}i$2$1&&(e$2$1.isInverse()!==t$2.isInverse()&&s$2$1.push(e$2$1.isInverse()?7:27),e$2$1.isBold()!==t$2.isBold()&&s$2$1.push(e$2$1.isBold()?1:22),e$2$1.isUnderline()!==t$2.isUnderline()&&s$2$1.push(e$2$1.isUnderline()?4:24),e$2$1.isOverline()!==t$2.isOverline()&&s$2$1.push(e$2$1.isOverline()?53:55),e$2$1.isBlink()!==t$2.isBlink()&&s$2$1.push(e$2$1.isBlink()?5:25),e$2$1.isInvisible()!==t$2.isInvisible()&&s$2$1.push(e$2$1.isInvisible()?8:28),e$2$1.isItalic()!==t$2.isItalic()&&s$2$1.push(e$2$1.isItalic()?3:23),e$2$1.isDim()!==t$2.isDim()&&s$2$1.push(e$2$1.isDim()?2:22),e$2$1.isStrikethrough()!==t$2.isStrikethrough()&&s$2$1.push(e$2$1.isStrikethrough()?9:29))}return s$2$1}_nextCell(e$2$1,t$2,s$2$1,r$1$1){if(e$2$1.getWidth()===0)return;let o$1$1=e$2$1.getChars()===``,i$2$1=this._diffStyle(e$2$1,this._cursorStyle);if(o$1$1?!l$2(this._cursorStyle,e$2$1):i$2$1.length>0){this._nullCellCount>0&&(l$2(this._cursorStyle,this._backgroundCell)||(this._currentRow+=`[${this._nullCellCount}X`),this._currentRow+=`[${this._nullCellCount}C`,this._nullCellCount=0),this._lastContentCursorRow=this._lastCursorRow=s$2$1,this._lastContentCursorCol=this._lastCursorCol=r$1$1,this._currentRow+=`[${i$2$1.join(`;`)}m`;let e$3$1=this._buffer.getLine(s$2$1);e$3$1!==void 0&&(e$3$1.getCell(r$1$1,this._cursorStyle),this._cursorStyleRow=s$2$1,this._cursorStyleCol=r$1$1)}o$1$1?this._nullCellCount+=e$2$1.getWidth():(this._nullCellCount>0&&(l$2(this._cursorStyle,this._backgroundCell)||(this._currentRow+=`[${this._nullCellCount}X`),this._currentRow+=`[${this._nullCellCount}C`,this._nullCellCount=0),this._currentRow+=e$2$1.getChars(),this._lastContentCursorRow=this._lastCursorRow=s$2$1,this._lastContentCursorCol=this._lastCursorCol=r$1$1+e$2$1.getWidth())}_serializeString(e$2$1){let t$2=this._allRows.length;this._buffer.length-this._firstRow<=this._terminal.rows&&(t$2=this._lastContentCursorRow+1-this._firstRow,this._lastCursorCol=this._lastContentCursorCol,this._lastCursorRow=this._lastContentCursorRow);let s$2$1=``;for(let e$3$1=0;e$3$1<t$2;e$3$1++)s$2$1+=this._allRows[e$3$1],e$3$1+1<t$2&&(s$2$1+=this._allRowSeparators[e$3$1]);if(!e$2$1){let e$3$1=this._buffer.baseY+this._buffer.cursorY,t$3=this._buffer.cursorX,o$2$1=e$4=>{e$4>0?s$2$1+=`[${e$4}C`:e$4<0&&(s$2$1+=`[${-e$4}D`)};(e$3$1!==this._lastCursorRow||t$3!==this._lastCursorCol)&&((r$1$1=e$3$1-this._lastCursorRow)>0?s$2$1+=`[${r$1$1}B`:r$1$1<0&&(s$2$1+=`[${-r$1$1}A`),o$2$1(t$3-this._lastCursorCol))}var r$1$1;let o$1$1=this._terminal._core._inputHandler._curAttrData,i$2$1=this._diffStyle(o$1$1,this._cursorStyle);return i$2$1.length>0&&(s$2$1+=`[${i$2$1.join(`;`)}m`),s$2$1}}e$1$1.SerializeAddon=class{activate(e$2$1){this._terminal=e$2$1}_serializeBufferByScrollback(e$2$1,t$2,s$2$1){let r$1$1=t$2.length,i$2$1=s$2$1===void 0?r$1$1:o$3(s$2$1+e$2$1.rows,0,r$1$1);return this._serializeBufferByRange(e$2$1,t$2,{start:r$1$1-i$2$1,end:r$1$1-1},!1)}_serializeBufferByRange(e$2$1,t$2,s$2$1,r$1$1){return new c$3(t$2,e$2$1).serialize({start:{x:0,y:typeof s$2$1.start==`number`?s$2$1.start:s$2$1.start.line},end:{x:e$2$1.cols,y:typeof s$2$1.end==`number`?s$2$1.end:s$2$1.end.line}},r$1$1)}_serializeBufferAsHTML(e$2$1,t$2){let s$2$1=e$2$1.buffer.active,r$1$1=new h$1$1(s$2$1,e$2$1,t$2);if(!t$2.onlySelection){let i$3$1=s$2$1.length,n$1$1=t$2.scrollback,l$1$1=n$1$1===void 0?i$3$1:o$3(n$1$1+e$2$1.rows,0,i$3$1);return r$1$1.serialize({start:{x:0,y:i$3$1-l$1$1},end:{x:e$2$1.cols,y:i$3$1-1}})}let i$2$1=this._terminal?.getSelectionPosition();return i$2$1===void 0?``:r$1$1.serialize({start:{x:i$2$1.start.x,y:i$2$1.start.y},end:{x:i$2$1.end.x,y:i$2$1.end.y}})}_serializeModes(e$2$1){let t$2=``,s$2$1=e$2$1.modes;if(s$2$1.applicationCursorKeysMode&&(t$2+=`\x1B[?1h`),s$2$1.applicationKeypadMode&&(t$2+=`\x1B[?66h`),s$2$1.bracketedPasteMode&&(t$2+=`\x1B[?2004h`),s$2$1.insertMode&&(t$2+=`\x1B[4h`),s$2$1.originMode&&(t$2+=`\x1B[?6h`),s$2$1.reverseWraparoundMode&&(t$2+=`\x1B[?45h`),s$2$1.sendFocusMode&&(t$2+=`\x1B[?1004h`),!1===s$2$1.wraparoundMode&&(t$2+=`\x1B[?7l`),s$2$1.mouseTrackingMode!==`none`)switch(s$2$1.mouseTrackingMode){case`x10`:t$2+=`\x1B[?9h`;break;case`vt200`:t$2+=`\x1B[?1000h`;break;case`drag`:t$2+=`\x1B[?1002h`;break;case`any`:t$2+=`\x1B[?1003h`}return t$2}serialize(e$2$1){if(!this._terminal)throw Error(`Cannot use addon until it has been loaded`);let t$2=e$2$1?.range?this._serializeBufferByRange(this._terminal,this._terminal.buffer.normal,e$2$1.range,!0):this._serializeBufferByScrollback(this._terminal,this._terminal.buffer.normal,e$2$1?.scrollback);return e$2$1?.excludeAltBuffer||this._terminal.buffer.active.type!==`alternate`||(t$2+=`[?1049h${this._serializeBufferByScrollback(this._terminal,this._terminal.buffer.alternate,void 0)}`),e$2$1?.excludeModes||(t$2+=this._serializeModes(this._terminal)),t$2}serializeAsHTML(e$2$1){if(!this._terminal)throw Error(`Cannot use addon until it has been loaded`);return this._serializeBufferAsHTML(this._terminal,e$2$1||{})}dispose(){}};class h$1$1 extends i$1$1{constructor(e$2$1,s$2$1,r$1$1){super(e$2$1),this._terminal=s$2$1,this._options=r$1$1,this._currentRow=``,this._htmlContent=``,s$2$1._core._themeService?this._ansiColors=s$2$1._core._themeService.colors.ansi:this._ansiColors=t$1$1.DEFAULT_ANSI_COLORS}_padStart(e$2$1,t$2,s$2$1){return t$2>>=0,s$2$1??=` `,e$2$1.length>t$2?e$2$1:((t$2-=e$2$1.length)>s$2$1.length&&(s$2$1+=s$2$1.repeat(t$2/s$2$1.length)),s$2$1.slice(0,t$2)+e$2$1)}_beforeSerialize(e$2$1,t$2,s$2$1){this._htmlContent+=`<html><body><!--StartFragment--><pre>`;let r$1$1=`#000000`,o$1$1=`#ffffff`;this._options.includeGlobalBackground&&(r$1$1=this._terminal.options.theme?.foreground??`#ffffff`,o$1$1=this._terminal.options.theme?.background??`#000000`);let i$2$1=[];i$2$1.push(`color: `+r$1$1+`;`),i$2$1.push(`background-color: `+o$1$1+`;`),i$2$1.push(`font-family: `+this._terminal.options.fontFamily+`;`),i$2$1.push(`font-size: `+this._terminal.options.fontSize+`px;`),this._htmlContent+=`<div style='`+i$2$1.join(` `)+`'>`}_afterSerialize(){this._htmlContent+=`</div>`,this._htmlContent+=`</pre><!--EndFragment--></body></html>`}_rowEnd(e$2$1,t$2){this._htmlContent+=`<div><span>`+this._currentRow+`</span></div>`,this._currentRow=``}_getHexColor(e$2$1,t$2){let s$2$1=t$2?e$2$1.getFgColor():e$2$1.getBgColor();return(t$2?e$2$1.isFgRGB():e$2$1.isBgRGB())?`#`+[s$2$1>>16&255,s$2$1>>8&255,255&s$2$1].map((e$3$1=>this._padStart(e$3$1.toString(16),2,`0`))).join(``):(t$2?e$2$1.isFgPalette():e$2$1.isBgPalette())?this._ansiColors[s$2$1].css:void 0}_diffStyle(e$2$1,t$2){let s$2$1=[],r$1$1=!n$2(e$2$1,t$2),o$1$1=!l$2(e$2$1,t$2),i$2$1=!a$4(e$2$1,t$2);if(r$1$1||o$1$1||i$2$1){let t$3=this._getHexColor(e$2$1,!0);t$3&&s$2$1.push(`color: `+t$3+`;`);let r$2$1=this._getHexColor(e$2$1,!1);return r$2$1&&s$2$1.push(`background-color: `+r$2$1+`;`),e$2$1.isInverse()&&s$2$1.push(`color: #000000; background-color: #BFBFBF;`),e$2$1.isBold()&&s$2$1.push(`font-weight: bold;`),e$2$1.isUnderline()&&e$2$1.isOverline()?s$2$1.push(`text-decoration: overline underline;`):e$2$1.isUnderline()?s$2$1.push(`text-decoration: underline;`):e$2$1.isOverline()&&s$2$1.push(`text-decoration: overline;`),e$2$1.isBlink()&&s$2$1.push(`text-decoration: blink;`),e$2$1.isInvisible()&&s$2$1.push(`visibility: hidden;`),e$2$1.isItalic()&&s$2$1.push(`font-style: italic;`),e$2$1.isDim()&&s$2$1.push(`opacity: 0.5;`),e$2$1.isStrikethrough()&&s$2$1.push(`text-decoration: line-through;`),s$2$1}}_nextCell(e$2$1,t$2,s$2$1,r$1$1){if(e$2$1.getWidth()===0)return;let o$1$1=e$2$1.getChars()===``,i$2$1=this._diffStyle(e$2$1,t$2);i$2$1&&(this._currentRow+=i$2$1.length===0?`</span><span>`:`</span><span style='`+i$2$1.join(` `)+`'>`),this._currentRow+=o$1$1?` `:e$2$1.getChars()}_serializeString(){return this._htmlContent}}e$1$1.HTMLSerializeHandler=h$1$1})(),r$3})()))})}),require_xterm_headless$2=__commonJS$2({"../../node_modules/@xterm/headless/lib-headless/xterm-headless.js":(exports$1=>{(()=>{var e$3={349:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.CircularList=void 0;let s$2$1=i$2$1(460),r$1$1=i$2$1(844);class n$1$1 extends r$1$1.Disposable{constructor(e$2$1){super(),this._maxLength=e$2$1,this.onDeleteEmitter=this.register(new s$2$1.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new s$2$1.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new s$2$1.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e$2$1){if(this._maxLength===e$2$1)return;let t$2=Array(e$2$1);for(let i$3$1=0;i$3$1<Math.min(e$2$1,this.length);i$3$1++)t$2[i$3$1]=this._array[this._getCyclicIndex(i$3$1)];this._array=t$2,this._maxLength=e$2$1,this._startIndex=0}get length(){return this._length}set length(e$2$1){if(e$2$1>this._length)for(let t$2=this._length;t$2<e$2$1;t$2++)this._array[t$2]=void 0;this._length=e$2$1}get(e$2$1){return this._array[this._getCyclicIndex(e$2$1)]}set(e$2$1,t$2){this._array[this._getCyclicIndex(e$2$1)]=t$2}push(e$2$1){this._array[this._getCyclicIndex(this._length)]=e$2$1,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw Error(`Can only recycle when the buffer is full`);return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e$2$1,t$2,...i$3$1){if(t$2){for(let i$4$1=e$2$1;i$4$1<this._length-t$2;i$4$1++)this._array[this._getCyclicIndex(i$4$1)]=this._array[this._getCyclicIndex(i$4$1+t$2)];this._length-=t$2,this.onDeleteEmitter.fire({index:e$2$1,amount:t$2})}for(let t$3=this._length-1;t$3>=e$2$1;t$3--)this._array[this._getCyclicIndex(t$3+i$3$1.length)]=this._array[this._getCyclicIndex(t$3)];for(let t$3=0;t$3<i$3$1.length;t$3++)this._array[this._getCyclicIndex(e$2$1+t$3)]=i$3$1[t$3];if(i$3$1.length&&this.onInsertEmitter.fire({index:e$2$1,amount:i$3$1.length}),this._length+i$3$1.length>this._maxLength){let e$3$1=this._length+i$3$1.length-this._maxLength;this._startIndex+=e$3$1,this._length=this._maxLength,this.onTrimEmitter.fire(e$3$1)}else this._length+=i$3$1.length}trimStart(e$2$1){e$2$1>this._length&&(e$2$1=this._length),this._startIndex+=e$2$1,this._length-=e$2$1,this.onTrimEmitter.fire(e$2$1)}shiftElements(e$2$1,t$2,i$3$1){if(!(t$2<=0)){if(e$2$1<0||e$2$1>=this._length)throw Error(`start argument out of range`);if(e$2$1+i$3$1<0)throw Error(`Cannot shift elements in list beyond index 0`);if(i$3$1>0){for(let s$4=t$2-1;s$4>=0;s$4--)this.set(e$2$1+s$4+i$3$1,this.get(e$2$1+s$4));let s$3=e$2$1+t$2+i$3$1-this._length;if(s$3>0)for(this._length+=s$3;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let s$3=0;s$3<t$2;s$3++)this.set(e$2$1+s$3+i$3$1,this.get(e$2$1+s$3))}}_getCyclicIndex(e$2$1){return(this._startIndex+e$2$1)%this._maxLength}}t$1$1.CircularList=n$1$1},439:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.clone=void 0,t$1$1.clone=function e$2$1(t$2,i$2$1=5){if(typeof t$2!=`object`)return t$2;let s$2$1=Array.isArray(t$2)?[]:{};for(let r$1$1 in t$2)s$2$1[r$1$1]=i$2$1<=1?t$2[r$1$1]:t$2[r$1$1]&&e$2$1(t$2[r$1$1],i$2$1-1);return s$2$1}},969:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.CoreTerminal=void 0;let s$2$1=i$2$1(844),r$1$1=i$2$1(585),n$1$1=i$2$1(348),a$4=i$2$1(866),o$3=i$2$1(744),h$1$1=i$2$1(302),c$3=i$2$1(83),l$2=i$2$1(460),_$6=i$2$1(753),d$1$1=i$2$1(480),f=i$2$1(994),u$18=i$2$1(282),p$2=i$2$1(435),g$1=i$2$1(981),v$2=i$2$1(660),b$4=!1;class S$2 extends s$2$1.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new l$2.EventEmitter),this._onScroll.event((e$2$1=>{this._onScrollApi?.fire(e$2$1.position)}))),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e$2$1){for(let t$2 in e$2$1)this.optionsService.options[t$2]=e$2$1[t$2]}constructor(e$2$1){super(),this._windowsWrappingHeuristics=this.register(new s$2$1.MutableDisposable),this._onBinary=this.register(new l$2.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new l$2.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new l$2.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new l$2.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new l$2.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new l$2.EventEmitter),this._instantiationService=new n$1$1.InstantiationService,this.optionsService=this.register(new h$1$1.OptionsService(e$2$1)),this._instantiationService.setService(r$1$1.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(o$3.BufferService)),this._instantiationService.setService(r$1$1.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(a$4.LogService)),this._instantiationService.setService(r$1$1.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(c$3.CoreService)),this._instantiationService.setService(r$1$1.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(_$6.CoreMouseService)),this._instantiationService.setService(r$1$1.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(d$1$1.UnicodeService)),this._instantiationService.setService(r$1$1.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(f.CharsetService),this._instantiationService.setService(r$1$1.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(v$2.OscLinkService),this._instantiationService.setService(r$1$1.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new p$2.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,l$2.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,l$2.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,l$2.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,l$2.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom()))),this.register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this.register(this.optionsService.onMultipleOptionChange([`windowsMode`,`windowsPty`],(()=>this._handleWindowsPtyOptionChange()))),this.register(this._bufferService.onScroll((e$3$1=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this.register(this._inputHandler.onScroll((e$3$1=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this.register(new g$1.WriteBuffer(((e$3$1,t$2)=>this._inputHandler.parse(e$3$1,t$2)))),this.register((0,l$2.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(e$2$1,t$2){this._writeBuffer.write(e$2$1,t$2)}writeSync(e$2$1,t$2){this._logService.logLevel<=r$1$1.LogLevelEnum.WARN&&!b$4&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),b$4=!0),this._writeBuffer.writeSync(e$2$1,t$2)}input(e$2$1,t$2=!0){this.coreService.triggerDataEvent(e$2$1,t$2)}resize(e$2$1,t$2){isNaN(e$2$1)||isNaN(t$2)||(e$2$1=Math.max(e$2$1,o$3.MINIMUM_COLS),t$2=Math.max(t$2,o$3.MINIMUM_ROWS),this._bufferService.resize(e$2$1,t$2))}scroll(e$2$1,t$2=!1){this._bufferService.scroll(e$2$1,t$2)}scrollLines(e$2$1,t$2,i$3$1){this._bufferService.scrollLines(e$2$1,t$2,i$3$1)}scrollPages(e$2$1){this.scrollLines(e$2$1*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e$2$1){let t$2=e$2$1-this._bufferService.buffer.ydisp;t$2!==0&&this.scrollLines(t$2)}registerEscHandler(e$2$1,t$2){return this._inputHandler.registerEscHandler(e$2$1,t$2)}registerDcsHandler(e$2$1,t$2){return this._inputHandler.registerDcsHandler(e$2$1,t$2)}registerCsiHandler(e$2$1,t$2){return this._inputHandler.registerCsiHandler(e$2$1,t$2)}registerOscHandler(e$2$1,t$2){return this._inputHandler.registerOscHandler(e$2$1,t$2)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e$2$1=!1,t$2=this.optionsService.rawOptions.windowsPty;t$2&&t$2.buildNumber!==void 0&&t$2.buildNumber!==void 0?e$2$1=t$2.backend===`conpty`&&t$2.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e$2$1=!0),e$2$1?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e$2$1=[];e$2$1.push(this.onLineFeed(u$18.updateWindowsModeWrappedState.bind(null,this._bufferService))),e$2$1.push(this.registerCsiHandler({final:`H`},(()=>((0,u$18.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,s$2$1.toDisposable)((()=>{for(let t$2 of e$2$1)t$2.dispose()}))}}}t$1$1.CoreTerminal=S$2},460:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.runAndSubscribe=t$1$1.forwardEvent=t$1$1.EventEmitter=void 0,t$1$1.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||=e$2$1=>{this._listeners.push(e$2$1);let t$2={dispose:()=>{if(!this._disposed){for(let t$3=0;t$3<this._listeners.length;t$3++)if(this._listeners[t$3]===e$2$1)return void this._listeners.splice(t$3,1)}}};return t$2},this._event}fire(e$2$1,t$2){let i$2$1=[];for(let e$3$1=0;e$3$1<this._listeners.length;e$3$1++)i$2$1.push(this._listeners[e$3$1]);for(let s$2$1=0;s$2$1<i$2$1.length;s$2$1++)i$2$1[s$2$1].call(void 0,e$2$1,t$2)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},t$1$1.forwardEvent=function(e$2$1,t$2){return e$2$1((e$3$1=>t$2.fire(e$3$1)))},t$1$1.runAndSubscribe=function(e$2$1,t$2){return t$2(void 0),e$2$1((e$3$1=>t$2(e$3$1)))}},435:function(e$1$1,t$1$1,i$2$1){var s$2$1=this&&this.__decorate||function(e$2$1,t$2,i$3$1,s$3){var r$2$1,n$2$1=arguments.length,a$1$1=n$2$1<3?t$2:s$3===null?s$3=Object.getOwnPropertyDescriptor(t$2,i$3$1):s$3;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a$1$1=Reflect.decorate(e$2$1,t$2,i$3$1,s$3);else for(var o$1$1=e$2$1.length-1;o$1$1>=0;o$1$1--)(r$2$1=e$2$1[o$1$1])&&(a$1$1=(n$2$1<3?r$2$1(a$1$1):n$2$1>3?r$2$1(t$2,i$3$1,a$1$1):r$2$1(t$2,i$3$1))||a$1$1);return n$2$1>3&&a$1$1&&Object.defineProperty(t$2,i$3$1,a$1$1),a$1$1},r$1$1=this&&this.__param||function(e$2$1,t$2){return function(i$3$1,s$3){t$2(i$3$1,s$3,e$2$1)}};Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.InputHandler=t$1$1.WindowsOptionsReportType=void 0;let n$1$1=i$2$1(584),a$4=i$2$1(116),o$3=i$2$1(15),h$1$1=i$2$1(844),c$3=i$2$1(482),l$2=i$2$1(437),_$6=i$2$1(460),d$1$1=i$2$1(643),f=i$2$1(511),u$18=i$2$1(734),p$2=i$2$1(585),g$1=i$2$1(480),v$2=i$2$1(242),b$4=i$2$1(351),S$2=i$2$1(941),m$1$1={"(":0,")":1,"*":2,"+":3,"-":1,".":2},C$3=131072;function y$1$1(e$2$1,t$2){if(e$2$1>24)return t$2.setWinLines||!1;switch(e$2$1){case 1:return!!t$2.restoreWin;case 2:return!!t$2.minimizeWin;case 3:return!!t$2.setWinPosition;case 4:return!!t$2.setWinSizePixels;case 5:return!!t$2.raiseWin;case 6:return!!t$2.lowerWin;case 7:return!!t$2.refreshWin;case 8:return!!t$2.setWinSizeChars;case 9:return!!t$2.maximizeWin;case 10:return!!t$2.fullscreenWin;case 11:return!!t$2.getWinState;case 13:return!!t$2.getWinPosition;case 14:return!!t$2.getWinSizePixels;case 15:return!!t$2.getScreenSizePixels;case 16:return!!t$2.getCellSizePixels;case 18:return!!t$2.getWinSizeChars;case 19:return!!t$2.getScreenSizeChars;case 20:return!!t$2.getIconTitle;case 21:return!!t$2.getWinTitle;case 22:return!!t$2.pushTitle;case 23:return!!t$2.popTitle;case 24:return!!t$2.setWinLines}return!1}var w$1$1;(function(e$2$1){e$2$1[e$2$1.GET_WIN_SIZE_PIXELS=0]=`GET_WIN_SIZE_PIXELS`,e$2$1[e$2$1.GET_CELL_SIZE_PIXELS=1]=`GET_CELL_SIZE_PIXELS`})(w$1$1||(t$1$1.WindowsOptionsReportType=w$1$1={}));let B$2=0;class E$2 extends h$1$1.Disposable{getAttrData(){return this._curAttrData}constructor(e$2$1,t$2,i$3$1,s$3,r$2$1,h$2$1,d$2$1,u$1$1,p$1$1=new o$3.EscapeSequenceParser){for(let e$3$1 in super(),this._bufferService=e$2$1,this._charsetService=t$2,this._coreService=i$3$1,this._logService=s$3,this._optionsService=r$2$1,this._oscLinkService=h$2$1,this._coreMouseService=d$2$1,this._unicodeService=u$1$1,this._parser=p$1$1,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new c$3.StringToUtf32,this._utf8Decoder=new c$3.Utf8ToUtf32,this._workCell=new f.CellData,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=l$2.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=l$2.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new _$6.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new _$6.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new _$6.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new _$6.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new _$6.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new _$6.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new _$6.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new _$6.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new _$6.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new _$6.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new _$6.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new _$6.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new _$6.EventEmitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._dirtyRowTracker=new A$2(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((e$3$1=>this._activeBuffer=e$3$1.activeBuffer))),this._parser.setCsiHandlerFallback(((e$3$1,t$3)=>{this._logService.debug(`Unknown CSI code: `,{identifier:this._parser.identToString(e$3$1),params:t$3.toArray()})})),this._parser.setEscHandlerFallback((e$3$1=>{this._logService.debug(`Unknown ESC code: `,{identifier:this._parser.identToString(e$3$1)})})),this._parser.setExecuteHandlerFallback((e$3$1=>{this._logService.debug(`Unknown EXECUTE code: `,{code:e$3$1})})),this._parser.setOscHandlerFallback(((e$3$1,t$3,i$4$1)=>{this._logService.debug(`Unknown OSC code: `,{identifier:e$3$1,action:t$3,data:i$4$1})})),this._parser.setDcsHandlerFallback(((e$3$1,t$3,i$4$1)=>{t$3===`HOOK`&&(i$4$1=i$4$1.toArray()),this._logService.debug(`Unknown DCS code: `,{identifier:this._parser.identToString(e$3$1),action:t$3,payload:i$4$1})})),this._parser.setPrintHandler(((e$3$1,t$3,i$4$1)=>this.print(e$3$1,t$3,i$4$1))),this._parser.registerCsiHandler({final:`@`},(e$3$1=>this.insertChars(e$3$1))),this._parser.registerCsiHandler({intermediates:` `,final:`@`},(e$3$1=>this.scrollLeft(e$3$1))),this._parser.registerCsiHandler({final:`A`},(e$3$1=>this.cursorUp(e$3$1))),this._parser.registerCsiHandler({intermediates:` `,final:`A`},(e$3$1=>this.scrollRight(e$3$1))),this._parser.registerCsiHandler({final:`B`},(e$3$1=>this.cursorDown(e$3$1))),this._parser.registerCsiHandler({final:`C`},(e$3$1=>this.cursorForward(e$3$1))),this._parser.registerCsiHandler({final:`D`},(e$3$1=>this.cursorBackward(e$3$1))),this._parser.registerCsiHandler({final:`E`},(e$3$1=>this.cursorNextLine(e$3$1))),this._parser.registerCsiHandler({final:`F`},(e$3$1=>this.cursorPrecedingLine(e$3$1))),this._parser.registerCsiHandler({final:`G`},(e$3$1=>this.cursorCharAbsolute(e$3$1))),this._parser.registerCsiHandler({final:`H`},(e$3$1=>this.cursorPosition(e$3$1))),this._parser.registerCsiHandler({final:`I`},(e$3$1=>this.cursorForwardTab(e$3$1))),this._parser.registerCsiHandler({final:`J`},(e$3$1=>this.eraseInDisplay(e$3$1,!1))),this._parser.registerCsiHandler({prefix:`?`,final:`J`},(e$3$1=>this.eraseInDisplay(e$3$1,!0))),this._parser.registerCsiHandler({final:`K`},(e$3$1=>this.eraseInLine(e$3$1,!1))),this._parser.registerCsiHandler({prefix:`?`,final:`K`},(e$3$1=>this.eraseInLine(e$3$1,!0))),this._parser.registerCsiHandler({final:`L`},(e$3$1=>this.insertLines(e$3$1))),this._parser.registerCsiHandler({final:`M`},(e$3$1=>this.deleteLines(e$3$1))),this._parser.registerCsiHandler({final:`P`},(e$3$1=>this.deleteChars(e$3$1))),this._parser.registerCsiHandler({final:`S`},(e$3$1=>this.scrollUp(e$3$1))),this._parser.registerCsiHandler({final:`T`},(e$3$1=>this.scrollDown(e$3$1))),this._parser.registerCsiHandler({final:`X`},(e$3$1=>this.eraseChars(e$3$1))),this._parser.registerCsiHandler({final:`Z`},(e$3$1=>this.cursorBackwardTab(e$3$1))),this._parser.registerCsiHandler({final:"`"},(e$3$1=>this.charPosAbsolute(e$3$1))),this._parser.registerCsiHandler({final:`a`},(e$3$1=>this.hPositionRelative(e$3$1))),this._parser.registerCsiHandler({final:`b`},(e$3$1=>this.repeatPrecedingCharacter(e$3$1))),this._parser.registerCsiHandler({final:`c`},(e$3$1=>this.sendDeviceAttributesPrimary(e$3$1))),this._parser.registerCsiHandler({prefix:`>`,final:`c`},(e$3$1=>this.sendDeviceAttributesSecondary(e$3$1))),this._parser.registerCsiHandler({final:`d`},(e$3$1=>this.linePosAbsolute(e$3$1))),this._parser.registerCsiHandler({final:`e`},(e$3$1=>this.vPositionRelative(e$3$1))),this._parser.registerCsiHandler({final:`f`},(e$3$1=>this.hVPosition(e$3$1))),this._parser.registerCsiHandler({final:`g`},(e$3$1=>this.tabClear(e$3$1))),this._parser.registerCsiHandler({final:`h`},(e$3$1=>this.setMode(e$3$1))),this._parser.registerCsiHandler({prefix:`?`,final:`h`},(e$3$1=>this.setModePrivate(e$3$1))),this._parser.registerCsiHandler({final:`l`},(e$3$1=>this.resetMode(e$3$1))),this._parser.registerCsiHandler({prefix:`?`,final:`l`},(e$3$1=>this.resetModePrivate(e$3$1))),this._parser.registerCsiHandler({final:`m`},(e$3$1=>this.charAttributes(e$3$1))),this._parser.registerCsiHandler({final:`n`},(e$3$1=>this.deviceStatus(e$3$1))),this._parser.registerCsiHandler({prefix:`?`,final:`n`},(e$3$1=>this.deviceStatusPrivate(e$3$1))),this._parser.registerCsiHandler({intermediates:`!`,final:`p`},(e$3$1=>this.softReset(e$3$1))),this._parser.registerCsiHandler({intermediates:` `,final:`q`},(e$3$1=>this.setCursorStyle(e$3$1))),this._parser.registerCsiHandler({final:`r`},(e$3$1=>this.setScrollRegion(e$3$1))),this._parser.registerCsiHandler({final:`s`},(e$3$1=>this.saveCursor(e$3$1))),this._parser.registerCsiHandler({final:`t`},(e$3$1=>this.windowOptions(e$3$1))),this._parser.registerCsiHandler({final:`u`},(e$3$1=>this.restoreCursor(e$3$1))),this._parser.registerCsiHandler({intermediates:`'`,final:`}`},(e$3$1=>this.insertColumns(e$3$1))),this._parser.registerCsiHandler({intermediates:`'`,final:`~`},(e$3$1=>this.deleteColumns(e$3$1))),this._parser.registerCsiHandler({intermediates:`"`,final:`q`},(e$3$1=>this.selectProtected(e$3$1))),this._parser.registerCsiHandler({intermediates:`$`,final:`p`},(e$3$1=>this.requestMode(e$3$1,!0))),this._parser.registerCsiHandler({prefix:`?`,intermediates:`$`,final:`p`},(e$3$1=>this.requestMode(e$3$1,!1))),this._parser.setExecuteHandler(n$1$1.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(n$1$1.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n$1$1.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(n$1$1.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n$1$1.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(n$1$1.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(n$1$1.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(n$1$1.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(n$1$1.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(n$1$1.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(n$1$1.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(n$1$1.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new v$2.OscHandler((e$3$1=>(this.setTitle(e$3$1),this.setIconName(e$3$1),!0)))),this._parser.registerOscHandler(1,new v$2.OscHandler((e$3$1=>this.setIconName(e$3$1)))),this._parser.registerOscHandler(2,new v$2.OscHandler((e$3$1=>this.setTitle(e$3$1)))),this._parser.registerOscHandler(4,new v$2.OscHandler((e$3$1=>this.setOrReportIndexedColor(e$3$1)))),this._parser.registerOscHandler(8,new v$2.OscHandler((e$3$1=>this.setHyperlink(e$3$1)))),this._parser.registerOscHandler(10,new v$2.OscHandler((e$3$1=>this.setOrReportFgColor(e$3$1)))),this._parser.registerOscHandler(11,new v$2.OscHandler((e$3$1=>this.setOrReportBgColor(e$3$1)))),this._parser.registerOscHandler(12,new v$2.OscHandler((e$3$1=>this.setOrReportCursorColor(e$3$1)))),this._parser.registerOscHandler(104,new v$2.OscHandler((e$3$1=>this.restoreIndexedColor(e$3$1)))),this._parser.registerOscHandler(110,new v$2.OscHandler((e$3$1=>this.restoreFgColor(e$3$1)))),this._parser.registerOscHandler(111,new v$2.OscHandler((e$3$1=>this.restoreBgColor(e$3$1)))),this._parser.registerOscHandler(112,new v$2.OscHandler((e$3$1=>this.restoreCursorColor(e$3$1)))),this._parser.registerEscHandler({final:`7`},(()=>this.saveCursor())),this._parser.registerEscHandler({final:`8`},(()=>this.restoreCursor())),this._parser.registerEscHandler({final:`D`},(()=>this.index())),this._parser.registerEscHandler({final:`E`},(()=>this.nextLine())),this._parser.registerEscHandler({final:`H`},(()=>this.tabSet())),this._parser.registerEscHandler({final:`M`},(()=>this.reverseIndex())),this._parser.registerEscHandler({final:`=`},(()=>this.keypadApplicationMode())),this._parser.registerEscHandler({final:`>`},(()=>this.keypadNumericMode())),this._parser.registerEscHandler({final:`c`},(()=>this.fullReset())),this._parser.registerEscHandler({final:`n`},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:`o`},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:`|`},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:`}`},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:`~`},(()=>this.setgLevel(1))),this._parser.registerEscHandler({intermediates:`%`,final:`@`},(()=>this.selectDefaultCharset())),this._parser.registerEscHandler({intermediates:`%`,final:`G`},(()=>this.selectDefaultCharset())),a$4.CHARSETS)this._parser.registerEscHandler({intermediates:`(`,final:e$3$1},(()=>this.selectCharset(`(`+e$3$1))),this._parser.registerEscHandler({intermediates:`)`,final:e$3$1},(()=>this.selectCharset(`)`+e$3$1))),this._parser.registerEscHandler({intermediates:`*`,final:e$3$1},(()=>this.selectCharset(`*`+e$3$1))),this._parser.registerEscHandler({intermediates:`+`,final:e$3$1},(()=>this.selectCharset(`+`+e$3$1))),this._parser.registerEscHandler({intermediates:`-`,final:e$3$1},(()=>this.selectCharset(`-`+e$3$1))),this._parser.registerEscHandler({intermediates:`.`,final:e$3$1},(()=>this.selectCharset(`.`+e$3$1))),this._parser.registerEscHandler({intermediates:`/`,final:e$3$1},(()=>this.selectCharset(`/`+e$3$1)));this._parser.registerEscHandler({intermediates:`#`,final:`8`},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((e$3$1=>(this._logService.error(`Parsing error: `,e$3$1),e$3$1))),this._parser.registerDcsHandler({intermediates:`$`,final:`q`},new b$4.DcsHandler(((e$3$1,t$3)=>this.requestStatusString(e$3$1,t$3))))}_preserveStack(e$2$1,t$2,i$3$1,s$3){this._parseStack.paused=!0,this._parseStack.cursorStartX=e$2$1,this._parseStack.cursorStartY=t$2,this._parseStack.decodedLength=i$3$1,this._parseStack.position=s$3}_logSlowResolvingAsync(e$2$1){this._logService.logLevel<=p$2.LogLevelEnum.WARN&&Promise.race([e$2$1,new Promise(((e$3$1,t$2)=>setTimeout((()=>t$2(`#SLOW_TIMEOUT`)),5e3)))]).catch((e$3$1=>{if(e$3$1!==`#SLOW_TIMEOUT`)throw e$3$1;console.warn(`async parser handler taking longer than 5000 ms`)}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e$2$1,t$2){let i$3$1,s$3=this._activeBuffer.x,r$2$1=this._activeBuffer.y,n$2$1=0,a$1$1=this._parseStack.paused;if(a$1$1){if(i$3$1=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t$2))return this._logSlowResolvingAsync(i$3$1),i$3$1;s$3=this._parseStack.cursorStartX,r$2$1=this._parseStack.cursorStartY,this._parseStack.paused=!1,e$2$1.length>C$3&&(n$2$1=this._parseStack.position+C$3)}if(this._logService.logLevel<=p$2.LogLevelEnum.DEBUG&&this._logService.debug(`parsing data`+(typeof e$2$1==`string`?` "${e$2$1}"`:` "${Array.prototype.map.call(e$2$1,(e$3$1=>String.fromCharCode(e$3$1))).join(``)}"`),typeof e$2$1==`string`?e$2$1.split(``).map((e$3$1=>e$3$1.charCodeAt(0))):e$2$1),this._parseBuffer.length<e$2$1.length&&this._parseBuffer.length<C$3&&(this._parseBuffer=new Uint32Array(Math.min(e$2$1.length,C$3))),a$1$1||this._dirtyRowTracker.clearRange(),e$2$1.length>C$3)for(let t$3=n$2$1;t$3<e$2$1.length;t$3+=C$3){let n$3=t$3+C$3<e$2$1.length?t$3+C$3:e$2$1.length,a$2$1=typeof e$2$1==`string`?this._stringDecoder.decode(e$2$1.substring(t$3,n$3),this._parseBuffer):this._utf8Decoder.decode(e$2$1.subarray(t$3,n$3),this._parseBuffer);if(i$3$1=this._parser.parse(this._parseBuffer,a$2$1))return this._preserveStack(s$3,r$2$1,a$2$1,t$3),this._logSlowResolvingAsync(i$3$1),i$3$1}else if(!a$1$1){let t$3=typeof e$2$1==`string`?this._stringDecoder.decode(e$2$1,this._parseBuffer):this._utf8Decoder.decode(e$2$1,this._parseBuffer);if(i$3$1=this._parser.parse(this._parseBuffer,t$3))return this._preserveStack(s$3,r$2$1,t$3,0),this._logSlowResolvingAsync(i$3$1),i$3$1}this._activeBuffer.x===s$3&&this._activeBuffer.y===r$2$1||this._onCursorMove.fire();let o$1$1=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),h$2$1=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);h$2$1<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(h$2$1,this._bufferService.rows-1),Math.min(o$1$1,this._bufferService.rows-1))}print(e$2$1,t$2,i$3$1){let s$3,r$2$1,n$2$1=this._charsetService.charset,a$1$1=this._optionsService.rawOptions.screenReaderMode,o$1$1=this._bufferService.cols,h$2$1=this._coreService.decPrivateModes.wraparound,_$1$1=this._coreService.modes.insertMode,f$1=this._curAttrData,u$1$1=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&i$3$1-t$2>0&&u$1$1.getWidth(this._activeBuffer.x-1)===2&&u$1$1.setCellFromCodepoint(this._activeBuffer.x-1,0,1,f$1);let p$1$1=this._parser.precedingJoinState;for(let v$1$1=t$2;v$1$1<i$3$1;++v$1$1){if(s$3=e$2$1[v$1$1],s$3<127&&n$2$1){let e$3$1=n$2$1[String.fromCharCode(s$3)];e$3$1&&(s$3=e$3$1.charCodeAt(0))}let t$3=this._unicodeService.charProperties(s$3,p$1$1);r$2$1=g$1.UnicodeService.extractWidth(t$3);let i$4$1=g$1.UnicodeService.extractShouldJoin(t$3),b$1$1=i$4$1?g$1.UnicodeService.extractWidth(p$1$1):0;if(p$1$1=t$3,a$1$1&&this._onA11yChar.fire((0,c$3.stringFromCodePoint)(s$3)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+r$2$1-b$1$1>o$1$1){if(h$2$1){let e$3$1=u$1$1,t$4=this._activeBuffer.x-b$1$1;for(this._activeBuffer.x=b$1$1,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),u$1$1=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),b$1$1>0&&u$1$1 instanceof l$2.BufferLine&&u$1$1.copyCellsFrom(e$3$1,t$4,0,b$1$1,!1);t$4<o$1$1;)e$3$1.setCellFromCodepoint(t$4++,0,1,f$1)}else if(this._activeBuffer.x=o$1$1-1,r$2$1===2)continue}if(i$4$1&&this._activeBuffer.x){let e$3$1=u$1$1.getWidth(this._activeBuffer.x-1)?1:2;u$1$1.addCodepointToCell(this._activeBuffer.x-e$3$1,s$3,r$2$1);for(let e$4=r$2$1-b$1$1;--e$4>=0;)u$1$1.setCellFromCodepoint(this._activeBuffer.x++,0,0,f$1)}else if(_$1$1&&(u$1$1.insertCells(this._activeBuffer.x,r$2$1-b$1$1,this._activeBuffer.getNullCell(f$1)),u$1$1.getWidth(o$1$1-1)===2&&u$1$1.setCellFromCodepoint(o$1$1-1,d$1$1.NULL_CELL_CODE,d$1$1.NULL_CELL_WIDTH,f$1)),u$1$1.setCellFromCodepoint(this._activeBuffer.x++,s$3,r$2$1,f$1),r$2$1>0)for(;--r$2$1;)u$1$1.setCellFromCodepoint(this._activeBuffer.x++,0,0,f$1)}this._parser.precedingJoinState=p$1$1,this._activeBuffer.x<o$1$1&&i$3$1-t$2>0&&u$1$1.getWidth(this._activeBuffer.x)===0&&!u$1$1.hasContent(this._activeBuffer.x)&&u$1$1.setCellFromCodepoint(this._activeBuffer.x,0,1,f$1),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e$2$1,t$2){return e$2$1.final!==`t`||e$2$1.prefix||e$2$1.intermediates?this._parser.registerCsiHandler(e$2$1,t$2):this._parser.registerCsiHandler(e$2$1,(e$3$1=>!y$1$1(e$3$1.params[0],this._optionsService.rawOptions.windowOptions)||t$2(e$3$1)))}registerDcsHandler(e$2$1,t$2){return this._parser.registerDcsHandler(e$2$1,new b$4.DcsHandler(t$2))}registerEscHandler(e$2$1,t$2){return this._parser.registerEscHandler(e$2$1,t$2)}registerOscHandler(e$2$1,t$2){return this._parser.registerOscHandler(e$2$1,new v$2.OscHandler(t$2))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e$2$1=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e$2$1.hasWidth(this._activeBuffer.x)&&!e$2$1.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e$2$1=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e$2$1),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e$2$1=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e$2$1,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e$2$1,t$2){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e$2$1,this._activeBuffer.y=this._activeBuffer.scrollTop+t$2):(this._activeBuffer.x=e$2$1,this._activeBuffer.y=t$2),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e$2$1,t$2){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e$2$1,this._activeBuffer.y+t$2)}cursorUp(e$2$1){let t$2=this._activeBuffer.y-this._activeBuffer.scrollTop;return t$2>=0?this._moveCursor(0,-Math.min(t$2,e$2$1.params[0]||1)):this._moveCursor(0,-(e$2$1.params[0]||1)),!0}cursorDown(e$2$1){let t$2=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t$2>=0?this._moveCursor(0,Math.min(t$2,e$2$1.params[0]||1)):this._moveCursor(0,e$2$1.params[0]||1),!0}cursorForward(e$2$1){return this._moveCursor(e$2$1.params[0]||1,0),!0}cursorBackward(e$2$1){return this._moveCursor(-(e$2$1.params[0]||1),0),!0}cursorNextLine(e$2$1){return this.cursorDown(e$2$1),this._activeBuffer.x=0,!0}cursorPrecedingLine(e$2$1){return this.cursorUp(e$2$1),this._activeBuffer.x=0,!0}cursorCharAbsolute(e$2$1){return this._setCursor((e$2$1.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e$2$1){return this._setCursor(e$2$1.length>=2?(e$2$1.params[1]||1)-1:0,(e$2$1.params[0]||1)-1),!0}charPosAbsolute(e$2$1){return this._setCursor((e$2$1.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e$2$1){return this._moveCursor(e$2$1.params[0]||1,0),!0}linePosAbsolute(e$2$1){return this._setCursor(this._activeBuffer.x,(e$2$1.params[0]||1)-1),!0}vPositionRelative(e$2$1){return this._moveCursor(0,e$2$1.params[0]||1),!0}hVPosition(e$2$1){return this.cursorPosition(e$2$1),!0}tabClear(e$2$1){let t$2=e$2$1.params[0];return t$2===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t$2===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e$2$1){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t$2=e$2$1.params[0]||1;for(;t$2--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e$2$1){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t$2=e$2$1.params[0]||1;for(;t$2--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e$2$1){let t$2=e$2$1.params[0];return t$2===1&&(this._curAttrData.bg|=536870912),t$2!==2&&t$2!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e$2$1,t$2,i$3$1,s$3=!1,r$2$1=!1){let n$2$1=this._activeBuffer.lines.get(this._activeBuffer.ybase+e$2$1);n$2$1.replaceCells(t$2,i$3$1,this._activeBuffer.getNullCell(this._eraseAttrData()),r$2$1),s$3&&(n$2$1.isWrapped=!1)}_resetBufferLine(e$2$1,t$2=!1){let i$3$1=this._activeBuffer.lines.get(this._activeBuffer.ybase+e$2$1);i$3$1&&(i$3$1.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t$2),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e$2$1),i$3$1.isWrapped=!1)}eraseInDisplay(e$2$1,t$2=!1){let i$3$1;switch(this._restrictCursor(this._bufferService.cols),e$2$1.params[0]){case 0:for(i$3$1=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i$3$1),this._eraseInBufferLine(i$3$1++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t$2);i$3$1<this._bufferService.rows;i$3$1++)this._resetBufferLine(i$3$1,t$2);this._dirtyRowTracker.markDirty(i$3$1);break;case 1:for(i$3$1=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i$3$1),this._eraseInBufferLine(i$3$1,0,this._activeBuffer.x+1,!0,t$2),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(i$3$1+1).isWrapped=!1);i$3$1--;)this._resetBufferLine(i$3$1,t$2);this._dirtyRowTracker.markDirty(0);break;case 2:for(i$3$1=this._bufferService.rows,this._dirtyRowTracker.markDirty(i$3$1-1);i$3$1--;)this._resetBufferLine(i$3$1,t$2);this._dirtyRowTracker.markDirty(0);break;case 3:let e$3$1=this._activeBuffer.lines.length-this._bufferService.rows;e$3$1>0&&(this._activeBuffer.lines.trimStart(e$3$1),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e$3$1,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e$3$1,0),this._onScroll.fire(0))}return!0}eraseInLine(e$2$1,t$2=!1){switch(this._restrictCursor(this._bufferService.cols),e$2$1.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t$2);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t$2);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t$2)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e$2$1){this._restrictCursor();let t$2=e$2$1.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let i$3$1=this._activeBuffer.ybase+this._activeBuffer.y,s$3=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r$2$1=this._bufferService.rows-1+this._activeBuffer.ybase-s$3+1;for(;t$2--;)this._activeBuffer.lines.splice(r$2$1-1,1),this._activeBuffer.lines.splice(i$3$1,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e$2$1){this._restrictCursor();let t$2=e$2$1.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let i$3$1=this._activeBuffer.ybase+this._activeBuffer.y,s$3;for(s$3=this._bufferService.rows-1-this._activeBuffer.scrollBottom,s$3=this._bufferService.rows-1+this._activeBuffer.ybase-s$3;t$2--;)this._activeBuffer.lines.splice(i$3$1,1),this._activeBuffer.lines.splice(s$3,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e$2$1){this._restrictCursor();let t$2=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t$2&&(t$2.insertCells(this._activeBuffer.x,e$2$1.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e$2$1){this._restrictCursor();let t$2=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t$2&&(t$2.deleteCells(this._activeBuffer.x,e$2$1.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e$2$1){let t$2=e$2$1.params[0]||1;for(;t$2--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e$2$1){let t$2=e$2$1.params[0]||1;for(;t$2--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(l$2.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e$2$1){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t$2=e$2$1.params[0]||1;for(let e$3$1=this._activeBuffer.scrollTop;e$3$1<=this._activeBuffer.scrollBottom;++e$3$1){let i$3$1=this._activeBuffer.lines.get(this._activeBuffer.ybase+e$3$1);i$3$1.deleteCells(0,t$2,this._activeBuffer.getNullCell(this._eraseAttrData())),i$3$1.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e$2$1){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t$2=e$2$1.params[0]||1;for(let e$3$1=this._activeBuffer.scrollTop;e$3$1<=this._activeBuffer.scrollBottom;++e$3$1){let i$3$1=this._activeBuffer.lines.get(this._activeBuffer.ybase+e$3$1);i$3$1.insertCells(0,t$2,this._activeBuffer.getNullCell(this._eraseAttrData())),i$3$1.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e$2$1){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t$2=e$2$1.params[0]||1;for(let e$3$1=this._activeBuffer.scrollTop;e$3$1<=this._activeBuffer.scrollBottom;++e$3$1){let i$3$1=this._activeBuffer.lines.get(this._activeBuffer.ybase+e$3$1);i$3$1.insertCells(this._activeBuffer.x,t$2,this._activeBuffer.getNullCell(this._eraseAttrData())),i$3$1.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e$2$1){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t$2=e$2$1.params[0]||1;for(let e$3$1=this._activeBuffer.scrollTop;e$3$1<=this._activeBuffer.scrollBottom;++e$3$1){let i$3$1=this._activeBuffer.lines.get(this._activeBuffer.ybase+e$3$1);i$3$1.deleteCells(this._activeBuffer.x,t$2,this._activeBuffer.getNullCell(this._eraseAttrData())),i$3$1.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e$2$1){this._restrictCursor();let t$2=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t$2&&(t$2.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e$2$1.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e$2$1){let t$2=this._parser.precedingJoinState;if(!t$2)return!0;let i$3$1=e$2$1.params[0]||1,s$3=g$1.UnicodeService.extractWidth(t$2),r$2$1=this._activeBuffer.x-s$3,n$2$1=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(r$2$1),a$1$1=new Uint32Array(n$2$1.length*i$3$1),o$1$1=0;for(let e$3$1=0;e$3$1<n$2$1.length;){let t$3=n$2$1.codePointAt(e$3$1)||0;a$1$1[o$1$1++]=t$3,e$3$1+=t$3>65535?2:1}let h$2$1=o$1$1;for(let e$3$1=1;e$3$1<i$3$1;++e$3$1)a$1$1.copyWithin(h$2$1,0,o$1$1),h$2$1+=o$1$1;return this.print(a$1$1,0,h$2$1),!0}sendDeviceAttributesPrimary(e$2$1){return e$2$1.params[0]>0||(this._is(`xterm`)||this._is(`rxvt-unicode`)||this._is(`screen`)?this._coreService.triggerDataEvent(n$1$1.C0.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent(n$1$1.C0.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e$2$1){return e$2$1.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent(n$1$1.C0.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent(n$1$1.C0.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e$2$1.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent(n$1$1.C0.ESC+`[>83;40003;0c`)),!0}_is(e$2$1){return(this._optionsService.rawOptions.termName+``).indexOf(e$2$1)===0}setMode(e$2$1){for(let t$2=0;t$2<e$2$1.length;t$2++)switch(e$2$1.params[t$2]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(e$2$1){for(let t$2=0;t$2<e$2$1.length;t$2++)switch(e$2$1.params[t$2]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,a$4.DEFAULT_CHARSET),this._charsetService.setgCharset(1,a$4.DEFAULT_CHARSET),this._charsetService.setgCharset(2,a$4.DEFAULT_CHARSET),this._charsetService.setgCharset(3,a$4.DEFAULT_CHARSET);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug(`Serial port requested application keypad.`),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol=`X10`;break;case 1e3:this._coreMouseService.activeProtocol=`VT200`;break;case 1002:this._coreMouseService.activeProtocol=`DRAG`;break;case 1003:this._coreMouseService.activeProtocol=`ANY`;break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug(`DECSET 1005 not supported (see #2507)`);break;case 1006:this._coreMouseService.activeEncoding=`SGR`;break;case 1015:this._logService.debug(`DECSET 1015 not supported (see #2507)`);break;case 1016:this._coreMouseService.activeEncoding=`SGR_PIXELS`;break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(e$2$1){for(let t$2=0;t$2<e$2$1.length;t$2++)switch(e$2$1.params[t$2]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(e$2$1){for(let t$2=0;t$2<e$2$1.length;t$2++)switch(e$2$1.params[t$2]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug(`Switching back to normal keypad.`),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol=`NONE`;break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug(`DECRST 1005 not supported (see #2507)`);break;case 1006:case 1016:this._coreMouseService.activeEncoding=`DEFAULT`;break;case 1015:this._logService.debug(`DECRST 1015 not supported (see #2507)`);break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),e$2$1.params[t$2]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(e$2$1,t$2){let i$3$1=this._coreService.decPrivateModes,{activeProtocol:s$3,activeEncoding:r$2$1}=this._coreMouseService,a$1$1=this._coreService,{buffers:o$1$1,cols:h$2$1}=this._bufferService,{active:c$1$1,alt:l$1$1}=o$1$1,_$1$1=this._optionsService.rawOptions,d$2$1=e$3$1=>e$3$1?1:2,f$1=e$2$1.params[0];return u$1$1=f$1,p$1$1=t$2?f$1===2?4:f$1===4?d$2$1(a$1$1.modes.insertMode):f$1===12?3:f$1===20?d$2$1(_$1$1.convertEol):0:f$1===1?d$2$1(i$3$1.applicationCursorKeys):f$1===3?_$1$1.windowOptions.setWinLines?h$2$1===80?2:h$2$1===132?1:0:0:f$1===6?d$2$1(i$3$1.origin):f$1===7?d$2$1(i$3$1.wraparound):f$1===8?3:f$1===9?d$2$1(s$3===`X10`):f$1===12?d$2$1(_$1$1.cursorBlink):f$1===25?d$2$1(!a$1$1.isCursorHidden):f$1===45?d$2$1(i$3$1.reverseWraparound):f$1===66?d$2$1(i$3$1.applicationKeypad):f$1===67?4:f$1===1e3?d$2$1(s$3===`VT200`):f$1===1002?d$2$1(s$3===`DRAG`):f$1===1003?d$2$1(s$3===`ANY`):f$1===1004?d$2$1(i$3$1.sendFocus):f$1===1005?4:f$1===1006?d$2$1(r$2$1===`SGR`):f$1===1015?4:f$1===1016?d$2$1(r$2$1===`SGR_PIXELS`):f$1===1048?1:f$1===47||f$1===1047||f$1===1049?d$2$1(c$1$1===l$1$1):f$1===2004?d$2$1(i$3$1.bracketedPasteMode):0,a$1$1.triggerDataEvent(`${n$1$1.C0.ESC}[${t$2?``:`?`}${u$1$1};${p$1$1}$y`),!0;var u$1$1,p$1$1}_updateAttrColor(e$2$1,t$2,i$3$1,s$3,r$2$1){return t$2===2?(e$2$1|=50331648,e$2$1&=-16777216,e$2$1|=u$18.AttributeData.fromColorRGB([i$3$1,s$3,r$2$1])):t$2===5&&(e$2$1&=-50331904,e$2$1|=33554432|255&i$3$1),e$2$1}_extractColor(e$2$1,t$2,i$3$1){let s$3=[0,0,-1,0,0,0],r$2$1=0,n$2$1=0;do{if(s$3[n$2$1+r$2$1]=e$2$1.params[t$2+n$2$1],e$2$1.hasSubParams(t$2+n$2$1)){let i$4$1=e$2$1.getSubParams(t$2+n$2$1),a$1$1=0;do s$3[1]===5&&(r$2$1=1),s$3[n$2$1+a$1$1+1+r$2$1]=i$4$1[a$1$1];while(++a$1$1<i$4$1.length&&a$1$1+n$2$1+1+r$2$1<s$3.length);break}if(s$3[1]===5&&n$2$1+r$2$1>=2||s$3[1]===2&&n$2$1+r$2$1>=5)break;s$3[1]&&(r$2$1=1)}while(++n$2$1+t$2<e$2$1.length&&n$2$1+r$2$1<s$3.length);for(let e$3$1=2;e$3$1<s$3.length;++e$3$1)s$3[e$3$1]===-1&&(s$3[e$3$1]=0);switch(s$3[0]){case 38:i$3$1.fg=this._updateAttrColor(i$3$1.fg,s$3[1],s$3[3],s$3[4],s$3[5]);break;case 48:i$3$1.bg=this._updateAttrColor(i$3$1.bg,s$3[1],s$3[3],s$3[4],s$3[5]);break;case 58:i$3$1.extended=i$3$1.extended.clone(),i$3$1.extended.underlineColor=this._updateAttrColor(i$3$1.extended.underlineColor,s$3[1],s$3[3],s$3[4],s$3[5])}return n$2$1}_processUnderline(e$2$1,t$2){t$2.extended=t$2.extended.clone(),(!~e$2$1||e$2$1>5)&&(e$2$1=1),t$2.extended.underlineStyle=e$2$1,t$2.fg|=268435456,e$2$1===0&&(t$2.fg&=-268435457),t$2.updateExtended()}_processSGR0(e$2$1){e$2$1.fg=l$2.DEFAULT_ATTR_DATA.fg,e$2$1.bg=l$2.DEFAULT_ATTR_DATA.bg,e$2$1.extended=e$2$1.extended.clone(),e$2$1.extended.underlineStyle=0,e$2$1.extended.underlineColor&=-67108864,e$2$1.updateExtended()}charAttributes(e$2$1){if(e$2$1.length===1&&e$2$1.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t$2=e$2$1.length,i$3$1,s$3=this._curAttrData;for(let r$2$1=0;r$2$1<t$2;r$2$1++)i$3$1=e$2$1.params[r$2$1],i$3$1>=30&&i$3$1<=37?(s$3.fg&=-50331904,s$3.fg|=16777216|i$3$1-30):i$3$1>=40&&i$3$1<=47?(s$3.bg&=-50331904,s$3.bg|=16777216|i$3$1-40):i$3$1>=90&&i$3$1<=97?(s$3.fg&=-50331904,s$3.fg|=16777224|i$3$1-90):i$3$1>=100&&i$3$1<=107?(s$3.bg&=-50331904,s$3.bg|=16777224|i$3$1-100):i$3$1===0?this._processSGR0(s$3):i$3$1===1?s$3.fg|=134217728:i$3$1===3?s$3.bg|=67108864:i$3$1===4?(s$3.fg|=268435456,this._processUnderline(e$2$1.hasSubParams(r$2$1)?e$2$1.getSubParams(r$2$1)[0]:1,s$3)):i$3$1===5?s$3.fg|=536870912:i$3$1===7?s$3.fg|=67108864:i$3$1===8?s$3.fg|=1073741824:i$3$1===9?s$3.fg|=2147483648:i$3$1===2?s$3.bg|=134217728:i$3$1===21?this._processUnderline(2,s$3):i$3$1===22?(s$3.fg&=-134217729,s$3.bg&=-134217729):i$3$1===23?s$3.bg&=-67108865:i$3$1===24?(s$3.fg&=-268435457,this._processUnderline(0,s$3)):i$3$1===25?s$3.fg&=-536870913:i$3$1===27?s$3.fg&=-67108865:i$3$1===28?s$3.fg&=-1073741825:i$3$1===29?s$3.fg&=2147483647:i$3$1===39?(s$3.fg&=-67108864,s$3.fg|=16777215&l$2.DEFAULT_ATTR_DATA.fg):i$3$1===49?(s$3.bg&=-67108864,s$3.bg|=16777215&l$2.DEFAULT_ATTR_DATA.bg):i$3$1===38||i$3$1===48||i$3$1===58?r$2$1+=this._extractColor(e$2$1,r$2$1,s$3):i$3$1===53?s$3.bg|=1073741824:i$3$1===55?s$3.bg&=-1073741825:i$3$1===59?(s$3.extended=s$3.extended.clone(),s$3.extended.underlineColor=-1,s$3.updateExtended()):i$3$1===100?(s$3.fg&=-67108864,s$3.fg|=16777215&l$2.DEFAULT_ATTR_DATA.fg,s$3.bg&=-67108864,s$3.bg|=16777215&l$2.DEFAULT_ATTR_DATA.bg):this._logService.debug(`Unknown SGR attribute: %d.`,i$3$1);return!0}deviceStatus(e$2$1){switch(e$2$1.params[0]){case 5:this._coreService.triggerDataEvent(`${n$1$1.C0.ESC}[0n`);break;case 6:let e$3$1=this._activeBuffer.y+1,t$2=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n$1$1.C0.ESC}[${e$3$1};${t$2}R`)}return!0}deviceStatusPrivate(e$2$1){if(e$2$1.params[0]===6){let e$3$1=this._activeBuffer.y+1,t$2=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n$1$1.C0.ESC}[?${e$3$1};${t$2}R`)}return!0}softReset(e$2$1){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=l$2.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e$2$1){let t$2=e$2$1.params[0]||1;switch(t$2){case 1:case 2:this._optionsService.options.cursorStyle=`block`;break;case 3:case 4:this._optionsService.options.cursorStyle=`underline`;break;case 5:case 6:this._optionsService.options.cursorStyle=`bar`}let i$3$1=t$2%2==1;return this._optionsService.options.cursorBlink=i$3$1,!0}setScrollRegion(e$2$1){let t$2=e$2$1.params[0]||1,i$3$1;return(e$2$1.length<2||(i$3$1=e$2$1.params[1])>this._bufferService.rows||i$3$1===0)&&(i$3$1=this._bufferService.rows),i$3$1>t$2&&(this._activeBuffer.scrollTop=t$2-1,this._activeBuffer.scrollBottom=i$3$1-1,this._setCursor(0,0)),!0}windowOptions(e$2$1){if(!y$1$1(e$2$1.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t$2=e$2$1.length>1?e$2$1.params[1]:0;switch(e$2$1.params[0]){case 14:t$2!==2&&this._onRequestWindowsOptionsReport.fire(w$1$1.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(w$1$1.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${n$1$1.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:t$2!==0&&t$2!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),t$2!==0&&t$2!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:t$2!==0&&t$2!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),t$2!==0&&t$2!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e$2$1){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e$2$1){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e$2$1){return this._windowTitle=e$2$1,this._onTitleChange.fire(e$2$1),!0}setIconName(e$2$1){return this._iconName=e$2$1,!0}setOrReportIndexedColor(e$2$1){let t$2=[],i$3$1=e$2$1.split(`;`);for(;i$3$1.length>1;){let e$3$1=i$3$1.shift(),s$3=i$3$1.shift();if(/^\d+$/.exec(e$3$1)){let i$4$1=parseInt(e$3$1);if(L$4(i$4$1))if(s$3===`?`)t$2.push({type:0,index:i$4$1});else{let e$4=(0,S$2.parseColor)(s$3);e$4&&t$2.push({type:1,index:i$4$1,color:e$4})}}}return t$2.length&&this._onColor.fire(t$2),!0}setHyperlink(e$2$1){let t$2=e$2$1.split(`;`);return!(t$2.length<2)&&(t$2[1]?this._createHyperlink(t$2[0],t$2[1]):!t$2[0]&&this._finishHyperlink())}_createHyperlink(e$2$1,t$2){this._getCurrentLinkId()&&this._finishHyperlink();let i$3$1=e$2$1.split(`:`),s$3,r$2$1=i$3$1.findIndex((e$3$1=>e$3$1.startsWith(`id=`)));return r$2$1!==-1&&(s$3=i$3$1[r$2$1].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:s$3,uri:t$2}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e$2$1,t$2){let i$3$1=e$2$1.split(`;`);for(let e$3$1=0;e$3$1<i$3$1.length&&!(t$2>=this._specialColors.length);++e$3$1,++t$2)if(i$3$1[e$3$1]===`?`)this._onColor.fire([{type:0,index:this._specialColors[t$2]}]);else{let s$3=(0,S$2.parseColor)(i$3$1[e$3$1]);s$3&&this._onColor.fire([{type:1,index:this._specialColors[t$2],color:s$3}])}return!0}setOrReportFgColor(e$2$1){return this._setOrReportSpecialColor(e$2$1,0)}setOrReportBgColor(e$2$1){return this._setOrReportSpecialColor(e$2$1,1)}setOrReportCursorColor(e$2$1){return this._setOrReportSpecialColor(e$2$1,2)}restoreIndexedColor(e$2$1){if(!e$2$1)return this._onColor.fire([{type:2}]),!0;let t$2=[],i$3$1=e$2$1.split(`;`);for(let e$3$1=0;e$3$1<i$3$1.length;++e$3$1)if(/^\d+$/.exec(i$3$1[e$3$1])){let s$3=parseInt(i$3$1[e$3$1]);L$4(s$3)&&t$2.push({type:2,index:s$3})}return t$2.length&&this._onColor.fire(t$2),!0}restoreFgColor(e$2$1){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e$2$1){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e$2$1){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug(`Serial port requested application keypad.`),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug(`Switching back to normal keypad.`),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,a$4.DEFAULT_CHARSET),!0}selectCharset(e$2$1){return e$2$1.length===2?(e$2$1[0]===`/`||this._charsetService.setgCharset(m$1$1[e$2$1[0]],a$4.CHARSETS[e$2$1[1]]||a$4.DEFAULT_CHARSET),!0):(this.selectDefaultCharset(),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e$2$1=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e$2$1,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=l$2.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=l$2.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(e$2$1){return this._charsetService.setgLevel(e$2$1),!0}screenAlignmentPattern(){let e$2$1=new f.CellData;e$2$1.content=4194373,e$2$1.fg=this._curAttrData.fg,e$2$1.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t$2=0;t$2<this._bufferService.rows;++t$2){let i$3$1=this._activeBuffer.ybase+this._activeBuffer.y+t$2,s$3=this._activeBuffer.lines.get(i$3$1);s$3&&(s$3.fill(e$2$1),s$3.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e$2$1,t$2){let i$3$1=this._bufferService.buffer,s$3=this._optionsService.rawOptions;return(e$3$1=>(this._coreService.triggerDataEvent(`${n$1$1.C0.ESC}${e$3$1}${n$1$1.C0.ESC}\\`),!0))(e$2$1===`"q`?`P1$r${this._curAttrData.isProtected()?1:0}"q`:e$2$1===`"p`?`P1$r61;1"p`:e$2$1===`r`?`P1$r${i$3$1.scrollTop+1};${i$3$1.scrollBottom+1}r`:e$2$1===`m`?`P1$r0m`:e$2$1===` q`?`P1$r${{block:2,underline:4,bar:6}[s$3.cursorStyle]-(s$3.cursorBlink?1:0)} q`:`P0$r`)}markRangeDirty(e$2$1,t$2){this._dirtyRowTracker.markRangeDirty(e$2$1,t$2)}}t$1$1.InputHandler=E$2;let A$2=class{constructor(e$2$1){this._bufferService=e$2$1,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e$2$1){e$2$1<this.start?this.start=e$2$1:e$2$1>this.end&&(this.end=e$2$1)}markRangeDirty(e$2$1,t$2){e$2$1>t$2&&(B$2=e$2$1,e$2$1=t$2,t$2=B$2),e$2$1<this.start&&(this.start=e$2$1),t$2>this.end&&(this.end=t$2)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function L$4(e$2$1){return 0<=e$2$1&&e$2$1<256}A$2=s$2$1([r$1$1(0,p$2.IBufferService)],A$2)},844:(e$1$1,t$1$1)=>{function i$2$1(e$2$1){for(let t$2 of e$2$1)t$2.dispose();e$2$1.length=0}Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.getDisposeArrayDisposable=t$1$1.disposeArray=t$1$1.toDisposable=t$1$1.MutableDisposable=t$1$1.Disposable=void 0,t$1$1.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(let e$2$1 of this._disposables)e$2$1.dispose();this._disposables.length=0}register(e$2$1){return this._disposables.push(e$2$1),e$2$1}unregister(e$2$1){let t$2=this._disposables.indexOf(e$2$1);t$2!==-1&&this._disposables.splice(t$2,1)}},t$1$1.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e$2$1){this._isDisposed||e$2$1===this._value||(this._value?.dispose(),this._value=e$2$1)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},t$1$1.toDisposable=function(e$2$1){return{dispose:e$2$1}},t$1$1.disposeArray=i$2$1,t$1$1.getDisposeArrayDisposable=function(e$2$1){return{dispose:()=>i$2$1(e$2$1)}}},114:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.isChromeOS=t$1$1.isLinux=t$1$1.isWindows=t$1$1.isIphone=t$1$1.isIpad=t$1$1.isMac=t$1$1.getSafariVersion=t$1$1.isSafari=t$1$1.isLegacyEdge=t$1$1.isFirefox=t$1$1.isNode=void 0,t$1$1.isNode=typeof process<`u`&&`title`in process;let i$2$1=t$1$1.isNode?`node`:navigator.userAgent,s$2$1=t$1$1.isNode?`node`:navigator.platform;t$1$1.isFirefox=i$2$1.includes(`Firefox`),t$1$1.isLegacyEdge=i$2$1.includes(`Edge`),t$1$1.isSafari=/^((?!chrome|android).)*safari/i.test(i$2$1),t$1$1.getSafariVersion=function(){if(!t$1$1.isSafari)return 0;let e$2$1=i$2$1.match(/Version\/(\d+)/);return e$2$1===null||e$2$1.length<2?0:parseInt(e$2$1[1])},t$1$1.isMac=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(s$2$1),t$1$1.isIpad=s$2$1===`iPad`,t$1$1.isIphone=s$2$1===`iPhone`,t$1$1.isWindows=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(s$2$1),t$1$1.isLinux=s$2$1.indexOf(`Linux`)>=0,t$1$1.isChromeOS=/\bCrOS\b/.test(i$2$1)},226:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.DebouncedIdleTask=t$1$1.IdleTaskQueue=t$1$1.PriorityTaskQueue=void 0;let s$2$1=i$2$1(114);class r$1$1{constructor(){this._tasks=[],this._i=0}enqueue(e$2$1){this._tasks.push(e$2$1),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&=(this._cancelCallback(this._idleCallback),void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||=this._requestCallback(this._process.bind(this))}_process(e$2$1){this._idleCallback=void 0;let t$2=0,i$3$1=0,s$3=e$2$1.timeRemaining(),r$2$1=0;for(;this._i<this._tasks.length;){if(t$2=Date.now(),this._tasks[this._i]()||this._i++,t$2=Math.max(1,Date.now()-t$2),i$3$1=Math.max(t$2,i$3$1),r$2$1=e$2$1.timeRemaining(),1.5*i$3$1>r$2$1)return s$3-t$2<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s$3-t$2))}ms`),void this._start();s$3=r$2$1}this.clear()}}class n$1$1 extends r$1$1{_requestCallback(e$2$1){return setTimeout((()=>e$2$1(this._createDeadline(16))))}_cancelCallback(e$2$1){clearTimeout(e$2$1)}_createDeadline(e$2$1){let t$2=Date.now()+e$2$1;return{timeRemaining:()=>Math.max(0,t$2-Date.now())}}}t$1$1.PriorityTaskQueue=n$1$1,t$1$1.IdleTaskQueue=!s$2$1.isNode&&`requestIdleCallback`in window?class extends r$1$1{_requestCallback(e$2$1){return requestIdleCallback(e$2$1)}_cancelCallback(e$2$1){cancelIdleCallback(e$2$1)}}:n$1$1,t$1$1.DebouncedIdleTask=class{constructor(){this._queue=new t$1$1.IdleTaskQueue}set(e$2$1){this._queue.clear(),this._queue.enqueue(e$2$1)}flush(){this._queue.flush()}}},282:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.updateWindowsModeWrappedState=void 0;let s$2$1=i$2$1(643);t$1$1.updateWindowsModeWrappedState=function(e$2$1){let t$2=e$2$1.buffer.lines.get(e$2$1.buffer.ybase+e$2$1.buffer.y-1),i$3$1=t$2?.get(e$2$1.cols-1),r$1$1=e$2$1.buffer.lines.get(e$2$1.buffer.ybase+e$2$1.buffer.y);r$1$1&&i$3$1&&(r$1$1.isWrapped=i$3$1[s$2$1.CHAR_DATA_CODE_INDEX]!==s$2$1.NULL_CELL_CODE&&i$3$1[s$2$1.CHAR_DATA_CODE_INDEX]!==s$2$1.WHITESPACE_CELL_CODE)}},734:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.ExtendedAttrs=t$1$1.AttributeData=void 0;class i$2$1{constructor(){this.fg=0,this.bg=0,this.extended=new s$2$1}static toColorRGB(e$2$1){return[e$2$1>>>16&255,e$2$1>>>8&255,255&e$2$1]}static fromColorRGB(e$2$1){return(255&e$2$1[0])<<16|(255&e$2$1[1])<<8|255&e$2$1[2]}clone(){let e$2$1=new i$2$1;return e$2$1.fg=this.fg,e$2$1.bg=this.bg,e$2$1.extended=this.extended.clone(),e$2$1}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}t$1$1.AttributeData=i$2$1;class s$2$1{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(e$2$1){this._ext=e$2$1}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(e$2$1){this._ext&=-469762049,this._ext|=e$2$1<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(e$2$1){this._ext&=-67108864,this._ext|=67108863&e$2$1}get urlId(){return this._urlId}set urlId(e$2$1){this._urlId=e$2$1}get underlineVariantOffset(){let e$2$1=(3758096384&this._ext)>>29;return e$2$1<0?4294967288^e$2$1:e$2$1}set underlineVariantOffset(e$2$1){this._ext&=536870911,this._ext|=e$2$1<<29&3758096384}constructor(e$2$1=0,t$2=0){this._ext=0,this._urlId=0,this._ext=e$2$1,this._urlId=t$2}clone(){return new s$2$1(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}t$1$1.ExtendedAttrs=s$2$1},92:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.Buffer=t$1$1.MAX_BUFFER_SIZE=void 0;let s$2$1=i$2$1(349),r$1$1=i$2$1(226),n$1$1=i$2$1(734),a$4=i$2$1(437),o$3=i$2$1(634),h$1$1=i$2$1(511),c$3=i$2$1(643),l$2=i$2$1(863),_$6=i$2$1(116);t$1$1.MAX_BUFFER_SIZE=4294967295,t$1$1.Buffer=class{constructor(e$2$1,t$2,i$3$1){this._hasScrollback=e$2$1,this._optionsService=t$2,this._bufferService=i$3$1,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=a$4.DEFAULT_ATTR_DATA.clone(),this.savedCharset=_$6.DEFAULT_CHARSET,this.markers=[],this._nullCell=h$1$1.CellData.fromCharData([0,c$3.NULL_CELL_CHAR,c$3.NULL_CELL_WIDTH,c$3.NULL_CELL_CODE]),this._whitespaceCell=h$1$1.CellData.fromCharData([0,c$3.WHITESPACE_CELL_CHAR,c$3.WHITESPACE_CELL_WIDTH,c$3.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new r$1$1.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new s$2$1.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e$2$1){return e$2$1?(this._nullCell.fg=e$2$1.fg,this._nullCell.bg=e$2$1.bg,this._nullCell.extended=e$2$1.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new n$1$1.ExtendedAttrs),this._nullCell}getWhitespaceCell(e$2$1){return e$2$1?(this._whitespaceCell.fg=e$2$1.fg,this._whitespaceCell.bg=e$2$1.bg,this._whitespaceCell.extended=e$2$1.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new n$1$1.ExtendedAttrs),this._whitespaceCell}getBlankLine(e$2$1,t$2){return new a$4.BufferLine(this._bufferService.cols,this.getNullCell(e$2$1),t$2)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e$2$1=this.ybase+this.y-this.ydisp;return e$2$1>=0&&e$2$1<this._rows}_getCorrectBufferLength(e$2$1){if(!this._hasScrollback)return e$2$1;let i$3$1=e$2$1+this._optionsService.rawOptions.scrollback;return i$3$1>t$1$1.MAX_BUFFER_SIZE?t$1$1.MAX_BUFFER_SIZE:i$3$1}fillViewportRows(e$2$1){if(this.lines.length===0){e$2$1===void 0&&(e$2$1=a$4.DEFAULT_ATTR_DATA);let t$2=this._rows;for(;t$2--;)this.lines.push(this.getBlankLine(e$2$1))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new s$2$1.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e$2$1,t$2){let i$3$1=this.getNullCell(a$4.DEFAULT_ATTR_DATA),s$3=0,r$2$1=this._getCorrectBufferLength(t$2);if(r$2$1>this.lines.maxLength&&(this.lines.maxLength=r$2$1),this.lines.length>0){if(this._cols<e$2$1)for(let t$3=0;t$3<this.lines.length;t$3++)s$3+=+this.lines.get(t$3).resize(e$2$1,i$3$1);let n$2$1=0;if(this._rows<t$2)for(let s$4=this._rows;s$4<t$2;s$4++)this.lines.length<t$2+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new a$4.BufferLine(e$2$1,i$3$1)):this.ybase>0&&this.lines.length<=this.ybase+this.y+n$2$1+1?(this.ybase--,n$2$1++,this.ydisp>0&&this.ydisp--):this.lines.push(new a$4.BufferLine(e$2$1,i$3$1)));else for(let e$3$1=this._rows;e$3$1>t$2;e$3$1--)this.lines.length>t$2+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(r$2$1<this.lines.maxLength){let e$3$1=this.lines.length-r$2$1;e$3$1>0&&(this.lines.trimStart(e$3$1),this.ybase=Math.max(this.ybase-e$3$1,0),this.ydisp=Math.max(this.ydisp-e$3$1,0),this.savedY=Math.max(this.savedY-e$3$1,0)),this.lines.maxLength=r$2$1}this.x=Math.min(this.x,e$2$1-1),this.y=Math.min(this.y,t$2-1),n$2$1&&(this.y+=n$2$1),this.savedX=Math.min(this.savedX,e$2$1-1),this.scrollTop=0}if(this.scrollBottom=t$2-1,this._isReflowEnabled&&(this._reflow(e$2$1,t$2),this._cols>e$2$1))for(let t$3=0;t$3<this.lines.length;t$3++)s$3+=+this.lines.get(t$3).resize(e$2$1,i$3$1);this._cols=e$2$1,this._rows=t$2,this._memoryCleanupQueue.clear(),s$3>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let e$2$1=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e$2$1=!1);let t$2=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t$2+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t$2>100)return!0;return e$2$1}get _isReflowEnabled(){let e$2$1=this._optionsService.rawOptions.windowsPty;return e$2$1&&e$2$1.buildNumber?this._hasScrollback&&e$2$1.backend===`conpty`&&e$2$1.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e$2$1,t$2){this._cols!==e$2$1&&(e$2$1>this._cols?this._reflowLarger(e$2$1,t$2):this._reflowSmaller(e$2$1,t$2))}_reflowLarger(e$2$1,t$2){let i$3$1=(0,o$3.reflowLargerGetLinesToRemove)(this.lines,this._cols,e$2$1,this.ybase+this.y,this.getNullCell(a$4.DEFAULT_ATTR_DATA));if(i$3$1.length>0){let s$3=(0,o$3.reflowLargerCreateNewLayout)(this.lines,i$3$1);(0,o$3.reflowLargerApplyNewLayout)(this.lines,s$3.layout),this._reflowLargerAdjustViewport(e$2$1,t$2,s$3.countRemoved)}}_reflowLargerAdjustViewport(e$2$1,t$2,i$3$1){let s$3=this.getNullCell(a$4.DEFAULT_ATTR_DATA),r$2$1=i$3$1;for(;r$2$1-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t$2&&this.lines.push(new a$4.BufferLine(e$2$1,s$3))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-i$3$1,0)}_reflowSmaller(e$2$1,t$2){let i$3$1=this.getNullCell(a$4.DEFAULT_ATTR_DATA),s$3=[],r$2$1=0;for(let n$2$1=this.lines.length-1;n$2$1>=0;n$2$1--){let h$2$1=this.lines.get(n$2$1);if(!h$2$1||!h$2$1.isWrapped&&h$2$1.getTrimmedLength()<=e$2$1)continue;let c$1$1=[h$2$1];for(;h$2$1.isWrapped&&n$2$1>0;)h$2$1=this.lines.get(--n$2$1),c$1$1.unshift(h$2$1);let l$1$1=this.ybase+this.y;if(l$1$1>=n$2$1&&l$1$1<n$2$1+c$1$1.length)continue;let _$1$1=c$1$1[c$1$1.length-1].getTrimmedLength(),d$1$1=(0,o$3.reflowSmallerGetNewLineLengths)(c$1$1,this._cols,e$2$1),f=d$1$1.length-c$1$1.length,u$18;u$18=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+f):Math.max(0,this.lines.length-this.lines.maxLength+f);let p$2=[];for(let e$3$1=0;e$3$1<f;e$3$1++){let e$4=this.getBlankLine(a$4.DEFAULT_ATTR_DATA,!0);p$2.push(e$4)}p$2.length>0&&(s$3.push({start:n$2$1+c$1$1.length+r$2$1,newLines:p$2}),r$2$1+=p$2.length),c$1$1.push(...p$2);let g$1=d$1$1.length-1,v$2=d$1$1[g$1];v$2===0&&(g$1--,v$2=d$1$1[g$1]);let b$4=c$1$1.length-f-1,S$2=_$1$1;for(;b$4>=0;){let e$3$1=Math.min(S$2,v$2);if(c$1$1[g$1]===void 0)break;if(c$1$1[g$1].copyCellsFrom(c$1$1[b$4],S$2-e$3$1,v$2-e$3$1,e$3$1,!0),v$2-=e$3$1,v$2===0&&(g$1--,v$2=d$1$1[g$1]),S$2-=e$3$1,S$2===0){b$4--;let e$4=Math.max(b$4,0);S$2=(0,o$3.getWrappedLineTrimmedLength)(c$1$1,e$4,this._cols)}}for(let t$3=0;t$3<c$1$1.length;t$3++)d$1$1[t$3]<e$2$1&&c$1$1[t$3].setCell(d$1$1[t$3],i$3$1);let m$1$1=f-u$18;for(;m$1$1-- >0;)this.ybase===0?this.y<t$2-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+r$2$1)-t$2&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+f,this.ybase+t$2-1)}if(s$3.length>0){let e$3$1=[],t$3=[];for(let e$4=0;e$4<this.lines.length;e$4++)t$3.push(this.lines.get(e$4));let i$4$1=this.lines.length,n$2$1=i$4$1-1,a$1$1=0,o$1$1=s$3[a$1$1];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+r$2$1);let h$2$1=0;for(let c$2$1=Math.min(this.lines.maxLength-1,i$4$1+r$2$1-1);c$2$1>=0;c$2$1--)if(o$1$1&&o$1$1.start>n$2$1+h$2$1){for(let e$4=o$1$1.newLines.length-1;e$4>=0;e$4--)this.lines.set(c$2$1--,o$1$1.newLines[e$4]);c$2$1++,e$3$1.push({index:n$2$1+1,amount:o$1$1.newLines.length}),h$2$1+=o$1$1.newLines.length,o$1$1=s$3[++a$1$1]}else this.lines.set(c$2$1,t$3[n$2$1--]);let c$1$1=0;for(let t$4=e$3$1.length-1;t$4>=0;t$4--)e$3$1[t$4].index+=c$1$1,this.lines.onInsertEmitter.fire(e$3$1[t$4]),c$1$1+=e$3$1[t$4].amount;let l$1$1=Math.max(0,i$4$1+r$2$1-this.lines.maxLength);l$1$1>0&&this.lines.onTrimEmitter.fire(l$1$1)}}translateBufferLineToString(e$2$1,t$2,i$3$1=0,s$3){let r$2$1=this.lines.get(e$2$1);return r$2$1?r$2$1.translateToString(t$2,i$3$1,s$3):``}getWrappedRangeForLine(e$2$1){let t$2=e$2$1,i$3$1=e$2$1;for(;t$2>0&&this.lines.get(t$2).isWrapped;)t$2--;for(;i$3$1+1<this.lines.length&&this.lines.get(i$3$1+1).isWrapped;)i$3$1++;return{first:t$2,last:i$3$1}}setupTabStops(e$2$1){for(e$2$1==null?(this.tabs={},e$2$1=0):this.tabs[e$2$1]||(e$2$1=this.prevStop(e$2$1));e$2$1<this._cols;e$2$1+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e$2$1]=!0}prevStop(e$2$1){for(e$2$1??=this.x;!this.tabs[--e$2$1]&&e$2$1>0;);return e$2$1>=this._cols?this._cols-1:e$2$1<0?0:e$2$1}nextStop(e$2$1){for(e$2$1??=this.x;!this.tabs[++e$2$1]&&e$2$1<this._cols;);return e$2$1>=this._cols?this._cols-1:e$2$1<0?0:e$2$1}clearMarkers(e$2$1){this._isClearing=!0;for(let t$2=0;t$2<this.markers.length;t$2++)this.markers[t$2].line===e$2$1&&(this.markers[t$2].dispose(),this.markers.splice(t$2--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e$2$1=0;e$2$1<this.markers.length;e$2$1++)this.markers[e$2$1].dispose(),this.markers.splice(e$2$1--,1);this._isClearing=!1}addMarker(e$2$1){let t$2=new l$2.Marker(e$2$1);return this.markers.push(t$2),t$2.register(this.lines.onTrim((e$3$1=>{t$2.line-=e$3$1,t$2.line<0&&t$2.dispose()}))),t$2.register(this.lines.onInsert((e$3$1=>{t$2.line>=e$3$1.index&&(t$2.line+=e$3$1.amount)}))),t$2.register(this.lines.onDelete((e$3$1=>{t$2.line>=e$3$1.index&&t$2.line<e$3$1.index+e$3$1.amount&&t$2.dispose(),t$2.line>e$3$1.index&&(t$2.line-=e$3$1.amount)}))),t$2.register(t$2.onDispose((()=>this._removeMarker(t$2)))),t$2}_removeMarker(e$2$1){this._isClearing||this.markers.splice(this.markers.indexOf(e$2$1),1)}}},437:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.BufferLine=t$1$1.DEFAULT_ATTR_DATA=void 0;let s$2$1=i$2$1(734),r$1$1=i$2$1(511),n$1$1=i$2$1(643),a$4=i$2$1(482);t$1$1.DEFAULT_ATTR_DATA=Object.freeze(new s$2$1.AttributeData);let o$3=0;class h$1$1{constructor(e$2$1,t$2,i$3$1=!1){this.isWrapped=i$3$1,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e$2$1);let s$3=t$2||r$1$1.CellData.fromCharData([0,n$1$1.NULL_CELL_CHAR,n$1$1.NULL_CELL_WIDTH,n$1$1.NULL_CELL_CODE]);for(let t$3=0;t$3<e$2$1;++t$3)this.setCell(t$3,s$3);this.length=e$2$1}get(e$2$1){let t$2=this._data[3*e$2$1+0],i$3$1=2097151&t$2;return[this._data[3*e$2$1+1],2097152&t$2?this._combined[e$2$1]:i$3$1?(0,a$4.stringFromCodePoint)(i$3$1):``,t$2>>22,2097152&t$2?this._combined[e$2$1].charCodeAt(this._combined[e$2$1].length-1):i$3$1]}set(e$2$1,t$2){this._data[3*e$2$1+1]=t$2[n$1$1.CHAR_DATA_ATTR_INDEX],t$2[n$1$1.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e$2$1]=t$2[1],this._data[3*e$2$1+0]=2097152|e$2$1|t$2[n$1$1.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e$2$1+0]=t$2[n$1$1.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t$2[n$1$1.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(e$2$1){return this._data[3*e$2$1+0]>>22}hasWidth(e$2$1){return 12582912&this._data[3*e$2$1+0]}getFg(e$2$1){return this._data[3*e$2$1+1]}getBg(e$2$1){return this._data[3*e$2$1+2]}hasContent(e$2$1){return 4194303&this._data[3*e$2$1+0]}getCodePoint(e$2$1){let t$2=this._data[3*e$2$1+0];return 2097152&t$2?this._combined[e$2$1].charCodeAt(this._combined[e$2$1].length-1):2097151&t$2}isCombined(e$2$1){return 2097152&this._data[3*e$2$1+0]}getString(e$2$1){let t$2=this._data[3*e$2$1+0];return 2097152&t$2?this._combined[e$2$1]:2097151&t$2?(0,a$4.stringFromCodePoint)(2097151&t$2):``}isProtected(e$2$1){return 536870912&this._data[3*e$2$1+2]}loadCell(e$2$1,t$2){return o$3=3*e$2$1,t$2.content=this._data[o$3+0],t$2.fg=this._data[o$3+1],t$2.bg=this._data[o$3+2],2097152&t$2.content&&(t$2.combinedData=this._combined[e$2$1]),268435456&t$2.bg&&(t$2.extended=this._extendedAttrs[e$2$1]),t$2}setCell(e$2$1,t$2){2097152&t$2.content&&(this._combined[e$2$1]=t$2.combinedData),268435456&t$2.bg&&(this._extendedAttrs[e$2$1]=t$2.extended),this._data[3*e$2$1+0]=t$2.content,this._data[3*e$2$1+1]=t$2.fg,this._data[3*e$2$1+2]=t$2.bg}setCellFromCodepoint(e$2$1,t$2,i$3$1,s$3){268435456&s$3.bg&&(this._extendedAttrs[e$2$1]=s$3.extended),this._data[3*e$2$1+0]=t$2|i$3$1<<22,this._data[3*e$2$1+1]=s$3.fg,this._data[3*e$2$1+2]=s$3.bg}addCodepointToCell(e$2$1,t$2,i$3$1){let s$3=this._data[3*e$2$1+0];2097152&s$3?this._combined[e$2$1]+=(0,a$4.stringFromCodePoint)(t$2):2097151&s$3?(this._combined[e$2$1]=(0,a$4.stringFromCodePoint)(2097151&s$3)+(0,a$4.stringFromCodePoint)(t$2),s$3&=-2097152,s$3|=2097152):s$3=t$2|1<<22,i$3$1&&(s$3&=-12582913,s$3|=i$3$1<<22),this._data[3*e$2$1+0]=s$3}insertCells(e$2$1,t$2,i$3$1){if((e$2$1%=this.length)&&this.getWidth(e$2$1-1)===2&&this.setCellFromCodepoint(e$2$1-1,0,1,i$3$1),t$2<this.length-e$2$1){let s$3=new r$1$1.CellData;for(let i$4$1=this.length-e$2$1-t$2-1;i$4$1>=0;--i$4$1)this.setCell(e$2$1+t$2+i$4$1,this.loadCell(e$2$1+i$4$1,s$3));for(let s$4=0;s$4<t$2;++s$4)this.setCell(e$2$1+s$4,i$3$1)}else for(let t$3=e$2$1;t$3<this.length;++t$3)this.setCell(t$3,i$3$1);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,i$3$1)}deleteCells(e$2$1,t$2,i$3$1){if(e$2$1%=this.length,t$2<this.length-e$2$1){let s$3=new r$1$1.CellData;for(let i$4$1=0;i$4$1<this.length-e$2$1-t$2;++i$4$1)this.setCell(e$2$1+i$4$1,this.loadCell(e$2$1+t$2+i$4$1,s$3));for(let e$3$1=this.length-t$2;e$3$1<this.length;++e$3$1)this.setCell(e$3$1,i$3$1)}else for(let t$3=e$2$1;t$3<this.length;++t$3)this.setCell(t$3,i$3$1);e$2$1&&this.getWidth(e$2$1-1)===2&&this.setCellFromCodepoint(e$2$1-1,0,1,i$3$1),this.getWidth(e$2$1)!==0||this.hasContent(e$2$1)||this.setCellFromCodepoint(e$2$1,0,1,i$3$1)}replaceCells(e$2$1,t$2,i$3$1,s$3=!1){if(s$3)for(e$2$1&&this.getWidth(e$2$1-1)===2&&!this.isProtected(e$2$1-1)&&this.setCellFromCodepoint(e$2$1-1,0,1,i$3$1),t$2<this.length&&this.getWidth(t$2-1)===2&&!this.isProtected(t$2)&&this.setCellFromCodepoint(t$2,0,1,i$3$1);e$2$1<t$2&&e$2$1<this.length;)this.isProtected(e$2$1)||this.setCell(e$2$1,i$3$1),e$2$1++;else for(e$2$1&&this.getWidth(e$2$1-1)===2&&this.setCellFromCodepoint(e$2$1-1,0,1,i$3$1),t$2<this.length&&this.getWidth(t$2-1)===2&&this.setCellFromCodepoint(t$2,0,1,i$3$1);e$2$1<t$2&&e$2$1<this.length;)this.setCell(e$2$1++,i$3$1)}resize(e$2$1,t$2){if(e$2$1===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;let i$3$1=3*e$2$1;if(e$2$1>this.length){if(this._data.buffer.byteLength>=4*i$3$1)this._data=new Uint32Array(this._data.buffer,0,i$3$1);else{let e$3$1=new Uint32Array(i$3$1);e$3$1.set(this._data),this._data=e$3$1}for(let i$4$1=this.length;i$4$1<e$2$1;++i$4$1)this.setCell(i$4$1,t$2)}else{this._data=this._data.subarray(0,i$3$1);let t$3=Object.keys(this._combined);for(let i$4$1=0;i$4$1<t$3.length;i$4$1++){let s$4=parseInt(t$3[i$4$1],10);s$4>=e$2$1&&delete this._combined[s$4]}let s$3=Object.keys(this._extendedAttrs);for(let t$4=0;t$4<s$3.length;t$4++){let i$4$1=parseInt(s$3[t$4],10);i$4$1>=e$2$1&&delete this._extendedAttrs[i$4$1]}}return this.length=e$2$1,4*i$3$1*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){let e$2$1=new Uint32Array(this._data.length);return e$2$1.set(this._data),this._data=e$2$1,1}return 0}fill(e$2$1,t$2=!1){if(t$2)for(let t$3=0;t$3<this.length;++t$3)this.isProtected(t$3)||this.setCell(t$3,e$2$1);else{this._combined={},this._extendedAttrs={};for(let t$3=0;t$3<this.length;++t$3)this.setCell(t$3,e$2$1)}}copyFrom(e$2$1){for(let t$2 in this.length===e$2$1.length?this._data.set(e$2$1._data):this._data=new Uint32Array(e$2$1._data),this.length=e$2$1.length,this._combined={},e$2$1._combined)this._combined[t$2]=e$2$1._combined[t$2];for(let t$2 in this._extendedAttrs={},e$2$1._extendedAttrs)this._extendedAttrs[t$2]=e$2$1._extendedAttrs[t$2];this.isWrapped=e$2$1.isWrapped}clone(){let e$2$1=new h$1$1(0);for(let t$2 in e$2$1._data=new Uint32Array(this._data),e$2$1.length=this.length,this._combined)e$2$1._combined[t$2]=this._combined[t$2];for(let t$2 in this._extendedAttrs)e$2$1._extendedAttrs[t$2]=this._extendedAttrs[t$2];return e$2$1.isWrapped=this.isWrapped,e$2$1}getTrimmedLength(){for(let e$2$1=this.length-1;e$2$1>=0;--e$2$1)if(4194303&this._data[3*e$2$1+0])return e$2$1+(this._data[3*e$2$1+0]>>22);return 0}getNoBgTrimmedLength(){for(let e$2$1=this.length-1;e$2$1>=0;--e$2$1)if(4194303&this._data[3*e$2$1+0]||50331648&this._data[3*e$2$1+2])return e$2$1+(this._data[3*e$2$1+0]>>22);return 0}copyCellsFrom(e$2$1,t$2,i$3$1,s$3,r$2$1){let n$2$1=e$2$1._data;if(r$2$1)for(let r$3$1=s$3-1;r$3$1>=0;r$3$1--){for(let e$3$1=0;e$3$1<3;e$3$1++)this._data[3*(i$3$1+r$3$1)+e$3$1]=n$2$1[3*(t$2+r$3$1)+e$3$1];268435456&n$2$1[3*(t$2+r$3$1)+2]&&(this._extendedAttrs[i$3$1+r$3$1]=e$2$1._extendedAttrs[t$2+r$3$1])}else for(let r$3$1=0;r$3$1<s$3;r$3$1++){for(let e$3$1=0;e$3$1<3;e$3$1++)this._data[3*(i$3$1+r$3$1)+e$3$1]=n$2$1[3*(t$2+r$3$1)+e$3$1];268435456&n$2$1[3*(t$2+r$3$1)+2]&&(this._extendedAttrs[i$3$1+r$3$1]=e$2$1._extendedAttrs[t$2+r$3$1])}let a$1$1=Object.keys(e$2$1._combined);for(let s$4=0;s$4<a$1$1.length;s$4++){let r$3$1=parseInt(a$1$1[s$4],10);r$3$1>=t$2&&(this._combined[r$3$1-t$2+i$3$1]=e$2$1._combined[r$3$1])}}translateToString(e$2$1,t$2,i$3$1,s$3){t$2??=0,i$3$1??=this.length,e$2$1&&(i$3$1=Math.min(i$3$1,this.getTrimmedLength())),s$3&&(s$3.length=0);let r$2$1=``;for(;t$2<i$3$1;){let e$3$1=this._data[3*t$2+0],i$4$1=2097151&e$3$1,o$1$1=2097152&e$3$1?this._combined[t$2]:i$4$1?(0,a$4.stringFromCodePoint)(i$4$1):n$1$1.WHITESPACE_CELL_CHAR;if(r$2$1+=o$1$1,s$3)for(let e$4=0;e$4<o$1$1.length;++e$4)s$3.push(t$2);t$2+=e$3$1>>22||1}return s$3&&s$3.push(t$2),r$2$1}}t$1$1.BufferLine=h$1$1},634:(e$1$1,t$1$1)=>{function i$2$1(e$2$1,t$2,i$3$1){if(t$2===e$2$1.length-1)return e$2$1[t$2].getTrimmedLength();let s$2$1=!e$2$1[t$2].hasContent(i$3$1-1)&&e$2$1[t$2].getWidth(i$3$1-1)===1,r$1$1=e$2$1[t$2+1].getWidth(0)===2;return s$2$1&&r$1$1?i$3$1-1:i$3$1}Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.getWrappedLineTrimmedLength=t$1$1.reflowSmallerGetNewLineLengths=t$1$1.reflowLargerApplyNewLayout=t$1$1.reflowLargerCreateNewLayout=t$1$1.reflowLargerGetLinesToRemove=void 0,t$1$1.reflowLargerGetLinesToRemove=function(e$2$1,t$2,s$2$1,r$1$1,n$1$1){let a$4=[];for(let o$3=0;o$3<e$2$1.length-1;o$3++){let h$1$1=o$3,c$3=e$2$1.get(++h$1$1);if(!c$3.isWrapped)continue;let l$2=[e$2$1.get(o$3)];for(;h$1$1<e$2$1.length&&c$3.isWrapped;)l$2.push(c$3),c$3=e$2$1.get(++h$1$1);if(r$1$1>=o$3&&r$1$1<h$1$1){o$3+=l$2.length-1;continue}let _$6=0,d$1$1=i$2$1(l$2,_$6,t$2),f=1,u$18=0;for(;f<l$2.length;){let e$3$1=i$2$1(l$2,f,t$2),r$2$1=e$3$1-u$18,a$1$1=s$2$1-d$1$1,o$1$1=Math.min(r$2$1,a$1$1);l$2[_$6].copyCellsFrom(l$2[f],u$18,d$1$1,o$1$1,!1),d$1$1+=o$1$1,d$1$1===s$2$1&&(_$6++,d$1$1=0),u$18+=o$1$1,u$18===e$3$1&&(f++,u$18=0),d$1$1===0&&_$6!==0&&l$2[_$6-1].getWidth(s$2$1-1)===2&&(l$2[_$6].copyCellsFrom(l$2[_$6-1],s$2$1-1,d$1$1++,1,!1),l$2[_$6-1].setCell(s$2$1-1,n$1$1))}l$2[_$6].replaceCells(d$1$1,s$2$1,n$1$1);let p$2=0;for(let e$3$1=l$2.length-1;e$3$1>0&&(e$3$1>_$6||l$2[e$3$1].getTrimmedLength()===0);e$3$1--)p$2++;p$2>0&&(a$4.push(o$3+l$2.length-p$2),a$4.push(p$2)),o$3+=l$2.length-1}return a$4},t$1$1.reflowLargerCreateNewLayout=function(e$2$1,t$2){let i$3$1=[],s$2$1=0,r$1$1=t$2[s$2$1],n$1$1=0;for(let a$4=0;a$4<e$2$1.length;a$4++)if(r$1$1===a$4){let i$4$1=t$2[++s$2$1];e$2$1.onDeleteEmitter.fire({index:a$4-n$1$1,amount:i$4$1}),a$4+=i$4$1-1,n$1$1+=i$4$1,r$1$1=t$2[++s$2$1]}else i$3$1.push(a$4);return{layout:i$3$1,countRemoved:n$1$1}},t$1$1.reflowLargerApplyNewLayout=function(e$2$1,t$2){let i$3$1=[];for(let s$2$1=0;s$2$1<t$2.length;s$2$1++)i$3$1.push(e$2$1.get(t$2[s$2$1]));for(let t$3=0;t$3<i$3$1.length;t$3++)e$2$1.set(t$3,i$3$1[t$3]);e$2$1.length=t$2.length},t$1$1.reflowSmallerGetNewLineLengths=function(e$2$1,t$2,s$2$1){let r$1$1=[],n$1$1=e$2$1.map(((s$3,r$2$1)=>i$2$1(e$2$1,r$2$1,t$2))).reduce(((e$3$1,t$3)=>e$3$1+t$3)),a$4=0,o$3=0,h$1$1=0;for(;h$1$1<n$1$1;){if(n$1$1-h$1$1<s$2$1){r$1$1.push(n$1$1-h$1$1);break}a$4+=s$2$1;let c$3=i$2$1(e$2$1,o$3,t$2);a$4>c$3&&(a$4-=c$3,o$3++);let l$2=e$2$1[o$3].getWidth(a$4-1)===2;l$2&&a$4--;let _$6=l$2?s$2$1-1:s$2$1;r$1$1.push(_$6),h$1$1+=_$6}return r$1$1},t$1$1.getWrappedLineTrimmedLength=i$2$1},295:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.BufferSet=void 0;let s$2$1=i$2$1(460),r$1$1=i$2$1(844),n$1$1=i$2$1(92);class a$4 extends r$1$1.Disposable{constructor(e$2$1,t$2){super(),this._optionsService=e$2$1,this._bufferService=t$2,this._onBufferActivate=this.register(new s$2$1.EventEmitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this.register(this._optionsService.onSpecificOptionChange(`scrollback`,(()=>this.resize(this._bufferService.cols,this._bufferService.rows)))),this.register(this._optionsService.onSpecificOptionChange(`tabStopWidth`,(()=>this.setupTabStops())))}reset(){this._normal=new n$1$1.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new n$1$1.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e$2$1){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e$2$1),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e$2$1,t$2){this._normal.resize(e$2$1,t$2),this._alt.resize(e$2$1,t$2),this.setupTabStops(e$2$1)}setupTabStops(e$2$1){this._normal.setupTabStops(e$2$1),this._alt.setupTabStops(e$2$1)}}t$1$1.BufferSet=a$4},511:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.CellData=void 0;let s$2$1=i$2$1(482),r$1$1=i$2$1(643),n$1$1=i$2$1(734);class a$4 extends n$1$1.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new n$1$1.ExtendedAttrs,this.combinedData=``}static fromCharData(e$2$1){let t$2=new a$4;return t$2.setFromCharData(e$2$1),t$2}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,s$2$1.stringFromCodePoint)(2097151&this.content):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e$2$1){this.fg=e$2$1[r$1$1.CHAR_DATA_ATTR_INDEX],this.bg=0;let t$2=!1;if(e$2$1[r$1$1.CHAR_DATA_CHAR_INDEX].length>2)t$2=!0;else if(e$2$1[r$1$1.CHAR_DATA_CHAR_INDEX].length===2){let i$3$1=e$2$1[r$1$1.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i$3$1&&i$3$1<=56319){let s$3=e$2$1[r$1$1.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s$3&&s$3<=57343?this.content=1024*(i$3$1-55296)+s$3-56320+65536|e$2$1[r$1$1.CHAR_DATA_WIDTH_INDEX]<<22:t$2=!0}else t$2=!0}else this.content=e$2$1[r$1$1.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e$2$1[r$1$1.CHAR_DATA_WIDTH_INDEX]<<22;t$2&&(this.combinedData=e$2$1[r$1$1.CHAR_DATA_CHAR_INDEX],this.content=2097152|e$2$1[r$1$1.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t$1$1.CellData=a$4},643:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.WHITESPACE_CELL_CODE=t$1$1.WHITESPACE_CELL_WIDTH=t$1$1.WHITESPACE_CELL_CHAR=t$1$1.NULL_CELL_CODE=t$1$1.NULL_CELL_WIDTH=t$1$1.NULL_CELL_CHAR=t$1$1.CHAR_DATA_CODE_INDEX=t$1$1.CHAR_DATA_WIDTH_INDEX=t$1$1.CHAR_DATA_CHAR_INDEX=t$1$1.CHAR_DATA_ATTR_INDEX=t$1$1.DEFAULT_EXT=t$1$1.DEFAULT_ATTR=t$1$1.DEFAULT_COLOR=void 0,t$1$1.DEFAULT_COLOR=0,t$1$1.DEFAULT_ATTR=256|t$1$1.DEFAULT_COLOR<<9,t$1$1.DEFAULT_EXT=0,t$1$1.CHAR_DATA_ATTR_INDEX=0,t$1$1.CHAR_DATA_CHAR_INDEX=1,t$1$1.CHAR_DATA_WIDTH_INDEX=2,t$1$1.CHAR_DATA_CODE_INDEX=3,t$1$1.NULL_CELL_CHAR=``,t$1$1.NULL_CELL_WIDTH=1,t$1$1.NULL_CELL_CODE=0,t$1$1.WHITESPACE_CELL_CHAR=` `,t$1$1.WHITESPACE_CELL_WIDTH=1,t$1$1.WHITESPACE_CELL_CODE=32},863:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.Marker=void 0;let s$2$1=i$2$1(460),r$1$1=i$2$1(844);class n$1$1{get id(){return this._id}constructor(e$2$1){this.line=e$2$1,this.isDisposed=!1,this._disposables=[],this._id=n$1$1._nextId++,this._onDispose=this.register(new s$2$1.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,r$1$1.disposeArray)(this._disposables),this._disposables.length=0)}register(e$2$1){return this._disposables.push(e$2$1),e$2$1}}t$1$1.Marker=n$1$1,n$1$1._nextId=1},116:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.DEFAULT_CHARSET=t$1$1.CHARSETS=void 0,t$1$1.CHARSETS={},t$1$1.DEFAULT_CHARSET=t$1$1.CHARSETS.B,t$1$1.CHARSETS[0]={"`":`◆`,a:`▒`,b:`␉`,c:`␌`,d:`␍`,e:`␊`,f:`°`,g:`±`,h:`␤`,i:`␋`,j:`┘`,k:`┐`,l:`┌`,m:`└`,n:`┼`,o:`⎺`,p:`⎻`,q:`─`,r:`⎼`,s:`⎽`,t:`├`,u:`┤`,v:`┴`,w:`┬`,x:`│`,y:`≤`,z:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},t$1$1.CHARSETS.A={"#":`£`},t$1$1.CHARSETS.B=void 0,t$1$1.CHARSETS[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},t$1$1.CHARSETS.C=t$1$1.CHARSETS[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},t$1$1.CHARSETS.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},t$1$1.CHARSETS.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},t$1$1.CHARSETS.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},t$1$1.CHARSETS.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},t$1$1.CHARSETS.E=t$1$1.CHARSETS[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},t$1$1.CHARSETS.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},t$1$1.CHARSETS.H=t$1$1.CHARSETS[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},t$1$1.CHARSETS[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`}},584:(e$1$1,t$1$1)=>{var i$2$1,s$2$1,r$1$1;Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.C1_ESCAPED=t$1$1.C1=t$1$1.C0=void 0,function(e$2$1){e$2$1.NUL=`\0`,e$2$1.SOH=``,e$2$1.STX=``,e$2$1.ETX=``,e$2$1.EOT=``,e$2$1.ENQ=``,e$2$1.ACK=``,e$2$1.BEL=`\x07`,e$2$1.BS=`\b`,e$2$1.HT=` `,e$2$1.LF=`
35
35
  `,e$2$1.VT=`\v`,e$2$1.FF=`\f`,e$2$1.CR=`\r`,e$2$1.SO=``,e$2$1.SI=``,e$2$1.DLE=``,e$2$1.DC1=``,e$2$1.DC2=``,e$2$1.DC3=``,e$2$1.DC4=``,e$2$1.NAK=``,e$2$1.SYN=``,e$2$1.ETB=``,e$2$1.CAN=``,e$2$1.EM=``,e$2$1.SUB=``,e$2$1.ESC=`\x1B`,e$2$1.FS=``,e$2$1.GS=``,e$2$1.RS=``,e$2$1.US=``,e$2$1.SP=` `,e$2$1.DEL=``}(i$2$1||(t$1$1.C0=i$2$1={})),function(e$2$1){e$2$1.PAD=`€`,e$2$1.HOP=``,e$2$1.BPH=`‚`,e$2$1.NBH=`ƒ`,e$2$1.IND=`„`,e$2$1.NEL=`…`,e$2$1.SSA=`†`,e$2$1.ESA=`‡`,e$2$1.HTS=`ˆ`,e$2$1.HTJ=`‰`,e$2$1.VTS=`Š`,e$2$1.PLD=`‹`,e$2$1.PLU=`Œ`,e$2$1.RI=``,e$2$1.SS2=`Ž`,e$2$1.SS3=``,e$2$1.DCS=``,e$2$1.PU1=`‘`,e$2$1.PU2=`’`,e$2$1.STS=`“`,e$2$1.CCH=`”`,e$2$1.MW=`•`,e$2$1.SPA=`–`,e$2$1.EPA=`—`,e$2$1.SOS=`˜`,e$2$1.SGCI=`™`,e$2$1.SCI=`š`,e$2$1.CSI=`›`,e$2$1.ST=`œ`,e$2$1.OSC=``,e$2$1.PM=`ž`,e$2$1.APC=`Ÿ`}(s$2$1||(t$1$1.C1=s$2$1={})),function(e$2$1){e$2$1.ST=`${i$2$1.ESC}\\`}(r$1$1||(t$1$1.C1_ESCAPED=r$1$1={}))},482:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.Utf8ToUtf32=t$1$1.StringToUtf32=t$1$1.utf32ToString=t$1$1.stringFromCodePoint=void 0,t$1$1.stringFromCodePoint=function(e$2$1){return e$2$1>65535?(e$2$1-=65536,String.fromCharCode(55296+(e$2$1>>10))+String.fromCharCode(e$2$1%1024+56320)):String.fromCharCode(e$2$1)},t$1$1.utf32ToString=function(e$2$1,t$2=0,i$2$1=e$2$1.length){let s$2$1=``;for(let r$1$1=t$2;r$1$1<i$2$1;++r$1$1){let t$3=e$2$1[r$1$1];t$3>65535?(t$3-=65536,s$2$1+=String.fromCharCode(55296+(t$3>>10))+String.fromCharCode(t$3%1024+56320)):s$2$1+=String.fromCharCode(t$3)}return s$2$1},t$1$1.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e$2$1,t$2){let i$2$1=e$2$1.length;if(!i$2$1)return 0;let s$2$1=0,r$1$1=0;if(this._interim){let i$3$1=e$2$1.charCodeAt(r$1$1++);56320<=i$3$1&&i$3$1<=57343?t$2[s$2$1++]=1024*(this._interim-55296)+i$3$1-56320+65536:(t$2[s$2$1++]=this._interim,t$2[s$2$1++]=i$3$1),this._interim=0}for(let n$1$1=r$1$1;n$1$1<i$2$1;++n$1$1){let r$2$1=e$2$1.charCodeAt(n$1$1);if(55296<=r$2$1&&r$2$1<=56319){if(++n$1$1>=i$2$1)return this._interim=r$2$1,s$2$1;let a$4=e$2$1.charCodeAt(n$1$1);56320<=a$4&&a$4<=57343?t$2[s$2$1++]=1024*(r$2$1-55296)+a$4-56320+65536:(t$2[s$2$1++]=r$2$1,t$2[s$2$1++]=a$4)}else r$2$1!==65279&&(t$2[s$2$1++]=r$2$1)}return s$2$1}},t$1$1.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e$2$1,t$2){let i$2$1=e$2$1.length;if(!i$2$1)return 0;let s$2$1,r$1$1,n$1$1,a$4,o$3=0,h$1$1=0,c$3=0;if(this.interim[0]){let s$3=!1,r$2$1=this.interim[0];r$2$1&=(224&r$2$1)==192?31:(240&r$2$1)==224?15:7;let n$2$1,a$1$1=0;for(;(n$2$1=63&this.interim[++a$1$1])&&a$1$1<4;)r$2$1<<=6,r$2$1|=n$2$1;let h$2$1=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,l$1$1=h$2$1-a$1$1;for(;c$3<l$1$1;){if(c$3>=i$2$1)return 0;if(n$2$1=e$2$1[c$3++],(192&n$2$1)!=128){c$3--,s$3=!0;break}this.interim[a$1$1++]=n$2$1,r$2$1<<=6,r$2$1|=63&n$2$1}s$3||(h$2$1===2?r$2$1<128?c$3--:t$2[o$3++]=r$2$1:h$2$1===3?r$2$1<2048||r$2$1>=55296&&r$2$1<=57343||r$2$1===65279||(t$2[o$3++]=r$2$1):r$2$1<65536||r$2$1>1114111||(t$2[o$3++]=r$2$1)),this.interim.fill(0)}let l$2=i$2$1-4,_$6=c$3;for(;_$6<i$2$1;){for(;!(!(_$6<l$2)||128&(s$2$1=e$2$1[_$6])||128&(r$1$1=e$2$1[_$6+1])||128&(n$1$1=e$2$1[_$6+2])||128&(a$4=e$2$1[_$6+3]));)t$2[o$3++]=s$2$1,t$2[o$3++]=r$1$1,t$2[o$3++]=n$1$1,t$2[o$3++]=a$4,_$6+=4;if(s$2$1=e$2$1[_$6++],s$2$1<128)t$2[o$3++]=s$2$1;else if((224&s$2$1)==192){if(_$6>=i$2$1)return this.interim[0]=s$2$1,o$3;if(r$1$1=e$2$1[_$6++],(192&r$1$1)!=128){_$6--;continue}if(h$1$1=(31&s$2$1)<<6|63&r$1$1,h$1$1<128){_$6--;continue}t$2[o$3++]=h$1$1}else if((240&s$2$1)==224){if(_$6>=i$2$1)return this.interim[0]=s$2$1,o$3;if(r$1$1=e$2$1[_$6++],(192&r$1$1)!=128){_$6--;continue}if(_$6>=i$2$1)return this.interim[0]=s$2$1,this.interim[1]=r$1$1,o$3;if(n$1$1=e$2$1[_$6++],(192&n$1$1)!=128){_$6--;continue}if(h$1$1=(15&s$2$1)<<12|(63&r$1$1)<<6|63&n$1$1,h$1$1<2048||h$1$1>=55296&&h$1$1<=57343||h$1$1===65279)continue;t$2[o$3++]=h$1$1}else if((248&s$2$1)==240){if(_$6>=i$2$1)return this.interim[0]=s$2$1,o$3;if(r$1$1=e$2$1[_$6++],(192&r$1$1)!=128){_$6--;continue}if(_$6>=i$2$1)return this.interim[0]=s$2$1,this.interim[1]=r$1$1,o$3;if(n$1$1=e$2$1[_$6++],(192&n$1$1)!=128){_$6--;continue}if(_$6>=i$2$1)return this.interim[0]=s$2$1,this.interim[1]=r$1$1,this.interim[2]=n$1$1,o$3;if(a$4=e$2$1[_$6++],(192&a$4)!=128){_$6--;continue}if(h$1$1=(7&s$2$1)<<18|(63&r$1$1)<<12|(63&n$1$1)<<6|63&a$4,h$1$1<65536||h$1$1>1114111)continue;t$2[o$3++]=h$1$1}}return o$3}}},225:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.UnicodeV6=void 0;let s$2$1=i$2$1(480),r$1$1=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],n$1$1=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],a$4;t$1$1.UnicodeV6=class{constructor(){if(this.version=`6`,!a$4){a$4=new Uint8Array(65536),a$4.fill(1),a$4[0]=0,a$4.fill(0,1,32),a$4.fill(0,127,160),a$4.fill(2,4352,4448),a$4[9001]=2,a$4[9002]=2,a$4.fill(2,11904,42192),a$4[12351]=1,a$4.fill(2,44032,55204),a$4.fill(2,63744,64256),a$4.fill(2,65040,65050),a$4.fill(2,65072,65136),a$4.fill(2,65280,65377),a$4.fill(2,65504,65511);for(let e$2$1=0;e$2$1<r$1$1.length;++e$2$1)a$4.fill(0,r$1$1[e$2$1][0],r$1$1[e$2$1][1]+1)}}wcwidth(e$2$1){return e$2$1<32?0:e$2$1<127?1:e$2$1<65536?a$4[e$2$1]:function(e$3$1,t$2){let i$3$1,s$3=0,r$2$1=t$2.length-1;if(e$3$1<t$2[0][0]||e$3$1>t$2[r$2$1][1])return!1;for(;r$2$1>=s$3;)if(i$3$1=s$3+r$2$1>>1,e$3$1>t$2[i$3$1][1])s$3=i$3$1+1;else{if(!(e$3$1<t$2[i$3$1][0]))return!0;r$2$1=i$3$1-1}return!1}(e$2$1,n$1$1)?0:e$2$1>=131072&&e$2$1<=196605||e$2$1>=196608&&e$2$1<=262141?2:1}charProperties(e$2$1,t$2){let i$3$1=this.wcwidth(e$2$1),r$2$1=i$3$1===0&&t$2!==0;if(r$2$1){let e$3$1=s$2$1.UnicodeService.extractWidth(t$2);e$3$1===0?r$2$1=!1:e$3$1>i$3$1&&(i$3$1=e$3$1)}return s$2$1.UnicodeService.createPropertyValue(0,i$3$1,r$2$1)}}},981:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.WriteBuffer=void 0;let s$2$1=i$2$1(460),r$1$1=i$2$1(844);class n$1$1 extends r$1$1.Disposable{constructor(e$2$1){super(),this._action=e$2$1,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new s$2$1.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e$2$1,t$2){if(t$2!==void 0&&this._syncCalls>t$2)return void(this._syncCalls=0);if(this._pendingData+=e$2$1.length,this._writeBuffer.push(e$2$1),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let i$3$1;for(this._isSyncWriting=!0;i$3$1=this._writeBuffer.shift();){this._action(i$3$1);let e$3$1=this._callbacks.shift();e$3$1&&e$3$1()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e$2$1,t$2){if(this._pendingData>5e7)throw Error(`write data discarded, use flow control to avoid losing data`);if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=e$2$1.length,this._writeBuffer.push(e$2$1),this._callbacks.push(t$2),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=e$2$1.length,this._writeBuffer.push(e$2$1),this._callbacks.push(t$2)}_innerWrite(e$2$1=0,t$2=!0){let i$3$1=e$2$1||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){let e$3$1=this._writeBuffer[this._bufferOffset],s$3=this._action(e$3$1,t$2);if(s$3){let e$4=e$5=>Date.now()-i$3$1>=12?setTimeout((()=>this._innerWrite(0,e$5))):this._innerWrite(i$3$1,e$5);return void s$3.catch((e$5=>(queueMicrotask((()=>{throw e$5})),Promise.resolve(!1)))).then(e$4)}let r$2$1=this._callbacks[this._bufferOffset];if(r$2$1&&r$2$1(),this._bufferOffset++,this._pendingData-=e$3$1.length,Date.now()-i$3$1>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((()=>this._innerWrite()))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}t$1$1.WriteBuffer=n$1$1},941:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.toRgbString=t$1$1.parseColor=void 0;let i$2$1=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,s$2$1=/^[\da-f]+$/;function r$1$1(e$2$1,t$2){let i$3$1=e$2$1.toString(16),s$3=i$3$1.length<2?`0`+i$3$1:i$3$1;switch(t$2){case 4:return i$3$1[0];case 8:return s$3;case 12:return(s$3+s$3).slice(0,3);default:return s$3+s$3}}t$1$1.parseColor=function(e$2$1){if(!e$2$1)return;let t$2=e$2$1.toLowerCase();if(t$2.indexOf(`rgb:`)===0){t$2=t$2.slice(4);let e$3$1=i$2$1.exec(t$2);if(e$3$1){let t$3=e$3$1[1]?15:e$3$1[4]?255:e$3$1[7]?4095:65535;return[Math.round(parseInt(e$3$1[1]||e$3$1[4]||e$3$1[7]||e$3$1[10],16)/t$3*255),Math.round(parseInt(e$3$1[2]||e$3$1[5]||e$3$1[8]||e$3$1[11],16)/t$3*255),Math.round(parseInt(e$3$1[3]||e$3$1[6]||e$3$1[9]||e$3$1[12],16)/t$3*255)]}}else if(t$2.indexOf(`#`)===0&&(t$2=t$2.slice(1),s$2$1.exec(t$2)&&[3,6,9,12].includes(t$2.length))){let e$3$1=t$2.length/3,i$3$1=[0,0,0];for(let s$3=0;s$3<3;++s$3){let r$2$1=parseInt(t$2.slice(e$3$1*s$3,e$3$1*s$3+e$3$1),16);i$3$1[s$3]=e$3$1===1?r$2$1<<4:e$3$1===2?r$2$1:e$3$1===3?r$2$1>>4:r$2$1>>8}return i$3$1}},t$1$1.toRgbString=function(e$2$1,t$2=16){let[i$3$1,s$3,n$1$1]=e$2$1;return`rgb:${r$1$1(i$3$1,t$2)}/${r$1$1(s$3,t$2)}/${r$1$1(n$1$1,t$2)}`}},770:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.PAYLOAD_LIMIT=void 0,t$1$1.PAYLOAD_LIMIT=1e7},351:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.DcsHandler=t$1$1.DcsParser=void 0;let s$2$1=i$2$1(482),r$1$1=i$2$1(742),n$1$1=i$2$1(770),a$4=[];t$1$1.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=a$4,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=a$4}registerHandler(e$2$1,t$2){this._handlers[e$2$1]===void 0&&(this._handlers[e$2$1]=[]);let i$3$1=this._handlers[e$2$1];return i$3$1.push(t$2),{dispose:()=>{let e$3$1=i$3$1.indexOf(t$2);e$3$1!==-1&&i$3$1.splice(e$3$1,1)}}}clearHandler(e$2$1){this._handlers[e$2$1]&&delete this._handlers[e$2$1]}setHandlerFallback(e$2$1){this._handlerFb=e$2$1}reset(){if(this._active.length)for(let e$2$1=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e$2$1>=0;--e$2$1)this._active[e$2$1].unhook(!1);this._stack.paused=!1,this._active=a$4,this._ident=0}hook(e$2$1,t$2){if(this.reset(),this._ident=e$2$1,this._active=this._handlers[e$2$1]||a$4,this._active.length)for(let e$3$1=this._active.length-1;e$3$1>=0;e$3$1--)this._active[e$3$1].hook(t$2);else this._handlerFb(this._ident,`HOOK`,t$2)}put(e$2$1,t$2,i$3$1){if(this._active.length)for(let s$3=this._active.length-1;s$3>=0;s$3--)this._active[s$3].put(e$2$1,t$2,i$3$1);else this._handlerFb(this._ident,`PUT`,(0,s$2$1.utf32ToString)(e$2$1,t$2,i$3$1))}unhook(e$2$1,t$2=!0){if(this._active.length){let i$3$1=!1,s$3=this._active.length-1,r$2$1=!1;if(this._stack.paused&&(s$3=this._stack.loopPosition-1,i$3$1=t$2,r$2$1=this._stack.fallThrough,this._stack.paused=!1),!r$2$1&&!1===i$3$1){for(;s$3>=0&&(i$3$1=this._active[s$3].unhook(e$2$1),!0!==i$3$1);s$3--)if(i$3$1 instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s$3,this._stack.fallThrough=!1,i$3$1;s$3--}for(;s$3>=0;s$3--)if(i$3$1=this._active[s$3].unhook(!1),i$3$1 instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s$3,this._stack.fallThrough=!0,i$3$1}else this._handlerFb(this._ident,`UNHOOK`,e$2$1);this._active=a$4,this._ident=0}};let o$3=new r$1$1.Params;o$3.addParam(0),t$1$1.DcsHandler=class{constructor(e$2$1){this._handler=e$2$1,this._data=``,this._params=o$3,this._hitLimit=!1}hook(e$2$1){this._params=e$2$1.length>1||e$2$1.params[0]?e$2$1.clone():o$3,this._data=``,this._hitLimit=!1}put(e$2$1,t$2,i$3$1){this._hitLimit||(this._data+=(0,s$2$1.utf32ToString)(e$2$1,t$2,i$3$1),this._data.length>n$1$1.PAYLOAD_LIMIT&&(this._data=``,this._hitLimit=!0))}unhook(e$2$1){let t$2=!1;if(this._hitLimit)t$2=!1;else if(e$2$1&&(t$2=this._handler(this._data,this._params),t$2 instanceof Promise))return t$2.then((e$3$1=>(this._params=o$3,this._data=``,this._hitLimit=!1,e$3$1)));return this._params=o$3,this._data=``,this._hitLimit=!1,t$2}}},15:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.EscapeSequenceParser=t$1$1.VT500_TRANSITION_TABLE=t$1$1.TransitionTable=void 0;let s$2$1=i$2$1(844),r$1$1=i$2$1(742),n$1$1=i$2$1(242),a$4=i$2$1(351);class o$3{constructor(e$2$1){this.table=new Uint8Array(e$2$1)}setDefault(e$2$1,t$2){this.table.fill(e$2$1<<4|t$2)}add(e$2$1,t$2,i$3$1,s$3){this.table[t$2<<8|e$2$1]=i$3$1<<4|s$3}addMany(e$2$1,t$2,i$3$1,s$3){for(let r$2$1=0;r$2$1<e$2$1.length;r$2$1++)this.table[t$2<<8|e$2$1[r$2$1]]=i$3$1<<4|s$3}}t$1$1.TransitionTable=o$3;let h$1$1=160;t$1$1.VT500_TRANSITION_TABLE=function(){let e$2$1=new o$3(4095),t$2=Array.apply(null,Array(256)).map(((e$3$1,t$3)=>t$3)),i$3$1=(e$3$1,i$4$1)=>t$2.slice(e$3$1,i$4$1),s$3=i$3$1(32,127),r$2$1=i$3$1(0,24);r$2$1.push(25),r$2$1.push.apply(r$2$1,i$3$1(28,32));let n$2$1=i$3$1(0,14),a$1$1;for(a$1$1 in e$2$1.setDefault(1,0),e$2$1.addMany(s$3,0,2,0),n$2$1)e$2$1.addMany([24,26,153,154],a$1$1,3,0),e$2$1.addMany(i$3$1(128,144),a$1$1,3,0),e$2$1.addMany(i$3$1(144,152),a$1$1,3,0),e$2$1.add(156,a$1$1,0,0),e$2$1.add(27,a$1$1,11,1),e$2$1.add(157,a$1$1,4,8),e$2$1.addMany([152,158,159],a$1$1,0,7),e$2$1.add(155,a$1$1,11,3),e$2$1.add(144,a$1$1,11,9);return e$2$1.addMany(r$2$1,0,3,0),e$2$1.addMany(r$2$1,1,3,1),e$2$1.add(127,1,0,1),e$2$1.addMany(r$2$1,8,0,8),e$2$1.addMany(r$2$1,3,3,3),e$2$1.add(127,3,0,3),e$2$1.addMany(r$2$1,4,3,4),e$2$1.add(127,4,0,4),e$2$1.addMany(r$2$1,6,3,6),e$2$1.addMany(r$2$1,5,3,5),e$2$1.add(127,5,0,5),e$2$1.addMany(r$2$1,2,3,2),e$2$1.add(127,2,0,2),e$2$1.add(93,1,4,8),e$2$1.addMany(s$3,8,5,8),e$2$1.add(127,8,5,8),e$2$1.addMany([156,27,24,26,7],8,6,0),e$2$1.addMany(i$3$1(28,32),8,0,8),e$2$1.addMany([88,94,95],1,0,7),e$2$1.addMany(s$3,7,0,7),e$2$1.addMany(r$2$1,7,0,7),e$2$1.add(156,7,0,0),e$2$1.add(127,7,0,7),e$2$1.add(91,1,11,3),e$2$1.addMany(i$3$1(64,127),3,7,0),e$2$1.addMany(i$3$1(48,60),3,8,4),e$2$1.addMany([60,61,62,63],3,9,4),e$2$1.addMany(i$3$1(48,60),4,8,4),e$2$1.addMany(i$3$1(64,127),4,7,0),e$2$1.addMany([60,61,62,63],4,0,6),e$2$1.addMany(i$3$1(32,64),6,0,6),e$2$1.add(127,6,0,6),e$2$1.addMany(i$3$1(64,127),6,0,0),e$2$1.addMany(i$3$1(32,48),3,9,5),e$2$1.addMany(i$3$1(32,48),5,9,5),e$2$1.addMany(i$3$1(48,64),5,0,6),e$2$1.addMany(i$3$1(64,127),5,7,0),e$2$1.addMany(i$3$1(32,48),4,9,5),e$2$1.addMany(i$3$1(32,48),1,9,2),e$2$1.addMany(i$3$1(32,48),2,9,2),e$2$1.addMany(i$3$1(48,127),2,10,0),e$2$1.addMany(i$3$1(48,80),1,10,0),e$2$1.addMany(i$3$1(81,88),1,10,0),e$2$1.addMany([89,90,92],1,10,0),e$2$1.addMany(i$3$1(96,127),1,10,0),e$2$1.add(80,1,11,9),e$2$1.addMany(r$2$1,9,0,9),e$2$1.add(127,9,0,9),e$2$1.addMany(i$3$1(28,32),9,0,9),e$2$1.addMany(i$3$1(32,48),9,9,12),e$2$1.addMany(i$3$1(48,60),9,8,10),e$2$1.addMany([60,61,62,63],9,9,10),e$2$1.addMany(r$2$1,11,0,11),e$2$1.addMany(i$3$1(32,128),11,0,11),e$2$1.addMany(i$3$1(28,32),11,0,11),e$2$1.addMany(r$2$1,10,0,10),e$2$1.add(127,10,0,10),e$2$1.addMany(i$3$1(28,32),10,0,10),e$2$1.addMany(i$3$1(48,60),10,8,10),e$2$1.addMany([60,61,62,63],10,0,11),e$2$1.addMany(i$3$1(32,48),10,9,12),e$2$1.addMany(r$2$1,12,0,12),e$2$1.add(127,12,0,12),e$2$1.addMany(i$3$1(28,32),12,0,12),e$2$1.addMany(i$3$1(32,48),12,9,12),e$2$1.addMany(i$3$1(48,64),12,0,11),e$2$1.addMany(i$3$1(64,127),12,12,13),e$2$1.addMany(i$3$1(64,127),10,12,13),e$2$1.addMany(i$3$1(64,127),9,12,13),e$2$1.addMany(r$2$1,13,13,13),e$2$1.addMany(s$3,13,13,13),e$2$1.add(127,13,0,13),e$2$1.addMany([27,156,24,26],13,14,0),e$2$1.add(160,0,2,0),e$2$1.add(160,8,5,8),e$2$1.add(160,6,0,6),e$2$1.add(160,11,0,11),e$2$1.add(160,13,13,13),e$2$1}();class c$3 extends s$2$1.Disposable{constructor(e$2$1=t$1$1.VT500_TRANSITION_TABLE){super(),this._transitions=e$2$1,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new r$1$1.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e$3$1,t$2,i$3$1)=>{},this._executeHandlerFb=e$3$1=>{},this._csiHandlerFb=(e$3$1,t$2)=>{},this._escHandlerFb=e$3$1=>{},this._errorHandlerFb=e$3$1=>e$3$1,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,s$2$1.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this.register(new n$1$1.OscParser),this._dcsParser=this.register(new a$4.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:`\\`},(()=>!0))}_identifier(e$2$1,t$2=[64,126]){let i$3$1=0;if(e$2$1.prefix){if(e$2$1.prefix.length>1)throw Error(`only one byte as prefix supported`);if(i$3$1=e$2$1.prefix.charCodeAt(0),i$3$1&&60>i$3$1||i$3$1>63)throw Error(`prefix must be in range 0x3c .. 0x3f`)}if(e$2$1.intermediates){if(e$2$1.intermediates.length>2)throw Error(`only two bytes as intermediates are supported`);for(let t$3=0;t$3<e$2$1.intermediates.length;++t$3){let s$4=e$2$1.intermediates.charCodeAt(t$3);if(32>s$4||s$4>47)throw Error(`intermediate must be in range 0x20 .. 0x2f`);i$3$1<<=8,i$3$1|=s$4}}if(e$2$1.final.length!==1)throw Error(`final must be a single byte`);let s$3=e$2$1.final.charCodeAt(0);if(t$2[0]>s$3||s$3>t$2[1])throw Error(`final must be in range ${t$2[0]} .. ${t$2[1]}`);return i$3$1<<=8,i$3$1|=s$3,i$3$1}identToString(e$2$1){let t$2=[];for(;e$2$1;)t$2.push(String.fromCharCode(255&e$2$1)),e$2$1>>=8;return t$2.reverse().join(``)}setPrintHandler(e$2$1){this._printHandler=e$2$1}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e$2$1,t$2){let i$3$1=this._identifier(e$2$1,[48,126]);this._escHandlers[i$3$1]===void 0&&(this._escHandlers[i$3$1]=[]);let s$3=this._escHandlers[i$3$1];return s$3.push(t$2),{dispose:()=>{let e$3$1=s$3.indexOf(t$2);e$3$1!==-1&&s$3.splice(e$3$1,1)}}}clearEscHandler(e$2$1){this._escHandlers[this._identifier(e$2$1,[48,126])]&&delete this._escHandlers[this._identifier(e$2$1,[48,126])]}setEscHandlerFallback(e$2$1){this._escHandlerFb=e$2$1}setExecuteHandler(e$2$1,t$2){this._executeHandlers[e$2$1.charCodeAt(0)]=t$2}clearExecuteHandler(e$2$1){this._executeHandlers[e$2$1.charCodeAt(0)]&&delete this._executeHandlers[e$2$1.charCodeAt(0)]}setExecuteHandlerFallback(e$2$1){this._executeHandlerFb=e$2$1}registerCsiHandler(e$2$1,t$2){let i$3$1=this._identifier(e$2$1);this._csiHandlers[i$3$1]===void 0&&(this._csiHandlers[i$3$1]=[]);let s$3=this._csiHandlers[i$3$1];return s$3.push(t$2),{dispose:()=>{let e$3$1=s$3.indexOf(t$2);e$3$1!==-1&&s$3.splice(e$3$1,1)}}}clearCsiHandler(e$2$1){this._csiHandlers[this._identifier(e$2$1)]&&delete this._csiHandlers[this._identifier(e$2$1)]}setCsiHandlerFallback(e$2$1){this._csiHandlerFb=e$2$1}registerDcsHandler(e$2$1,t$2){return this._dcsParser.registerHandler(this._identifier(e$2$1),t$2)}clearDcsHandler(e$2$1){this._dcsParser.clearHandler(this._identifier(e$2$1))}setDcsHandlerFallback(e$2$1){this._dcsParser.setHandlerFallback(e$2$1)}registerOscHandler(e$2$1,t$2){return this._oscParser.registerHandler(e$2$1,t$2)}clearOscHandler(e$2$1){this._oscParser.clearHandler(e$2$1)}setOscHandlerFallback(e$2$1){this._oscParser.setHandlerFallback(e$2$1)}setErrorHandler(e$2$1){this._errorHandler=e$2$1}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e$2$1,t$2,i$3$1,s$3,r$2$1){this._parseStack.state=e$2$1,this._parseStack.handlers=t$2,this._parseStack.handlerPos=i$3$1,this._parseStack.transition=s$3,this._parseStack.chunkPos=r$2$1}parse(e$2$1,t$2,i$3$1){let s$3,r$2$1=0,n$2$1=0,a$1$1=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,a$1$1=this._parseStack.chunkPos+1;else{if(i$3$1===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error(`improper continuation due to previous async handler, giving up parsing`);let t$3=this._parseStack.handlers,n$3=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===i$3$1&&n$3>-1){for(;n$3>=0&&(s$3=t$3[n$3](this._params),!0!==s$3);n$3--)if(s$3 instanceof Promise)return this._parseStack.handlerPos=n$3,s$3}this._parseStack.handlers=[];break;case 4:if(!1===i$3$1&&n$3>-1){for(;n$3>=0&&(s$3=t$3[n$3](),!0!==s$3);n$3--)if(s$3 instanceof Promise)return this._parseStack.handlerPos=n$3,s$3}this._parseStack.handlers=[];break;case 6:if(r$2$1=e$2$1[this._parseStack.chunkPos],s$3=this._dcsParser.unhook(r$2$1!==24&&r$2$1!==26,i$3$1),s$3)return s$3;r$2$1===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r$2$1=e$2$1[this._parseStack.chunkPos],s$3=this._oscParser.end(r$2$1!==24&&r$2$1!==26,i$3$1),s$3)return s$3;r$2$1===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,a$1$1=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let i$4$1=a$1$1;i$4$1<t$2;++i$4$1){switch(r$2$1=e$2$1[i$4$1],n$2$1=this._transitions.table[this.currentState<<8|(r$2$1<160?r$2$1:160)],n$2$1>>4){case 2:for(let s$4=i$4$1+1;;++s$4){if(s$4>=t$2||(r$2$1=e$2$1[s$4])<32||r$2$1>126&&r$2$1<160){this._printHandler(e$2$1,i$4$1,s$4),i$4$1=s$4-1;break}if(++s$4>=t$2||(r$2$1=e$2$1[s$4])<32||r$2$1>126&&r$2$1<160){this._printHandler(e$2$1,i$4$1,s$4),i$4$1=s$4-1;break}if(++s$4>=t$2||(r$2$1=e$2$1[s$4])<32||r$2$1>126&&r$2$1<160){this._printHandler(e$2$1,i$4$1,s$4),i$4$1=s$4-1;break}if(++s$4>=t$2||(r$2$1=e$2$1[s$4])<32||r$2$1>126&&r$2$1<160){this._printHandler(e$2$1,i$4$1,s$4),i$4$1=s$4-1;break}}break;case 3:this._executeHandlers[r$2$1]?this._executeHandlers[r$2$1]():this._executeHandlerFb(r$2$1),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:i$4$1,code:r$2$1,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let a$2$1=this._csiHandlers[this._collect<<8|r$2$1],o$1$1=a$2$1?a$2$1.length-1:-1;for(;o$1$1>=0&&(s$3=a$2$1[o$1$1](this._params),!0!==s$3);o$1$1--)if(s$3 instanceof Promise)return this._preserveStack(3,a$2$1,o$1$1,n$2$1,i$4$1),s$3;o$1$1<0&&this._csiHandlerFb(this._collect<<8|r$2$1,this._params),this.precedingJoinState=0;break;case 8:do switch(r$2$1){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r$2$1-48)}while(++i$4$1<t$2&&(r$2$1=e$2$1[i$4$1])>47&&r$2$1<60);i$4$1--;break;case 9:this._collect<<=8,this._collect|=r$2$1;break;case 10:let c$1$1=this._escHandlers[this._collect<<8|r$2$1],l$2=c$1$1?c$1$1.length-1:-1;for(;l$2>=0&&(s$3=c$1$1[l$2](),!0!==s$3);l$2--)if(s$3 instanceof Promise)return this._preserveStack(4,c$1$1,l$2,n$2$1,i$4$1),s$3;l$2<0&&this._escHandlerFb(this._collect<<8|r$2$1),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r$2$1,this._params);break;case 13:for(let s$4=i$4$1+1;;++s$4)if(s$4>=t$2||(r$2$1=e$2$1[s$4])===24||r$2$1===26||r$2$1===27||r$2$1>127&&r$2$1<160){this._dcsParser.put(e$2$1,i$4$1,s$4),i$4$1=s$4-1;break}break;case 14:if(s$3=this._dcsParser.unhook(r$2$1!==24&&r$2$1!==26),s$3)return this._preserveStack(6,[],0,n$2$1,i$4$1),s$3;r$2$1===27&&(n$2$1|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let s$4=i$4$1+1;;s$4++)if(s$4>=t$2||(r$2$1=e$2$1[s$4])<32||r$2$1>127&&r$2$1<160){this._oscParser.put(e$2$1,i$4$1,s$4),i$4$1=s$4-1;break}break;case 6:if(s$3=this._oscParser.end(r$2$1!==24&&r$2$1!==26),s$3)return this._preserveStack(5,[],0,n$2$1,i$4$1),s$3;r$2$1===27&&(n$2$1|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&n$2$1}}}t$1$1.EscapeSequenceParser=c$3},242:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.OscHandler=t$1$1.OscParser=void 0;let s$2$1=i$2$1(770),r$1$1=i$2$1(482),n$1$1=[];t$1$1.OscParser=class{constructor(){this._state=0,this._active=n$1$1,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e$2$1,t$2){this._handlers[e$2$1]===void 0&&(this._handlers[e$2$1]=[]);let i$3$1=this._handlers[e$2$1];return i$3$1.push(t$2),{dispose:()=>{let e$3$1=i$3$1.indexOf(t$2);e$3$1!==-1&&i$3$1.splice(e$3$1,1)}}}clearHandler(e$2$1){this._handlers[e$2$1]&&delete this._handlers[e$2$1]}setHandlerFallback(e$2$1){this._handlerFb=e$2$1}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=n$1$1}reset(){if(this._state===2)for(let e$2$1=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e$2$1>=0;--e$2$1)this._active[e$2$1].end(!1);this._stack.paused=!1,this._active=n$1$1,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||n$1$1,this._active.length)for(let e$2$1=this._active.length-1;e$2$1>=0;e$2$1--)this._active[e$2$1].start();else this._handlerFb(this._id,`START`)}_put(e$2$1,t$2,i$3$1){if(this._active.length)for(let s$3=this._active.length-1;s$3>=0;s$3--)this._active[s$3].put(e$2$1,t$2,i$3$1);else this._handlerFb(this._id,`PUT`,(0,r$1$1.utf32ToString)(e$2$1,t$2,i$3$1))}start(){this.reset(),this._state=1}put(e$2$1,t$2,i$3$1){if(this._state!==3){if(this._state===1)for(;t$2<i$3$1;){let i$4$1=e$2$1[t$2++];if(i$4$1===59){this._state=2,this._start();break}if(i$4$1<48||57<i$4$1)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+i$4$1-48}this._state===2&&i$3$1-t$2>0&&this._put(e$2$1,t$2,i$3$1)}}end(e$2$1,t$2=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let i$3$1=!1,s$3=this._active.length-1,r$2$1=!1;if(this._stack.paused&&(s$3=this._stack.loopPosition-1,i$3$1=t$2,r$2$1=this._stack.fallThrough,this._stack.paused=!1),!r$2$1&&!1===i$3$1){for(;s$3>=0&&(i$3$1=this._active[s$3].end(e$2$1),!0!==i$3$1);s$3--)if(i$3$1 instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s$3,this._stack.fallThrough=!1,i$3$1;s$3--}for(;s$3>=0;s$3--)if(i$3$1=this._active[s$3].end(!1),i$3$1 instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s$3,this._stack.fallThrough=!0,i$3$1}else this._handlerFb(this._id,`END`,e$2$1);this._active=n$1$1,this._id=-1,this._state=0}}},t$1$1.OscHandler=class{constructor(e$2$1){this._handler=e$2$1,this._data=``,this._hitLimit=!1}start(){this._data=``,this._hitLimit=!1}put(e$2$1,t$2,i$3$1){this._hitLimit||(this._data+=(0,r$1$1.utf32ToString)(e$2$1,t$2,i$3$1),this._data.length>s$2$1.PAYLOAD_LIMIT&&(this._data=``,this._hitLimit=!0))}end(e$2$1){let t$2=!1;if(this._hitLimit)t$2=!1;else if(e$2$1&&(t$2=this._handler(this._data),t$2 instanceof Promise))return t$2.then((e$3$1=>(this._data=``,this._hitLimit=!1,e$3$1)));return this._data=``,this._hitLimit=!1,t$2}}},742:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.Params=void 0;let i$2$1=2147483647;class s$2$1{static fromArray(e$2$1){let t$2=new s$2$1;if(!e$2$1.length)return t$2;for(let i$3$1=Array.isArray(e$2$1[0])?1:0;i$3$1<e$2$1.length;++i$3$1){let s$3=e$2$1[i$3$1];if(Array.isArray(s$3))for(let e$3$1=0;e$3$1<s$3.length;++e$3$1)t$2.addSubParam(s$3[e$3$1]);else t$2.addParam(s$3)}return t$2}constructor(e$2$1=32,t$2=32){if(this.maxLength=e$2$1,this.maxSubParamsLength=t$2,t$2>256)throw Error(`maxSubParamsLength must not be greater than 256`);this.params=new Int32Array(e$2$1),this.length=0,this._subParams=new Int32Array(t$2),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e$2$1),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){let e$2$1=new s$2$1(this.maxLength,this.maxSubParamsLength);return e$2$1.params.set(this.params),e$2$1.length=this.length,e$2$1._subParams.set(this._subParams),e$2$1._subParamsLength=this._subParamsLength,e$2$1._subParamsIdx.set(this._subParamsIdx),e$2$1._rejectDigits=this._rejectDigits,e$2$1._rejectSubDigits=this._rejectSubDigits,e$2$1._digitIsSub=this._digitIsSub,e$2$1}toArray(){let e$2$1=[];for(let t$2=0;t$2<this.length;++t$2){e$2$1.push(this.params[t$2]);let i$3$1=this._subParamsIdx[t$2]>>8,s$3=255&this._subParamsIdx[t$2];s$3-i$3$1>0&&e$2$1.push(Array.prototype.slice.call(this._subParams,i$3$1,s$3))}return e$2$1}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e$2$1){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e$2$1<-1)throw Error(`values lesser than -1 are not allowed`);this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e$2$1>i$2$1?i$2$1:e$2$1}}addSubParam(e$2$1){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e$2$1<-1)throw Error(`values lesser than -1 are not allowed`);this._subParams[this._subParamsLength++]=e$2$1>i$2$1?i$2$1:e$2$1,this._subParamsIdx[this.length-1]++}}hasSubParams(e$2$1){return(255&this._subParamsIdx[e$2$1])-(this._subParamsIdx[e$2$1]>>8)>0}getSubParams(e$2$1){let t$2=this._subParamsIdx[e$2$1]>>8,i$3$1=255&this._subParamsIdx[e$2$1];return i$3$1-t$2>0?this._subParams.subarray(t$2,i$3$1):null}getSubParamsAll(){let e$2$1={};for(let t$2=0;t$2<this.length;++t$2){let i$3$1=this._subParamsIdx[t$2]>>8,s$3=255&this._subParamsIdx[t$2];s$3-i$3$1>0&&(e$2$1[t$2]=this._subParams.slice(i$3$1,s$3))}return e$2$1}addDigit(e$2$1){let t$2;if(this._rejectDigits||!(t$2=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let s$3=this._digitIsSub?this._subParams:this.params,r$1$1=s$3[t$2-1];s$3[t$2-1]=~r$1$1?Math.min(10*r$1$1+e$2$1,i$2$1):e$2$1}}t$1$1.Params=s$2$1},741:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.AddonManager=void 0,t$1$1.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let e$2$1=this._addons.length-1;e$2$1>=0;e$2$1--)this._addons[e$2$1].instance.dispose()}loadAddon(e$2$1,t$2){let i$2$1={instance:t$2,dispose:t$2.dispose,isDisposed:!1};this._addons.push(i$2$1),t$2.dispose=()=>this._wrappedAddonDispose(i$2$1),t$2.activate(e$2$1)}_wrappedAddonDispose(e$2$1){if(e$2$1.isDisposed)return;let t$2=-1;for(let i$2$1=0;i$2$1<this._addons.length;i$2$1++)if(this._addons[i$2$1]===e$2$1){t$2=i$2$1;break}if(t$2===-1)throw Error(`Could not dispose an addon that has not been loaded`);e$2$1.isDisposed=!0,e$2$1.dispose.apply(e$2$1.instance),this._addons.splice(t$2,1)}}},771:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.BufferApiView=void 0;let s$2$1=i$2$1(785),r$1$1=i$2$1(511);t$1$1.BufferApiView=class{constructor(e$2$1,t$2){this._buffer=e$2$1,this.type=t$2}init(e$2$1){return this._buffer=e$2$1,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e$2$1){let t$2=this._buffer.lines.get(e$2$1);if(t$2)return new s$2$1.BufferLineApiView(t$2)}getNullCell(){return new r$1$1.CellData}}},785:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.BufferLineApiView=void 0;let s$2$1=i$2$1(511);t$1$1.BufferLineApiView=class{constructor(e$2$1){this._line=e$2$1}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e$2$1,t$2){if(!(e$2$1<0||e$2$1>=this._line.length))return t$2?(this._line.loadCell(e$2$1,t$2),t$2):this._line.loadCell(e$2$1,new s$2$1.CellData)}translateToString(e$2$1,t$2,i$3$1){return this._line.translateToString(e$2$1,t$2,i$3$1)}}},285:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.BufferNamespaceApi=void 0;let s$2$1=i$2$1(771),r$1$1=i$2$1(460),n$1$1=i$2$1(844);class a$4 extends n$1$1.Disposable{constructor(e$2$1){super(),this._core=e$2$1,this._onBufferChange=this.register(new r$1$1.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new s$2$1.BufferApiView(this._core.buffers.normal,`normal`),this._alternate=new s$2$1.BufferApiView(this._core.buffers.alt,`alternate`),this._core.buffers.onBufferActivate((()=>this._onBufferChange.fire(this.active)))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error(`Active buffer is neither normal nor alternate`)}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}t$1$1.BufferNamespaceApi=a$4},975:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.ParserApi=void 0,t$1$1.ParserApi=class{constructor(e$2$1){this._core=e$2$1}registerCsiHandler(e$2$1,t$2){return this._core.registerCsiHandler(e$2$1,(e$3$1=>t$2(e$3$1.toArray())))}addCsiHandler(e$2$1,t$2){return this.registerCsiHandler(e$2$1,t$2)}registerDcsHandler(e$2$1,t$2){return this._core.registerDcsHandler(e$2$1,((e$3$1,i$2$1)=>t$2(e$3$1,i$2$1.toArray())))}addDcsHandler(e$2$1,t$2){return this.registerDcsHandler(e$2$1,t$2)}registerEscHandler(e$2$1,t$2){return this._core.registerEscHandler(e$2$1,t$2)}addEscHandler(e$2$1,t$2){return this.registerEscHandler(e$2$1,t$2)}registerOscHandler(e$2$1,t$2){return this._core.registerOscHandler(e$2$1,t$2)}addOscHandler(e$2$1,t$2){return this.registerOscHandler(e$2$1,t$2)}}},90:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.UnicodeApi=void 0,t$1$1.UnicodeApi=class{constructor(e$2$1){this._core=e$2$1}register(e$2$1){this._core.unicodeService.register(e$2$1)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e$2$1){this._core.unicodeService.activeVersion=e$2$1}}},744:function(e$1$1,t$1$1,i$2$1){var s$2$1=this&&this.__decorate||function(e$2$1,t$2,i$3$1,s$3){var r$2$1,n$2$1=arguments.length,a$1$1=n$2$1<3?t$2:s$3===null?s$3=Object.getOwnPropertyDescriptor(t$2,i$3$1):s$3;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a$1$1=Reflect.decorate(e$2$1,t$2,i$3$1,s$3);else for(var o$1$1=e$2$1.length-1;o$1$1>=0;o$1$1--)(r$2$1=e$2$1[o$1$1])&&(a$1$1=(n$2$1<3?r$2$1(a$1$1):n$2$1>3?r$2$1(t$2,i$3$1,a$1$1):r$2$1(t$2,i$3$1))||a$1$1);return n$2$1>3&&a$1$1&&Object.defineProperty(t$2,i$3$1,a$1$1),a$1$1},r$1$1=this&&this.__param||function(e$2$1,t$2){return function(i$3$1,s$3){t$2(i$3$1,s$3,e$2$1)}};Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.BufferService=t$1$1.MINIMUM_ROWS=t$1$1.MINIMUM_COLS=void 0;let n$1$1=i$2$1(460),a$4=i$2$1(844),o$3=i$2$1(295),h$1$1=i$2$1(585);t$1$1.MINIMUM_COLS=2,t$1$1.MINIMUM_ROWS=1;let c$3=t$1$1.BufferService=class extends a$4.Disposable{get buffer(){return this.buffers.active}constructor(e$2$1){super(),this.isUserScrolling=!1,this._onResize=this.register(new n$1$1.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new n$1$1.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(e$2$1.rawOptions.cols||0,t$1$1.MINIMUM_COLS),this.rows=Math.max(e$2$1.rawOptions.rows||0,t$1$1.MINIMUM_ROWS),this.buffers=this.register(new o$3.BufferSet(e$2$1,this))}resize(e$2$1,t$2){this.cols=e$2$1,this.rows=t$2,this.buffers.resize(e$2$1,t$2),this._onResize.fire({cols:e$2$1,rows:t$2})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e$2$1,t$2=!1){let i$3$1=this.buffer,s$3;s$3=this._cachedBlankLine,s$3&&s$3.length===this.cols&&s$3.getFg(0)===e$2$1.fg&&s$3.getBg(0)===e$2$1.bg||(s$3=i$3$1.getBlankLine(e$2$1,t$2),this._cachedBlankLine=s$3),s$3.isWrapped=t$2;let r$2$1=i$3$1.ybase+i$3$1.scrollTop,n$2$1=i$3$1.ybase+i$3$1.scrollBottom;if(i$3$1.scrollTop===0){let e$3$1=i$3$1.lines.isFull;n$2$1===i$3$1.lines.length-1?e$3$1?i$3$1.lines.recycle().copyFrom(s$3):i$3$1.lines.push(s$3.clone()):i$3$1.lines.splice(n$2$1+1,0,s$3.clone()),e$3$1?this.isUserScrolling&&(i$3$1.ydisp=Math.max(i$3$1.ydisp-1,0)):(i$3$1.ybase++,this.isUserScrolling||i$3$1.ydisp++)}else{let e$3$1=n$2$1-r$2$1+1;i$3$1.lines.shiftElements(r$2$1+1,e$3$1-1,-1),i$3$1.lines.set(n$2$1,s$3.clone())}this.isUserScrolling||(i$3$1.ydisp=i$3$1.ybase),this._onScroll.fire(i$3$1.ydisp)}scrollLines(e$2$1,t$2,i$3$1){let s$3=this.buffer;if(e$2$1<0){if(s$3.ydisp===0)return;this.isUserScrolling=!0}else e$2$1+s$3.ydisp>=s$3.ybase&&(this.isUserScrolling=!1);let r$2$1=s$3.ydisp;s$3.ydisp=Math.max(Math.min(s$3.ydisp+e$2$1,s$3.ybase),0),r$2$1!==s$3.ydisp&&(t$2||this._onScroll.fire(s$3.ydisp))}};t$1$1.BufferService=c$3=s$2$1([r$1$1(0,h$1$1.IOptionsService)],c$3)},994:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.CharsetService=void 0,t$1$1.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e$2$1){this.glevel=e$2$1,this.charset=this._charsets[e$2$1]}setgCharset(e$2$1,t$2){this._charsets[e$2$1]=t$2,this.glevel===e$2$1&&(this.charset=t$2)}}},753:function(e$1$1,t$1$1,i$2$1){var s$2$1=this&&this.__decorate||function(e$2$1,t$2,i$3$1,s$3){var r$2$1,n$2$1=arguments.length,a$1$1=n$2$1<3?t$2:s$3===null?s$3=Object.getOwnPropertyDescriptor(t$2,i$3$1):s$3;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a$1$1=Reflect.decorate(e$2$1,t$2,i$3$1,s$3);else for(var o$1$1=e$2$1.length-1;o$1$1>=0;o$1$1--)(r$2$1=e$2$1[o$1$1])&&(a$1$1=(n$2$1<3?r$2$1(a$1$1):n$2$1>3?r$2$1(t$2,i$3$1,a$1$1):r$2$1(t$2,i$3$1))||a$1$1);return n$2$1>3&&a$1$1&&Object.defineProperty(t$2,i$3$1,a$1$1),a$1$1},r$1$1=this&&this.__param||function(e$2$1,t$2){return function(i$3$1,s$3){t$2(i$3$1,s$3,e$2$1)}};Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.CoreMouseService=void 0;let n$1$1=i$2$1(585),a$4=i$2$1(460),o$3=i$2$1(844),h$1$1={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e$2$1=>e$2$1.button!==4&&e$2$1.action===1&&(e$2$1.ctrl=!1,e$2$1.alt=!1,e$2$1.shift=!1,!0)},VT200:{events:19,restrict:e$2$1=>e$2$1.action!==32},DRAG:{events:23,restrict:e$2$1=>e$2$1.action!==32||e$2$1.button!==3},ANY:{events:31,restrict:e$2$1=>!0}};function c$3(e$2$1,t$2){let i$3$1=(e$2$1.ctrl?16:0)|(e$2$1.shift?4:0)|(e$2$1.alt?8:0);return e$2$1.button===4?(i$3$1|=64,i$3$1|=e$2$1.action):(i$3$1|=3&e$2$1.button,4&e$2$1.button&&(i$3$1|=64),8&e$2$1.button&&(i$3$1|=128),e$2$1.action===32?i$3$1|=32:e$2$1.action!==0||t$2||(i$3$1|=3)),i$3$1}let l$2=String.fromCharCode,_$6={DEFAULT:e$2$1=>{let t$2=[c$3(e$2$1,!1)+32,e$2$1.col+32,e$2$1.row+32];return t$2[0]>255||t$2[1]>255||t$2[2]>255?``:`${l$2(t$2[0])}${l$2(t$2[1])}${l$2(t$2[2])}`},SGR:e$2$1=>{let t$2=e$2$1.action===0&&e$2$1.button!==4?`m`:`M`;return`[<${c$3(e$2$1,!0)};${e$2$1.col};${e$2$1.row}${t$2}`},SGR_PIXELS:e$2$1=>{let t$2=e$2$1.action===0&&e$2$1.button!==4?`m`:`M`;return`[<${c$3(e$2$1,!0)};${e$2$1.x};${e$2$1.y}${t$2}`}},d$1$1=t$1$1.CoreMouseService=class extends o$3.Disposable{constructor(e$2$1,t$2){super(),this._bufferService=e$2$1,this._coreService=t$2,this._protocols={},this._encodings={},this._activeProtocol=``,this._activeEncoding=``,this._lastEvent=null,this._onProtocolChange=this.register(new a$4.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(let e$3$1 of Object.keys(h$1$1))this.addProtocol(e$3$1,h$1$1[e$3$1]);for(let e$3$1 of Object.keys(_$6))this.addEncoding(e$3$1,_$6[e$3$1]);this.reset()}addProtocol(e$2$1,t$2){this._protocols[e$2$1]=t$2}addEncoding(e$2$1,t$2){this._encodings[e$2$1]=t$2}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e$2$1){if(!this._protocols[e$2$1])throw Error(`unknown protocol "${e$2$1}"`);this._activeProtocol=e$2$1,this._onProtocolChange.fire(this._protocols[e$2$1].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e$2$1){if(!this._encodings[e$2$1])throw Error(`unknown encoding "${e$2$1}"`);this._activeEncoding=e$2$1}reset(){this.activeProtocol=`NONE`,this.activeEncoding=`DEFAULT`,this._lastEvent=null}triggerMouseEvent(e$2$1){if(e$2$1.col<0||e$2$1.col>=this._bufferService.cols||e$2$1.row<0||e$2$1.row>=this._bufferService.rows||e$2$1.button===4&&e$2$1.action===32||e$2$1.button===3&&e$2$1.action!==32||e$2$1.button!==4&&(e$2$1.action===2||e$2$1.action===3)||(e$2$1.col++,e$2$1.row++,e$2$1.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e$2$1,this._activeEncoding===`SGR_PIXELS`))||!this._protocols[this._activeProtocol].restrict(e$2$1))return!1;let t$2=this._encodings[this._activeEncoding](e$2$1);return t$2&&(this._activeEncoding===`DEFAULT`?this._coreService.triggerBinaryEvent(t$2):this._coreService.triggerDataEvent(t$2,!0)),this._lastEvent=e$2$1,!0}explainEvents(e$2$1){return{down:!!(1&e$2$1),up:!!(2&e$2$1),drag:!!(4&e$2$1),move:!!(8&e$2$1),wheel:!!(16&e$2$1)}}_equalEvents(e$2$1,t$2,i$3$1){if(i$3$1){if(e$2$1.x!==t$2.x||e$2$1.y!==t$2.y)return!1}else if(e$2$1.col!==t$2.col||e$2$1.row!==t$2.row)return!1;return e$2$1.button===t$2.button&&e$2$1.action===t$2.action&&e$2$1.ctrl===t$2.ctrl&&e$2$1.alt===t$2.alt&&e$2$1.shift===t$2.shift}};t$1$1.CoreMouseService=d$1$1=s$2$1([r$1$1(0,n$1$1.IBufferService),r$1$1(1,n$1$1.ICoreService)],d$1$1)},83:function(e$1$1,t$1$1,i$2$1){var s$2$1=this&&this.__decorate||function(e$2$1,t$2,i$3$1,s$3){var r$2$1,n$2$1=arguments.length,a$1$1=n$2$1<3?t$2:s$3===null?s$3=Object.getOwnPropertyDescriptor(t$2,i$3$1):s$3;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a$1$1=Reflect.decorate(e$2$1,t$2,i$3$1,s$3);else for(var o$1$1=e$2$1.length-1;o$1$1>=0;o$1$1--)(r$2$1=e$2$1[o$1$1])&&(a$1$1=(n$2$1<3?r$2$1(a$1$1):n$2$1>3?r$2$1(t$2,i$3$1,a$1$1):r$2$1(t$2,i$3$1))||a$1$1);return n$2$1>3&&a$1$1&&Object.defineProperty(t$2,i$3$1,a$1$1),a$1$1},r$1$1=this&&this.__param||function(e$2$1,t$2){return function(i$3$1,s$3){t$2(i$3$1,s$3,e$2$1)}};Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.CoreService=void 0;let n$1$1=i$2$1(439),a$4=i$2$1(460),o$3=i$2$1(844),h$1$1=i$2$1(585),c$3=Object.freeze({insertMode:!1}),l$2=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),_$6=t$1$1.CoreService=class extends o$3.Disposable{constructor(e$2$1,t$2,i$3$1){super(),this._bufferService=e$2$1,this._logService=t$2,this._optionsService=i$3$1,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new a$4.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new a$4.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new a$4.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new a$4.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,n$1$1.clone)(c$3),this.decPrivateModes=(0,n$1$1.clone)(l$2)}reset(){this.modes=(0,n$1$1.clone)(c$3),this.decPrivateModes=(0,n$1$1.clone)(l$2)}triggerDataEvent(e$2$1,t$2=!1){if(this._optionsService.rawOptions.disableStdin)return;let i$3$1=this._bufferService.buffer;t$2&&this._optionsService.rawOptions.scrollOnUserInput&&i$3$1.ybase!==i$3$1.ydisp&&this._onRequestScrollToBottom.fire(),t$2&&this._onUserInput.fire(),this._logService.debug(`sending data "${e$2$1}"`,(()=>e$2$1.split(``).map((e$3$1=>e$3$1.charCodeAt(0))))),this._onData.fire(e$2$1)}triggerBinaryEvent(e$2$1){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e$2$1}"`,(()=>e$2$1.split(``).map((e$3$1=>e$3$1.charCodeAt(0))))),this._onBinary.fire(e$2$1))}};t$1$1.CoreService=_$6=s$2$1([r$1$1(0,h$1$1.IBufferService),r$1$1(1,h$1$1.ILogService),r$1$1(2,h$1$1.IOptionsService)],_$6)},348:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.InstantiationService=t$1$1.ServiceCollection=void 0;let s$2$1=i$2$1(585),r$1$1=i$2$1(343);class n$1$1{constructor(...e$2$1){this._entries=new Map;for(let[t$2,i$3$1]of e$2$1)this.set(t$2,i$3$1)}set(e$2$1,t$2){let i$3$1=this._entries.get(e$2$1);return this._entries.set(e$2$1,t$2),i$3$1}forEach(e$2$1){for(let[t$2,i$3$1]of this._entries.entries())e$2$1(t$2,i$3$1)}has(e$2$1){return this._entries.has(e$2$1)}get(e$2$1){return this._entries.get(e$2$1)}}t$1$1.ServiceCollection=n$1$1,t$1$1.InstantiationService=class{constructor(){this._services=new n$1$1,this._services.set(s$2$1.IInstantiationService,this)}setService(e$2$1,t$2){this._services.set(e$2$1,t$2)}getService(e$2$1){return this._services.get(e$2$1)}createInstance(e$2$1,...t$2){let i$3$1=(0,r$1$1.getServiceDependencies)(e$2$1).sort(((e$3$1,t$3)=>e$3$1.index-t$3.index)),s$3=[];for(let t$3 of i$3$1){let i$4$1=this._services.get(t$3.id);if(!i$4$1)throw Error(`[createInstance] ${e$2$1.name} depends on UNKNOWN service ${t$3.id}.`);s$3.push(i$4$1)}let n$2$1=i$3$1.length>0?i$3$1[0].index:t$2.length;if(t$2.length!==n$2$1)throw Error(`[createInstance] First service dependency of ${e$2$1.name} at position ${n$2$1+1} conflicts with ${t$2.length} static arguments`);return new e$2$1(...t$2,...s$3)}}},866:function(e$1$1,t$1$1,i$2$1){var s$2$1=this&&this.__decorate||function(e$2$1,t$2,i$3$1,s$3){var r$2$1,n$2$1=arguments.length,a$1$1=n$2$1<3?t$2:s$3===null?s$3=Object.getOwnPropertyDescriptor(t$2,i$3$1):s$3;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a$1$1=Reflect.decorate(e$2$1,t$2,i$3$1,s$3);else for(var o$1$1=e$2$1.length-1;o$1$1>=0;o$1$1--)(r$2$1=e$2$1[o$1$1])&&(a$1$1=(n$2$1<3?r$2$1(a$1$1):n$2$1>3?r$2$1(t$2,i$3$1,a$1$1):r$2$1(t$2,i$3$1))||a$1$1);return n$2$1>3&&a$1$1&&Object.defineProperty(t$2,i$3$1,a$1$1),a$1$1},r$1$1=this&&this.__param||function(e$2$1,t$2){return function(i$3$1,s$3){t$2(i$3$1,s$3,e$2$1)}};Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.traceCall=t$1$1.setTraceLogger=t$1$1.LogService=void 0;let n$1$1=i$2$1(844),a$4=i$2$1(585),o$3={trace:a$4.LogLevelEnum.TRACE,debug:a$4.LogLevelEnum.DEBUG,info:a$4.LogLevelEnum.INFO,warn:a$4.LogLevelEnum.WARN,error:a$4.LogLevelEnum.ERROR,off:a$4.LogLevelEnum.OFF},h$1$1,c$3=t$1$1.LogService=class extends n$1$1.Disposable{get logLevel(){return this._logLevel}constructor(e$2$1){super(),this._optionsService=e$2$1,this._logLevel=a$4.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange(`logLevel`,(()=>this._updateLogLevel()))),h$1$1=this}_updateLogLevel(){this._logLevel=o$3[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e$2$1){for(let t$2=0;t$2<e$2$1.length;t$2++)typeof e$2$1[t$2]==`function`&&(e$2$1[t$2]=e$2$1[t$2]())}_log(e$2$1,t$2,i$3$1){this._evalLazyOptionalParams(i$3$1),e$2$1.call(console,(this._optionsService.options.logger?``:`xterm.js: `)+t$2,...i$3$1)}trace(e$2$1,...t$2){this._logLevel<=a$4.LogLevelEnum.TRACE&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e$2$1,t$2)}debug(e$2$1,...t$2){this._logLevel<=a$4.LogLevelEnum.DEBUG&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e$2$1,t$2)}info(e$2$1,...t$2){this._logLevel<=a$4.LogLevelEnum.INFO&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e$2$1,t$2)}warn(e$2$1,...t$2){this._logLevel<=a$4.LogLevelEnum.WARN&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e$2$1,t$2)}error(e$2$1,...t$2){this._logLevel<=a$4.LogLevelEnum.ERROR&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e$2$1,t$2)}};t$1$1.LogService=c$3=s$2$1([r$1$1(0,a$4.IOptionsService)],c$3),t$1$1.setTraceLogger=function(e$2$1){h$1$1=e$2$1},t$1$1.traceCall=function(e$2$1,t$2,i$3$1){if(typeof i$3$1.value!=`function`)throw Error(`not supported`);let s$3=i$3$1.value;i$3$1.value=function(...e$3$1){if(h$1$1.logLevel!==a$4.LogLevelEnum.TRACE)return s$3.apply(this,e$3$1);h$1$1.trace(`GlyphRenderer#${s$3.name}(${e$3$1.map((e$4=>JSON.stringify(e$4))).join(`, `)})`);let t$3=s$3.apply(this,e$3$1);return h$1$1.trace(`GlyphRenderer#${s$3.name} return`,t$3),t$3}}},302:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.OptionsService=t$1$1.DEFAULT_OPTIONS=void 0;let s$2$1=i$2$1(460),r$1$1=i$2$1(844),n$1$1=i$2$1(114);t$1$1.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:`block`,cursorWidth:1,cursorInactiveStyle:`outline`,customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:`alt`,fastScrollSensitivity:5,fontFamily:`courier-new, courier, monospace`,fontSize:15,fontWeight:`normal`,fontWeightBold:`bold`,ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:`info`,logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:n$1$1.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRulerWidth:0};let a$4=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`];class o$3 extends r$1$1.Disposable{constructor(e$2$1){super(),this._onOptionChange=this.register(new s$2$1.EventEmitter),this.onOptionChange=this._onOptionChange.event;let i$3$1={...t$1$1.DEFAULT_OPTIONS};for(let t$2 in e$2$1)if(t$2 in i$3$1)try{let s$3=e$2$1[t$2];i$3$1[t$2]=this._sanitizeAndValidateOption(t$2,s$3)}catch(e$3$1){console.error(e$3$1)}this.rawOptions=i$3$1,this.options={...i$3$1},this._setupOptions(),this.register((0,r$1$1.toDisposable)((()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null})))}onSpecificOptionChange(e$2$1,t$2){return this.onOptionChange((i$3$1=>{i$3$1===e$2$1&&t$2(this.rawOptions[e$2$1])}))}onMultipleOptionChange(e$2$1,t$2){return this.onOptionChange((i$3$1=>{e$2$1.indexOf(i$3$1)!==-1&&t$2()}))}_setupOptions(){let e$2$1=e$3$1=>{if(!(e$3$1 in t$1$1.DEFAULT_OPTIONS))throw Error(`No option with key "${e$3$1}"`);return this.rawOptions[e$3$1]},i$3$1=(e$3$1,i$4$1)=>{if(!(e$3$1 in t$1$1.DEFAULT_OPTIONS))throw Error(`No option with key "${e$3$1}"`);i$4$1=this._sanitizeAndValidateOption(e$3$1,i$4$1),this.rawOptions[e$3$1]!==i$4$1&&(this.rawOptions[e$3$1]=i$4$1,this._onOptionChange.fire(e$3$1))};for(let t$2 in this.rawOptions){let s$3={get:e$2$1.bind(this,t$2),set:i$3$1.bind(this,t$2)};Object.defineProperty(this.options,t$2,s$3)}}_sanitizeAndValidateOption(e$2$1,i$3$1){switch(e$2$1){case`cursorStyle`:if(i$3$1||=t$1$1.DEFAULT_OPTIONS[e$2$1],!function(e$3$1){return e$3$1===`block`||e$3$1===`underline`||e$3$1===`bar`}(i$3$1))throw Error(`"${i$3$1}" is not a valid value for ${e$2$1}`);break;case`wordSeparator`:i$3$1||=t$1$1.DEFAULT_OPTIONS[e$2$1];break;case`fontWeight`:case`fontWeightBold`:if(typeof i$3$1==`number`&&1<=i$3$1&&i$3$1<=1e3)break;i$3$1=a$4.includes(i$3$1)?i$3$1:t$1$1.DEFAULT_OPTIONS[e$2$1];break;case`cursorWidth`:i$3$1=Math.floor(i$3$1);case`lineHeight`:case`tabStopWidth`:if(i$3$1<1)throw Error(`${e$2$1} cannot be less than 1, value: ${i$3$1}`);break;case`minimumContrastRatio`:i$3$1=Math.max(1,Math.min(21,Math.round(10*i$3$1)/10));break;case`scrollback`:if((i$3$1=Math.min(i$3$1,4294967295))<0)throw Error(`${e$2$1} cannot be less than 0, value: ${i$3$1}`);break;case`fastScrollSensitivity`:case`scrollSensitivity`:if(i$3$1<=0)throw Error(`${e$2$1} cannot be less than or equal to 0, value: ${i$3$1}`);break;case`rows`:case`cols`:if(!i$3$1&&i$3$1!==0)throw Error(`${e$2$1} must be numeric, value: ${i$3$1}`);break;case`windowsPty`:i$3$1??={}}return i$3$1}}t$1$1.OptionsService=o$3},660:function(e$1$1,t$1$1,i$2$1){var s$2$1=this&&this.__decorate||function(e$2$1,t$2,i$3$1,s$3){var r$2$1,n$2$1=arguments.length,a$1$1=n$2$1<3?t$2:s$3===null?s$3=Object.getOwnPropertyDescriptor(t$2,i$3$1):s$3;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a$1$1=Reflect.decorate(e$2$1,t$2,i$3$1,s$3);else for(var o$3=e$2$1.length-1;o$3>=0;o$3--)(r$2$1=e$2$1[o$3])&&(a$1$1=(n$2$1<3?r$2$1(a$1$1):n$2$1>3?r$2$1(t$2,i$3$1,a$1$1):r$2$1(t$2,i$3$1))||a$1$1);return n$2$1>3&&a$1$1&&Object.defineProperty(t$2,i$3$1,a$1$1),a$1$1},r$1$1=this&&this.__param||function(e$2$1,t$2){return function(i$3$1,s$3){t$2(i$3$1,s$3,e$2$1)}};Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.OscLinkService=void 0;let n$1$1=i$2$1(585),a$4=t$1$1.OscLinkService=class{constructor(e$2$1){this._bufferService=e$2$1,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e$2$1){let t$2=this._bufferService.buffer;if(e$2$1.id===void 0){let i$4$1=t$2.addMarker(t$2.ybase+t$2.y),s$4={data:e$2$1,id:this._nextId++,lines:[i$4$1]};return i$4$1.onDispose((()=>this._removeMarkerFromLink(s$4,i$4$1))),this._dataByLinkId.set(s$4.id,s$4),s$4.id}let i$3$1=e$2$1,s$3=this._getEntryIdKey(i$3$1),r$2$1=this._entriesWithId.get(s$3);if(r$2$1)return this.addLineToLink(r$2$1.id,t$2.ybase+t$2.y),r$2$1.id;let n$2$1=t$2.addMarker(t$2.ybase+t$2.y),a$1$1={id:this._nextId++,key:this._getEntryIdKey(i$3$1),data:i$3$1,lines:[n$2$1]};return n$2$1.onDispose((()=>this._removeMarkerFromLink(a$1$1,n$2$1))),this._entriesWithId.set(a$1$1.key,a$1$1),this._dataByLinkId.set(a$1$1.id,a$1$1),a$1$1.id}addLineToLink(e$2$1,t$2){let i$3$1=this._dataByLinkId.get(e$2$1);if(i$3$1&&i$3$1.lines.every((e$3$1=>e$3$1.line!==t$2))){let e$3$1=this._bufferService.buffer.addMarker(t$2);i$3$1.lines.push(e$3$1),e$3$1.onDispose((()=>this._removeMarkerFromLink(i$3$1,e$3$1)))}}getLinkData(e$2$1){return this._dataByLinkId.get(e$2$1)?.data}_getEntryIdKey(e$2$1){return`${e$2$1.id};;${e$2$1.uri}`}_removeMarkerFromLink(e$2$1,t$2){let i$3$1=e$2$1.lines.indexOf(t$2);i$3$1!==-1&&(e$2$1.lines.splice(i$3$1,1),e$2$1.lines.length===0&&(e$2$1.data.id!==void 0&&this._entriesWithId.delete(e$2$1.key),this._dataByLinkId.delete(e$2$1.id)))}};t$1$1.OscLinkService=a$4=s$2$1([r$1$1(0,n$1$1.IBufferService)],a$4)},343:(e$1$1,t$1$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.createDecorator=t$1$1.getServiceDependencies=t$1$1.serviceRegistry=void 0;let i$2$1=`di$target`,s$2$1=`di$dependencies`;t$1$1.serviceRegistry=new Map,t$1$1.getServiceDependencies=function(e$2$1){return e$2$1[s$2$1]||[]},t$1$1.createDecorator=function(e$2$1){if(t$1$1.serviceRegistry.has(e$2$1))return t$1$1.serviceRegistry.get(e$2$1);let r$1$1=function(e$3$1,t$2,n$1$1){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);(function(e$4,t$3,r$2$1){t$3[i$2$1]===t$3?t$3[s$2$1].push({id:e$4,index:r$2$1}):(t$3[s$2$1]=[{id:e$4,index:r$2$1}],t$3[i$2$1]=t$3)})(r$1$1,e$3$1,n$1$1)};return r$1$1.toString=()=>e$2$1,t$1$1.serviceRegistry.set(e$2$1,r$1$1),r$1$1}},585:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.IDecorationService=t$1$1.IUnicodeService=t$1$1.IOscLinkService=t$1$1.IOptionsService=t$1$1.ILogService=t$1$1.LogLevelEnum=t$1$1.IInstantiationService=t$1$1.ICharsetService=t$1$1.ICoreService=t$1$1.ICoreMouseService=t$1$1.IBufferService=void 0;let s$2$1=i$2$1(343);var r$1$1;t$1$1.IBufferService=(0,s$2$1.createDecorator)(`BufferService`),t$1$1.ICoreMouseService=(0,s$2$1.createDecorator)(`CoreMouseService`),t$1$1.ICoreService=(0,s$2$1.createDecorator)(`CoreService`),t$1$1.ICharsetService=(0,s$2$1.createDecorator)(`CharsetService`),t$1$1.IInstantiationService=(0,s$2$1.createDecorator)(`InstantiationService`),function(e$2$1){e$2$1[e$2$1.TRACE=0]=`TRACE`,e$2$1[e$2$1.DEBUG=1]=`DEBUG`,e$2$1[e$2$1.INFO=2]=`INFO`,e$2$1[e$2$1.WARN=3]=`WARN`,e$2$1[e$2$1.ERROR=4]=`ERROR`,e$2$1[e$2$1.OFF=5]=`OFF`}(r$1$1||(t$1$1.LogLevelEnum=r$1$1={})),t$1$1.ILogService=(0,s$2$1.createDecorator)(`LogService`),t$1$1.IOptionsService=(0,s$2$1.createDecorator)(`OptionsService`),t$1$1.IOscLinkService=(0,s$2$1.createDecorator)(`OscLinkService`),t$1$1.IUnicodeService=(0,s$2$1.createDecorator)(`UnicodeService`),t$1$1.IDecorationService=(0,s$2$1.createDecorator)(`DecorationService`)},480:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.UnicodeService=void 0;let s$2$1=i$2$1(460),r$1$1=i$2$1(225);class n$1$1{static extractShouldJoin(e$2$1){return(1&e$2$1)!=0}static extractWidth(e$2$1){return e$2$1>>1&3}static extractCharKind(e$2$1){return e$2$1>>3}static createPropertyValue(e$2$1,t$2,i$3$1=!1){return(16777215&e$2$1)<<3|(3&t$2)<<1|(i$3$1?1:0)}constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new s$2$1.EventEmitter,this.onChange=this._onChange.event;let e$2$1=new r$1$1.UnicodeV6;this.register(e$2$1),this._active=e$2$1.version,this._activeProvider=e$2$1}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e$2$1){if(!this._providers[e$2$1])throw Error(`unknown Unicode version "${e$2$1}"`);this._active=e$2$1,this._activeProvider=this._providers[e$2$1],this._onChange.fire(e$2$1)}register(e$2$1){this._providers[e$2$1.version]=e$2$1}wcwidth(e$2$1){return this._activeProvider.wcwidth(e$2$1)}getStringCellWidth(e$2$1){let t$2=0,i$3$1=0,s$3=e$2$1.length;for(let r$2$1=0;r$2$1<s$3;++r$2$1){let a$4=e$2$1.charCodeAt(r$2$1);if(55296<=a$4&&a$4<=56319){if(++r$2$1>=s$3)return t$2+this.wcwidth(a$4);let i$4$1=e$2$1.charCodeAt(r$2$1);56320<=i$4$1&&i$4$1<=57343?a$4=1024*(a$4-55296)+i$4$1-56320+65536:t$2+=this.wcwidth(i$4$1)}let o$3=this.charProperties(a$4,i$3$1),h$1$1=n$1$1.extractWidth(o$3);n$1$1.extractShouldJoin(o$3)&&(h$1$1-=n$1$1.extractWidth(i$3$1)),t$2+=h$1$1,i$3$1=o$3}return t$2}charProperties(e$2$1,t$2){return this._activeProvider.charProperties(e$2$1,t$2)}}t$1$1.UnicodeService=n$1$1},781:(e$1$1,t$1$1,i$2$1)=>{Object.defineProperty(t$1$1,`__esModule`,{value:!0}),t$1$1.Terminal=void 0;let s$2$1=i$2$1(437),r$1$1=i$2$1(969),n$1$1=i$2$1(460);class a$4 extends r$1$1.CoreTerminal{constructor(e$2$1={}){super(e$2$1),this._onBell=this.register(new n$1$1.EventEmitter),this.onBell=this._onBell.event,this._onCursorMove=this.register(new n$1$1.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onTitleChange=this.register(new n$1$1.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onA11yCharEmitter=this.register(new n$1$1.EventEmitter),this.onA11yChar=this._onA11yCharEmitter.event,this._onA11yTabEmitter=this.register(new n$1$1.EventEmitter),this.onA11yTab=this._onA11yTabEmitter.event,this._setup(),this.register(this._inputHandler.onRequestBell((()=>this.bell()))),this.register(this._inputHandler.onRequestReset((()=>this.reset()))),this.register((0,n$1$1.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,n$1$1.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,n$1$1.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,n$1$1.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter))}get buffer(){return this.buffers.active}get markers(){return this.buffer.markers}addMarker(e$2$1){if(this.buffer===this.buffers.normal)return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e$2$1)}bell(){this._onBell.fire()}input(e$2$1,t$2=!0){this.coreService.triggerDataEvent(e$2$1,t$2)}resize(e$2$1,t$2){e$2$1===this.cols&&t$2===this.rows||super.resize(e$2$1,t$2)}clear(){if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e$2$1=1;e$2$1<this.rows;e$2$1++)this.buffer.lines.push(this.buffer.getBlankLine(s$2$1.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0})}}reset(){this.options.rows=this.rows,this.options.cols=this.cols,this._setup(),super.reset()}}t$1$1.Terminal=a$4}},t$1={};function i$1$1(s$2$1){var r$1$1=t$1[s$2$1];if(r$1$1!==void 0)return r$1$1.exports;var n$1$1=t$1[s$2$1]={exports:{}};return e$3[s$2$1].call(n$1$1.exports,n$1$1,n$1$1.exports,i$1$1),n$1$1.exports}var s$1$1={};(()=>{var e$1$1=s$1$1;Object.defineProperty(e$1$1,`__esModule`,{value:!0}),e$1$1.Terminal=void 0;let t$1$1=i$1$1(285),r$1$1=i$1$1(975),n$1$1=i$1$1(90),a$4=i$1$1(781),o$3=i$1$1(741),h$1$1=i$1$1(844),c$3=[`cols`,`rows`];class l$2 extends h$1$1.Disposable{constructor(e$2$1){super(),this._core=this.register(new a$4.Terminal(e$2$1)),this._addonManager=this.register(new o$3.AddonManager),this._publicOptions={...this._core.options};let t$2=e$3$1=>this._core.options[e$3$1],i$2$1=(e$3$1,t$3)=>{this._checkReadonlyOptions(e$3$1),this._core.options[e$3$1]=t$3};for(let e$3$1 in this._core.options){Object.defineProperty(this._publicOptions,e$3$1,{get:()=>this._core.options[e$3$1],set:t$3=>{this._checkReadonlyOptions(e$3$1),this._core.options[e$3$1]=t$3}});let s$2$1={get:t$2.bind(this,e$3$1),set:i$2$1.bind(this,e$3$1)};Object.defineProperty(this._publicOptions,e$3$1,s$2$1)}}_checkReadonlyOptions(e$2$1){if(c$3.includes(e$2$1))throw Error(`Option "${e$2$1}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.options.allowProposedApi)throw Error(`You must set the allowProposedApi option to true to use proposed API`)}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onLineFeed(){return this._core.onLineFeed}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onTitleChange(){return this._core.onTitleChange}get parser(){return this._checkProposedApi(),this._parser||=new r$1$1.ParserApi(this._core),this._parser}get unicode(){return this._checkProposedApi(),new n$1$1.UnicodeApi(this._core)}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._checkProposedApi(),this._buffer||=this.register(new t$1$1.BufferNamespaceApi(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e$2$1=this._core.coreService.decPrivateModes,t$2=`none`;switch(this._core.coreMouseService.activeProtocol){case`X10`:t$2=`x10`;break;case`VT200`:t$2=`vt200`;break;case`DRAG`:t$2=`drag`;break;case`ANY`:t$2=`any`}return{applicationCursorKeysMode:e$2$1.applicationCursorKeys,applicationKeypadMode:e$2$1.applicationKeypad,bracketedPasteMode:e$2$1.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t$2,originMode:e$2$1.origin,reverseWraparoundMode:e$2$1.reverseWraparound,sendFocusMode:e$2$1.sendFocus,wraparoundMode:e$2$1.wraparound}}get options(){return this._publicOptions}set options(e$2$1){for(let t$2 in e$2$1)this._publicOptions[t$2]=e$2$1[t$2]}input(e$2$1,t$2=!0){this._core.input(e$2$1,t$2)}resize(e$2$1,t$2){this._verifyIntegers(e$2$1,t$2),this._core.resize(e$2$1,t$2)}registerMarker(e$2$1=0){return this._checkProposedApi(),this._verifyIntegers(e$2$1),this._core.addMarker(e$2$1)}addMarker(e$2$1){return this.registerMarker(e$2$1)}dispose(){super.dispose()}scrollLines(e$2$1){this._verifyIntegers(e$2$1),this._core.scrollLines(e$2$1)}scrollPages(e$2$1){this._verifyIntegers(e$2$1),this._core.scrollPages(e$2$1)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e$2$1){this._verifyIntegers(e$2$1),this._core.scrollToLine(e$2$1)}clear(){this._core.clear()}write(e$2$1,t$2){this._core.write(e$2$1,t$2)}writeln(e$2$1,t$2){this._core.write(e$2$1),this._core.write(`\r
36
- `,t$2)}reset(){this._core.reset()}loadAddon(e$2$1){this._addonManager.loadAddon(this,e$2$1)}_verifyIntegers(...e$2$1){for(let t$2 of e$2$1)if(t$2===1/0||isNaN(t$2)||t$2%1!=0)throw Error(`This API only accepts integers`)}}e$1$1.Terminal=l$2})();var r$3=exports$1;for(var n$2 in s$1$1)r$3[n$2]=s$1$1[n$2];s$1$1.__esModule&&Object.defineProperty(r$3,`__esModule`,{value:!0})})()})}),import_addon_serialize$1=__toESM$1(require_addon_serialize$1(),1),import_xterm_headless$2=__toESM$1(require_xterm_headless$2(),1),ProcessManager$1=class ProcessManager$2{static COLUMNS=80;static ROWS=24;static SCROLLBACK=128e3;globalEnv;processes=new Map;spawnListeners=[];nodePty;constructor(options$1){this.globalEnv=options$1?.env??{},this.nodePty=options$1?.nodePty}onSpawn(cb){return this.spawnListeners.push(cb),{dispose:()=>{this.spawnListeners=this.spawnListeners.filter(listener=>listener!==cb)}}}setEnv(env$1$1){this.globalEnv={...this.globalEnv,...env$1$1},Object.keys(env$1$1).forEach(key=>{env$1$1[key]===``&&delete this.globalEnv[key]})}execute(file,args,options$1){let spawned=spawn$1$2(file,args,{name:`xterm-256color`,cols:ProcessManager$2.COLUMNS,rows:ProcessManager$2.ROWS,cwd:options$1?.cwd,env:{...globalThis.process.env,...this.globalEnv,...options$1?.env}},this.nodePty),terminal=new import_xterm_headless$2.Terminal({allowProposedApi:!0,convertEol:!0,scrollback:ProcessManager$2.SCROLLBACK,cols:ProcessManager$2.COLUMNS,rows:ProcessManager$2.ROWS}),serializeAddon=new import_addon_serialize$1.SerializeAddon;terminal.loadAddon(serializeAddon);let latestWritePromise;spawned.onData(data$2=>{latestWritePromise=new Promise(resolve$10=>{terminal.write(data$2,resolve$10)})}),terminal.onData(data$2=>{spawned.write(data$2)});let processObj={command:file,args,cwd:options$1?.cwd??``,env:{...options$1?.env},startTimeMS:Date.now(),exitCode:void 0,exitSignal:void 0,pid:spawned.pid,pty:spawned,terminal,serializer:serializeAddon,kill:signal=>{spawned.kill(signal)},onExit:cb=>spawned.onExit(({exitCode,signal})=>{latestWritePromise?latestWritePromise.then(()=>{cb(exitCode,signal)}):cb(exitCode,signal)}),onOutput:cb=>spawned.onData(data$2=>{cb(data$2)}),sendInput:data$2=>{terminal.input(data$2)}};this.processes.set(spawned.pid,processObj),spawned.onExit(({exitCode,signal})=>{processObj.exitCode=exitCode,processObj.exitSignal=signal});for(let listener of this.spawnListeners)listener(processObj);return processObj}status(pid){let process$1$1=this.processes.get(pid);if(!process$1$1)throw Error(`Process with PID ${pid} not found`);let plainOutput=this.readPlainOutput(pid);return{pid:process$1$1.pid,command:process$1$1.command,title:process$1$1.pty.process,args:process$1$1.args,cwd:process$1$1.cwd,env:process$1$1.env,exit_code:process$1$1.exitCode,exit_signal:process$1$1.exitSignal,duration_ms:Date.now()-process$1$1.startTimeMS,output_total_lines:plainOutput.totalLines}}list(includeDead){return Array.from(this.processes.values()).filter(process$1$1=>includeDead||process$1$1.exitCode===void 0).map(process$1$1=>this.status(process$1$1.pid))}getProcess(pid){return this.processes.get(pid)}readANSIOutput(pid,scrollback){let process$1$1=this.processes.get(pid);if(!process$1$1)throw Error(`Process with PID ${pid} not found`);return process$1$1.serializer.serialize({scrollback})}readPlainOutput(pid,startLine,endLine){let startLineZeroBased=startLine?Math.max(0,startLine-1):0,endLineZeroBased=endLine?Math.max(0,endLine-1):ProcessManager$2.SCROLLBACK+ProcessManager$2.ROWS-1,process$1$1=this.processes.get(pid);if(!process$1$1)throw Error(`Process with PID ${pid} not found`);let allLines=[];for(let i$1$1=0;i$1$1<ProcessManager$2.SCROLLBACK+ProcessManager$2.ROWS;i$1$1++){let line$1=process$1$1.terminal.buffer.normal.getLine(i$1$1);line$1&&allLines.push(line$1.translateToString(!0)??``)}for(;allLines.length>0&&allLines[allLines.length-1].trim()===``;)allLines.pop();return{lines:allLines.slice(startLineZeroBased,endLineZeroBased+1),totalLines:allLines.length}}close(){this.processes.forEach(process$1$1=>{process$1$1.pty.kill()})}};const spawn$1$2=(file,args,options$1,nodePty)=>{if(!nodePty||globalThis.Bun!==void 0){let exitEmitter=new Emitter$3,dataEmitter=new Emitter$3,proc$1=spawn$1(file,args,{env:options$1.env,cwd:options$1.cwd,stdio:`pipe`});return proc$1.stdout.on(`data`,data$2=>{dataEmitter.emit(Buffer.from(data$2).toString(`utf-8`))}),proc$1.stderr.on(`data`,data$2=>{dataEmitter.emit(Buffer.from(data$2).toString(`utf-8`))}),proc$1.on(`exit`,(code$1,signal)=>{let exitCode=code$1??-1,signalCode=signal?exitCode:void 0;exitEmitter.emit({exitCode,signal:signalCode})}),proc$1.on(`error`,error$22=>{throw error$22}),{pid:proc$1.pid??-1,process:``,onExit:fn=>exitEmitter.event(fn),kill(signal){proc$1.kill(signal)},onData:fn=>dataEmitter.event(fn),write(data$2){proc$1.stdin?.write(data$2)}}}return nodePty.spawn(file,args,options$1)};var require_constants$1$2=__commonJS$2({"../../node_modules/ws/lib/constants.js":((exports$1,module$1)=>{let BINARY_TYPES$2$1=[`nodebuffer`,`arraybuffer`,`fragments`],hasBlob$1$1=typeof Blob<`u`;hasBlob$1$1&&BINARY_TYPES$2$1.push(`blob`),module$1.exports={BINARY_TYPES:BINARY_TYPES$2$1,EMPTY_BUFFER:Buffer.alloc(0),GUID:`258EAFA5-E914-47DA-95CA-C5AB0DC85B11`,hasBlob:hasBlob$1$1,kForOnEventAttribute:Symbol(`kIsForOnEventAttribute`),kListener:Symbol(`kListener`),kStatusCode:Symbol(`status-code`),kWebSocket:Symbol(`websocket`),NOOP:()=>{}}})}),require_buffer_util$1=__commonJS$2({"../../node_modules/ws/lib/buffer-util.js":((exports$1,module$1)=>{let{EMPTY_BUFFER:EMPTY_BUFFER$3$1}=require_constants$1$2(),FastBuffer$2$1=Buffer[Symbol.species];function concat$2$1(list$2,totalLength){if(list$2.length===0)return EMPTY_BUFFER$3$1;if(list$2.length===1)return list$2[0];let target=Buffer.allocUnsafe(totalLength),offset=0;for(let i$1$1=0;i$1$1<list$2.length;i$1$1++){let buf=list$2[i$1$1];target.set(buf,offset),offset+=buf.length}return offset<totalLength?new FastBuffer$2$1(target.buffer,target.byteOffset,offset):target}function _mask$1(source$39,mask,output,offset,length){for(let i$1$1=0;i$1$1<length;i$1$1++)output[offset+i$1$1]=source$39[i$1$1]^mask[i$1$1&3]}function _unmask$1(buffer$2,mask){for(let i$1$1=0;i$1$1<buffer$2.length;i$1$1++)buffer$2[i$1$1]^=mask[i$1$1&3]}function toArrayBuffer$1$1(buf){return buf.length===buf.buffer.byteLength?buf.buffer:buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.length)}function toBuffer$3$1(data$2){if(toBuffer$3$1.readOnly=!0,Buffer.isBuffer(data$2))return data$2;let buf;return data$2 instanceof ArrayBuffer?buf=new FastBuffer$2$1(data$2):ArrayBuffer.isView(data$2)?buf=new FastBuffer$2$1(data$2.buffer,data$2.byteOffset,data$2.byteLength):(buf=Buffer.from(data$2),toBuffer$3$1.readOnly=!1),buf}if(module$1.exports={concat:concat$2$1,mask:_mask$1,toArrayBuffer:toArrayBuffer$1$1,toBuffer:toBuffer$3$1,unmask:_unmask$1},!process.env.WS_NO_BUFFER_UTIL)try{let bufferUtil$1=__require$2(`bufferutil`);module$1.exports.mask=function(source$39,mask,output,offset,length){length<48?_mask$1(source$39,mask,output,offset,length):bufferUtil$1.mask(source$39,mask,output,offset,length)},module$1.exports.unmask=function(buffer$2,mask){buffer$2.length<32?_unmask$1(buffer$2,mask):bufferUtil$1.unmask(buffer$2,mask)}}catch{}})}),require_limiter$1=__commonJS$2({"../../node_modules/ws/lib/limiter.js":((exports$1,module$1)=>{let kDone$1=Symbol(`kDone`),kRun$1=Symbol(`kRun`);var Limiter$1$1=class{constructor(concurrency){this[kDone$1]=()=>{this.pending--,this[kRun$1]()},this.concurrency=concurrency||1/0,this.jobs=[],this.pending=0}add(job){this.jobs.push(job),this[kRun$1]()}[kRun$1](){if(this.pending!==this.concurrency&&this.jobs.length){let job=this.jobs.shift();this.pending++,job(this[kDone$1])}}};module$1.exports=Limiter$1$1})}),require_permessage_deflate$2=__commonJS$2({"../../node_modules/ws/lib/permessage-deflate.js":((exports$1,module$1)=>{let zlib$9=__require$2(`zlib`),bufferUtil$1=require_buffer_util$1(),Limiter$2=require_limiter$1(),{kStatusCode:kStatusCode$2$1}=require_constants$1$2(),FastBuffer$1$1=Buffer[Symbol.species],TRAILER$1=Buffer.from([0,0,255,255]),kPerMessageDeflate$1=Symbol(`permessage-deflate`),kTotalLength$1=Symbol(`total-length`),kCallback$1=Symbol(`callback`),kBuffers$1=Symbol(`buffers`),kError$1$1=Symbol(`error`),zlibLimiter$1;var PerMessageDeflate$4$1=class{constructor(options$1,isServer,maxPayload){if(this._maxPayload=maxPayload|0,this._options=options$1||{},this._threshold=this._options.threshold===void 0?1024:this._options.threshold,this._isServer=!!isServer,this._deflate=null,this._inflate=null,this.params=null,!zlibLimiter$1){let concurrency=this._options.concurrencyLimit===void 0?10:this._options.concurrencyLimit;zlibLimiter$1=new Limiter$2(concurrency)}}static get extensionName(){return`permessage-deflate`}offer(){let params={};return this._options.serverNoContextTakeover&&(params.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(params.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(params.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?params.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits??(params.client_max_window_bits=!0),params}accept(configurations){return configurations=this.normalizeParams(configurations),this.params=this._isServer?this.acceptAsServer(configurations):this.acceptAsClient(configurations),this.params}cleanup(){if(this._inflate&&=(this._inflate.close(),null),this._deflate){let callback$1=this._deflate[kCallback$1];this._deflate.close(),this._deflate=null,callback$1&&callback$1(Error(`The deflate stream was closed while data was being processed`))}}acceptAsServer(offers){let opts=this._options,accepted=offers.find(params=>!(opts.serverNoContextTakeover===!1&&params.server_no_context_takeover||params.server_max_window_bits&&(opts.serverMaxWindowBits===!1||typeof opts.serverMaxWindowBits==`number`&&opts.serverMaxWindowBits>params.server_max_window_bits)||typeof opts.clientMaxWindowBits==`number`&&!params.client_max_window_bits));if(!accepted)throw Error(`None of the extension offers can be accepted`);return opts.serverNoContextTakeover&&(accepted.server_no_context_takeover=!0),opts.clientNoContextTakeover&&(accepted.client_no_context_takeover=!0),typeof opts.serverMaxWindowBits==`number`&&(accepted.server_max_window_bits=opts.serverMaxWindowBits),typeof opts.clientMaxWindowBits==`number`?accepted.client_max_window_bits=opts.clientMaxWindowBits:(accepted.client_max_window_bits===!0||opts.clientMaxWindowBits===!1)&&delete accepted.client_max_window_bits,accepted}acceptAsClient(response){let params=response[0];if(this._options.clientNoContextTakeover===!1&&params.client_no_context_takeover)throw Error(`Unexpected parameter "client_no_context_takeover"`);if(!params.client_max_window_bits)typeof this._options.clientMaxWindowBits==`number`&&(params.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits==`number`&&params.client_max_window_bits>this._options.clientMaxWindowBits)throw Error(`Unexpected or invalid parameter "client_max_window_bits"`);return params}normalizeParams(configurations){return configurations.forEach(params=>{Object.keys(params).forEach(key=>{let value=params[key];if(value.length>1)throw Error(`Parameter "${key}" must have only a single value`);if(value=value[0],key===`client_max_window_bits`){if(value!==!0){let num=+value;if(!Number.isInteger(num)||num<8||num>15)throw TypeError(`Invalid value for parameter "${key}": ${value}`);value=num}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${key}": ${value}`)}else if(key===`server_max_window_bits`){let num=+value;if(!Number.isInteger(num)||num<8||num>15)throw TypeError(`Invalid value for parameter "${key}": ${value}`);value=num}else if(key===`client_no_context_takeover`||key===`server_no_context_takeover`){if(value!==!0)throw TypeError(`Invalid value for parameter "${key}": ${value}`)}else throw Error(`Unknown parameter "${key}"`);params[key]=value})}),configurations}decompress(data$2,fin,callback$1){zlibLimiter$1.add(done=>{this._decompress(data$2,fin,(err$1$1,result)=>{done(),callback$1(err$1$1,result)})})}compress(data$2,fin,callback$1){zlibLimiter$1.add(done=>{this._compress(data$2,fin,(err$1$1,result)=>{done(),callback$1(err$1$1,result)})})}_decompress(data$2,fin,callback$1){let endpoint=this._isServer?`client`:`server`;if(!this._inflate){let key=`${endpoint}_max_window_bits`,windowBits=typeof this.params[key]==`number`?this.params[key]:zlib$9.Z_DEFAULT_WINDOWBITS;this._inflate=zlib$9.createInflateRaw({...this._options.zlibInflateOptions,windowBits}),this._inflate[kPerMessageDeflate$1]=this,this._inflate[kTotalLength$1]=0,this._inflate[kBuffers$1]=[],this._inflate.on(`error`,inflateOnError$1),this._inflate.on(`data`,inflateOnData$1)}this._inflate[kCallback$1]=callback$1,this._inflate.write(data$2),fin&&this._inflate.write(TRAILER$1),this._inflate.flush(()=>{let err$1$1=this._inflate[kError$1$1];if(err$1$1){this._inflate.close(),this._inflate=null,callback$1(err$1$1);return}let data$1$1=bufferUtil$1.concat(this._inflate[kBuffers$1],this._inflate[kTotalLength$1]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[kTotalLength$1]=0,this._inflate[kBuffers$1]=[],fin&&this.params[`${endpoint}_no_context_takeover`]&&this._inflate.reset()),callback$1(null,data$1$1)})}_compress(data$2,fin,callback$1){let endpoint=this._isServer?`server`:`client`;if(!this._deflate){let key=`${endpoint}_max_window_bits`,windowBits=typeof this.params[key]==`number`?this.params[key]:zlib$9.Z_DEFAULT_WINDOWBITS;this._deflate=zlib$9.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits}),this._deflate[kTotalLength$1]=0,this._deflate[kBuffers$1]=[],this._deflate.on(`data`,deflateOnData$1)}this._deflate[kCallback$1]=callback$1,this._deflate.write(data$2),this._deflate.flush(zlib$9.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let data$1$1=bufferUtil$1.concat(this._deflate[kBuffers$1],this._deflate[kTotalLength$1]);fin&&(data$1$1=new FastBuffer$1$1(data$1$1.buffer,data$1$1.byteOffset,data$1$1.length-4)),this._deflate[kCallback$1]=null,this._deflate[kTotalLength$1]=0,this._deflate[kBuffers$1]=[],fin&&this.params[`${endpoint}_no_context_takeover`]&&this._deflate.reset(),callback$1(null,data$1$1)})}};module$1.exports=PerMessageDeflate$4$1;function deflateOnData$1(chunk$1){this[kBuffers$1].push(chunk$1),this[kTotalLength$1]+=chunk$1.length}function inflateOnData$1(chunk$1){if(this[kTotalLength$1]+=chunk$1.length,this[kPerMessageDeflate$1]._maxPayload<1||this[kTotalLength$1]<=this[kPerMessageDeflate$1]._maxPayload){this[kBuffers$1].push(chunk$1);return}this[kError$1$1]=RangeError(`Max payload size exceeded`),this[kError$1$1].code=`WS_ERR_UNSUPPORTED_MESSAGE_LENGTH`,this[kError$1$1][kStatusCode$2$1]=1009,this.removeListener(`data`,inflateOnData$1),this.reset()}function inflateOnError$1(err$1$1){if(this[kPerMessageDeflate$1]._inflate=null,this[kError$1$1]){this[kCallback$1](this[kError$1$1]);return}err$1$1[kStatusCode$2$1]=1007,this[kCallback$1](err$1$1)}})}),require_validation$2=__commonJS$2({"../../node_modules/ws/lib/validation.js":((exports$1,module$1)=>{let{isUtf8:isUtf8$2}=__require$2(`buffer`),{hasBlob:hasBlob$2}=require_constants$1$2(),tokenChars$2$1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function isValidStatusCode$2$1(code$1){return code$1>=1e3&&code$1<=1014&&code$1!==1004&&code$1!==1005&&code$1!==1006||code$1>=3e3&&code$1<=4999}function _isValidUTF8$1(buf){let len$1=buf.length,i$1$1=0;for(;i$1$1<len$1;)if(!(buf[i$1$1]&128))i$1$1++;else if((buf[i$1$1]&224)==192){if(i$1$1+1===len$1||(buf[i$1$1+1]&192)!=128||(buf[i$1$1]&254)==192)return!1;i$1$1+=2}else if((buf[i$1$1]&240)==224){if(i$1$1+2>=len$1||(buf[i$1$1+1]&192)!=128||(buf[i$1$1+2]&192)!=128||buf[i$1$1]===224&&(buf[i$1$1+1]&224)==128||buf[i$1$1]===237&&(buf[i$1$1+1]&224)==160)return!1;i$1$1+=3}else if((buf[i$1$1]&248)==240){if(i$1$1+3>=len$1||(buf[i$1$1+1]&192)!=128||(buf[i$1$1+2]&192)!=128||(buf[i$1$1+3]&192)!=128||buf[i$1$1]===240&&(buf[i$1$1+1]&240)==128||buf[i$1$1]===244&&buf[i$1$1+1]>143||buf[i$1$1]>244)return!1;i$1$1+=4}else return!1;return!0}function isBlob$2$1(value){return hasBlob$2&&typeof value==`object`&&typeof value.arrayBuffer==`function`&&typeof value.type==`string`&&typeof value.stream==`function`&&(value[Symbol.toStringTag]===`Blob`||value[Symbol.toStringTag]===`File`)}if(module$1.exports={isBlob:isBlob$2$1,isValidStatusCode:isValidStatusCode$2$1,isValidUTF8:_isValidUTF8$1,tokenChars:tokenChars$2$1},isUtf8$2)module$1.exports.isValidUTF8=function(buf){return buf.length<24?_isValidUTF8$1(buf):isUtf8$2(buf)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let isValidUTF8$1=__require$2(`utf-8-validate`);module$1.exports.isValidUTF8=function(buf){return buf.length<32?_isValidUTF8$1(buf):isValidUTF8$1(buf)}}catch{}})}),require_receiver$2=__commonJS$2({"../../node_modules/ws/lib/receiver.js":((exports$1,module$1)=>{let{Writable:Writable$3$1}=__require$2(`stream`),PerMessageDeflate$3$1=require_permessage_deflate$2(),{BINARY_TYPES:BINARY_TYPES$1$1,EMPTY_BUFFER:EMPTY_BUFFER$2$1,kStatusCode:kStatusCode$1$1,kWebSocket:kWebSocket$3$1}=require_constants$1$2(),{concat:concat$1$1,toArrayBuffer:toArrayBuffer$5,unmask:unmask$1}=require_buffer_util$1(),{isValidStatusCode:isValidStatusCode$1$1,isValidUTF8:isValidUTF8$1}=require_validation$2(),FastBuffer$4=Buffer[Symbol.species],GET_INFO$1=0,GET_PAYLOAD_LENGTH_16$1=1,GET_PAYLOAD_LENGTH_64$1=2,GET_MASK$1=3,GET_DATA$1=4,INFLATING$1=5,DEFER_EVENT$1=6;var Receiver$2$1=class extends Writable$3$1{constructor(options$1={}){super(),this._allowSynchronousEvents=options$1.allowSynchronousEvents===void 0?!0:options$1.allowSynchronousEvents,this._binaryType=options$1.binaryType||BINARY_TYPES$1$1[0],this._extensions=options$1.extensions||{},this._isServer=!!options$1.isServer,this._maxPayload=options$1.maxPayload|0,this._skipUTF8Validation=!!options$1.skipUTF8Validation,this[kWebSocket$3$1]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(chunk$1,encoding,cb){if(this._opcode===8&&this._state==0)return cb();this._bufferedBytes+=chunk$1.length,this._buffers.push(chunk$1),this.startLoop(cb)}consume(n$2){if(this._bufferedBytes-=n$2,n$2===this._buffers[0].length)return this._buffers.shift();if(n$2<this._buffers[0].length){let buf=this._buffers[0];return this._buffers[0]=new FastBuffer$4(buf.buffer,buf.byteOffset+n$2,buf.length-n$2),new FastBuffer$4(buf.buffer,buf.byteOffset,n$2)}let dst=Buffer.allocUnsafe(n$2);do{let buf=this._buffers[0],offset=dst.length-n$2;n$2>=buf.length?dst.set(this._buffers.shift(),offset):(dst.set(new Uint8Array(buf.buffer,buf.byteOffset,n$2),offset),this._buffers[0]=new FastBuffer$4(buf.buffer,buf.byteOffset+n$2,buf.length-n$2)),n$2-=buf.length}while(n$2>0);return dst}startLoop(cb){this._loop=!0;do switch(this._state){case 0:this.getInfo(cb);break;case 1:this.getPayloadLength16(cb);break;case 2:this.getPayloadLength64(cb);break;case 3:this.getMask();break;case 4:this.getData(cb);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||cb()}getInfo(cb){if(this._bufferedBytes<2){this._loop=!1;return}let buf=this.consume(2);if(buf[0]&48){let error$22=this.createError(RangeError,`RSV2 and RSV3 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_2_3`);cb(error$22);return}let compressed=(buf[0]&64)==64;if(compressed&&!this._extensions[PerMessageDeflate$3$1.extensionName]){let error$22=this.createError(RangeError,`RSV1 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_1`);cb(error$22);return}if(this._fin=(buf[0]&128)==128,this._opcode=buf[0]&15,this._payloadLength=buf[1]&127,this._opcode===0){if(compressed){let error$22=this.createError(RangeError,`RSV1 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_1`);cb(error$22);return}if(!this._fragmented){let error$22=this.createError(RangeError,`invalid opcode 0`,!0,1002,`WS_ERR_INVALID_OPCODE`);cb(error$22);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let error$22=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,`WS_ERR_INVALID_OPCODE`);cb(error$22);return}this._compressed=compressed}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let error$22=this.createError(RangeError,`FIN must be set`,!0,1002,`WS_ERR_EXPECTED_FIN`);cb(error$22);return}if(compressed){let error$22=this.createError(RangeError,`RSV1 must be clear`,!0,1002,`WS_ERR_UNEXPECTED_RSV_1`);cb(error$22);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let error$22=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,`WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH`);cb(error$22);return}}else{let error$22=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,`WS_ERR_INVALID_OPCODE`);cb(error$22);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(buf[1]&128)==128,this._isServer){if(!this._masked){let error$22=this.createError(RangeError,`MASK must be set`,!0,1002,`WS_ERR_EXPECTED_MASK`);cb(error$22);return}}else if(this._masked){let error$22=this.createError(RangeError,`MASK must be clear`,!0,1002,`WS_ERR_UNEXPECTED_MASK`);cb(error$22);return}this._payloadLength===126?this._state=1:this._payloadLength===127?this._state=2:this.haveLength(cb)}getPayloadLength16(cb){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(cb)}getPayloadLength64(cb){if(this._bufferedBytes<8){this._loop=!1;return}let buf=this.consume(8),num=buf.readUInt32BE(0);if(num>2**21-1){let error$22=this.createError(RangeError,`Unsupported WebSocket frame: payload length > 2^53 - 1`,!1,1009,`WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH`);cb(error$22);return}this._payloadLength=num*2**32+buf.readUInt32BE(4),this.haveLength(cb)}haveLength(cb){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let error$22=this.createError(RangeError,`Max payload size exceeded`,!1,1009,`WS_ERR_UNSUPPORTED_MESSAGE_LENGTH`);cb(error$22);return}this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(cb){let data$2=EMPTY_BUFFER$2$1;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}data$2=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&unmask$1(data$2,this._mask)}if(this._opcode>7){this.controlMessage(data$2,cb);return}if(this._compressed){this._state=5,this.decompress(data$2,cb);return}data$2.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(data$2)),this.dataMessage(cb)}decompress(data$2,cb){let perMessageDeflate=this._extensions[PerMessageDeflate$3$1.extensionName];perMessageDeflate.decompress(data$2,this._fin,(err$1$1,buf)=>{if(err$1$1)return cb(err$1$1);if(buf.length){if(this._messageLength+=buf.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let error$22=this.createError(RangeError,`Max payload size exceeded`,!1,1009,`WS_ERR_UNSUPPORTED_MESSAGE_LENGTH`);cb(error$22);return}this._fragments.push(buf)}this.dataMessage(cb),this._state===0&&this.startLoop(cb)})}dataMessage(cb){if(!this._fin){this._state=0;return}let messageLength=this._messageLength,fragments=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let data$2;data$2=this._binaryType===`nodebuffer`?concat$1$1(fragments,messageLength):this._binaryType===`arraybuffer`?toArrayBuffer$5(concat$1$1(fragments,messageLength)):this._binaryType===`blob`?new Blob(fragments):fragments,this._allowSynchronousEvents?(this.emit(`message`,data$2,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit(`message`,data$2,!0),this._state=0,this.startLoop(cb)}))}else{let buf=concat$1$1(fragments,messageLength);if(!this._skipUTF8Validation&&!isValidUTF8$1(buf)){let error$22=this.createError(Error,`invalid UTF-8 sequence`,!0,1007,`WS_ERR_INVALID_UTF8`);cb(error$22);return}this._state===5||this._allowSynchronousEvents?(this.emit(`message`,buf,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit(`message`,buf,!1),this._state=0,this.startLoop(cb)}))}}controlMessage(data$2,cb){if(this._opcode===8){if(data$2.length===0)this._loop=!1,this.emit(`conclude`,1005,EMPTY_BUFFER$2$1),this.end();else{let code$1=data$2.readUInt16BE(0);if(!isValidStatusCode$1$1(code$1)){let error$22=this.createError(RangeError,`invalid status code ${code$1}`,!0,1002,`WS_ERR_INVALID_CLOSE_CODE`);cb(error$22);return}let buf=new FastBuffer$4(data$2.buffer,data$2.byteOffset+2,data$2.length-2);if(!this._skipUTF8Validation&&!isValidUTF8$1(buf)){let error$22=this.createError(Error,`invalid UTF-8 sequence`,!0,1007,`WS_ERR_INVALID_UTF8`);cb(error$22);return}this._loop=!1,this.emit(`conclude`,code$1,buf),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?`ping`:`pong`,data$2),this._state=0):(this._state=6,setImmediate(()=>{this.emit(this._opcode===9?`ping`:`pong`,data$2),this._state=0,this.startLoop(cb)}))}createError(ErrorCtor,message,prefix,statusCode,errorCode){this._loop=!1,this._errored=!0;let err$1$1=new ErrorCtor(prefix?`Invalid WebSocket frame: ${message}`:message);return Error.captureStackTrace(err$1$1,this.createError),err$1$1.code=errorCode,err$1$1[kStatusCode$1$1]=statusCode,err$1$1}};module$1.exports=Receiver$2$1})}),require_sender$2=__commonJS$2({"../../node_modules/ws/lib/sender.js":((exports$1,module$1)=>{let{Duplex:Duplex$4$1}=__require$2(`stream`),{randomFillSync:randomFillSync$1}=__require$2(`crypto`),PerMessageDeflate$2$1=require_permessage_deflate$2(),{EMPTY_BUFFER:EMPTY_BUFFER$1$1,kWebSocket:kWebSocket$2$1,NOOP:NOOP$1$1}=require_constants$1$2(),{isBlob:isBlob$1$1,isValidStatusCode:isValidStatusCode$5}=require_validation$2(),{mask:applyMask$1,toBuffer:toBuffer$2$1}=require_buffer_util$1(),kByteLength$1=Symbol(`kByteLength`),maskBuffer$1=Buffer.alloc(4),RANDOM_POOL_SIZE$1=8*1024,randomPool$1,randomPoolPointer$1=RANDOM_POOL_SIZE$1,DEFAULT$1=0,DEFLATING$1=1,GET_BLOB_DATA$1=2;var Sender$2$1=class Sender$2$2{constructor(socket,extensions$1,generateMask$1){this._extensions=extensions$1||{},generateMask$1&&(this._generateMask=generateMask$1,this._maskBuffer=Buffer.alloc(4)),this._socket=socket,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=NOOP$1$1,this[kWebSocket$2$1]=void 0}static frame(data$2,options$1){let mask,merge$3=!1,offset=2,skipMasking=!1;options$1.mask&&(mask=options$1.maskBuffer||maskBuffer$1,options$1.generateMask?options$1.generateMask(mask):(randomPoolPointer$1===RANDOM_POOL_SIZE$1&&(randomPool$1===void 0&&(randomPool$1=Buffer.alloc(RANDOM_POOL_SIZE$1)),randomFillSync$1(randomPool$1,0,RANDOM_POOL_SIZE$1),randomPoolPointer$1=0),mask[0]=randomPool$1[randomPoolPointer$1++],mask[1]=randomPool$1[randomPoolPointer$1++],mask[2]=randomPool$1[randomPoolPointer$1++],mask[3]=randomPool$1[randomPoolPointer$1++]),skipMasking=(mask[0]|mask[1]|mask[2]|mask[3])===0,offset=6);let dataLength;typeof data$2==`string`?(!options$1.mask||skipMasking)&&options$1[kByteLength$1]!==void 0?dataLength=options$1[kByteLength$1]:(data$2=Buffer.from(data$2),dataLength=data$2.length):(dataLength=data$2.length,merge$3=options$1.mask&&options$1.readOnly&&!skipMasking);let payloadLength=dataLength;dataLength>=65536?(offset+=8,payloadLength=127):dataLength>125&&(offset+=2,payloadLength=126);let target=Buffer.allocUnsafe(merge$3?dataLength+offset:offset);return target[0]=options$1.fin?options$1.opcode|128:options$1.opcode,options$1.rsv1&&(target[0]|=64),target[1]=payloadLength,payloadLength===126?target.writeUInt16BE(dataLength,2):payloadLength===127&&(target[2]=target[3]=0,target.writeUIntBE(dataLength,4,6)),!options$1.mask||(target[1]|=128,target[offset-4]=mask[0],target[offset-3]=mask[1],target[offset-2]=mask[2],target[offset-1]=mask[3],skipMasking)?[target,data$2]:merge$3?(applyMask$1(data$2,mask,target,offset,dataLength),[target]):(applyMask$1(data$2,mask,data$2,0,dataLength),[target,data$2])}close(code$1,data$2,mask,cb){let buf;if(code$1===void 0)buf=EMPTY_BUFFER$1$1;else if(typeof code$1!=`number`||!isValidStatusCode$5(code$1))throw TypeError(`First argument must be a valid error code number`);else if(data$2===void 0||!data$2.length)buf=Buffer.allocUnsafe(2),buf.writeUInt16BE(code$1,0);else{let length=Buffer.byteLength(data$2);if(length>123)throw RangeError(`The message must not be greater than 123 bytes`);buf=Buffer.allocUnsafe(2+length),buf.writeUInt16BE(code$1,0),typeof data$2==`string`?buf.write(data$2,2):buf.set(data$2,2)}let options$1={[kByteLength$1]:buf.length,fin:!0,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state===0?this.sendFrame(Sender$2$2.frame(buf,options$1),cb):this.enqueue([this.dispatch,buf,!1,options$1,cb])}ping(data$2,mask,cb){let byteLength$1,readOnly;if(typeof data$2==`string`?(byteLength$1=Buffer.byteLength(data$2),readOnly=!1):isBlob$1$1(data$2)?(byteLength$1=data$2.size,readOnly=!1):(data$2=toBuffer$2$1(data$2),byteLength$1=data$2.length,readOnly=toBuffer$2$1.readOnly),byteLength$1>125)throw RangeError(`The data size must not be greater than 125 bytes`);let options$1={[kByteLength$1]:byteLength$1,fin:!0,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:9,readOnly,rsv1:!1};isBlob$1$1(data$2)?this._state===0?this.getBlobData(data$2,!1,options$1,cb):this.enqueue([this.getBlobData,data$2,!1,options$1,cb]):this._state===0?this.sendFrame(Sender$2$2.frame(data$2,options$1),cb):this.enqueue([this.dispatch,data$2,!1,options$1,cb])}pong(data$2,mask,cb){let byteLength$1,readOnly;if(typeof data$2==`string`?(byteLength$1=Buffer.byteLength(data$2),readOnly=!1):isBlob$1$1(data$2)?(byteLength$1=data$2.size,readOnly=!1):(data$2=toBuffer$2$1(data$2),byteLength$1=data$2.length,readOnly=toBuffer$2$1.readOnly),byteLength$1>125)throw RangeError(`The data size must not be greater than 125 bytes`);let options$1={[kByteLength$1]:byteLength$1,fin:!0,generateMask:this._generateMask,mask,maskBuffer:this._maskBuffer,opcode:10,readOnly,rsv1:!1};isBlob$1$1(data$2)?this._state===0?this.getBlobData(data$2,!1,options$1,cb):this.enqueue([this.getBlobData,data$2,!1,options$1,cb]):this._state===0?this.sendFrame(Sender$2$2.frame(data$2,options$1),cb):this.enqueue([this.dispatch,data$2,!1,options$1,cb])}send(data$2,options$1,cb){let perMessageDeflate=this._extensions[PerMessageDeflate$2$1.extensionName],opcode=options$1.binary?2:1,rsv1=options$1.compress,byteLength$1,readOnly;typeof data$2==`string`?(byteLength$1=Buffer.byteLength(data$2),readOnly=!1):isBlob$1$1(data$2)?(byteLength$1=data$2.size,readOnly=!1):(data$2=toBuffer$2$1(data$2),byteLength$1=data$2.length,readOnly=toBuffer$2$1.readOnly),this._firstFragment?(this._firstFragment=!1,rsv1&&perMessageDeflate&&perMessageDeflate.params[perMessageDeflate._isServer?`server_no_context_takeover`:`client_no_context_takeover`]&&(rsv1=byteLength$1>=perMessageDeflate._threshold),this._compress=rsv1):(rsv1=!1,opcode=0),options$1.fin&&(this._firstFragment=!0);let opts={[kByteLength$1]:byteLength$1,fin:options$1.fin,generateMask:this._generateMask,mask:options$1.mask,maskBuffer:this._maskBuffer,opcode,readOnly,rsv1};isBlob$1$1(data$2)?this._state===0?this.getBlobData(data$2,this._compress,opts,cb):this.enqueue([this.getBlobData,data$2,this._compress,opts,cb]):this._state===0?this.dispatch(data$2,this._compress,opts,cb):this.enqueue([this.dispatch,data$2,this._compress,opts,cb])}getBlobData(blob,compress,options$1,cb){this._bufferedBytes+=options$1[kByteLength$1],this._state=2,blob.arrayBuffer().then(arrayBuffer=>{if(this._socket.destroyed){let err$1$1=Error(`The socket was closed while the blob was being read`);process.nextTick(callCallbacks$1,this,err$1$1,cb);return}this._bufferedBytes-=options$1[kByteLength$1];let data$2=toBuffer$2$1(arrayBuffer);compress?this.dispatch(data$2,compress,options$1,cb):(this._state=0,this.sendFrame(Sender$2$2.frame(data$2,options$1),cb),this.dequeue())}).catch(err$1$1=>{process.nextTick(onError$3,this,err$1$1,cb)})}dispatch(data$2,compress,options$1,cb){if(!compress){this.sendFrame(Sender$2$2.frame(data$2,options$1),cb);return}let perMessageDeflate=this._extensions[PerMessageDeflate$2$1.extensionName];this._bufferedBytes+=options$1[kByteLength$1],this._state=1,perMessageDeflate.compress(data$2,options$1.fin,(_$6,buf)=>{if(this._socket.destroyed){let err$1$1=Error(`The socket was closed while data was being compressed`);callCallbacks$1(this,err$1$1,cb);return}this._bufferedBytes-=options$1[kByteLength$1],this._state=0,options$1.readOnly=!1,this.sendFrame(Sender$2$2.frame(buf,options$1),cb),this.dequeue()})}dequeue(){for(;this._state===0&&this._queue.length;){let params=this._queue.shift();this._bufferedBytes-=params[3][kByteLength$1],Reflect.apply(params[0],this,params.slice(1))}}enqueue(params){this._bufferedBytes+=params[3][kByteLength$1],this._queue.push(params)}sendFrame(list$2,cb){list$2.length===2?(this._socket.cork(),this._socket.write(list$2[0]),this._socket.write(list$2[1],cb),this._socket.uncork()):this._socket.write(list$2[0],cb)}};module$1.exports=Sender$2$1;function callCallbacks$1(sender,err$1$1,cb){typeof cb==`function`&&cb(err$1$1);for(let i$1$1=0;i$1$1<sender._queue.length;i$1$1++){let params=sender._queue[i$1$1],callback$1=params[params.length-1];typeof callback$1==`function`&&callback$1(err$1$1)}}function onError$3(sender,err$1$1,cb){callCallbacks$1(sender,err$1$1,cb),sender.onerror(err$1$1)}})}),require_event_target$1=__commonJS$2({"../../node_modules/ws/lib/event-target.js":((exports$1,module$1)=>{let{kForOnEventAttribute:kForOnEventAttribute$1$1,kListener:kListener$1$1}=require_constants$1$2(),kCode$1=Symbol(`kCode`),kData$1=Symbol(`kData`),kError$5=Symbol(`kError`),kMessage$1=Symbol(`kMessage`),kReason$1=Symbol(`kReason`),kTarget$1=Symbol(`kTarget`),kType$1=Symbol(`kType`),kWasClean$1=Symbol(`kWasClean`);var Event$2=class{constructor(type){this[kTarget$1]=null,this[kType$1]=type}get target(){return this[kTarget$1]}get type(){return this[kType$1]}};Object.defineProperty(Event$2.prototype,`target`,{enumerable:!0}),Object.defineProperty(Event$2.prototype,`type`,{enumerable:!0});var CloseEvent$4=class extends Event$2{constructor(type,options$1={}){super(type),this[kCode$1]=options$1.code===void 0?0:options$1.code,this[kReason$1]=options$1.reason===void 0?``:options$1.reason,this[kWasClean$1]=options$1.wasClean===void 0?!1:options$1.wasClean}get code(){return this[kCode$1]}get reason(){return this[kReason$1]}get wasClean(){return this[kWasClean$1]}};Object.defineProperty(CloseEvent$4.prototype,`code`,{enumerable:!0}),Object.defineProperty(CloseEvent$4.prototype,`reason`,{enumerable:!0}),Object.defineProperty(CloseEvent$4.prototype,`wasClean`,{enumerable:!0});var ErrorEvent$5=class extends Event$2{constructor(type,options$1={}){super(type),this[kError$5]=options$1.error===void 0?null:options$1.error,this[kMessage$1]=options$1.message===void 0?``:options$1.message}get error(){return this[kError$5]}get message(){return this[kMessage$1]}};Object.defineProperty(ErrorEvent$5.prototype,`error`,{enumerable:!0}),Object.defineProperty(ErrorEvent$5.prototype,`message`,{enumerable:!0});var MessageEvent$4=class extends Event$2{constructor(type,options$1={}){super(type),this[kData$1]=options$1.data===void 0?null:options$1.data}get data(){return this[kData$1]}};Object.defineProperty(MessageEvent$4.prototype,`data`,{enumerable:!0});let EventTarget$2={addEventListener(type,handler,options$1={}){for(let listener of this.listeners(type))if(!options$1[kForOnEventAttribute$1$1]&&listener[kListener$1$1]===handler&&!listener[kForOnEventAttribute$1$1])return;let wrapper;if(type===`message`)wrapper=function(data$2,isBinary$1){let event=new MessageEvent$4(`message`,{data:isBinary$1?data$2:data$2.toString()});event[kTarget$1]=this,callListener$1(handler,this,event)};else if(type===`close`)wrapper=function(code$1,message){let event=new CloseEvent$4(`close`,{code:code$1,reason:message.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});event[kTarget$1]=this,callListener$1(handler,this,event)};else if(type===`error`)wrapper=function(error$22){let event=new ErrorEvent$5(`error`,{error:error$22,message:error$22.message});event[kTarget$1]=this,callListener$1(handler,this,event)};else if(type===`open`)wrapper=function(){let event=new Event$2(`open`);event[kTarget$1]=this,callListener$1(handler,this,event)};else return;wrapper[kForOnEventAttribute$1$1]=!!options$1[kForOnEventAttribute$1$1],wrapper[kListener$1$1]=handler,options$1.once?this.once(type,wrapper):this.on(type,wrapper)},removeEventListener(type,handler){for(let listener of this.listeners(type))if(listener[kListener$1$1]===handler&&!listener[kForOnEventAttribute$1$1]){this.removeListener(type,listener);break}}};module$1.exports={CloseEvent:CloseEvent$4,ErrorEvent:ErrorEvent$5,Event:Event$2,EventTarget:EventTarget$2,MessageEvent:MessageEvent$4};function callListener$1(listener,thisArg,event){typeof listener==`object`&&listener.handleEvent?listener.handleEvent.call(listener,event):listener.call(thisArg,event)}})}),require_extension$1=__commonJS$2({"../../node_modules/ws/lib/extension.js":((exports$1,module$1)=>{let{tokenChars:tokenChars$1$1}=require_validation$2();function push$3(dest,name$5,elem){dest[name$5]===void 0?dest[name$5]=[elem]:dest[name$5].push(elem)}function parse$2$1(header){let offers=Object.create(null),params=Object.create(null),mustUnescape=!1,isEscaping=!1,inQuotes=!1,extensionName,paramName,start$1=-1,code$1=-1,end=-1,i$1$1=0;for(;i$1$1<header.length;i$1$1++)if(code$1=header.charCodeAt(i$1$1),extensionName===void 0)if(end===-1&&tokenChars$1$1[code$1]===1)start$1===-1&&(start$1=i$1$1);else if(i$1$1!==0&&(code$1===32||code$1===9))end===-1&&start$1!==-1&&(end=i$1$1);else if(code$1===59||code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$1$1}`);end===-1&&(end=i$1$1);let name$5=header.slice(start$1,end);code$1===44?(push$3(offers,name$5,params),params=Object.create(null)):extensionName=name$5,start$1=end=-1}else throw SyntaxError(`Unexpected character at index ${i$1$1}`);else if(paramName===void 0)if(end===-1&&tokenChars$1$1[code$1]===1)start$1===-1&&(start$1=i$1$1);else if(code$1===32||code$1===9)end===-1&&start$1!==-1&&(end=i$1$1);else if(code$1===59||code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$1$1}`);end===-1&&(end=i$1$1),push$3(params,header.slice(start$1,end),!0),code$1===44&&(push$3(offers,extensionName,params),params=Object.create(null),extensionName=void 0),start$1=end=-1}else if(code$1===61&&start$1!==-1&&end===-1)paramName=header.slice(start$1,i$1$1),start$1=end=-1;else throw SyntaxError(`Unexpected character at index ${i$1$1}`);else if(isEscaping){if(tokenChars$1$1[code$1]!==1)throw SyntaxError(`Unexpected character at index ${i$1$1}`);start$1===-1?start$1=i$1$1:mustUnescape||=!0,isEscaping=!1}else if(inQuotes)if(tokenChars$1$1[code$1]===1)start$1===-1&&(start$1=i$1$1);else if(code$1===34&&start$1!==-1)inQuotes=!1,end=i$1$1;else if(code$1===92)isEscaping=!0;else throw SyntaxError(`Unexpected character at index ${i$1$1}`);else if(code$1===34&&header.charCodeAt(i$1$1-1)===61)inQuotes=!0;else if(end===-1&&tokenChars$1$1[code$1]===1)start$1===-1&&(start$1=i$1$1);else if(start$1!==-1&&(code$1===32||code$1===9))end===-1&&(end=i$1$1);else if(code$1===59||code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$1$1}`);end===-1&&(end=i$1$1);let value=header.slice(start$1,end);mustUnescape&&=(value=value.replace(/\\/g,``),!1),push$3(params,paramName,value),code$1===44&&(push$3(offers,extensionName,params),params=Object.create(null),extensionName=void 0),paramName=void 0,start$1=end=-1}else throw SyntaxError(`Unexpected character at index ${i$1$1}`);if(start$1===-1||inQuotes||code$1===32||code$1===9)throw SyntaxError(`Unexpected end of input`);end===-1&&(end=i$1$1);let token$1=header.slice(start$1,end);return extensionName===void 0?push$3(offers,token$1,params):(paramName===void 0?push$3(params,token$1,!0):mustUnescape?push$3(params,paramName,token$1.replace(/\\/g,``)):push$3(params,paramName,token$1),push$3(offers,extensionName,params)),offers}function format$1$1(extensions$1){return Object.keys(extensions$1).map(extension$1=>{let configurations=extensions$1[extension$1];return Array.isArray(configurations)||(configurations=[configurations]),configurations.map(params=>[extension$1].concat(Object.keys(params).map(k$2=>{let values=params[k$2];return Array.isArray(values)||(values=[values]),values.map(v$2=>v$2===!0?k$2:`${k$2}=${v$2}`).join(`; `)})).join(`; `)).join(`, `)}).join(`, `)}module$1.exports={format:format$1$1,parse:parse$2$1}})}),require_websocket$2=__commonJS$2({"../../node_modules/ws/lib/websocket.js":((exports$1,module$1)=>{let EventEmitter$2$1=__require$2(`events`),https$10=__require$2(`https`),http$1$1=__require$2(`http`),net$9=__require$2(`net`),tls$7=__require$2(`tls`),{randomBytes:randomBytes$1,createHash:createHash$1$1}=__require$2(`crypto`),{Duplex:Duplex$3$1,Readable:Readable$3$1}=__require$2(`stream`),{URL:URL$1$2}=__require$2(`url`),PerMessageDeflate$1$1=require_permessage_deflate$2(),Receiver$1$1=require_receiver$2(),Sender$1$1=require_sender$2(),{isBlob:isBlob$7}=require_validation$2(),{BINARY_TYPES:BINARY_TYPES$3,EMPTY_BUFFER:EMPTY_BUFFER$4,GUID:GUID$1$1,kForOnEventAttribute:kForOnEventAttribute$2,kListener:kListener$3,kStatusCode:kStatusCode$3,kWebSocket:kWebSocket$1$1,NOOP:NOOP$4}=require_constants$1$2(),{EventTarget:{addEventListener:addEventListener$2,removeEventListener:removeEventListener$1}}=require_event_target$1(),{format:format$4,parse:parse$1$1}=require_extension$1(),{toBuffer:toBuffer$1$1}=require_buffer_util$1(),closeTimeout$1=30*1e3,kAborted$1=Symbol(`kAborted`),protocolVersions$1=[8,13],readyStates$1=[`CONNECTING`,`OPEN`,`CLOSING`,`CLOSED`],subprotocolRegex$1=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;var WebSocket$3$1=class WebSocket$3$2 extends EventEmitter$2$1{constructor(address,protocols,options$1){super(),this._binaryType=BINARY_TYPES$3[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=EMPTY_BUFFER$4,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol=``,this._readyState=WebSocket$3$2.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,address===null?(this._autoPong=options$1.autoPong,this._isServer=!0):(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,protocols===void 0?protocols=[]:Array.isArray(protocols)||(typeof protocols==`object`&&protocols?(options$1=protocols,protocols=[]):protocols=[protocols]),initAsClient$1(this,address,protocols,options$1))}get binaryType(){return this._binaryType}set binaryType(type){BINARY_TYPES$3.includes(type)&&(this._binaryType=type,this._receiver&&(this._receiver._binaryType=type))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(socket,head,options$1){let receiver=new Receiver$1$1({allowSynchronousEvents:options$1.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:options$1.maxPayload,skipUTF8Validation:options$1.skipUTF8Validation}),sender=new Sender$1$1(socket,this._extensions,options$1.generateMask);this._receiver=receiver,this._sender=sender,this._socket=socket,receiver[kWebSocket$1$1]=this,sender[kWebSocket$1$1]=this,socket[kWebSocket$1$1]=this,receiver.on(`conclude`,receiverOnConclude$1),receiver.on(`drain`,receiverOnDrain$1),receiver.on(`error`,receiverOnError$1),receiver.on(`message`,receiverOnMessage$1),receiver.on(`ping`,receiverOnPing$1),receiver.on(`pong`,receiverOnPong$1),sender.onerror=senderOnError$1,socket.setTimeout&&socket.setTimeout(0),socket.setNoDelay&&socket.setNoDelay(),head.length>0&&socket.unshift(head),socket.on(`close`,socketOnClose$1),socket.on(`data`,socketOnData$1),socket.on(`end`,socketOnEnd$1),socket.on(`error`,socketOnError$1$1),this._readyState=WebSocket$3$2.OPEN,this.emit(`open`)}emitClose(){if(!this._socket){this._readyState=WebSocket$3$2.CLOSED,this.emit(`close`,this._closeCode,this._closeMessage);return}this._extensions[PerMessageDeflate$1$1.extensionName]&&this._extensions[PerMessageDeflate$1$1.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=WebSocket$3$2.CLOSED,this.emit(`close`,this._closeCode,this._closeMessage)}close(code$1,data$2){if(this.readyState!==WebSocket$3$2.CLOSED){if(this.readyState===WebSocket$3$2.CONNECTING){let msg=`WebSocket was closed before the connection was established`;abortHandshake$1$1(this,this._req,`WebSocket was closed before the connection was established`);return}if(this.readyState===WebSocket$3$2.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=WebSocket$3$2.CLOSING,this._sender.close(code$1,data$2,!this._isServer,err$1$1=>{err$1$1||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),setCloseTimer$1(this)}}pause(){this.readyState===WebSocket$3$2.CONNECTING||this.readyState===WebSocket$3$2.CLOSED||(this._paused=!0,this._socket.pause())}ping(data$2,mask,cb){if(this.readyState===WebSocket$3$2.CONNECTING)throw Error(`WebSocket is not open: readyState 0 (CONNECTING)`);if(typeof data$2==`function`?(cb=data$2,data$2=mask=void 0):typeof mask==`function`&&(cb=mask,mask=void 0),typeof data$2==`number`&&(data$2=data$2.toString()),this.readyState!==WebSocket$3$2.OPEN){sendAfterClose$1(this,data$2,cb);return}mask===void 0&&(mask=!this._isServer),this._sender.ping(data$2||EMPTY_BUFFER$4,mask,cb)}pong(data$2,mask,cb){if(this.readyState===WebSocket$3$2.CONNECTING)throw Error(`WebSocket is not open: readyState 0 (CONNECTING)`);if(typeof data$2==`function`?(cb=data$2,data$2=mask=void 0):typeof mask==`function`&&(cb=mask,mask=void 0),typeof data$2==`number`&&(data$2=data$2.toString()),this.readyState!==WebSocket$3$2.OPEN){sendAfterClose$1(this,data$2,cb);return}mask===void 0&&(mask=!this._isServer),this._sender.pong(data$2||EMPTY_BUFFER$4,mask,cb)}resume(){this.readyState===WebSocket$3$2.CONNECTING||this.readyState===WebSocket$3$2.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(data$2,options$1,cb){if(this.readyState===WebSocket$3$2.CONNECTING)throw Error(`WebSocket is not open: readyState 0 (CONNECTING)`);if(typeof options$1==`function`&&(cb=options$1,options$1={}),typeof data$2==`number`&&(data$2=data$2.toString()),this.readyState!==WebSocket$3$2.OPEN){sendAfterClose$1(this,data$2,cb);return}let opts={binary:typeof data$2!=`string`,mask:!this._isServer,compress:!0,fin:!0,...options$1};this._extensions[PerMessageDeflate$1$1.extensionName]||(opts.compress=!1),this._sender.send(data$2||EMPTY_BUFFER$4,opts,cb)}terminate(){if(this.readyState!==WebSocket$3$2.CLOSED){if(this.readyState===WebSocket$3$2.CONNECTING){let msg=`WebSocket was closed before the connection was established`;abortHandshake$1$1(this,this._req,`WebSocket was closed before the connection was established`);return}this._socket&&(this._readyState=WebSocket$3$2.CLOSING,this._socket.destroy())}}};Object.defineProperty(WebSocket$3$1,`CONNECTING`,{enumerable:!0,value:readyStates$1.indexOf(`CONNECTING`)}),Object.defineProperty(WebSocket$3$1.prototype,`CONNECTING`,{enumerable:!0,value:readyStates$1.indexOf(`CONNECTING`)}),Object.defineProperty(WebSocket$3$1,`OPEN`,{enumerable:!0,value:readyStates$1.indexOf(`OPEN`)}),Object.defineProperty(WebSocket$3$1.prototype,`OPEN`,{enumerable:!0,value:readyStates$1.indexOf(`OPEN`)}),Object.defineProperty(WebSocket$3$1,`CLOSING`,{enumerable:!0,value:readyStates$1.indexOf(`CLOSING`)}),Object.defineProperty(WebSocket$3$1.prototype,`CLOSING`,{enumerable:!0,value:readyStates$1.indexOf(`CLOSING`)}),Object.defineProperty(WebSocket$3$1,`CLOSED`,{enumerable:!0,value:readyStates$1.indexOf(`CLOSED`)}),Object.defineProperty(WebSocket$3$1.prototype,`CLOSED`,{enumerable:!0,value:readyStates$1.indexOf(`CLOSED`)}),[`binaryType`,`bufferedAmount`,`extensions`,`isPaused`,`protocol`,`readyState`,`url`].forEach(property=>{Object.defineProperty(WebSocket$3$1.prototype,property,{enumerable:!0})}),[`open`,`error`,`close`,`message`].forEach(method=>{Object.defineProperty(WebSocket$3$1.prototype,`on${method}`,{enumerable:!0,get(){for(let listener of this.listeners(method))if(listener[kForOnEventAttribute$2])return listener[kListener$3];return null},set(handler){for(let listener of this.listeners(method))if(listener[kForOnEventAttribute$2]){this.removeListener(method,listener);break}typeof handler==`function`&&this.addEventListener(method,handler,{[kForOnEventAttribute$2]:!0})}})}),WebSocket$3$1.prototype.addEventListener=addEventListener$2,WebSocket$3$1.prototype.removeEventListener=removeEventListener$1,module$1.exports=WebSocket$3$1;function initAsClient$1(websocket,address,protocols,options$1){let opts={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:protocolVersions$1[1],maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...options$1,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:`GET`,host:void 0,path:void 0,port:void 0};if(websocket._autoPong=opts.autoPong,!protocolVersions$1.includes(opts.protocolVersion))throw RangeError(`Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions$1.join(`, `)})`);let parsedUrl;if(address instanceof URL$1$2)parsedUrl=address;else try{parsedUrl=new URL$1$2(address)}catch{throw SyntaxError(`Invalid URL: ${address}`)}parsedUrl.protocol===`http:`?parsedUrl.protocol=`ws:`:parsedUrl.protocol===`https:`&&(parsedUrl.protocol=`wss:`),websocket._url=parsedUrl.href;let isSecure=parsedUrl.protocol===`wss:`,isIpcUrl=parsedUrl.protocol===`ws+unix:`,invalidUrlMessage;if(parsedUrl.protocol!==`ws:`&&!isSecure&&!isIpcUrl?invalidUrlMessage=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:isIpcUrl&&!parsedUrl.pathname?invalidUrlMessage=`The URL's pathname is empty`:parsedUrl.hash&&(invalidUrlMessage=`The URL contains a fragment identifier`),invalidUrlMessage){let err$1$1=SyntaxError(invalidUrlMessage);if(websocket._redirects===0)throw err$1$1;emitErrorAndClose$1(websocket,err$1$1);return}let defaultPort$1=isSecure?443:80,key=randomBytes$1(16).toString(`base64`),request$3=isSecure?https$10.request:http$1$1.request,protocolSet=new Set,perMessageDeflate;if(opts.createConnection=opts.createConnection||(isSecure?tlsConnect$1:netConnect$1),opts.defaultPort=opts.defaultPort||defaultPort$1,opts.port=parsedUrl.port||defaultPort$1,opts.host=parsedUrl.hostname.startsWith(`[`)?parsedUrl.hostname.slice(1,-1):parsedUrl.hostname,opts.headers={...opts.headers,"Sec-WebSocket-Version":opts.protocolVersion,"Sec-WebSocket-Key":key,Connection:`Upgrade`,Upgrade:`websocket`},opts.path=parsedUrl.pathname+parsedUrl.search,opts.timeout=opts.handshakeTimeout,opts.perMessageDeflate&&(perMessageDeflate=new PerMessageDeflate$1$1(opts.perMessageDeflate===!0?{}:opts.perMessageDeflate,!1,opts.maxPayload),opts.headers[`Sec-WebSocket-Extensions`]=format$4({[PerMessageDeflate$1$1.extensionName]:perMessageDeflate.offer()})),protocols.length){for(let protocol of protocols){if(typeof protocol!=`string`||!subprotocolRegex$1.test(protocol)||protocolSet.has(protocol))throw SyntaxError(`An invalid or duplicated subprotocol was specified`);protocolSet.add(protocol)}opts.headers[`Sec-WebSocket-Protocol`]=protocols.join(`,`)}if(opts.origin&&(opts.protocolVersion<13?opts.headers[`Sec-WebSocket-Origin`]=opts.origin:opts.headers.Origin=opts.origin),(parsedUrl.username||parsedUrl.password)&&(opts.auth=`${parsedUrl.username}:${parsedUrl.password}`),isIpcUrl){let parts=opts.path.split(`:`);opts.socketPath=parts[0],opts.path=parts[1]}let req$1;if(opts.followRedirects){if(websocket._redirects===0){websocket._originalIpc=isIpcUrl,websocket._originalSecure=isSecure,websocket._originalHostOrSocketPath=isIpcUrl?opts.socketPath:parsedUrl.host;let headers$2=options$1&&options$1.headers;if(options$1={...options$1,headers:{}},headers$2)for(let[key$1,value]of Object.entries(headers$2))options$1.headers[key$1.toLowerCase()]=value}else if(websocket.listenerCount(`redirect`)===0){let isSameHost=isIpcUrl?websocket._originalIpc?opts.socketPath===websocket._originalHostOrSocketPath:!1:websocket._originalIpc?!1:parsedUrl.host===websocket._originalHostOrSocketPath;(!isSameHost||websocket._originalSecure&&!isSecure)&&(delete opts.headers.authorization,delete opts.headers.cookie,isSameHost||delete opts.headers.host,opts.auth=void 0)}opts.auth&&!options$1.headers.authorization&&(options$1.headers.authorization=`Basic `+Buffer.from(opts.auth).toString(`base64`)),req$1=websocket._req=request$3(opts),websocket._redirects&&websocket.emit(`redirect`,websocket.url,req$1)}else req$1=websocket._req=request$3(opts);opts.timeout&&req$1.on(`timeout`,()=>{abortHandshake$1$1(websocket,req$1,`Opening handshake has timed out`)}),req$1.on(`error`,err$1$1=>{req$1===null||req$1[kAborted$1]||(req$1=websocket._req=null,emitErrorAndClose$1(websocket,err$1$1))}),req$1.on(`response`,res=>{let location=res.headers.location,statusCode=res.statusCode;if(location&&opts.followRedirects&&statusCode>=300&&statusCode<400){if(++websocket._redirects>opts.maxRedirects){abortHandshake$1$1(websocket,req$1,`Maximum redirects exceeded`);return}req$1.abort();let addr;try{addr=new URL$1$2(location,address)}catch{let err$1$1=SyntaxError(`Invalid URL: ${location}`);emitErrorAndClose$1(websocket,err$1$1);return}initAsClient$1(websocket,addr,protocols,options$1)}else websocket.emit(`unexpected-response`,req$1,res)||abortHandshake$1$1(websocket,req$1,`Unexpected server response: ${res.statusCode}`)}),req$1.on(`upgrade`,(res,socket,head)=>{if(websocket.emit(`upgrade`,res),websocket.readyState!==WebSocket$3$1.CONNECTING)return;req$1=websocket._req=null;let upgrade$1=res.headers.upgrade;if(upgrade$1===void 0||upgrade$1.toLowerCase()!==`websocket`){abortHandshake$1$1(websocket,socket,`Invalid Upgrade header`);return}let digest=createHash$1$1(`sha1`).update(key+GUID$1$1).digest(`base64`);if(res.headers[`sec-websocket-accept`]!==digest){abortHandshake$1$1(websocket,socket,`Invalid Sec-WebSocket-Accept header`);return}let serverProt=res.headers[`sec-websocket-protocol`],protError;if(serverProt===void 0?protocolSet.size&&(protError=`Server sent no subprotocol`):protocolSet.size?protocolSet.has(serverProt)||(protError=`Server sent an invalid subprotocol`):protError=`Server sent a subprotocol but none was requested`,protError){abortHandshake$1$1(websocket,socket,protError);return}serverProt&&(websocket._protocol=serverProt);let secWebSocketExtensions=res.headers[`sec-websocket-extensions`];if(secWebSocketExtensions!==void 0){if(!perMessageDeflate){let message=`Server sent a Sec-WebSocket-Extensions header but no extension was requested`;abortHandshake$1$1(websocket,socket,`Server sent a Sec-WebSocket-Extensions header but no extension was requested`);return}let extensions$1;try{extensions$1=parse$1$1(secWebSocketExtensions)}catch{let message=`Invalid Sec-WebSocket-Extensions header`;abortHandshake$1$1(websocket,socket,`Invalid Sec-WebSocket-Extensions header`);return}let extensionNames=Object.keys(extensions$1);if(extensionNames.length!==1||extensionNames[0]!==PerMessageDeflate$1$1.extensionName){let message=`Server indicated an extension that was not requested`;abortHandshake$1$1(websocket,socket,`Server indicated an extension that was not requested`);return}try{perMessageDeflate.accept(extensions$1[PerMessageDeflate$1$1.extensionName])}catch{let message=`Invalid Sec-WebSocket-Extensions header`;abortHandshake$1$1(websocket,socket,`Invalid Sec-WebSocket-Extensions header`);return}websocket._extensions[PerMessageDeflate$1$1.extensionName]=perMessageDeflate}websocket.setSocket(socket,head,{allowSynchronousEvents:opts.allowSynchronousEvents,generateMask:opts.generateMask,maxPayload:opts.maxPayload,skipUTF8Validation:opts.skipUTF8Validation})}),opts.finishRequest?opts.finishRequest(req$1,websocket):req$1.end()}function emitErrorAndClose$1(websocket,err$1$1){websocket._readyState=WebSocket$3$1.CLOSING,websocket._errorEmitted=!0,websocket.emit(`error`,err$1$1),websocket.emitClose()}function netConnect$1(options$1){return options$1.path=options$1.socketPath,net$9.connect(options$1)}function tlsConnect$1(options$1){return options$1.path=void 0,!options$1.servername&&options$1.servername!==``&&(options$1.servername=net$9.isIP(options$1.host)?``:options$1.host),tls$7.connect(options$1)}function abortHandshake$1$1(websocket,stream$10,message){websocket._readyState=WebSocket$3$1.CLOSING;let err$1$1=Error(message);Error.captureStackTrace(err$1$1,abortHandshake$1$1),stream$10.setHeader?(stream$10[kAborted$1]=!0,stream$10.abort(),stream$10.socket&&!stream$10.socket.destroyed&&stream$10.socket.destroy(),process.nextTick(emitErrorAndClose$1,websocket,err$1$1)):(stream$10.destroy(err$1$1),stream$10.once(`error`,websocket.emit.bind(websocket,`error`)),stream$10.once(`close`,websocket.emitClose.bind(websocket)))}function sendAfterClose$1(websocket,data$2,cb){if(data$2){let length=isBlob$7(data$2)?data$2.size:toBuffer$1$1(data$2).length;websocket._socket?websocket._sender._bufferedBytes+=length:websocket._bufferedAmount+=length}if(cb){let err$1$1=Error(`WebSocket is not open: readyState ${websocket.readyState} (${readyStates$1[websocket.readyState]})`);process.nextTick(cb,err$1$1)}}function receiverOnConclude$1(code$1,reason){let websocket=this[kWebSocket$1$1];websocket._closeFrameReceived=!0,websocket._closeMessage=reason,websocket._closeCode=code$1,websocket._socket[kWebSocket$1$1]!==void 0&&(websocket._socket.removeListener(`data`,socketOnData$1),process.nextTick(resume$3,websocket._socket),code$1===1005?websocket.close():websocket.close(code$1,reason))}function receiverOnDrain$1(){let websocket=this[kWebSocket$1$1];websocket.isPaused||websocket._socket.resume()}function receiverOnError$1(err$1$1){let websocket=this[kWebSocket$1$1];websocket._socket[kWebSocket$1$1]!==void 0&&(websocket._socket.removeListener(`data`,socketOnData$1),process.nextTick(resume$3,websocket._socket),websocket.close(err$1$1[kStatusCode$3])),websocket._errorEmitted||(websocket._errorEmitted=!0,websocket.emit(`error`,err$1$1))}function receiverOnFinish$1(){this[kWebSocket$1$1].emitClose()}function receiverOnMessage$1(data$2,isBinary$1){this[kWebSocket$1$1].emit(`message`,data$2,isBinary$1)}function receiverOnPing$1(data$2){let websocket=this[kWebSocket$1$1];websocket._autoPong&&websocket.pong(data$2,!this._isServer,NOOP$4),websocket.emit(`ping`,data$2)}function receiverOnPong$1(data$2){this[kWebSocket$1$1].emit(`pong`,data$2)}function resume$3(stream$10){stream$10.resume()}function senderOnError$1(err$1$1){let websocket=this[kWebSocket$1$1];websocket.readyState!==WebSocket$3$1.CLOSED&&(websocket.readyState===WebSocket$3$1.OPEN&&(websocket._readyState=WebSocket$3$1.CLOSING,setCloseTimer$1(websocket)),this._socket.end(),websocket._errorEmitted||(websocket._errorEmitted=!0,websocket.emit(`error`,err$1$1)))}function setCloseTimer$1(websocket){websocket._closeTimer=setTimeout(websocket._socket.destroy.bind(websocket._socket),3e4)}function socketOnClose$1(){let websocket=this[kWebSocket$1$1];this.removeListener(`close`,socketOnClose$1),this.removeListener(`data`,socketOnData$1),this.removeListener(`end`,socketOnEnd$1),websocket._readyState=WebSocket$3$1.CLOSING;let chunk$1;!this._readableState.endEmitted&&!websocket._closeFrameReceived&&!websocket._receiver._writableState.errorEmitted&&(chunk$1=websocket._socket.read())!==null&&websocket._receiver.write(chunk$1),websocket._receiver.end(),this[kWebSocket$1$1]=void 0,clearTimeout(websocket._closeTimer),websocket._receiver._writableState.finished||websocket._receiver._writableState.errorEmitted?websocket.emitClose():(websocket._receiver.on(`error`,receiverOnFinish$1),websocket._receiver.on(`finish`,receiverOnFinish$1))}function socketOnData$1(chunk$1){this[kWebSocket$1$1]._receiver.write(chunk$1)||this.pause()}function socketOnEnd$1(){let websocket=this[kWebSocket$1$1];websocket._readyState=WebSocket$3$1.CLOSING,websocket._receiver.end(),this.end()}function socketOnError$1$1(){let websocket=this[kWebSocket$1$1];this.removeListener(`error`,socketOnError$1$1),this.on(`error`,NOOP$4),websocket&&(websocket._readyState=WebSocket$3$1.CLOSING,this.destroy())}})}),require_stream$1=__commonJS$2({"../../node_modules/ws/lib/stream.js":((exports$1,module$1)=>{require_websocket$2();let{Duplex:Duplex$2$1}=__require$2(`stream`);function emitClose$1$1(stream$10){stream$10.emit(`close`)}function duplexOnEnd$1(){!this.destroyed&&this._writableState.finished&&this.destroy()}function duplexOnError$1(err$1$1){this.removeListener(`error`,duplexOnError$1),this.destroy(),this.listenerCount(`error`)===0&&this.emit(`error`,err$1$1)}function createWebSocketStream$1$1(ws$2,options$1){let terminateOnDestroy=!0,duplex$1=new Duplex$2$1({...options$1,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return ws$2.on(`message`,function(msg,isBinary$1){let data$2=!isBinary$1&&duplex$1._readableState.objectMode?msg.toString():msg;duplex$1.push(data$2)||ws$2.pause()}),ws$2.once(`error`,function(err$1$1){duplex$1.destroyed||(terminateOnDestroy=!1,duplex$1.destroy(err$1$1))}),ws$2.once(`close`,function(){duplex$1.destroyed||duplex$1.push(null)}),duplex$1._destroy=function(err$1$1,callback$1){if(ws$2.readyState===ws$2.CLOSED){callback$1(err$1$1),process.nextTick(emitClose$1$1,duplex$1);return}let called=!1;ws$2.once(`error`,function(err$2){called=!0,callback$1(err$2)}),ws$2.once(`close`,function(){called||callback$1(err$1$1),process.nextTick(emitClose$1$1,duplex$1)}),terminateOnDestroy&&ws$2.terminate()},duplex$1._final=function(callback$1){if(ws$2.readyState===ws$2.CONNECTING){ws$2.once(`open`,function(){duplex$1._final(callback$1)});return}ws$2._socket!==null&&(ws$2._socket._writableState.finished?(callback$1(),duplex$1._readableState.endEmitted&&duplex$1.destroy()):(ws$2._socket.once(`finish`,function(){callback$1()}),ws$2.close()))},duplex$1._read=function(){ws$2.isPaused&&ws$2.resume()},duplex$1._write=function(chunk$1,encoding,callback$1){if(ws$2.readyState===ws$2.CONNECTING){ws$2.once(`open`,function(){duplex$1._write(chunk$1,encoding,callback$1)});return}ws$2.send(chunk$1,callback$1)},duplex$1.on(`end`,duplexOnEnd$1),duplex$1.on(`error`,duplexOnError$1),duplex$1}module$1.exports=createWebSocketStream$1$1})}),require_subprotocol$1=__commonJS$2({"../../node_modules/ws/lib/subprotocol.js":((exports$1,module$1)=>{let{tokenChars:tokenChars$3}=require_validation$2();function parse$22(header){let protocols=new Set,start$1=-1,end=-1,i$1$1=0;for(;i$1$1<header.length;i$1$1++){let code$1=header.charCodeAt(i$1$1);if(end===-1&&tokenChars$3[code$1]===1)start$1===-1&&(start$1=i$1$1);else if(i$1$1!==0&&(code$1===32||code$1===9))end===-1&&start$1!==-1&&(end=i$1$1);else if(code$1===44){if(start$1===-1)throw SyntaxError(`Unexpected character at index ${i$1$1}`);end===-1&&(end=i$1$1);let protocol$1=header.slice(start$1,end);if(protocols.has(protocol$1))throw SyntaxError(`The "${protocol$1}" subprotocol is duplicated`);protocols.add(protocol$1),start$1=end=-1}else throw SyntaxError(`Unexpected character at index ${i$1$1}`)}if(start$1===-1||end!==-1)throw SyntaxError(`Unexpected end of input`);let protocol=header.slice(start$1,i$1$1);if(protocols.has(protocol))throw SyntaxError(`The "${protocol}" subprotocol is duplicated`);return protocols.add(protocol),protocols}module$1.exports={parse:parse$22}})}),require_websocket_server$1=__commonJS$2({"../../node_modules/ws/lib/websocket-server.js":((exports$1,module$1)=>{let EventEmitter$1$1=__require$2(`events`),http$16=__require$2(`http`),{Duplex:Duplex$1$1}=__require$2(`stream`),{createHash:createHash$3}=__require$2(`crypto`),extension$1=require_extension$1(),PerMessageDeflate$7=require_permessage_deflate$2(),subprotocol$1=require_subprotocol$1(),WebSocket$2$1=require_websocket$2(),{GUID:GUID$2,kWebSocket:kWebSocket$4}=require_constants$1$2(),keyRegex$1=/^[+/0-9A-Za-z]{22}==$/,RUNNING$1=0,CLOSING$1=1,CLOSED$3=2;var WebSocketServer$1$1=class extends EventEmitter$1$1{constructor(options$1,callback$1){if(super(),options$1={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:WebSocket$2$1,...options$1},options$1.port==null&&!options$1.server&&!options$1.noServer||options$1.port!=null&&(options$1.server||options$1.noServer)||options$1.server&&options$1.noServer)throw TypeError(`One and only one of the "port", "server", or "noServer" options must be specified`);if(options$1.port==null?options$1.server&&(this._server=options$1.server):(this._server=http$16.createServer((req$1,res)=>{let body=http$16.STATUS_CODES[426];res.writeHead(426,{"Content-Length":body.length,"Content-Type":`text/plain`}),res.end(body)}),this._server.listen(options$1.port,options$1.host,options$1.backlog,callback$1)),this._server){let emitConnection=this.emit.bind(this,`connection`);this._removeListeners=addListeners$1(this._server,{listening:this.emit.bind(this,`listening`),error:this.emit.bind(this,`error`),upgrade:(req$1,socket,head)=>{this.handleUpgrade(req$1,socket,head,emitConnection)}})}options$1.perMessageDeflate===!0&&(options$1.perMessageDeflate={}),options$1.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=options$1,this._state=0}address(){if(this.options.noServer)throw Error(`The server is operating in "noServer" mode`);return this._server?this._server.address():null}close(cb){if(this._state===2){cb&&this.once(`close`,()=>{cb(Error(`The server is not running`))}),process.nextTick(emitClose$2,this);return}if(cb&&this.once(`close`,cb),this._state!==1)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(emitClose$2,this);else{let server=this._server;this._removeListeners(),this._removeListeners=this._server=null,server.close(()=>{emitClose$2(this)})}}shouldHandle(req$1){if(this.options.path){let index=req$1.url.indexOf(`?`),pathname=index===-1?req$1.url:req$1.url.slice(0,index);if(pathname!==this.options.path)return!1}return!0}handleUpgrade(req$1,socket,head,cb){socket.on(`error`,socketOnError$2);let key=req$1.headers[`sec-websocket-key`],upgrade$1=req$1.headers.upgrade,version$4=+req$1.headers[`sec-websocket-version`];if(req$1.method!==`GET`){let message=`Invalid HTTP method`;abortHandshakeOrEmitwsClientError$1(this,req$1,socket,405,`Invalid HTTP method`);return}if(upgrade$1===void 0||upgrade$1.toLowerCase()!==`websocket`){let message=`Invalid Upgrade header`;abortHandshakeOrEmitwsClientError$1(this,req$1,socket,400,`Invalid Upgrade header`);return}if(key===void 0||!keyRegex$1.test(key)){let message=`Missing or invalid Sec-WebSocket-Key header`;abortHandshakeOrEmitwsClientError$1(this,req$1,socket,400,`Missing or invalid Sec-WebSocket-Key header`);return}if(version$4!==13&&version$4!==8){let message=`Missing or invalid Sec-WebSocket-Version header`;abortHandshakeOrEmitwsClientError$1(this,req$1,socket,400,`Missing or invalid Sec-WebSocket-Version header`,{"Sec-WebSocket-Version":`13, 8`});return}if(!this.shouldHandle(req$1)){abortHandshake$2(socket,400);return}let secWebSocketProtocol=req$1.headers[`sec-websocket-protocol`],protocols=new Set;if(secWebSocketProtocol!==void 0)try{protocols=subprotocol$1.parse(secWebSocketProtocol)}catch{let message=`Invalid Sec-WebSocket-Protocol header`;abortHandshakeOrEmitwsClientError$1(this,req$1,socket,400,`Invalid Sec-WebSocket-Protocol header`);return}let secWebSocketExtensions=req$1.headers[`sec-websocket-extensions`],extensions$1={};if(this.options.perMessageDeflate&&secWebSocketExtensions!==void 0){let perMessageDeflate=new PerMessageDeflate$7(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let offers=extension$1.parse(secWebSocketExtensions);offers[PerMessageDeflate$7.extensionName]&&(perMessageDeflate.accept(offers[PerMessageDeflate$7.extensionName]),extensions$1[PerMessageDeflate$7.extensionName]=perMessageDeflate)}catch{let message=`Invalid or unacceptable Sec-WebSocket-Extensions header`;abortHandshakeOrEmitwsClientError$1(this,req$1,socket,400,`Invalid or unacceptable Sec-WebSocket-Extensions header`);return}}if(this.options.verifyClient){let info$1={origin:req$1.headers[`${version$4===8?`sec-websocket-origin`:`origin`}`],secure:!!(req$1.socket.authorized||req$1.socket.encrypted),req:req$1};if(this.options.verifyClient.length===2){this.options.verifyClient(info$1,(verified,code$1,message,headers$2)=>{if(!verified)return abortHandshake$2(socket,code$1||401,message,headers$2);this.completeUpgrade(extensions$1,key,protocols,req$1,socket,head,cb)});return}if(!this.options.verifyClient(info$1))return abortHandshake$2(socket,401)}this.completeUpgrade(extensions$1,key,protocols,req$1,socket,head,cb)}completeUpgrade(extensions$1,key,protocols,req$1,socket,head,cb){if(!socket.readable||!socket.writable)return socket.destroy();if(socket[kWebSocket$4])throw Error(`server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration`);if(this._state>0)return abortHandshake$2(socket,503);let digest=createHash$3(`sha1`).update(key+GUID$2).digest(`base64`),headers$2=[`HTTP/1.1 101 Switching Protocols`,`Upgrade: websocket`,`Connection: Upgrade`,`Sec-WebSocket-Accept: ${digest}`],ws$2=new this.options.WebSocket(null,void 0,this.options);if(protocols.size){let protocol=this.options.handleProtocols?this.options.handleProtocols(protocols,req$1):protocols.values().next().value;protocol&&(headers$2.push(`Sec-WebSocket-Protocol: ${protocol}`),ws$2._protocol=protocol)}if(extensions$1[PerMessageDeflate$7.extensionName]){let params=extensions$1[PerMessageDeflate$7.extensionName].params,value=extension$1.format({[PerMessageDeflate$7.extensionName]:[params]});headers$2.push(`Sec-WebSocket-Extensions: ${value}`),ws$2._extensions=extensions$1}this.emit(`headers`,headers$2,req$1),socket.write(headers$2.concat(`\r
37
- `).join(`\r
38
- `)),socket.removeListener(`error`,socketOnError$2),ws$2.setSocket(socket,head,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(ws$2),ws$2.on(`close`,()=>{this.clients.delete(ws$2),this._shouldEmitClose&&!this.clients.size&&process.nextTick(emitClose$2,this)})),cb(ws$2,req$1)}};module$1.exports=WebSocketServer$1$1;function addListeners$1(server,map$2){for(let event of Object.keys(map$2))server.on(event,map$2[event]);return function(){for(let event of Object.keys(map$2))server.removeListener(event,map$2[event])}}function emitClose$2(server){server._state=2,server.emit(`close`)}function socketOnError$2(){this.destroy()}function abortHandshake$2(socket,code$1,message,headers$2){message||=http$16.STATUS_CODES[code$1],headers$2={Connection:`close`,"Content-Type":`text/html`,"Content-Length":Buffer.byteLength(message),...headers$2},socket.once(`finish`,socket.destroy),socket.end(`HTTP/1.1 ${code$1} ${http$16.STATUS_CODES[code$1]}\r\n`+Object.keys(headers$2).map(h$1$1=>`${h$1$1}: ${headers$2[h$1$1]}`).join(`\r
39
- `)+`\r
40
- \r
41
- `+message)}function abortHandshakeOrEmitwsClientError$1(server,req$1,socket,code$1,message,headers$2){if(server.listenerCount(`wsClientError`)){let err$1$1=Error(message);Error.captureStackTrace(err$1$1,abortHandshakeOrEmitwsClientError$1),server.emit(`wsClientError`,err$1$1,socket,req$1)}else abortHandshake$2(socket,code$1,message,headers$2)}})});require_stream$1(),require_receiver$2(),require_sender$2();var import_websocket$1=__toESM$1(require_websocket$2(),1);require_websocket_server$1();var require_fixed_size$1=__commonJS$2({"../../node_modules/fast-fifo/fixed-size.js":((exports$1,module$1)=>{module$1.exports=class{constructor(hwm){if(!(hwm>0)||hwm-1&hwm)throw Error(`Max size for a FixedFIFO should be a power of two`);this.buffer=Array(hwm),this.mask=hwm-1,this.top=0,this.btm=0,this.next=null}clear(){this.top=this.btm=0,this.next=null,this.buffer.fill(void 0)}push(data$2){return this.buffer[this.top]===void 0?(this.buffer[this.top]=data$2,this.top=this.top+1&this.mask,!0):!1}shift(){let last$1=this.buffer[this.btm];if(last$1!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,last$1}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}})}),require_fast_fifo$1=__commonJS$2({"../../node_modules/fast-fifo/index.js":((exports$1,module$1)=>{let FixedFIFO=require_fixed_size$1();module$1.exports=class{constructor(hwm){this.hwm=hwm||16,this.head=new FixedFIFO(this.hwm),this.tail=this.head,this.length=0}clear(){this.head=this.tail,this.head.clear(),this.length=0}push(val){if(this.length++,!this.head.push(val)){let prev=this.head;this.head=prev.next=new FixedFIFO(2*this.head.buffer.length),this.head.push(val)}}shift(){this.length!==0&&this.length--;let val=this.tail.shift();if(val===void 0&&this.tail.next){let next=this.tail.next;return this.tail.next=null,this.tail=next,this.tail.shift()}return val}peek(){let val=this.tail.peek();return val===void 0&&this.tail.next?this.tail.next.peek():val}isEmpty(){return this.length===0}}})}),require_b4a$1=__commonJS$2({"../../node_modules/b4a/index.js":((exports$1,module$1)=>{function isBuffer$3(value){return Buffer.isBuffer(value)||value instanceof Uint8Array}function isEncoding(encoding){return Buffer.isEncoding(encoding)}function alloc(size,fill$1$1,encoding){return Buffer.alloc(size,fill$1$1,encoding)}function allocUnsafe(size){return Buffer.allocUnsafe(size)}function allocUnsafeSlow(size){return Buffer.allocUnsafeSlow(size)}function byteLength$1(string,encoding){return Buffer.byteLength(string,encoding)}function compare$2(a$4,b$4){return Buffer.compare(a$4,b$4)}function concat$40(buffers,totalLength){return Buffer.concat(buffers,totalLength)}function copy$3(source$39,target,targetStart,start$1,end){return toBuffer$6(source$39).copy(target,targetStart,start$1,end)}function equals(a$4,b$4){return toBuffer$6(a$4).equals(b$4)}function fill$2(buffer$2,value,offset,end,encoding){return toBuffer$6(buffer$2).fill(value,offset,end,encoding)}function from(value,encodingOrOffset,length){return Buffer.from(value,encodingOrOffset,length)}function includes(buffer$2,value,byteOffset,encoding){return toBuffer$6(buffer$2).includes(value,byteOffset,encoding)}function indexOf$1(buffer$2,value,byfeOffset,encoding){return toBuffer$6(buffer$2).indexOf(value,byfeOffset,encoding)}function lastIndexOf(buffer$2,value,byteOffset,encoding){return toBuffer$6(buffer$2).lastIndexOf(value,byteOffset,encoding)}function swap16(buffer$2){return toBuffer$6(buffer$2).swap16()}function swap32(buffer$2){return toBuffer$6(buffer$2).swap32()}function swap64(buffer$2){return toBuffer$6(buffer$2).swap64()}function toBuffer$6(buffer$2){return Buffer.isBuffer(buffer$2)?buffer$2:Buffer.from(buffer$2.buffer,buffer$2.byteOffset,buffer$2.byteLength)}function toString$5(buffer$2,encoding,start$1,end){return toBuffer$6(buffer$2).toString(encoding,start$1,end)}function write$1(buffer$2,string,offset,length,encoding){return toBuffer$6(buffer$2).write(string,offset,length,encoding)}function writeDoubleLE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeDoubleLE(value,offset)}function writeFloatLE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeFloatLE(value,offset)}function writeUInt32LE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeUInt32LE(value,offset)}function writeInt32LE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeInt32LE(value,offset)}function readDoubleLE(buffer$2,offset){return toBuffer$6(buffer$2).readDoubleLE(offset)}function readFloatLE(buffer$2,offset){return toBuffer$6(buffer$2).readFloatLE(offset)}function readUInt32LE(buffer$2,offset){return toBuffer$6(buffer$2).readUInt32LE(offset)}function readInt32LE(buffer$2,offset){return toBuffer$6(buffer$2).readInt32LE(offset)}function writeDoubleBE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeDoubleBE(value,offset)}function writeFloatBE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeFloatBE(value,offset)}function writeUInt32BE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeUInt32BE(value,offset)}function writeInt32BE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeInt32BE(value,offset)}function readDoubleBE(buffer$2,offset){return toBuffer$6(buffer$2).readDoubleBE(offset)}function readFloatBE(buffer$2,offset){return toBuffer$6(buffer$2).readFloatBE(offset)}function readUInt32BE(buffer$2,offset){return toBuffer$6(buffer$2).readUInt32BE(offset)}function readInt32BE(buffer$2,offset){return toBuffer$6(buffer$2).readInt32BE(offset)}module$1.exports={isBuffer:isBuffer$3,isEncoding,alloc,allocUnsafe,allocUnsafeSlow,byteLength:byteLength$1,compare:compare$2,concat:concat$40,copy:copy$3,equals,fill:fill$2,from,includes,indexOf:indexOf$1,lastIndexOf,swap16,swap32,swap64,toBuffer:toBuffer$6,toString:toString$5,write:write$1,writeDoubleLE,writeFloatLE,writeUInt32LE,writeInt32LE,readDoubleLE,readFloatLE,readUInt32LE,readInt32LE,writeDoubleBE,writeFloatBE,writeUInt32BE,writeInt32BE,readDoubleBE,readFloatBE,readUInt32BE,readInt32BE}})}),require_pass_through_decoder$1=__commonJS$2({"../../node_modules/text-decoder/lib/pass-through-decoder.js":((exports$1,module$1)=>{let b4a$4=require_b4a$1();module$1.exports=class{constructor(encoding){this.encoding=encoding}get remaining(){return 0}decode(tail$1){return b4a$4.toString(tail$1,this.encoding)}flush(){return``}}})}),require_utf8_decoder$1=__commonJS$2({"../../node_modules/text-decoder/lib/utf8-decoder.js":((exports$1,module$1)=>{let b4a$3=require_b4a$1();module$1.exports=class{constructor(){this.codePoint=0,this.bytesSeen=0,this.bytesNeeded=0,this.lowerBoundary=128,this.upperBoundary=191}get remaining(){return this.bytesSeen}decode(data$2){if(this.bytesNeeded===0){let isBoundary=!0;for(let i$1$1=Math.max(0,data$2.byteLength-4),n$2=data$2.byteLength;i$1$1<n$2&&isBoundary;i$1$1++)isBoundary=data$2[i$1$1]<=127;if(isBoundary)return b4a$3.toString(data$2,`utf8`)}let result=``;for(let i$1$1=0,n$2=data$2.byteLength;i$1$1<n$2;i$1$1++){let byte$1=data$2[i$1$1];if(this.bytesNeeded===0){byte$1<=127?result+=String.fromCharCode(byte$1):(this.bytesSeen=1,byte$1>=194&&byte$1<=223?(this.bytesNeeded=2,this.codePoint=byte$1&31):byte$1>=224&&byte$1<=239?(byte$1===224?this.lowerBoundary=160:byte$1===237&&(this.upperBoundary=159),this.bytesNeeded=3,this.codePoint=byte$1&15):byte$1>=240&&byte$1<=244?(byte$1===240&&(this.lowerBoundary=144),byte$1===244&&(this.upperBoundary=143),this.bytesNeeded=4,this.codePoint=byte$1&7):result+=`�`);continue}if(byte$1<this.lowerBoundary||byte$1>this.upperBoundary){this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,result+=`�`;continue}this.lowerBoundary=128,this.upperBoundary=191,this.codePoint=this.codePoint<<6|byte$1&63,this.bytesSeen++,this.bytesSeen===this.bytesNeeded&&(result+=String.fromCodePoint(this.codePoint),this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0)}return result}flush(){let result=this.bytesNeeded>0?`�`:``;return this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,result}}})}),require_text_decoder$1=__commonJS$2({"../../node_modules/text-decoder/index.js":((exports$1,module$1)=>{let PassThroughDecoder=require_pass_through_decoder$1(),UTF8Decoder=require_utf8_decoder$1();module$1.exports=class{constructor(encoding=`utf8`){switch(this.encoding=normalizeEncoding(encoding),this.encoding){case`utf8`:this.decoder=new UTF8Decoder;break;case`utf16le`:case`base64`:throw Error(`Unsupported encoding: `+this.encoding);default:this.decoder=new PassThroughDecoder(this.encoding)}}get remaining(){return this.decoder.remaining}push(data$2){return typeof data$2==`string`?data$2:this.decoder.decode(data$2)}write(data$2){return this.push(data$2)}end(data$2){let result=``;return data$2&&(result=this.push(data$2)),result+=this.decoder.flush(),result}};function normalizeEncoding(encoding){switch(encoding=encoding.toLowerCase(),encoding){case`utf8`:case`utf-8`:return`utf8`;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return`utf16le`;case`latin1`:case`binary`:return`latin1`;case`base64`:case`ascii`:case`hex`:return encoding;default:throw Error(`Unknown encoding: `+encoding)}}})}),require_streamx$1=__commonJS$2({"../../node_modules/streamx/index.js":((exports$1,module$1)=>{let{EventEmitter:EventEmitter$14}=__require$2(`events`),STREAM_DESTROYED=Error(`Stream was destroyed`),PREMATURE_CLOSE=Error(`Premature close`),FIFO$1=require_fast_fifo$1(),TextDecoder$1$1=require_text_decoder$1(),qmt=typeof queueMicrotask>`u`?fn=>global.process.nextTick(fn):queueMicrotask,MAX=(1<<29)-1,OPENING=1,PREDESTROYING=2,DESTROYING=4,DESTROYED$1=8,NOT_OPENING=MAX^1,NOT_PREDESTROYING=MAX^2,READ_ACTIVE=16,READ_UPDATING=32,READ_PRIMARY=64,READ_QUEUED=128,READ_RESUMED=256,READ_PIPE_DRAINED=512,READ_ENDING=1024,READ_EMIT_DATA=2048,READ_EMIT_READABLE=4096,READ_EMITTED_READABLE=8192,READ_DONE=16384,READ_NEXT_TICK=32768,READ_NEEDS_PUSH=65536,READ_READ_AHEAD=131072,READ_FLOWING=768,READ_ACTIVE_AND_NEEDS_PUSH=16|READ_NEEDS_PUSH,READ_PRIMARY_AND_ACTIVE=80,READ_EMIT_READABLE_AND_QUEUED=READ_EMIT_READABLE|128,READ_RESUMED_READ_AHEAD=256|READ_READ_AHEAD,READ_NOT_ACTIVE=MAX^16,READ_NON_PRIMARY=MAX^64,READ_NON_PRIMARY_AND_PUSHED=MAX^(64|READ_NEEDS_PUSH),READ_PUSHED=MAX^READ_NEEDS_PUSH,READ_PAUSED=MAX^256,READ_NOT_QUEUED=MAX^(128|READ_EMITTED_READABLE),READ_NOT_ENDING=MAX^READ_ENDING,READ_PIPE_NOT_DRAINED=MAX^768,READ_NOT_NEXT_TICK=MAX^READ_NEXT_TICK,READ_NOT_UPDATING=MAX^32,READ_NO_READ_AHEAD=MAX^READ_READ_AHEAD,READ_PAUSED_NO_READ_AHEAD=MAX^READ_RESUMED_READ_AHEAD,WRITE_ACTIVE=1<<18,WRITE_UPDATING=2<<18,WRITE_PRIMARY=4<<18,WRITE_QUEUED=8<<18,WRITE_UNDRAINED=16<<18,WRITE_DONE=32<<18,WRITE_EMIT_DRAIN=64<<18,WRITE_NEXT_TICK=128<<18,WRITE_WRITING=256<<18,WRITE_FINISHING=512<<18,WRITE_CORKED=1024<<18,WRITE_NOT_ACTIVE=MAX^(WRITE_ACTIVE|WRITE_WRITING),WRITE_NON_PRIMARY=MAX^WRITE_PRIMARY,WRITE_NOT_FINISHING=MAX^(WRITE_ACTIVE|WRITE_FINISHING),WRITE_DRAINED=MAX^WRITE_UNDRAINED,WRITE_NOT_QUEUED=MAX^WRITE_QUEUED,WRITE_NOT_NEXT_TICK=MAX^WRITE_NEXT_TICK,WRITE_NOT_UPDATING=MAX^WRITE_UPDATING,WRITE_NOT_CORKED=MAX^WRITE_CORKED,ACTIVE$1=16|WRITE_ACTIVE,NOT_ACTIVE=MAX^ACTIVE$1,DONE=READ_DONE|WRITE_DONE,DESTROY_STATUS=14,OPEN_STATUS=15,AUTO_DESTROY=14|DONE,NON_PRIMARY=WRITE_NON_PRIMARY&536870847,ACTIVE_OR_TICKING=WRITE_NEXT_TICK|READ_NEXT_TICK,TICKING=ACTIVE_OR_TICKING&NOT_ACTIVE,IS_OPENING=33587215,READ_PRIMARY_STATUS=READ_ENDING|16399,READ_STATUS=READ_DONE|143,READ_ENDING_STATUS=READ_ENDING|143,READ_READABLE_STATUS=12431,SHOULD_NOT_READ=214047,READ_BACKPRESSURE_STATUS=READ_ENDING|16398,READ_UPDATE_SYNC_STATUS=32879,READ_NEXT_TICK_OR_OPENING=READ_NEXT_TICK|1,WRITE_PRIMARY_STATUS=WRITE_FINISHING|8388623,WRITE_QUEUED_AND_UNDRAINED=WRITE_QUEUED|WRITE_UNDRAINED,WRITE_QUEUED_AND_ACTIVE=WRITE_QUEUED|WRITE_ACTIVE,WRITE_DRAIN_STATUS=6553615,WRITE_STATUS=270794767,WRITE_PRIMARY_AND_ACTIVE=WRITE_PRIMARY|WRITE_ACTIVE,WRITE_ACTIVE_AND_WRITING=WRITE_ACTIVE|WRITE_WRITING,WRITE_FINISHING_STATUS=144965647,WRITE_BACKPRESSURE_STATUS=146800654,WRITE_UPDATE_SYNC_STATUS=35127311,WRITE_DROP_DATA=WRITE_DONE|134217742,asyncIterator=Symbol.asyncIterator||Symbol(`asyncIterator`);var WritableState=class{constructor(stream$10,{highWaterMark=16384,map:map$2=null,mapWritable:mapWritable$1,byteLength:byteLength$1,byteLengthWritable}={}){this.stream=stream$10,this.queue=new FIFO$1,this.highWaterMark=highWaterMark,this.buffered=0,this.error=null,this.pipeline=null,this.drains=null,this.byteLength=byteLengthWritable||byteLength$1||defaultByteLength,this.map=mapWritable$1||map$2,this.afterWrite=afterWrite.bind(this),this.afterUpdateNextTick=updateWriteNT.bind(this)}get ended(){return(this.stream._duplexState&WRITE_DONE)!==0}push(data$2){return this.stream._duplexState&142606350?!1:(this.map!==null&&(data$2=this.map(data$2)),this.buffered+=this.byteLength(data$2),this.queue.push(data$2),this.buffered<this.highWaterMark?(this.stream._duplexState|=WRITE_QUEUED,!0):(this.stream._duplexState|=6291456,!1))}shift(){let data$2=this.queue.shift();return this.buffered-=this.byteLength(data$2),this.buffered===0&&(this.stream._duplexState&=534773759),data$2}end(data$2){typeof data$2==`function`?this.stream.once(`finish`,data$2):data$2!=null&&this.push(data$2),this.stream._duplexState=(this.stream._duplexState|WRITE_FINISHING)&WRITE_NON_PRIMARY}autoBatch(data$2,cb){let buffer$2=[],stream$10=this.stream;for(buffer$2.push(data$2);(stream$10._duplexState&WRITE_STATUS)===2359296;)buffer$2.push(stream$10._writableState.shift());if(stream$10._duplexState&15)return cb(null);stream$10._writev(buffer$2,cb)}update(){let stream$10=this.stream;stream$10._duplexState|=WRITE_UPDATING;do{for(;(stream$10._duplexState&WRITE_STATUS)===WRITE_QUEUED;){let data$2=this.shift();stream$10._duplexState|=67371008,stream$10._write(data$2,this.afterWrite)}stream$10._duplexState&1310720||this.updateNonPrimary()}while(this.continueUpdate()===!0);stream$10._duplexState&=536346623}updateNonPrimary(){let stream$10=this.stream;if((stream$10._duplexState&144965647)===WRITE_FINISHING){stream$10._duplexState|=WRITE_ACTIVE,stream$10._final(afterFinal.bind(this));return}if((stream$10._duplexState&14)==4){(stream$10._duplexState&ACTIVE_OR_TICKING)===0&&(stream$10._duplexState|=ACTIVE$1,stream$10._destroy(afterDestroy.bind(this)));return}(stream$10._duplexState&IS_OPENING)===1&&(stream$10._duplexState=(stream$10._duplexState|ACTIVE$1)&NOT_OPENING,stream$10._open(afterOpen.bind(this)))}continueUpdate(){return(this.stream._duplexState&WRITE_NEXT_TICK)===0?!1:(this.stream._duplexState&=WRITE_NOT_NEXT_TICK,!0)}updateCallback(){(this.stream._duplexState&35127311)===WRITE_PRIMARY?this.update():this.updateNextTick()}updateNextTick(){(this.stream._duplexState&WRITE_NEXT_TICK)===0&&(this.stream._duplexState|=WRITE_NEXT_TICK,(this.stream._duplexState&WRITE_UPDATING)===0&&qmt(this.afterUpdateNextTick))}},ReadableState=class{constructor(stream$10,{highWaterMark=16384,map:map$2=null,mapReadable,byteLength:byteLength$1,byteLengthReadable}={}){this.stream=stream$10,this.queue=new FIFO$1,this.highWaterMark=highWaterMark===0?1:highWaterMark,this.buffered=0,this.readAhead=highWaterMark>0,this.error=null,this.pipeline=null,this.byteLength=byteLengthReadable||byteLength$1||defaultByteLength,this.map=mapReadable||map$2,this.pipeTo=null,this.afterRead=afterRead.bind(this),this.afterUpdateNextTick=updateReadNT.bind(this)}get ended(){return(this.stream._duplexState&READ_DONE)!==0}pipe(pipeTo,cb){if(this.pipeTo!==null)throw Error(`Can only pipe to one destination`);if(typeof cb!=`function`&&(cb=null),this.stream._duplexState|=512,this.pipeTo=pipeTo,this.pipeline=new Pipeline(this.stream,pipeTo,cb),cb&&this.stream.on(`error`,noop$2$1),isStreamx(pipeTo))pipeTo._writableState.pipeline=this.pipeline,cb&&pipeTo.on(`error`,noop$2$1),pipeTo.on(`finish`,this.pipeline.finished.bind(this.pipeline));else{let onerror=this.pipeline.done.bind(this.pipeline,pipeTo),onclose=this.pipeline.done.bind(this.pipeline,pipeTo,null);pipeTo.on(`error`,onerror),pipeTo.on(`close`,onclose),pipeTo.on(`finish`,this.pipeline.finished.bind(this.pipeline))}pipeTo.on(`drain`,afterDrain.bind(this)),this.stream.emit(`piping`,pipeTo),pipeTo.emit(`pipe`,this.stream)}push(data$2){let stream$10=this.stream;return data$2===null?(this.highWaterMark=0,stream$10._duplexState=(stream$10._duplexState|READ_ENDING)&536805311,!1):this.map!==null&&(data$2=this.map(data$2),data$2===null)?(stream$10._duplexState&=READ_PUSHED,this.buffered<this.highWaterMark):(this.buffered+=this.byteLength(data$2),this.queue.push(data$2),stream$10._duplexState=(stream$10._duplexState|128)&READ_PUSHED,this.buffered<this.highWaterMark)}shift(){let data$2=this.queue.shift();return this.buffered-=this.byteLength(data$2),this.buffered===0&&(this.stream._duplexState&=536862591),data$2}unshift(data$2){let pending=[this.map===null?data$2:this.map(data$2)];for(;this.buffered>0;)pending.push(this.shift());for(let i$1$1=0;i$1$1<pending.length-1;i$1$1++){let data$1$1=pending[i$1$1];this.buffered+=this.byteLength(data$1$1),this.queue.push(data$1$1)}this.push(pending[pending.length-1])}read(){let stream$10=this.stream;if((stream$10._duplexState&READ_STATUS)===128){let data$2=this.shift();return this.pipeTo!==null&&this.pipeTo.write(data$2)===!1&&(stream$10._duplexState&=READ_PIPE_NOT_DRAINED),(stream$10._duplexState&READ_EMIT_DATA)!==0&&stream$10.emit(`data`,data$2),data$2}return this.readAhead===!1&&(stream$10._duplexState|=READ_READ_AHEAD,this.updateNextTick()),null}drain(){let stream$10=this.stream;for(;(stream$10._duplexState&READ_STATUS)===128&&stream$10._duplexState&768;){let data$2=this.shift();this.pipeTo!==null&&this.pipeTo.write(data$2)===!1&&(stream$10._duplexState&=READ_PIPE_NOT_DRAINED),(stream$10._duplexState&READ_EMIT_DATA)!==0&&stream$10.emit(`data`,data$2)}}update(){let stream$10=this.stream;stream$10._duplexState|=32;do{for(this.drain();this.buffered<this.highWaterMark&&(stream$10._duplexState&214047)===READ_READ_AHEAD;)stream$10._duplexState|=65552,stream$10._read(this.afterRead),this.drain();(stream$10._duplexState&12431)==4224&&(stream$10._duplexState|=READ_EMITTED_READABLE,stream$10.emit(`readable`)),stream$10._duplexState&80||this.updateNonPrimary()}while(this.continueUpdate()===!0);stream$10._duplexState&=536870879}updateNonPrimary(){let stream$10=this.stream;if((stream$10._duplexState&1167)===READ_ENDING&&(stream$10._duplexState=(stream$10._duplexState|READ_DONE)&536869887,stream$10.emit(`end`),(stream$10._duplexState&AUTO_DESTROY)===DONE&&(stream$10._duplexState|=4),this.pipeTo!==null&&this.pipeTo.end()),(stream$10._duplexState&14)==4){(stream$10._duplexState&ACTIVE_OR_TICKING)===0&&(stream$10._duplexState|=ACTIVE$1,stream$10._destroy(afterDestroy.bind(this)));return}(stream$10._duplexState&IS_OPENING)===1&&(stream$10._duplexState=(stream$10._duplexState|ACTIVE$1)&NOT_OPENING,stream$10._open(afterOpen.bind(this)))}continueUpdate(){return(this.stream._duplexState&READ_NEXT_TICK)===0?!1:(this.stream._duplexState&=READ_NOT_NEXT_TICK,!0)}updateCallback(){(this.stream._duplexState&32879)==64?this.update():this.updateNextTick()}updateNextTickIfOpen(){this.stream._duplexState&32769||(this.stream._duplexState|=READ_NEXT_TICK,this.stream._duplexState&32||qmt(this.afterUpdateNextTick))}updateNextTick(){(this.stream._duplexState&READ_NEXT_TICK)===0&&(this.stream._duplexState|=READ_NEXT_TICK,this.stream._duplexState&32||qmt(this.afterUpdateNextTick))}},TransformState=class{constructor(stream$10){this.data=null,this.afterTransform=afterTransform.bind(stream$10),this.afterFinal=null}},Pipeline=class{constructor(src,dst,cb){this.from=src,this.to=dst,this.afterPipe=cb,this.error=null,this.pipeToFinished=!1}finished(){this.pipeToFinished=!0}done(stream$10,err$1$1){if(err$1$1&&(this.error=err$1$1),stream$10===this.to&&(this.to=null,this.from!==null)){((this.from._duplexState&READ_DONE)===0||!this.pipeToFinished)&&this.from.destroy(this.error||Error(`Writable stream closed prematurely`));return}if(stream$10===this.from&&(this.from=null,this.to!==null)){(stream$10._duplexState&READ_DONE)===0&&this.to.destroy(this.error||Error(`Readable stream closed before ending`));return}this.afterPipe!==null&&this.afterPipe(this.error),this.to=this.from=this.afterPipe=null}};function afterDrain(){this.stream._duplexState|=512,this.updateCallback()}function afterFinal(err$1$1){let stream$10=this.stream;err$1$1&&stream$10.destroy(err$1$1),stream$10._duplexState&14||(stream$10._duplexState|=WRITE_DONE,stream$10.emit(`finish`)),(stream$10._duplexState&AUTO_DESTROY)===DONE&&(stream$10._duplexState|=4),stream$10._duplexState&=402391039,(stream$10._duplexState&WRITE_UPDATING)===0?this.update():this.updateNextTick()}function afterDestroy(err$1$1){let stream$10=this.stream;!err$1$1&&this.error!==STREAM_DESTROYED&&(err$1$1=this.error),err$1$1&&stream$10.emit(`error`,err$1$1),stream$10._duplexState|=8,stream$10.emit(`close`);let rs=stream$10._readableState,ws$2=stream$10._writableState;if(rs!==null&&rs.pipeline!==null&&rs.pipeline.done(stream$10,err$1$1),ws$2!==null){for(;ws$2.drains!==null&&ws$2.drains.length>0;)ws$2.drains.shift().resolve(!1);ws$2.pipeline!==null&&ws$2.pipeline.done(stream$10,err$1$1)}}function afterWrite(err$1$1){let stream$10=this.stream;err$1$1&&stream$10.destroy(err$1$1),stream$10._duplexState&=469499903,this.drains!==null&&tickDrains(this.drains),(stream$10._duplexState&6553615)===WRITE_UNDRAINED&&(stream$10._duplexState&=532676607,(stream$10._duplexState&WRITE_EMIT_DRAIN)===WRITE_EMIT_DRAIN&&stream$10.emit(`drain`)),this.updateCallback()}function afterRead(err$1$1){err$1$1&&this.stream.destroy(err$1$1),this.stream._duplexState&=536870895,this.readAhead===!1&&!(this.stream._duplexState&256)&&(this.stream._duplexState&=READ_NO_READ_AHEAD),this.updateCallback()}function updateReadNT(){this.stream._duplexState&32||(this.stream._duplexState&=READ_NOT_NEXT_TICK,this.update())}function updateWriteNT(){(this.stream._duplexState&WRITE_UPDATING)===0&&(this.stream._duplexState&=WRITE_NOT_NEXT_TICK,this.update())}function tickDrains(drains){for(let i$1$1=0;i$1$1<drains.length;i$1$1++)--drains[i$1$1].writes===0&&(drains.shift().resolve(!0),i$1$1--)}function afterOpen(err$1$1){let stream$10=this.stream;err$1$1&&stream$10.destroy(err$1$1),stream$10._duplexState&4||(stream$10._duplexState&17423||(stream$10._duplexState|=64),stream$10._duplexState&142606351||(stream$10._duplexState|=WRITE_PRIMARY),stream$10.emit(`open`)),stream$10._duplexState&=NOT_ACTIVE,stream$10._writableState!==null&&stream$10._writableState.updateCallback(),stream$10._readableState!==null&&stream$10._readableState.updateCallback()}function afterTransform(err$1$1,data$2){data$2!=null&&this.push(data$2),this._writableState.afterWrite(err$1$1)}function newListener(name$5){this._readableState!==null&&(name$5===`data`&&(this._duplexState|=READ_EMIT_DATA|READ_RESUMED_READ_AHEAD,this._readableState.updateNextTick()),name$5===`readable`&&(this._duplexState|=READ_EMIT_READABLE,this._readableState.updateNextTick())),this._writableState!==null&&name$5===`drain`&&(this._duplexState|=WRITE_EMIT_DRAIN,this._writableState.updateNextTick())}var Stream$1$1=class extends EventEmitter$14{constructor(opts){super(),this._duplexState=0,this._readableState=null,this._writableState=null,opts&&(opts.open&&(this._open=opts.open),opts.destroy&&(this._destroy=opts.destroy),opts.predestroy&&(this._predestroy=opts.predestroy),opts.signal&&opts.signal.addEventListener(`abort`,abort$1.bind(this))),this.on(`newListener`,newListener)}_open(cb){cb(null)}_destroy(cb){cb(null)}_predestroy(){}get readable(){return this._readableState===null?void 0:!0}get writable(){return this._writableState===null?void 0:!0}get destroyed(){return(this._duplexState&8)!=0}get destroying(){return(this._duplexState&14)!=0}destroy(err$1$1){this._duplexState&14||(err$1$1||=STREAM_DESTROYED,this._duplexState=(this._duplexState|4)&535822271,this._readableState!==null&&(this._readableState.highWaterMark=0,this._readableState.error=err$1$1),this._writableState!==null&&(this._writableState.highWaterMark=0,this._writableState.error=err$1$1),this._duplexState|=2,this._predestroy(),this._duplexState&=536870909,this._readableState!==null&&this._readableState.updateNextTick(),this._writableState!==null&&this._writableState.updateNextTick())}},Readable$2$1=class Readable$2$2 extends Stream$1$1{constructor(opts){super(opts),this._duplexState|=WRITE_DONE|131073,this._readableState=new ReadableState(this,opts),opts&&(this._readableState.readAhead===!1&&(this._duplexState&=READ_NO_READ_AHEAD),opts.read&&(this._read=opts.read),opts.eagerOpen&&this._readableState.updateNextTick(),opts.encoding&&this.setEncoding(opts.encoding))}setEncoding(encoding){let dec=new TextDecoder$1$1(encoding),map$2=this._readableState.map||echo;return this._readableState.map=mapOrSkip,this;function mapOrSkip(data$2){let next=dec.push(data$2);return next===``&&(data$2.byteLength!==0||dec.remaining>0)?null:map$2(next)}}_read(cb){cb(null)}pipe(dest,cb){return this._readableState.updateNextTick(),this._readableState.pipe(dest,cb),dest}read(){return this._readableState.updateNextTick(),this._readableState.read()}push(data$2){return this._readableState.updateNextTickIfOpen(),this._readableState.push(data$2)}unshift(data$2){return this._readableState.updateNextTickIfOpen(),this._readableState.unshift(data$2)}resume(){return this._duplexState|=READ_RESUMED_READ_AHEAD,this._readableState.updateNextTick(),this}pause(){return this._duplexState&=this._readableState.readAhead===!1?536739583:536870655,this}static _fromAsyncIterator(ite,opts){let destroy$2,rs=new Readable$2$2({...opts,read(cb){ite.next().then(push$1$1).then(cb.bind(null,null)).catch(cb)},predestroy(){destroy$2=ite.return()},destroy(cb){if(!destroy$2)return cb(null);destroy$2.then(cb.bind(null,null)).catch(cb)}});return rs;function push$1$1(data$2){data$2.done?rs.push(null):rs.push(data$2.value)}}static from(data$2,opts){if(isReadStreamx(data$2))return data$2;if(data$2[asyncIterator])return this._fromAsyncIterator(data$2[asyncIterator](),opts);Array.isArray(data$2)||(data$2=data$2===void 0?[]:[data$2]);let i$1$1=0;return new Readable$2$2({...opts,read(cb){this.push(i$1$1===data$2.length?null:data$2[i$1$1++]),cb(null)}})}static isBackpressured(rs){return(rs._duplexState&17422)!=0||rs._readableState.buffered>=rs._readableState.highWaterMark}static isPaused(rs){return(rs._duplexState&256)==0}[asyncIterator](){let stream$10=this,error$22=null,promiseResolve=null,promiseReject=null;return this.on(`error`,err$1$1=>{error$22=err$1$1}),this.on(`readable`,onreadable),this.on(`close`,onclose),{[asyncIterator](){return this},next(){return new Promise(function(resolve$10,reject){promiseResolve=resolve$10,promiseReject=reject;let data$2=stream$10.read();data$2===null?stream$10._duplexState&8&&ondata(null):ondata(data$2)})},return(){return destroy$2(null)},throw(err$1$1){return destroy$2(err$1$1)}};function onreadable(){promiseResolve!==null&&ondata(stream$10.read())}function onclose(){promiseResolve!==null&&ondata(null)}function ondata(data$2){promiseReject!==null&&(error$22?promiseReject(error$22):data$2===null&&(stream$10._duplexState&READ_DONE)===0?promiseReject(STREAM_DESTROYED):promiseResolve({value:data$2,done:data$2===null}),promiseReject=promiseResolve=null)}function destroy$2(err$1$1){return stream$10.destroy(err$1$1),new Promise((resolve$10,reject)=>{if(stream$10._duplexState&8)return resolve$10({value:void 0,done:!0});stream$10.once(`close`,function(){err$1$1?reject(err$1$1):resolve$10({value:void 0,done:!0})})})}}},Writable$2$1=class extends Stream$1$1{constructor(opts){super(opts),this._duplexState|=1|READ_DONE,this._writableState=new WritableState(this,opts),opts&&(opts.writev&&(this._writev=opts.writev),opts.write&&(this._write=opts.write),opts.final&&(this._final=opts.final),opts.eagerOpen&&this._writableState.updateNextTick())}cork(){this._duplexState|=WRITE_CORKED}uncork(){this._duplexState&=WRITE_NOT_CORKED,this._writableState.updateNextTick()}_writev(batch,cb){cb(null)}_write(data$2,cb){this._writableState.autoBatch(data$2,cb)}_final(cb){cb(null)}static isBackpressured(ws$2){return(ws$2._duplexState&146800654)!=0}static drained(ws$2){if(ws$2.destroyed)return Promise.resolve(!1);let state=ws$2._writableState,pending=isWritev(ws$2)?Math.min(1,state.queue.length):state.queue.length,writes=pending+(ws$2._duplexState&WRITE_WRITING?1:0);return writes===0?Promise.resolve(!0):(state.drains===null&&(state.drains=[]),new Promise(resolve$10=>{state.drains.push({writes,resolve:resolve$10})}))}write(data$2){return this._writableState.updateNextTick(),this._writableState.push(data$2)}end(data$2){return this._writableState.updateNextTick(),this._writableState.end(data$2),this}},Duplex$6=class extends Readable$2$1{constructor(opts){super(opts),this._duplexState=1|this._duplexState&READ_READ_AHEAD,this._writableState=new WritableState(this,opts),opts&&(opts.writev&&(this._writev=opts.writev),opts.write&&(this._write=opts.write),opts.final&&(this._final=opts.final))}cork(){this._duplexState|=WRITE_CORKED}uncork(){this._duplexState&=WRITE_NOT_CORKED,this._writableState.updateNextTick()}_writev(batch,cb){cb(null)}_write(data$2,cb){this._writableState.autoBatch(data$2,cb)}_final(cb){cb(null)}write(data$2){return this._writableState.updateNextTick(),this._writableState.push(data$2)}end(data$2){return this._writableState.updateNextTick(),this._writableState.end(data$2),this}},Transform$6=class extends Duplex$6{constructor(opts){super(opts),this._transformState=new TransformState(this),opts&&(opts.transform&&(this._transform=opts.transform),opts.flush&&(this._flush=opts.flush))}_write(data$2,cb){this._readableState.buffered>=this._readableState.highWaterMark?this._transformState.data=data$2:this._transform(data$2,this._transformState.afterTransform)}_read(cb){if(this._transformState.data!==null){let data$2=this._transformState.data;this._transformState.data=null,cb(null),this._transform(data$2,this._transformState.afterTransform)}else cb(null)}destroy(err$1$1){super.destroy(err$1$1),this._transformState.data!==null&&(this._transformState.data=null,this._transformState.afterTransform())}_transform(data$2,cb){cb(null,data$2)}_flush(cb){cb(null)}_final(cb){this._transformState.afterFinal=cb,this._flush(transformAfterFlush.bind(this))}},PassThrough$6=class extends Transform$6{};function transformAfterFlush(err$1$1,data$2){let cb=this._transformState.afterFinal;if(err$1$1)return cb(err$1$1);data$2!=null&&this.push(data$2),this.push(null),cb(null)}function pipelinePromise(...streams){return new Promise((resolve$10,reject)=>pipeline$7(...streams,err$1$1=>{if(err$1$1)return reject(err$1$1);resolve$10()}))}function pipeline$7(stream$10,...streams){let all$2=Array.isArray(stream$10)?[...stream$10,...streams]:[stream$10,...streams],done=all$2.length&&typeof all$2[all$2.length-1]==`function`?all$2.pop():null;if(all$2.length<2)throw Error(`Pipeline requires at least 2 streams`);let src=all$2[0],dest=null,error$22=null;for(let i$1$1=1;i$1$1<all$2.length;i$1$1++)dest=all$2[i$1$1],isStreamx(src)?src.pipe(dest,onerror):(errorHandle(src,!0,i$1$1>1,onerror),src.pipe(dest)),src=dest;if(done){let fin=!1,autoDestroy=isStreamx(dest)||!!(dest._writableState&&dest._writableState.autoDestroy);dest.on(`error`,err$1$1=>{error$22===null&&(error$22=err$1$1)}),dest.on(`finish`,()=>{fin=!0,autoDestroy||done(error$22)}),autoDestroy&&dest.on(`close`,()=>done(error$22||(fin?null:PREMATURE_CLOSE)))}return dest;function errorHandle(s$1$1,rd,wr,onerror$1){s$1$1.on(`error`,onerror$1),s$1$1.on(`close`,onclose);function onclose(){if(rd&&s$1$1._readableState&&!s$1$1._readableState.ended||wr&&s$1$1._writableState&&!s$1$1._writableState.ended)return onerror$1(PREMATURE_CLOSE)}}function onerror(err$1$1){if(!(!err$1$1||error$22)){error$22=err$1$1;for(let s$1$1 of all$2)s$1$1.destroy(err$1$1)}}}function echo(s$1$1){return s$1$1}function isStream$5(stream$10){return!!stream$10._readableState||!!stream$10._writableState}function isStreamx(stream$10){return typeof stream$10._duplexState==`number`&&isStream$5(stream$10)}function isEnded(stream$10){return!!stream$10._readableState&&stream$10._readableState.ended}function isFinished(stream$10){return!!stream$10._writableState&&stream$10._writableState.ended}function getStreamError$2(stream$10,opts={}){let err$1$1=stream$10._readableState&&stream$10._readableState.error||stream$10._writableState&&stream$10._writableState.error;return!opts.all&&err$1$1===STREAM_DESTROYED?null:err$1$1}function isReadStreamx(stream$10){return isStreamx(stream$10)&&stream$10.readable}function isDisturbed$4(stream$10){return(stream$10._duplexState&1)!=1||(stream$10._duplexState&ACTIVE_OR_TICKING)!==0}function isTypedArray$1(data$2){return typeof data$2==`object`&&!!data$2&&typeof data$2.byteLength==`number`}function defaultByteLength(data$2){return isTypedArray$1(data$2)?data$2.byteLength:1024}function noop$2$1(){}function abort$1(){this.destroy(Error(`Stream aborted.`))}function isWritev(s$1$1){return s$1$1._writev!==Writable$2$1.prototype._writev&&s$1$1._writev!==Duplex$6.prototype._writev}module$1.exports={pipeline:pipeline$7,pipelinePromise,isStream:isStream$5,isStreamx,isEnded,isFinished,isDisturbed:isDisturbed$4,getStreamError:getStreamError$2,Stream:Stream$1$1,Writable:Writable$2$1,Readable:Readable$2$1,Duplex:Duplex$6,Transform:Transform$6,PassThrough:PassThrough$6}})}),require_headers$2=__commonJS$2({"../../node_modules/tar-stream/headers.js":(exports$1=>{let b4a$2=require_b4a$1(),ZEROS=`0000000000000000000`,SEVENS=`7777777777777777777`,ZERO_OFFSET=48,USTAR_MAGIC=b4a$2.from([117,115,116,97,114,0]),USTAR_VER=b4a$2.from([48,48]),GNU_MAGIC=b4a$2.from([117,115,116,97,114,32]),GNU_VER=b4a$2.from([32,0]),MASK=4095,MAGIC_OFFSET=257,VERSION_OFFSET=263;exports$1.decodeLongPath=function(buf,encoding){return decodeStr(buf,0,buf.length,encoding)},exports$1.encodePax=function(opts){let result=``;opts.name&&(result+=addLength(` path=`+opts.name+`
36
+ `,t$2)}reset(){this._core.reset()}loadAddon(e$2$1){this._addonManager.loadAddon(this,e$2$1)}_verifyIntegers(...e$2$1){for(let t$2 of e$2$1)if(t$2===1/0||isNaN(t$2)||t$2%1!=0)throw Error(`This API only accepts integers`)}}e$1$1.Terminal=l$2})();var r$3=exports$1;for(var n$2 in s$1$1)r$3[n$2]=s$1$1[n$2];s$1$1.__esModule&&Object.defineProperty(r$3,`__esModule`,{value:!0})})()})}),import_addon_serialize$1=__toESM$1(require_addon_serialize$1(),1),import_xterm_headless$2=__toESM$1(require_xterm_headless$2(),1),ProcessManager$1=class ProcessManager$2{static COLUMNS=80;static ROWS=24;static SCROLLBACK=128e3;globalEnv;processes=new Map;spawnListeners=[];nodePty;constructor(options$1){this.globalEnv=options$1?.env??{},this.nodePty=options$1?.nodePty}onSpawn(cb){return this.spawnListeners.push(cb),{dispose:()=>{this.spawnListeners=this.spawnListeners.filter(listener=>listener!==cb)}}}setEnv(env$1$1){this.globalEnv={...this.globalEnv,...env$1$1},Object.keys(env$1$1).forEach(key=>{env$1$1[key]===``&&delete this.globalEnv[key]})}execute(file,args,options$1){let spawned=spawn$1$2(file,args,{name:`xterm-256color`,cols:ProcessManager$2.COLUMNS,rows:ProcessManager$2.ROWS,cwd:options$1?.cwd,env:{...globalThis.process.env,...this.globalEnv,...options$1?.env}},this.nodePty),terminal=new import_xterm_headless$2.default.Terminal({allowProposedApi:!0,convertEol:!0,scrollback:ProcessManager$2.SCROLLBACK,cols:ProcessManager$2.COLUMNS,rows:ProcessManager$2.ROWS}),serializeAddon=new import_addon_serialize$1.SerializeAddon;terminal.loadAddon(serializeAddon);let latestWritePromise;spawned.onData(data$2=>{latestWritePromise=new Promise(resolve$10=>{terminal.write(data$2,resolve$10)})}),terminal.onData(data$2=>{spawned.write(data$2)});let processObj={command:file,args,cwd:options$1?.cwd??``,env:{...options$1?.env},startTimeMS:Date.now(),exitCode:void 0,exitSignal:void 0,pid:spawned.pid,pty:spawned,terminal,serializer:serializeAddon,kill:signal=>{spawned.kill(signal)},onExit:cb=>spawned.onExit(({exitCode,signal})=>{latestWritePromise?latestWritePromise.then(()=>{cb(exitCode,signal)}):cb(exitCode,signal)}),onOutput:cb=>spawned.onData(data$2=>{cb(data$2)}),sendInput:data$2=>{terminal.input(data$2)}};this.processes.set(spawned.pid,processObj),spawned.onExit(({exitCode,signal})=>{processObj.exitCode=exitCode,processObj.exitSignal=signal});for(let listener of this.spawnListeners)listener(processObj);return processObj}status(pid){let process$1$1=this.processes.get(pid);if(!process$1$1)throw Error(`Process with PID ${pid} not found`);let plainOutput=this.readPlainOutput(pid);return{pid:process$1$1.pid,command:process$1$1.command,title:process$1$1.pty.process,args:process$1$1.args,cwd:process$1$1.cwd,env:process$1$1.env,exit_code:process$1$1.exitCode,exit_signal:process$1$1.exitSignal,duration_ms:Date.now()-process$1$1.startTimeMS,output_total_lines:plainOutput.totalLines}}list(includeDead){return Array.from(this.processes.values()).filter(process$1$1=>includeDead||process$1$1.exitCode===void 0).map(process$1$1=>this.status(process$1$1.pid))}getProcess(pid){return this.processes.get(pid)}readANSIOutput(pid,scrollback){let process$1$1=this.processes.get(pid);if(!process$1$1)throw Error(`Process with PID ${pid} not found`);return process$1$1.serializer.serialize({scrollback})}readPlainOutput(pid,startLine,endLine){let startLineZeroBased=startLine?Math.max(0,startLine-1):0,endLineZeroBased=endLine?Math.max(0,endLine-1):ProcessManager$2.SCROLLBACK+ProcessManager$2.ROWS-1,process$1$1=this.processes.get(pid);if(!process$1$1)throw Error(`Process with PID ${pid} not found`);let allLines=[];for(let i$1$1=0;i$1$1<ProcessManager$2.SCROLLBACK+ProcessManager$2.ROWS;i$1$1++){let line$1=process$1$1.terminal.buffer.normal.getLine(i$1$1);line$1&&allLines.push(line$1.translateToString(!0)??``)}for(;allLines.length>0&&allLines[allLines.length-1].trim()===``;)allLines.pop();return{lines:allLines.slice(startLineZeroBased,endLineZeroBased+1),totalLines:allLines.length}}close(){this.processes.forEach(process$1$1=>{process$1$1.pty.kill()})}};const spawn$1$2=(file,args,options$1,nodePty)=>{if(!nodePty||globalThis.Bun!==void 0){let exitEmitter=new Emitter$3,dataEmitter=new Emitter$3,proc$1=spawn$1(file,args,{env:options$1.env,cwd:options$1.cwd,stdio:`pipe`});return proc$1.stdout.on(`data`,data$2=>{dataEmitter.emit(Buffer.from(data$2).toString(`utf-8`))}),proc$1.stderr.on(`data`,data$2=>{dataEmitter.emit(Buffer.from(data$2).toString(`utf-8`))}),proc$1.on(`exit`,(code$1,signal)=>{let exitCode=code$1??-1,signalCode=signal?exitCode:void 0;exitEmitter.emit({exitCode,signal:signalCode})}),proc$1.on(`error`,error$22=>{throw error$22}),{pid:proc$1.pid??-1,process:``,onExit:fn=>exitEmitter.event(fn),kill(signal){proc$1.kill(signal)},onData:fn=>dataEmitter.event(fn),write(data$2){proc$1.stdin?.write(data$2)}}}return nodePty.spawn(file,args,options$1)};var require_fixed_size$1=__commonJS$2({"../../node_modules/fast-fifo/fixed-size.js":((exports$1,module$1)=>{module$1.exports=class{constructor(hwm){if(!(hwm>0)||hwm-1&hwm)throw Error(`Max size for a FixedFIFO should be a power of two`);this.buffer=Array(hwm),this.mask=hwm-1,this.top=0,this.btm=0,this.next=null}clear(){this.top=this.btm=0,this.next=null,this.buffer.fill(void 0)}push(data$2){return this.buffer[this.top]===void 0?(this.buffer[this.top]=data$2,this.top=this.top+1&this.mask,!0):!1}shift(){let last$1=this.buffer[this.btm];if(last$1!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,last$1}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}})}),require_fast_fifo$1=__commonJS$2({"../../node_modules/fast-fifo/index.js":((exports$1,module$1)=>{let FixedFIFO=require_fixed_size$1();module$1.exports=class{constructor(hwm){this.hwm=hwm||16,this.head=new FixedFIFO(this.hwm),this.tail=this.head,this.length=0}clear(){this.head=this.tail,this.head.clear(),this.length=0}push(val){if(this.length++,!this.head.push(val)){let prev=this.head;this.head=prev.next=new FixedFIFO(2*this.head.buffer.length),this.head.push(val)}}shift(){this.length!==0&&this.length--;let val=this.tail.shift();if(val===void 0&&this.tail.next){let next=this.tail.next;return this.tail.next=null,this.tail=next,this.tail.shift()}return val}peek(){let val=this.tail.peek();return val===void 0&&this.tail.next?this.tail.next.peek():val}isEmpty(){return this.length===0}}})}),require_b4a$1=__commonJS$2({"../../node_modules/b4a/index.js":((exports$1,module$1)=>{function isBuffer$3(value){return Buffer.isBuffer(value)||value instanceof Uint8Array}function isEncoding(encoding){return Buffer.isEncoding(encoding)}function alloc(size,fill$1$1,encoding){return Buffer.alloc(size,fill$1$1,encoding)}function allocUnsafe(size){return Buffer.allocUnsafe(size)}function allocUnsafeSlow(size){return Buffer.allocUnsafeSlow(size)}function byteLength$1(string,encoding){return Buffer.byteLength(string,encoding)}function compare$2(a$4,b$4){return Buffer.compare(a$4,b$4)}function concat$40(buffers,totalLength){return Buffer.concat(buffers,totalLength)}function copy$3(source$39,target,targetStart,start$1,end){return toBuffer$6(source$39).copy(target,targetStart,start$1,end)}function equals(a$4,b$4){return toBuffer$6(a$4).equals(b$4)}function fill$2(buffer$2,value,offset,end,encoding){return toBuffer$6(buffer$2).fill(value,offset,end,encoding)}function from(value,encodingOrOffset,length){return Buffer.from(value,encodingOrOffset,length)}function includes(buffer$2,value,byteOffset,encoding){return toBuffer$6(buffer$2).includes(value,byteOffset,encoding)}function indexOf$1(buffer$2,value,byfeOffset,encoding){return toBuffer$6(buffer$2).indexOf(value,byfeOffset,encoding)}function lastIndexOf(buffer$2,value,byteOffset,encoding){return toBuffer$6(buffer$2).lastIndexOf(value,byteOffset,encoding)}function swap16(buffer$2){return toBuffer$6(buffer$2).swap16()}function swap32(buffer$2){return toBuffer$6(buffer$2).swap32()}function swap64(buffer$2){return toBuffer$6(buffer$2).swap64()}function toBuffer$6(buffer$2){return Buffer.isBuffer(buffer$2)?buffer$2:Buffer.from(buffer$2.buffer,buffer$2.byteOffset,buffer$2.byteLength)}function toString$5(buffer$2,encoding,start$1,end){return toBuffer$6(buffer$2).toString(encoding,start$1,end)}function write$1(buffer$2,string,offset,length,encoding){return toBuffer$6(buffer$2).write(string,offset,length,encoding)}function writeDoubleLE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeDoubleLE(value,offset)}function writeFloatLE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeFloatLE(value,offset)}function writeUInt32LE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeUInt32LE(value,offset)}function writeInt32LE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeInt32LE(value,offset)}function readDoubleLE(buffer$2,offset){return toBuffer$6(buffer$2).readDoubleLE(offset)}function readFloatLE(buffer$2,offset){return toBuffer$6(buffer$2).readFloatLE(offset)}function readUInt32LE(buffer$2,offset){return toBuffer$6(buffer$2).readUInt32LE(offset)}function readInt32LE(buffer$2,offset){return toBuffer$6(buffer$2).readInt32LE(offset)}function writeDoubleBE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeDoubleBE(value,offset)}function writeFloatBE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeFloatBE(value,offset)}function writeUInt32BE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeUInt32BE(value,offset)}function writeInt32BE(buffer$2,value,offset){return toBuffer$6(buffer$2).writeInt32BE(value,offset)}function readDoubleBE(buffer$2,offset){return toBuffer$6(buffer$2).readDoubleBE(offset)}function readFloatBE(buffer$2,offset){return toBuffer$6(buffer$2).readFloatBE(offset)}function readUInt32BE(buffer$2,offset){return toBuffer$6(buffer$2).readUInt32BE(offset)}function readInt32BE(buffer$2,offset){return toBuffer$6(buffer$2).readInt32BE(offset)}module$1.exports={isBuffer:isBuffer$3,isEncoding,alloc,allocUnsafe,allocUnsafeSlow,byteLength:byteLength$1,compare:compare$2,concat:concat$40,copy:copy$3,equals,fill:fill$2,from,includes,indexOf:indexOf$1,lastIndexOf,swap16,swap32,swap64,toBuffer:toBuffer$6,toString:toString$5,write:write$1,writeDoubleLE,writeFloatLE,writeUInt32LE,writeInt32LE,readDoubleLE,readFloatLE,readUInt32LE,readInt32LE,writeDoubleBE,writeFloatBE,writeUInt32BE,writeInt32BE,readDoubleBE,readFloatBE,readUInt32BE,readInt32BE}})}),require_pass_through_decoder$1=__commonJS$2({"../../node_modules/text-decoder/lib/pass-through-decoder.js":((exports$1,module$1)=>{let b4a$4=require_b4a$1();module$1.exports=class{constructor(encoding){this.encoding=encoding}get remaining(){return 0}decode(tail$1){return b4a$4.toString(tail$1,this.encoding)}flush(){return``}}})}),require_utf8_decoder$1=__commonJS$2({"../../node_modules/text-decoder/lib/utf8-decoder.js":((exports$1,module$1)=>{let b4a$3=require_b4a$1();module$1.exports=class{constructor(){this.codePoint=0,this.bytesSeen=0,this.bytesNeeded=0,this.lowerBoundary=128,this.upperBoundary=191}get remaining(){return this.bytesSeen}decode(data$2){if(this.bytesNeeded===0){let isBoundary=!0;for(let i$1$1=Math.max(0,data$2.byteLength-4),n$2=data$2.byteLength;i$1$1<n$2&&isBoundary;i$1$1++)isBoundary=data$2[i$1$1]<=127;if(isBoundary)return b4a$3.toString(data$2,`utf8`)}let result=``;for(let i$1$1=0,n$2=data$2.byteLength;i$1$1<n$2;i$1$1++){let byte$1=data$2[i$1$1];if(this.bytesNeeded===0){byte$1<=127?result+=String.fromCharCode(byte$1):(this.bytesSeen=1,byte$1>=194&&byte$1<=223?(this.bytesNeeded=2,this.codePoint=byte$1&31):byte$1>=224&&byte$1<=239?(byte$1===224?this.lowerBoundary=160:byte$1===237&&(this.upperBoundary=159),this.bytesNeeded=3,this.codePoint=byte$1&15):byte$1>=240&&byte$1<=244?(byte$1===240&&(this.lowerBoundary=144),byte$1===244&&(this.upperBoundary=143),this.bytesNeeded=4,this.codePoint=byte$1&7):result+=`�`);continue}if(byte$1<this.lowerBoundary||byte$1>this.upperBoundary){this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,result+=`�`;continue}this.lowerBoundary=128,this.upperBoundary=191,this.codePoint=this.codePoint<<6|byte$1&63,this.bytesSeen++,this.bytesSeen===this.bytesNeeded&&(result+=String.fromCodePoint(this.codePoint),this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0)}return result}flush(){let result=this.bytesNeeded>0?`�`:``;return this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,result}}})}),require_text_decoder$1=__commonJS$2({"../../node_modules/text-decoder/index.js":((exports$1,module$1)=>{let PassThroughDecoder=require_pass_through_decoder$1(),UTF8Decoder=require_utf8_decoder$1();module$1.exports=class{constructor(encoding=`utf8`){switch(this.encoding=normalizeEncoding(encoding),this.encoding){case`utf8`:this.decoder=new UTF8Decoder;break;case`utf16le`:case`base64`:throw Error(`Unsupported encoding: `+this.encoding);default:this.decoder=new PassThroughDecoder(this.encoding)}}get remaining(){return this.decoder.remaining}push(data$2){return typeof data$2==`string`?data$2:this.decoder.decode(data$2)}write(data$2){return this.push(data$2)}end(data$2){let result=``;return data$2&&(result=this.push(data$2)),result+=this.decoder.flush(),result}};function normalizeEncoding(encoding){switch(encoding=encoding.toLowerCase(),encoding){case`utf8`:case`utf-8`:return`utf8`;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return`utf16le`;case`latin1`:case`binary`:return`latin1`;case`base64`:case`ascii`:case`hex`:return encoding;default:throw Error(`Unknown encoding: `+encoding)}}})}),require_streamx$1=__commonJS$2({"../../node_modules/streamx/index.js":((exports$1,module$1)=>{let{EventEmitter:EventEmitter$14}=__require$2(`events`),STREAM_DESTROYED=Error(`Stream was destroyed`),PREMATURE_CLOSE=Error(`Premature close`),FIFO$1=require_fast_fifo$1(),TextDecoder$1$1=require_text_decoder$1(),qmt=typeof queueMicrotask>`u`?fn=>global.process.nextTick(fn):queueMicrotask,MAX=(1<<29)-1,OPENING=1,PREDESTROYING=2,DESTROYING=4,DESTROYED$1=8,NOT_OPENING=MAX^1,NOT_PREDESTROYING=MAX^2,READ_ACTIVE=16,READ_UPDATING=32,READ_PRIMARY=64,READ_QUEUED=128,READ_RESUMED=256,READ_PIPE_DRAINED=512,READ_ENDING=1024,READ_EMIT_DATA=2048,READ_EMIT_READABLE=4096,READ_EMITTED_READABLE=8192,READ_DONE=16384,READ_NEXT_TICK=32768,READ_NEEDS_PUSH=65536,READ_READ_AHEAD=131072,READ_FLOWING=768,READ_ACTIVE_AND_NEEDS_PUSH=16|READ_NEEDS_PUSH,READ_PRIMARY_AND_ACTIVE=80,READ_EMIT_READABLE_AND_QUEUED=READ_EMIT_READABLE|128,READ_RESUMED_READ_AHEAD=256|READ_READ_AHEAD,READ_NOT_ACTIVE=MAX^16,READ_NON_PRIMARY=MAX^64,READ_NON_PRIMARY_AND_PUSHED=MAX^(64|READ_NEEDS_PUSH),READ_PUSHED=MAX^READ_NEEDS_PUSH,READ_PAUSED=MAX^256,READ_NOT_QUEUED=MAX^(128|READ_EMITTED_READABLE),READ_NOT_ENDING=MAX^READ_ENDING,READ_PIPE_NOT_DRAINED=MAX^768,READ_NOT_NEXT_TICK=MAX^READ_NEXT_TICK,READ_NOT_UPDATING=MAX^32,READ_NO_READ_AHEAD=MAX^READ_READ_AHEAD,READ_PAUSED_NO_READ_AHEAD=MAX^READ_RESUMED_READ_AHEAD,WRITE_ACTIVE=1<<18,WRITE_UPDATING=2<<18,WRITE_PRIMARY=4<<18,WRITE_QUEUED=8<<18,WRITE_UNDRAINED=16<<18,WRITE_DONE=32<<18,WRITE_EMIT_DRAIN=64<<18,WRITE_NEXT_TICK=128<<18,WRITE_WRITING=256<<18,WRITE_FINISHING=512<<18,WRITE_CORKED=1024<<18,WRITE_NOT_ACTIVE=MAX^(WRITE_ACTIVE|WRITE_WRITING),WRITE_NON_PRIMARY=MAX^WRITE_PRIMARY,WRITE_NOT_FINISHING=MAX^(WRITE_ACTIVE|WRITE_FINISHING),WRITE_DRAINED=MAX^WRITE_UNDRAINED,WRITE_NOT_QUEUED=MAX^WRITE_QUEUED,WRITE_NOT_NEXT_TICK=MAX^WRITE_NEXT_TICK,WRITE_NOT_UPDATING=MAX^WRITE_UPDATING,WRITE_NOT_CORKED=MAX^WRITE_CORKED,ACTIVE$1=16|WRITE_ACTIVE,NOT_ACTIVE=MAX^ACTIVE$1,DONE=READ_DONE|WRITE_DONE,DESTROY_STATUS=14,OPEN_STATUS=15,AUTO_DESTROY=14|DONE,NON_PRIMARY=WRITE_NON_PRIMARY&536870847,ACTIVE_OR_TICKING=WRITE_NEXT_TICK|READ_NEXT_TICK,TICKING=ACTIVE_OR_TICKING&NOT_ACTIVE,IS_OPENING=33587215,READ_PRIMARY_STATUS=READ_ENDING|16399,READ_STATUS=READ_DONE|143,READ_ENDING_STATUS=READ_ENDING|143,READ_READABLE_STATUS=12431,SHOULD_NOT_READ=214047,READ_BACKPRESSURE_STATUS=READ_ENDING|16398,READ_UPDATE_SYNC_STATUS=32879,READ_NEXT_TICK_OR_OPENING=READ_NEXT_TICK|1,WRITE_PRIMARY_STATUS=WRITE_FINISHING|8388623,WRITE_QUEUED_AND_UNDRAINED=WRITE_QUEUED|WRITE_UNDRAINED,WRITE_QUEUED_AND_ACTIVE=WRITE_QUEUED|WRITE_ACTIVE,WRITE_DRAIN_STATUS=6553615,WRITE_STATUS=270794767,WRITE_PRIMARY_AND_ACTIVE=WRITE_PRIMARY|WRITE_ACTIVE,WRITE_ACTIVE_AND_WRITING=WRITE_ACTIVE|WRITE_WRITING,WRITE_FINISHING_STATUS=144965647,WRITE_BACKPRESSURE_STATUS=146800654,WRITE_UPDATE_SYNC_STATUS=35127311,WRITE_DROP_DATA=WRITE_DONE|134217742,asyncIterator=Symbol.asyncIterator||Symbol(`asyncIterator`);var WritableState=class{constructor(stream$10,{highWaterMark=16384,map:map$2=null,mapWritable:mapWritable$1,byteLength:byteLength$1,byteLengthWritable}={}){this.stream=stream$10,this.queue=new FIFO$1,this.highWaterMark=highWaterMark,this.buffered=0,this.error=null,this.pipeline=null,this.drains=null,this.byteLength=byteLengthWritable||byteLength$1||defaultByteLength,this.map=mapWritable$1||map$2,this.afterWrite=afterWrite.bind(this),this.afterUpdateNextTick=updateWriteNT.bind(this)}get ended(){return(this.stream._duplexState&WRITE_DONE)!==0}push(data$2){return this.stream._duplexState&142606350?!1:(this.map!==null&&(data$2=this.map(data$2)),this.buffered+=this.byteLength(data$2),this.queue.push(data$2),this.buffered<this.highWaterMark?(this.stream._duplexState|=WRITE_QUEUED,!0):(this.stream._duplexState|=6291456,!1))}shift(){let data$2=this.queue.shift();return this.buffered-=this.byteLength(data$2),this.buffered===0&&(this.stream._duplexState&=534773759),data$2}end(data$2){typeof data$2==`function`?this.stream.once(`finish`,data$2):data$2!=null&&this.push(data$2),this.stream._duplexState=(this.stream._duplexState|WRITE_FINISHING)&WRITE_NON_PRIMARY}autoBatch(data$2,cb){let buffer$2=[],stream$10=this.stream;for(buffer$2.push(data$2);(stream$10._duplexState&WRITE_STATUS)===2359296;)buffer$2.push(stream$10._writableState.shift());if(stream$10._duplexState&15)return cb(null);stream$10._writev(buffer$2,cb)}update(){let stream$10=this.stream;stream$10._duplexState|=WRITE_UPDATING;do{for(;(stream$10._duplexState&WRITE_STATUS)===WRITE_QUEUED;){let data$2=this.shift();stream$10._duplexState|=67371008,stream$10._write(data$2,this.afterWrite)}stream$10._duplexState&1310720||this.updateNonPrimary()}while(this.continueUpdate()===!0);stream$10._duplexState&=536346623}updateNonPrimary(){let stream$10=this.stream;if((stream$10._duplexState&144965647)===WRITE_FINISHING){stream$10._duplexState|=WRITE_ACTIVE,stream$10._final(afterFinal.bind(this));return}if((stream$10._duplexState&14)==4){(stream$10._duplexState&ACTIVE_OR_TICKING)===0&&(stream$10._duplexState|=ACTIVE$1,stream$10._destroy(afterDestroy.bind(this)));return}(stream$10._duplexState&IS_OPENING)===1&&(stream$10._duplexState=(stream$10._duplexState|ACTIVE$1)&NOT_OPENING,stream$10._open(afterOpen.bind(this)))}continueUpdate(){return(this.stream._duplexState&WRITE_NEXT_TICK)===0?!1:(this.stream._duplexState&=WRITE_NOT_NEXT_TICK,!0)}updateCallback(){(this.stream._duplexState&35127311)===WRITE_PRIMARY?this.update():this.updateNextTick()}updateNextTick(){(this.stream._duplexState&WRITE_NEXT_TICK)===0&&(this.stream._duplexState|=WRITE_NEXT_TICK,(this.stream._duplexState&WRITE_UPDATING)===0&&qmt(this.afterUpdateNextTick))}},ReadableState=class{constructor(stream$10,{highWaterMark=16384,map:map$2=null,mapReadable,byteLength:byteLength$1,byteLengthReadable}={}){this.stream=stream$10,this.queue=new FIFO$1,this.highWaterMark=highWaterMark===0?1:highWaterMark,this.buffered=0,this.readAhead=highWaterMark>0,this.error=null,this.pipeline=null,this.byteLength=byteLengthReadable||byteLength$1||defaultByteLength,this.map=mapReadable||map$2,this.pipeTo=null,this.afterRead=afterRead.bind(this),this.afterUpdateNextTick=updateReadNT.bind(this)}get ended(){return(this.stream._duplexState&READ_DONE)!==0}pipe(pipeTo,cb){if(this.pipeTo!==null)throw Error(`Can only pipe to one destination`);if(typeof cb!=`function`&&(cb=null),this.stream._duplexState|=512,this.pipeTo=pipeTo,this.pipeline=new Pipeline(this.stream,pipeTo,cb),cb&&this.stream.on(`error`,noop$2$1),isStreamx(pipeTo))pipeTo._writableState.pipeline=this.pipeline,cb&&pipeTo.on(`error`,noop$2$1),pipeTo.on(`finish`,this.pipeline.finished.bind(this.pipeline));else{let onerror=this.pipeline.done.bind(this.pipeline,pipeTo),onclose=this.pipeline.done.bind(this.pipeline,pipeTo,null);pipeTo.on(`error`,onerror),pipeTo.on(`close`,onclose),pipeTo.on(`finish`,this.pipeline.finished.bind(this.pipeline))}pipeTo.on(`drain`,afterDrain.bind(this)),this.stream.emit(`piping`,pipeTo),pipeTo.emit(`pipe`,this.stream)}push(data$2){let stream$10=this.stream;return data$2===null?(this.highWaterMark=0,stream$10._duplexState=(stream$10._duplexState|READ_ENDING)&536805311,!1):this.map!==null&&(data$2=this.map(data$2),data$2===null)?(stream$10._duplexState&=READ_PUSHED,this.buffered<this.highWaterMark):(this.buffered+=this.byteLength(data$2),this.queue.push(data$2),stream$10._duplexState=(stream$10._duplexState|128)&READ_PUSHED,this.buffered<this.highWaterMark)}shift(){let data$2=this.queue.shift();return this.buffered-=this.byteLength(data$2),this.buffered===0&&(this.stream._duplexState&=536862591),data$2}unshift(data$2){let pending=[this.map===null?data$2:this.map(data$2)];for(;this.buffered>0;)pending.push(this.shift());for(let i$1$1=0;i$1$1<pending.length-1;i$1$1++){let data$1$1=pending[i$1$1];this.buffered+=this.byteLength(data$1$1),this.queue.push(data$1$1)}this.push(pending[pending.length-1])}read(){let stream$10=this.stream;if((stream$10._duplexState&READ_STATUS)===128){let data$2=this.shift();return this.pipeTo!==null&&this.pipeTo.write(data$2)===!1&&(stream$10._duplexState&=READ_PIPE_NOT_DRAINED),(stream$10._duplexState&READ_EMIT_DATA)!==0&&stream$10.emit(`data`,data$2),data$2}return this.readAhead===!1&&(stream$10._duplexState|=READ_READ_AHEAD,this.updateNextTick()),null}drain(){let stream$10=this.stream;for(;(stream$10._duplexState&READ_STATUS)===128&&stream$10._duplexState&768;){let data$2=this.shift();this.pipeTo!==null&&this.pipeTo.write(data$2)===!1&&(stream$10._duplexState&=READ_PIPE_NOT_DRAINED),(stream$10._duplexState&READ_EMIT_DATA)!==0&&stream$10.emit(`data`,data$2)}}update(){let stream$10=this.stream;stream$10._duplexState|=32;do{for(this.drain();this.buffered<this.highWaterMark&&(stream$10._duplexState&214047)===READ_READ_AHEAD;)stream$10._duplexState|=65552,stream$10._read(this.afterRead),this.drain();(stream$10._duplexState&12431)==4224&&(stream$10._duplexState|=READ_EMITTED_READABLE,stream$10.emit(`readable`)),stream$10._duplexState&80||this.updateNonPrimary()}while(this.continueUpdate()===!0);stream$10._duplexState&=536870879}updateNonPrimary(){let stream$10=this.stream;if((stream$10._duplexState&1167)===READ_ENDING&&(stream$10._duplexState=(stream$10._duplexState|READ_DONE)&536869887,stream$10.emit(`end`),(stream$10._duplexState&AUTO_DESTROY)===DONE&&(stream$10._duplexState|=4),this.pipeTo!==null&&this.pipeTo.end()),(stream$10._duplexState&14)==4){(stream$10._duplexState&ACTIVE_OR_TICKING)===0&&(stream$10._duplexState|=ACTIVE$1,stream$10._destroy(afterDestroy.bind(this)));return}(stream$10._duplexState&IS_OPENING)===1&&(stream$10._duplexState=(stream$10._duplexState|ACTIVE$1)&NOT_OPENING,stream$10._open(afterOpen.bind(this)))}continueUpdate(){return(this.stream._duplexState&READ_NEXT_TICK)===0?!1:(this.stream._duplexState&=READ_NOT_NEXT_TICK,!0)}updateCallback(){(this.stream._duplexState&32879)==64?this.update():this.updateNextTick()}updateNextTickIfOpen(){this.stream._duplexState&32769||(this.stream._duplexState|=READ_NEXT_TICK,this.stream._duplexState&32||qmt(this.afterUpdateNextTick))}updateNextTick(){(this.stream._duplexState&READ_NEXT_TICK)===0&&(this.stream._duplexState|=READ_NEXT_TICK,this.stream._duplexState&32||qmt(this.afterUpdateNextTick))}},TransformState=class{constructor(stream$10){this.data=null,this.afterTransform=afterTransform.bind(stream$10),this.afterFinal=null}},Pipeline=class{constructor(src,dst,cb){this.from=src,this.to=dst,this.afterPipe=cb,this.error=null,this.pipeToFinished=!1}finished(){this.pipeToFinished=!0}done(stream$10,err$1$1){if(err$1$1&&(this.error=err$1$1),stream$10===this.to&&(this.to=null,this.from!==null)){((this.from._duplexState&READ_DONE)===0||!this.pipeToFinished)&&this.from.destroy(this.error||Error(`Writable stream closed prematurely`));return}if(stream$10===this.from&&(this.from=null,this.to!==null)){(stream$10._duplexState&READ_DONE)===0&&this.to.destroy(this.error||Error(`Readable stream closed before ending`));return}this.afterPipe!==null&&this.afterPipe(this.error),this.to=this.from=this.afterPipe=null}};function afterDrain(){this.stream._duplexState|=512,this.updateCallback()}function afterFinal(err$1$1){let stream$10=this.stream;err$1$1&&stream$10.destroy(err$1$1),stream$10._duplexState&14||(stream$10._duplexState|=WRITE_DONE,stream$10.emit(`finish`)),(stream$10._duplexState&AUTO_DESTROY)===DONE&&(stream$10._duplexState|=4),stream$10._duplexState&=402391039,(stream$10._duplexState&WRITE_UPDATING)===0?this.update():this.updateNextTick()}function afterDestroy(err$1$1){let stream$10=this.stream;!err$1$1&&this.error!==STREAM_DESTROYED&&(err$1$1=this.error),err$1$1&&stream$10.emit(`error`,err$1$1),stream$10._duplexState|=8,stream$10.emit(`close`);let rs=stream$10._readableState,ws$2=stream$10._writableState;if(rs!==null&&rs.pipeline!==null&&rs.pipeline.done(stream$10,err$1$1),ws$2!==null){for(;ws$2.drains!==null&&ws$2.drains.length>0;)ws$2.drains.shift().resolve(!1);ws$2.pipeline!==null&&ws$2.pipeline.done(stream$10,err$1$1)}}function afterWrite(err$1$1){let stream$10=this.stream;err$1$1&&stream$10.destroy(err$1$1),stream$10._duplexState&=469499903,this.drains!==null&&tickDrains(this.drains),(stream$10._duplexState&6553615)===WRITE_UNDRAINED&&(stream$10._duplexState&=532676607,(stream$10._duplexState&WRITE_EMIT_DRAIN)===WRITE_EMIT_DRAIN&&stream$10.emit(`drain`)),this.updateCallback()}function afterRead(err$1$1){err$1$1&&this.stream.destroy(err$1$1),this.stream._duplexState&=536870895,this.readAhead===!1&&!(this.stream._duplexState&256)&&(this.stream._duplexState&=READ_NO_READ_AHEAD),this.updateCallback()}function updateReadNT(){this.stream._duplexState&32||(this.stream._duplexState&=READ_NOT_NEXT_TICK,this.update())}function updateWriteNT(){(this.stream._duplexState&WRITE_UPDATING)===0&&(this.stream._duplexState&=WRITE_NOT_NEXT_TICK,this.update())}function tickDrains(drains){for(let i$1$1=0;i$1$1<drains.length;i$1$1++)--drains[i$1$1].writes===0&&(drains.shift().resolve(!0),i$1$1--)}function afterOpen(err$1$1){let stream$10=this.stream;err$1$1&&stream$10.destroy(err$1$1),stream$10._duplexState&4||(stream$10._duplexState&17423||(stream$10._duplexState|=64),stream$10._duplexState&142606351||(stream$10._duplexState|=WRITE_PRIMARY),stream$10.emit(`open`)),stream$10._duplexState&=NOT_ACTIVE,stream$10._writableState!==null&&stream$10._writableState.updateCallback(),stream$10._readableState!==null&&stream$10._readableState.updateCallback()}function afterTransform(err$1$1,data$2){data$2!=null&&this.push(data$2),this._writableState.afterWrite(err$1$1)}function newListener(name$5){this._readableState!==null&&(name$5===`data`&&(this._duplexState|=READ_EMIT_DATA|READ_RESUMED_READ_AHEAD,this._readableState.updateNextTick()),name$5===`readable`&&(this._duplexState|=READ_EMIT_READABLE,this._readableState.updateNextTick())),this._writableState!==null&&name$5===`drain`&&(this._duplexState|=WRITE_EMIT_DRAIN,this._writableState.updateNextTick())}var Stream$1$1=class extends EventEmitter$14{constructor(opts){super(),this._duplexState=0,this._readableState=null,this._writableState=null,opts&&(opts.open&&(this._open=opts.open),opts.destroy&&(this._destroy=opts.destroy),opts.predestroy&&(this._predestroy=opts.predestroy),opts.signal&&opts.signal.addEventListener(`abort`,abort$1.bind(this))),this.on(`newListener`,newListener)}_open(cb){cb(null)}_destroy(cb){cb(null)}_predestroy(){}get readable(){return this._readableState===null?void 0:!0}get writable(){return this._writableState===null?void 0:!0}get destroyed(){return(this._duplexState&8)!=0}get destroying(){return(this._duplexState&14)!=0}destroy(err$1$1){this._duplexState&14||(err$1$1||=STREAM_DESTROYED,this._duplexState=(this._duplexState|4)&535822271,this._readableState!==null&&(this._readableState.highWaterMark=0,this._readableState.error=err$1$1),this._writableState!==null&&(this._writableState.highWaterMark=0,this._writableState.error=err$1$1),this._duplexState|=2,this._predestroy(),this._duplexState&=536870909,this._readableState!==null&&this._readableState.updateNextTick(),this._writableState!==null&&this._writableState.updateNextTick())}},Readable$2$1=class Readable$2$2 extends Stream$1$1{constructor(opts){super(opts),this._duplexState|=WRITE_DONE|131073,this._readableState=new ReadableState(this,opts),opts&&(this._readableState.readAhead===!1&&(this._duplexState&=READ_NO_READ_AHEAD),opts.read&&(this._read=opts.read),opts.eagerOpen&&this._readableState.updateNextTick(),opts.encoding&&this.setEncoding(opts.encoding))}setEncoding(encoding){let dec=new TextDecoder$1$1(encoding),map$2=this._readableState.map||echo;return this._readableState.map=mapOrSkip,this;function mapOrSkip(data$2){let next=dec.push(data$2);return next===``&&(data$2.byteLength!==0||dec.remaining>0)?null:map$2(next)}}_read(cb){cb(null)}pipe(dest,cb){return this._readableState.updateNextTick(),this._readableState.pipe(dest,cb),dest}read(){return this._readableState.updateNextTick(),this._readableState.read()}push(data$2){return this._readableState.updateNextTickIfOpen(),this._readableState.push(data$2)}unshift(data$2){return this._readableState.updateNextTickIfOpen(),this._readableState.unshift(data$2)}resume(){return this._duplexState|=READ_RESUMED_READ_AHEAD,this._readableState.updateNextTick(),this}pause(){return this._duplexState&=this._readableState.readAhead===!1?536739583:536870655,this}static _fromAsyncIterator(ite,opts){let destroy$2,rs=new Readable$2$2({...opts,read(cb){ite.next().then(push$3).then(cb.bind(null,null)).catch(cb)},predestroy(){destroy$2=ite.return()},destroy(cb){if(!destroy$2)return cb(null);destroy$2.then(cb.bind(null,null)).catch(cb)}});return rs;function push$3(data$2){data$2.done?rs.push(null):rs.push(data$2.value)}}static from(data$2,opts){if(isReadStreamx(data$2))return data$2;if(data$2[asyncIterator])return this._fromAsyncIterator(data$2[asyncIterator](),opts);Array.isArray(data$2)||(data$2=data$2===void 0?[]:[data$2]);let i$1$1=0;return new Readable$2$2({...opts,read(cb){this.push(i$1$1===data$2.length?null:data$2[i$1$1++]),cb(null)}})}static isBackpressured(rs){return(rs._duplexState&17422)!=0||rs._readableState.buffered>=rs._readableState.highWaterMark}static isPaused(rs){return(rs._duplexState&256)==0}[asyncIterator](){let stream$10=this,error$22=null,promiseResolve=null,promiseReject=null;return this.on(`error`,err$1$1=>{error$22=err$1$1}),this.on(`readable`,onreadable),this.on(`close`,onclose),{[asyncIterator](){return this},next(){return new Promise(function(resolve$10,reject){promiseResolve=resolve$10,promiseReject=reject;let data$2=stream$10.read();data$2===null?stream$10._duplexState&8&&ondata(null):ondata(data$2)})},return(){return destroy$2(null)},throw(err$1$1){return destroy$2(err$1$1)}};function onreadable(){promiseResolve!==null&&ondata(stream$10.read())}function onclose(){promiseResolve!==null&&ondata(null)}function ondata(data$2){promiseReject!==null&&(error$22?promiseReject(error$22):data$2===null&&(stream$10._duplexState&READ_DONE)===0?promiseReject(STREAM_DESTROYED):promiseResolve({value:data$2,done:data$2===null}),promiseReject=promiseResolve=null)}function destroy$2(err$1$1){return stream$10.destroy(err$1$1),new Promise((resolve$10,reject)=>{if(stream$10._duplexState&8)return resolve$10({value:void 0,done:!0});stream$10.once(`close`,function(){err$1$1?reject(err$1$1):resolve$10({value:void 0,done:!0})})})}}},Writable$2$1=class extends Stream$1$1{constructor(opts){super(opts),this._duplexState|=1|READ_DONE,this._writableState=new WritableState(this,opts),opts&&(opts.writev&&(this._writev=opts.writev),opts.write&&(this._write=opts.write),opts.final&&(this._final=opts.final),opts.eagerOpen&&this._writableState.updateNextTick())}cork(){this._duplexState|=WRITE_CORKED}uncork(){this._duplexState&=WRITE_NOT_CORKED,this._writableState.updateNextTick()}_writev(batch,cb){cb(null)}_write(data$2,cb){this._writableState.autoBatch(data$2,cb)}_final(cb){cb(null)}static isBackpressured(ws$2){return(ws$2._duplexState&146800654)!=0}static drained(ws$2){if(ws$2.destroyed)return Promise.resolve(!1);let state=ws$2._writableState,pending=isWritev(ws$2)?Math.min(1,state.queue.length):state.queue.length,writes=pending+(ws$2._duplexState&WRITE_WRITING?1:0);return writes===0?Promise.resolve(!0):(state.drains===null&&(state.drains=[]),new Promise(resolve$10=>{state.drains.push({writes,resolve:resolve$10})}))}write(data$2){return this._writableState.updateNextTick(),this._writableState.push(data$2)}end(data$2){return this._writableState.updateNextTick(),this._writableState.end(data$2),this}},Duplex$6=class extends Readable$2$1{constructor(opts){super(opts),this._duplexState=1|this._duplexState&READ_READ_AHEAD,this._writableState=new WritableState(this,opts),opts&&(opts.writev&&(this._writev=opts.writev),opts.write&&(this._write=opts.write),opts.final&&(this._final=opts.final))}cork(){this._duplexState|=WRITE_CORKED}uncork(){this._duplexState&=WRITE_NOT_CORKED,this._writableState.updateNextTick()}_writev(batch,cb){cb(null)}_write(data$2,cb){this._writableState.autoBatch(data$2,cb)}_final(cb){cb(null)}write(data$2){return this._writableState.updateNextTick(),this._writableState.push(data$2)}end(data$2){return this._writableState.updateNextTick(),this._writableState.end(data$2),this}},Transform$6=class extends Duplex$6{constructor(opts){super(opts),this._transformState=new TransformState(this),opts&&(opts.transform&&(this._transform=opts.transform),opts.flush&&(this._flush=opts.flush))}_write(data$2,cb){this._readableState.buffered>=this._readableState.highWaterMark?this._transformState.data=data$2:this._transform(data$2,this._transformState.afterTransform)}_read(cb){if(this._transformState.data!==null){let data$2=this._transformState.data;this._transformState.data=null,cb(null),this._transform(data$2,this._transformState.afterTransform)}else cb(null)}destroy(err$1$1){super.destroy(err$1$1),this._transformState.data!==null&&(this._transformState.data=null,this._transformState.afterTransform())}_transform(data$2,cb){cb(null,data$2)}_flush(cb){cb(null)}_final(cb){this._transformState.afterFinal=cb,this._flush(transformAfterFlush.bind(this))}},PassThrough$6=class extends Transform$6{};function transformAfterFlush(err$1$1,data$2){let cb=this._transformState.afterFinal;if(err$1$1)return cb(err$1$1);data$2!=null&&this.push(data$2),this.push(null),cb(null)}function pipelinePromise(...streams){return new Promise((resolve$10,reject)=>pipeline$7(...streams,err$1$1=>{if(err$1$1)return reject(err$1$1);resolve$10()}))}function pipeline$7(stream$10,...streams){let all$2=Array.isArray(stream$10)?[...stream$10,...streams]:[stream$10,...streams],done=all$2.length&&typeof all$2[all$2.length-1]==`function`?all$2.pop():null;if(all$2.length<2)throw Error(`Pipeline requires at least 2 streams`);let src=all$2[0],dest=null,error$22=null;for(let i$1$1=1;i$1$1<all$2.length;i$1$1++)dest=all$2[i$1$1],isStreamx(src)?src.pipe(dest,onerror):(errorHandle(src,!0,i$1$1>1,onerror),src.pipe(dest)),src=dest;if(done){let fin=!1,autoDestroy=isStreamx(dest)||!!(dest._writableState&&dest._writableState.autoDestroy);dest.on(`error`,err$1$1=>{error$22===null&&(error$22=err$1$1)}),dest.on(`finish`,()=>{fin=!0,autoDestroy||done(error$22)}),autoDestroy&&dest.on(`close`,()=>done(error$22||(fin?null:PREMATURE_CLOSE)))}return dest;function errorHandle(s$1$1,rd,wr,onerror$1){s$1$1.on(`error`,onerror$1),s$1$1.on(`close`,onclose);function onclose(){if(rd&&s$1$1._readableState&&!s$1$1._readableState.ended||wr&&s$1$1._writableState&&!s$1$1._writableState.ended)return onerror$1(PREMATURE_CLOSE)}}function onerror(err$1$1){if(!(!err$1$1||error$22)){error$22=err$1$1;for(let s$1$1 of all$2)s$1$1.destroy(err$1$1)}}}function echo(s$1$1){return s$1$1}function isStream$5(stream$10){return!!stream$10._readableState||!!stream$10._writableState}function isStreamx(stream$10){return typeof stream$10._duplexState==`number`&&isStream$5(stream$10)}function isEnded(stream$10){return!!stream$10._readableState&&stream$10._readableState.ended}function isFinished(stream$10){return!!stream$10._writableState&&stream$10._writableState.ended}function getStreamError$2(stream$10,opts={}){let err$1$1=stream$10._readableState&&stream$10._readableState.error||stream$10._writableState&&stream$10._writableState.error;return!opts.all&&err$1$1===STREAM_DESTROYED?null:err$1$1}function isReadStreamx(stream$10){return isStreamx(stream$10)&&stream$10.readable}function isDisturbed$4(stream$10){return(stream$10._duplexState&1)!=1||(stream$10._duplexState&ACTIVE_OR_TICKING)!==0}function isTypedArray$1(data$2){return typeof data$2==`object`&&!!data$2&&typeof data$2.byteLength==`number`}function defaultByteLength(data$2){return isTypedArray$1(data$2)?data$2.byteLength:1024}function noop$2$1(){}function abort$1(){this.destroy(Error(`Stream aborted.`))}function isWritev(s$1$1){return s$1$1._writev!==Writable$2$1.prototype._writev&&s$1$1._writev!==Duplex$6.prototype._writev}module$1.exports={pipeline:pipeline$7,pipelinePromise,isStream:isStream$5,isStreamx,isEnded,isFinished,isDisturbed:isDisturbed$4,getStreamError:getStreamError$2,Stream:Stream$1$1,Writable:Writable$2$1,Readable:Readable$2$1,Duplex:Duplex$6,Transform:Transform$6,PassThrough:PassThrough$6}})}),require_headers$2=__commonJS$2({"../../node_modules/tar-stream/headers.js":(exports$1=>{let b4a$2=require_b4a$1(),ZEROS=`0000000000000000000`,SEVENS=`7777777777777777777`,ZERO_OFFSET=48,USTAR_MAGIC=b4a$2.from([117,115,116,97,114,0]),USTAR_VER=b4a$2.from([48,48]),GNU_MAGIC=b4a$2.from([117,115,116,97,114,32]),GNU_VER=b4a$2.from([32,0]),MASK=4095,MAGIC_OFFSET=257,VERSION_OFFSET=263;exports$1.decodeLongPath=function(buf,encoding){return decodeStr(buf,0,buf.length,encoding)},exports$1.encodePax=function(opts){let result=``;opts.name&&(result+=addLength(` path=`+opts.name+`
42
37
  `)),opts.linkname&&(result+=addLength(` linkpath=`+opts.linkname+`
43
38
  `));let pax=opts.pax;if(pax)for(let key in pax)result+=addLength(` `+key+`=`+pax[key]+`
44
- `);return b4a$2.from(result)},exports$1.decodePax=function(buf){let result={};for(;buf.length;){let i$1$1=0;for(;i$1$1<buf.length&&buf[i$1$1]!==32;)i$1$1++;let len$1=parseInt(b4a$2.toString(buf.subarray(0,i$1$1)),10);if(!len$1)return result;let b$4=b4a$2.toString(buf.subarray(i$1$1+1,len$1-1)),keyIndex=b$4.indexOf(`=`);if(keyIndex===-1)return result;result[b$4.slice(0,keyIndex)]=b$4.slice(keyIndex+1),buf=buf.subarray(len$1)}return result},exports$1.encode=function(opts){let buf=b4a$2.alloc(512),name$5=opts.name,prefix=``;if(opts.typeflag===5&&name$5[name$5.length-1]!==`/`&&(name$5+=`/`),b4a$2.byteLength(name$5)!==name$5.length)return null;for(;b4a$2.byteLength(name$5)>100;){let i$1$1=name$5.indexOf(`/`);if(i$1$1===-1)return null;prefix+=prefix?`/`+name$5.slice(0,i$1$1):name$5.slice(0,i$1$1),name$5=name$5.slice(i$1$1+1)}return b4a$2.byteLength(name$5)>100||b4a$2.byteLength(prefix)>155||opts.linkname&&b4a$2.byteLength(opts.linkname)>100?null:(b4a$2.write(buf,name$5),b4a$2.write(buf,encodeOct(opts.mode&4095,6),100),b4a$2.write(buf,encodeOct(opts.uid,6),108),b4a$2.write(buf,encodeOct(opts.gid,6),116),encodeSize(opts.size,buf,124),b4a$2.write(buf,encodeOct(opts.mtime.getTime()/1e3|0,11),136),buf[156]=48+toTypeflag(opts.type),opts.linkname&&b4a$2.write(buf,opts.linkname,157),b4a$2.copy(USTAR_MAGIC,buf,257),b4a$2.copy(USTAR_VER,buf,263),opts.uname&&b4a$2.write(buf,opts.uname,265),opts.gname&&b4a$2.write(buf,opts.gname,297),b4a$2.write(buf,encodeOct(opts.devmajor||0,6),329),b4a$2.write(buf,encodeOct(opts.devminor||0,6),337),prefix&&b4a$2.write(buf,prefix,345),b4a$2.write(buf,encodeOct(cksum(buf),6),148),buf)},exports$1.decode=function(buf,filenameEncoding,allowUnknownFormat){let typeflag=buf[156]===0?0:buf[156]-48,name$5=decodeStr(buf,0,100,filenameEncoding),mode=decodeOct(buf,100,8),uid$2=decodeOct(buf,108,8),gid=decodeOct(buf,116,8),size=decodeOct(buf,124,12),mtime=decodeOct(buf,136,12),type=toType(typeflag),linkname=buf[157]===0?null:decodeStr(buf,157,100,filenameEncoding),uname=decodeStr(buf,265,32),gname=decodeStr(buf,297,32),devmajor=decodeOct(buf,329,8),devminor=decodeOct(buf,337,8),c$3=cksum(buf);if(c$3===256)return null;if(c$3!==decodeOct(buf,148,8))throw Error(`Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?`);if(isUSTAR(buf))buf[345]&&(name$5=decodeStr(buf,345,155,filenameEncoding)+`/`+name$5);else if(!isGNU(buf)&&!allowUnknownFormat)throw Error(`Invalid tar header: unknown format.`);return typeflag===0&&name$5&&name$5[name$5.length-1]===`/`&&(typeflag=5),{name:name$5,mode,uid:uid$2,gid,size,mtime:new Date(1e3*mtime),type,linkname,uname,gname,devmajor,devminor,pax:null}};function isUSTAR(buf){return b4a$2.equals(USTAR_MAGIC,buf.subarray(257,263))}function isGNU(buf){return b4a$2.equals(GNU_MAGIC,buf.subarray(257,263))&&b4a$2.equals(GNU_VER,buf.subarray(263,265))}function clamp$1(index,len$1,defaultValue){return typeof index==`number`?(index=~~index,index>=len$1?len$1:index>=0||(index+=len$1,index>=0)?index:0):defaultValue}function toType(flag){switch(flag){case 0:return`file`;case 1:return`link`;case 2:return`symlink`;case 3:return`character-device`;case 4:return`block-device`;case 5:return`directory`;case 6:return`fifo`;case 7:return`contiguous-file`;case 72:return`pax-header`;case 55:return`pax-global-header`;case 27:return`gnu-long-link-path`;case 28:case 30:return`gnu-long-path`}return null}function toTypeflag(flag){switch(flag){case`file`:return 0;case`link`:return 1;case`symlink`:return 2;case`character-device`:return 3;case`block-device`:return 4;case`directory`:return 5;case`fifo`:return 6;case`contiguous-file`:return 7;case`pax-header`:return 72}return 0}function indexOf(block$1,num,offset,end){for(;offset<end;offset++)if(block$1[offset]===num)return offset;return end}function cksum(block$1){let sum=256;for(let i$1$1=0;i$1$1<148;i$1$1++)sum+=block$1[i$1$1];for(let j$2=156;j$2<512;j$2++)sum+=block$1[j$2];return sum}function encodeOct(val,n$2){return val=val.toString(8),val.length>n$2?`7777777777777777777`.slice(0,n$2)+` `:`0000000000000000000`.slice(0,n$2-val.length)+val+` `}function encodeSizeBin(num,buf,off){buf[off]=128;for(let i$1$1=11;i$1$1>0;i$1$1--)buf[off+i$1$1]=num&255,num=Math.floor(num/256)}function encodeSize(num,buf,off){num.toString(8).length>11?encodeSizeBin(num,buf,off):b4a$2.write(buf,encodeOct(num,11),off)}function parse256(buf){let positive;if(buf[0]===128)positive=!0;else if(buf[0]===255)positive=!1;else return null;let tuple=[],i$1$1;for(i$1$1=buf.length-1;i$1$1>0;i$1$1--){let byte$1=buf[i$1$1];positive?tuple.push(byte$1):tuple.push(255-byte$1)}let sum=0,l$2=tuple.length;for(i$1$1=0;i$1$1<l$2;i$1$1++)sum+=tuple[i$1$1]*256**i$1$1;return positive?sum:-1*sum}function decodeOct(val,offset,length){if(val=val.subarray(offset,offset+length),offset=0,val[offset]&128)return parse256(val);{for(;offset<val.length&&val[offset]===32;)offset++;let end=clamp$1(indexOf(val,32,offset,val.length),val.length,val.length);for(;offset<end&&val[offset]===0;)offset++;return end===offset?0:parseInt(b4a$2.toString(val.subarray(offset,end)),8)}}function decodeStr(val,offset,length,encoding){return b4a$2.toString(val.subarray(offset,indexOf(val,0,offset,offset+length)),encoding)}function addLength(str$1){let len$1=b4a$2.byteLength(str$1),digits=Math.floor(Math.log(len$1)/Math.log(10))+1;return len$1+digits>=10**digits&&digits++,len$1+digits+str$1}})}),require_extract$1=__commonJS$2({"../../node_modules/tar-stream/extract.js":((exports$1,module$1)=>{let{Writable:Writable$1$1,Readable:Readable$1$1,getStreamError:getStreamError$1}=require_streamx$1(),FIFO=require_fast_fifo$1(),b4a$1=require_b4a$1(),headers$1=require_headers$2(),EMPTY$1=b4a$1.alloc(0);var BufferList=class{constructor(){this.buffered=0,this.shifted=0,this.queue=new FIFO,this._offset=0}push(buffer$2){this.buffered+=buffer$2.byteLength,this.queue.push(buffer$2)}shiftFirst(size){return this._buffered===0?null:this._next(size)}shift(size){if(size>this.buffered)return null;if(size===0)return EMPTY$1;let chunk$1=this._next(size);if(size===chunk$1.byteLength)return chunk$1;let chunks=[chunk$1];for(;(size-=chunk$1.byteLength)>0;)chunk$1=this._next(size),chunks.push(chunk$1);return b4a$1.concat(chunks)}_next(size){let buf=this.queue.peek(),rem=buf.byteLength-this._offset;if(size>=rem){let sub=this._offset?buf.subarray(this._offset,buf.byteLength):buf;return this.queue.shift(),this._offset=0,this.buffered-=rem,this.shifted+=rem,sub}return this.buffered-=size,this.shifted+=size,buf.subarray(this._offset,this._offset+=size)}},Source=class extends Readable$1$1{constructor(self$1,header,offset){super(),this.header=header,this.offset=offset,this._parent=self$1}_read(cb){this.header.size===0&&this.push(null),this._parent._stream===this&&this._parent._update(),cb(null)}_predestroy(){this._parent.destroy(getStreamError$1(this))}_detach(){this._parent._stream===this&&(this._parent._stream=null,this._parent._missing=overflow$1(this.header.size),this._parent._update())}_destroy(cb){this._detach(),cb(null)}},Extract=class extends Writable$1$1{constructor(opts){super(opts),opts||={},this._buffer=new BufferList,this._offset=0,this._header=null,this._stream=null,this._missing=0,this._longHeader=!1,this._callback=noop$1$2,this._locked=!1,this._finished=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null,this._filenameEncoding=opts.filenameEncoding||`utf-8`,this._allowUnknownFormat=!!opts.allowUnknownFormat,this._unlockBound=this._unlock.bind(this)}_unlock(err$1$1){if(this._locked=!1,err$1$1){this.destroy(err$1$1),this._continueWrite(err$1$1);return}this._update()}_consumeHeader(){if(this._locked)return!1;this._offset=this._buffer.shifted;try{this._header=headers$1.decode(this._buffer.shift(512),this._filenameEncoding,this._allowUnknownFormat)}catch(err$1$1){return this._continueWrite(err$1$1),!1}if(!this._header)return!0;switch(this._header.type){case`gnu-long-path`:case`gnu-long-link-path`:case`pax-global-header`:case`pax-header`:return this._longHeader=!0,this._missing=this._header.size,!0}return this._locked=!0,this._applyLongHeaders(),this._header.size===0||this._header.type===`directory`?(this.emit(`entry`,this._header,this._createStream(),this._unlockBound),!0):(this._stream=this._createStream(),this._missing=this._header.size,this.emit(`entry`,this._header,this._stream,this._unlockBound),!0)}_applyLongHeaders(){this._gnuLongPath&&=(this._header.name=this._gnuLongPath,null),this._gnuLongLinkPath&&=(this._header.linkname=this._gnuLongLinkPath,null),this._pax&&=(this._pax.path&&(this._header.name=this._pax.path),this._pax.linkpath&&(this._header.linkname=this._pax.linkpath),this._pax.size&&(this._header.size=parseInt(this._pax.size,10)),this._header.pax=this._pax,null)}_decodeLongHeader(buf){switch(this._header.type){case`gnu-long-path`:this._gnuLongPath=headers$1.decodeLongPath(buf,this._filenameEncoding);break;case`gnu-long-link-path`:this._gnuLongLinkPath=headers$1.decodeLongPath(buf,this._filenameEncoding);break;case`pax-global-header`:this._paxGlobal=headers$1.decodePax(buf);break;case`pax-header`:this._pax=this._paxGlobal===null?headers$1.decodePax(buf):Object.assign({},this._paxGlobal,headers$1.decodePax(buf));break}}_consumeLongHeader(){this._longHeader=!1,this._missing=overflow$1(this._header.size);let buf=this._buffer.shift(this._header.size);try{this._decodeLongHeader(buf)}catch(err$1$1){return this._continueWrite(err$1$1),!1}return!0}_consumeStream(){let buf=this._buffer.shiftFirst(this._missing);if(buf===null)return!1;this._missing-=buf.byteLength;let drained=this._stream.push(buf);return this._missing===0?(this._stream.push(null),drained&&this._stream._detach(),drained&&this._locked===!1):drained}_createStream(){return new Source(this,this._header,this._offset)}_update(){for(;this._buffer.buffered>0&&!this.destroying;){if(this._missing>0){if(this._stream!==null){if(this._consumeStream()===!1)return;continue}if(this._longHeader===!0){if(this._missing>this._buffer.buffered)break;if(this._consumeLongHeader()===!1)return!1;continue}let ignore$3=this._buffer.shiftFirst(this._missing);ignore$3!==null&&(this._missing-=ignore$3.byteLength);continue}if(this._buffer.buffered<512)break;if(this._stream!==null||this._consumeHeader()===!1)return}this._continueWrite(null)}_continueWrite(err$1$1){let cb=this._callback;this._callback=noop$1$2,cb(err$1$1)}_write(data$2,cb){this._callback=cb,this._buffer.push(data$2),this._update()}_final(cb){this._finished=this._missing===0&&this._buffer.buffered===0,cb(this._finished?null:Error(`Unexpected end of data`))}_predestroy(){this._continueWrite(null)}_destroy(cb){this._stream&&this._stream.destroy(getStreamError$1(this)),cb(null)}[Symbol.asyncIterator](){let error$22=null,promiseResolve=null,promiseReject=null,entryStream=null,entryCallback=null,extract=this;return this.on(`entry`,onentry),this.on(`error`,err$1$1=>{error$22=err$1$1}),this.on(`close`,onclose),{[Symbol.asyncIterator](){return this},next(){return new Promise(onnext)},return(){return destroy$2(null)},throw(err$1$1){return destroy$2(err$1$1)}};function consumeCallback(err$1$1){if(!entryCallback)return;let cb=entryCallback;entryCallback=null,cb(err$1$1)}function onnext(resolve$10,reject){if(error$22)return reject(error$22);if(entryStream){resolve$10({value:entryStream,done:!1}),entryStream=null;return}promiseResolve=resolve$10,promiseReject=reject,consumeCallback(null),extract._finished&&promiseResolve&&(promiseResolve({value:void 0,done:!0}),promiseResolve=promiseReject=null)}function onentry(header,stream$10,callback$1){entryCallback=callback$1,stream$10.on(`error`,noop$1$2),promiseResolve?(promiseResolve({value:stream$10,done:!1}),promiseResolve=promiseReject=null):entryStream=stream$10}function onclose(){consumeCallback(error$22),promiseResolve&&=(error$22?promiseReject(error$22):promiseResolve({value:void 0,done:!0}),promiseReject=null)}function destroy$2(err$1$1){return extract.destroy(err$1$1),consumeCallback(err$1$1),new Promise((resolve$10,reject)=>{if(extract.destroyed)return resolve$10({value:void 0,done:!0});extract.once(`close`,function(){err$1$1?reject(err$1$1):resolve$10({value:void 0,done:!0})})})}}};module$1.exports=function(opts){return new Extract(opts)};function noop$1$2(){}function overflow$1(size){return size&=511,size&&512-size}})}),require_constants$11=__commonJS$2({"../../node_modules/tar-stream/constants.js":((exports$1,module$1)=>{let constants$1$1={S_IFMT:61440,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960};try{module$1.exports=__require$2(`fs`).constants||constants$1$1}catch{module$1.exports=constants$1$1}})}),require_pack$1=__commonJS$2({"../../node_modules/tar-stream/pack.js":((exports$1,module$1)=>{let{Readable:Readable$12,Writable:Writable$8,getStreamError}=require_streamx$1(),b4a=require_b4a$1(),constants$7=require_constants$11(),headers=require_headers$2(),DMODE=493,FMODE=420,END_OF_TAR=b4a.alloc(1024);var Sink=class extends Writable$8{constructor(pack,header,callback$1){super({mapWritable,eagerOpen:!0}),this.written=0,this.header=header,this._callback=callback$1,this._linkname=null,this._isLinkname=header.type===`symlink`&&!header.linkname,this._isVoid=header.type!==`file`&&header.type!==`contiguous-file`,this._finished=!1,this._pack=pack,this._openCallback=null,this._pack._stream===null?this._pack._stream=this:this._pack._pending.push(this)}_open(cb){this._openCallback=cb,this._pack._stream===this&&this._continueOpen()}_continuePack(err$1$1){if(this._callback===null)return;let callback$1=this._callback;this._callback=null,callback$1(err$1$1)}_continueOpen(){this._pack._stream===null&&(this._pack._stream=this);let cb=this._openCallback;if(this._openCallback=null,cb!==null){if(this._pack.destroying)return cb(Error(`pack stream destroyed`));if(this._pack._finalized)return cb(Error(`pack stream is already finalized`));this._pack._stream=this,this._isLinkname||this._pack._encode(this.header),this._isVoid&&(this._finish(),this._continuePack(null)),cb(null)}}_write(data$2,cb){if(this._isLinkname)return this._linkname=this._linkname?b4a.concat([this._linkname,data$2]):data$2,cb(null);if(this._isVoid)return data$2.byteLength>0?cb(Error(`No body allowed for this entry`)):cb();if(this.written+=data$2.byteLength,this._pack.push(data$2))return cb();this._pack._drain=cb}_finish(){this._finished||(this._finished=!0,this._isLinkname&&(this.header.linkname=this._linkname?b4a.toString(this._linkname,`utf-8`):``,this._pack._encode(this.header)),overflow(this._pack,this.header.size),this._pack._done(this))}_final(cb){if(this.written!==this.header.size)return cb(Error(`Size mismatch`));this._finish(),cb(null)}_getError(){return getStreamError(this)||Error(`tar entry destroyed`)}_predestroy(){this._pack.destroy(this._getError())}_destroy(cb){this._pack._done(this),this._continuePack(this._finished?null:this._getError()),cb()}},Pack=class extends Readable$12{constructor(opts){super(opts),this._drain=noop$24,this._finalized=!1,this._finalizing=!1,this._pending=[],this._stream=null}entry(header,buffer$2,callback$1){if(this._finalized||this.destroying)throw Error(`already finalized or destroyed`);typeof buffer$2==`function`&&(callback$1=buffer$2,buffer$2=null),callback$1||=noop$24,(!header.size||header.type===`symlink`)&&(header.size=0),header.type||=modeToType(header.mode),header.mode||=header.type===`directory`?493:420,header.uid||=0,header.gid||=0,header.mtime||=new Date,typeof buffer$2==`string`&&(buffer$2=b4a.from(buffer$2));let sink=new Sink(this,header,callback$1);return b4a.isBuffer(buffer$2)?(header.size=buffer$2.byteLength,sink.write(buffer$2),sink.end(),sink):(sink._isVoid,sink)}finalize(){if(this._stream||this._pending.length>0){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(END_OF_TAR),this.push(null))}_done(stream$10){stream$10===this._stream&&(this._stream=null,this._finalizing&&this.finalize(),this._pending.length&&this._pending.shift()._continueOpen())}_encode(header){if(!header.pax){let buf=headers.encode(header);if(buf){this.push(buf);return}}this._encodePax(header)}_encodePax(header){let paxHeader=headers.encodePax({name:header.name,linkname:header.linkname,pax:header.pax}),newHeader={name:`PaxHeader`,mode:header.mode,uid:header.uid,gid:header.gid,size:paxHeader.byteLength,mtime:header.mtime,type:`pax-header`,linkname:header.linkname&&`PaxHeader`,uname:header.uname,gname:header.gname,devmajor:header.devmajor,devminor:header.devminor};this.push(headers.encode(newHeader)),this.push(paxHeader),overflow(this,paxHeader.byteLength),newHeader.size=header.size,newHeader.type=header.type,this.push(headers.encode(newHeader))}_doDrain(){let drain=this._drain;this._drain=noop$24,drain()}_predestroy(){let err$1$1=getStreamError(this);for(this._stream&&this._stream.destroy(err$1$1);this._pending.length;){let stream$10=this._pending.shift();stream$10.destroy(err$1$1),stream$10._continueOpen()}this._doDrain()}_read(cb){this._doDrain(),cb()}};module$1.exports=function(opts){return new Pack(opts)};function modeToType(mode){switch(mode&constants$7.S_IFMT){case constants$7.S_IFBLK:return`block-device`;case constants$7.S_IFCHR:return`character-device`;case constants$7.S_IFDIR:return`directory`;case constants$7.S_IFIFO:return`fifo`;case constants$7.S_IFLNK:return`symlink`}return`file`}function noop$24(){}function overflow(self$1,size){size&=511,size&&self$1.push(END_OF_TAR.subarray(0,512-size))}function mapWritable(buf){return b4a.isBuffer(buf)?buf:b4a.from(buf)}})}),require_tar_stream$1=__commonJS$2({"../../node_modules/tar-stream/index.js":(exports$1=>{exports$1.extract=require_extract$1(),exports$1.pack=require_pack$1()})}),import_tar_stream$1=__toESM$1(require_tar_stream$1(),1);const createTarFromDirectory$1=async(path$38,opts)=>{let{maxBytes=50*1024*1024}=opts??{},stat$6=await fs$1$1.stat(path$38);if(!stat$6.isDirectory())throw Error(`Path is not a directory: ${path$38}`);let pack=import_tar_stream$1.pack(),walk=async(dir,prefix=``)=>{let entries$1=await fs$1$1.readdir(dir,{withFileTypes:!0});for(let entry of entries$1){let fullPath=`${dir}/${entry.name}`,headerName=prefix?`${prefix}/${entry.name}`:entry.name;if(entry.isDirectory()){pack.entry({name:`${headerName}/`,type:`directory`}),await walk(fullPath,headerName);continue}if(entry.isSymbolicLink?.()){let link$4=await fs$1$1.readlink(fullPath);pack.entry({name:headerName,type:`symlink`,linkname:link$4});continue}if(entry.isFile()){let fileStat=await fs$1$1.stat(fullPath);await new Promise((resolve$10,reject)=>{let fileStream=createReadStream(fullPath),tarEntry=pack.entry({name:headerName,size:fileStat.size,mode:fileStat.mode,mtime:fileStat.mtime},err$1$1=>{err$1$1&&reject(err$1$1)});fileStream.on(`error`,reject),fileStream.on(`data`,chunk$1=>tarEntry.write(chunk$1)),fileStream.on(`end`,()=>{tarEntry.end(),resolve$10()})});continue}}};(async()=>{try{await walk(path$38),pack.finalize()}catch(err$1$1){pack.destroy(err$1$1)}})();let nodeReadable=pack,emitted=0,ended=!1;return new ReadableStream({start(controller){let onData=chunk$1=>{if(!ended){if(emitted+=chunk$1.length,emitted>maxBytes){ended=!0,controller.error(Error(`Archive exceeds size limit (${maxBytes} bytes). Emitted=${emitted} bytes.`));try{nodeReadable.destroy()}catch{}return}controller.enqueue(new Uint8Array(chunk$1))}},onError$1$1=err$1$1=>{ended||(ended=!0,controller.error(err$1$1 instanceof Error?err$1$1:Error(String(err$1$1))))},onEnd=()=>{ended||(ended=!0,controller.close())};nodeReadable.on(`data`,onData),nodeReadable.once(`error`,onError$1$1),nodeReadable.once(`end`,onEnd)},cancel(){try{nodeReadable.destroy()}catch{}}})},truncateAnsi$1=(text$1,limit)=>text$1.length<=limit?text$1:text$1.slice(text$1.length-limit),truncateLinesByChars$1=(lines,limit)=>{if(lines.length===0)return{lines:[],truncated:!1};let total=0,startIdx=lines.length;for(let i$1$1=lines.length-1;i$1$1>=0;i$1$1--){let len$1=lines[i$1$1].length;if(total+len$1>limit&&startIdx!==lines.length)break;total+=len$1,startIdx=i$1$1}return startIdx===0?{lines,truncated:!1}:{lines:lines.slice(startIdx),truncated:!0}};var Server$2=class{multiplexer;notificationStream;decoder=new TextDecoder;encoder=new TextEncoder;processManager;createDeploymentFromTar;proxyOnly;fetchProxyRequest;constructor(opts){this.createDeploymentFromTar=opts.createDeploymentFromTar,this.proxyOnly=opts.proxyOnly,this.fetchProxyRequest=opts.fetchProxyRequest,this.multiplexer=new Multiplexer$1({send:msg=>{opts.send(msg)}}),this.multiplexer.onStream(stream$10=>{this.handleStream(stream$10)}),this.notificationStream=this.multiplexer.createStream(),this.processManager=new ProcessManager$1({env:opts.env,nodePty:opts.nodePty}),this.processManager.onSpawn(process$1$1=>{let update=()=>{this.sendNotification({type:`process_status`,payload:{status:this.processManager.status(process$1$1.pid)}})};update(),process$1$1.terminal.onTitleChange(()=>{update()}),process$1$1.onExit(()=>{this.sendNotification({type:`process_status`,payload:{status:this.processManager.status(process$1$1.pid)}})}),process$1$1.onOutput(output=>{let maxTypedChunk=FrameCodec$1.getMaxPayloadSize()-1;for(let i$1$1=0;i$1$1<output.length;i$1$1+=maxTypedChunk){let chunk$1=output.slice(i$1$1,i$1$1+maxTypedChunk);this.sendNotification({type:`process_output`,payload:{pid:process$1$1.pid,output:chunk$1}})}})})}handleMessage(message){this.multiplexer.handleMessage(message)}handleStream(stream$10){let signal=new AbortController;stream$10.onClose(()=>{signal.abort()}),stream$10.onData(message=>{let type=message[0],payload=message.subarray(1);switch(type){case ClientMessageType$1.REQUEST:{let request$3=JSON.parse(this.decoder.decode(payload));if(this.proxyOnly){this.sendResponse(stream$10,{id:request$3.id,error:`This server is in proxy only mode.`});return}this.handleRequest(stream$10,request$3,signal.signal).catch(err$1$1=>{this.sendResponse(stream$10,{id:request$3.id,error:err$1$1 instanceof Error?err$1$1.message:String(err$1$1)})});break}case ClientMessageType$1.PROXY_INIT:{let parsed=ClientMessageSchema$1[ClientMessageType$1.PROXY_INIT].safeParse(JSON.parse(this.decoder.decode(payload)));if(!parsed.success)throw Error(`Invalid proxy init message`);let promise$1;promise$1=parsed.data.headers.upgrade===`websocket`?this.handleProxyWebSocket(stream$10,parsed.data):this.handleProxyRequest(stream$10,parsed.data),promise$1.catch(err$1$1=>{stream$10.error(err$1$1.message)});break}}})}async handleProxyWebSocket(stream$10,request$3){let url$3=new URL(request$3.url);url$3.protocol===`http:`?url$3.protocol=`ws:`:url$3.protocol===`https:`&&(url$3.protocol=`wss:`);let ws$2=new import_websocket$1.default(url$3.toString(),request$3.headers[`sec-websocket-protocol`]?request$3.headers[`sec-websocket-protocol`]:void 0,{headers:request$3.headers,perMessageDeflate:!1});ws$2.addEventListener(`open`,()=>{let init$1$1={status_code:101,status_message:`Switching Protocols`,headers:{}};stream$10.writeTyped(ServerMessageType$1.PROXY_INIT,this.encoder.encode(JSON.stringify(init$1$1)))}),ws$2.addEventListener(`message`,event=>{stream$10.disposed||stream$10.writeTyped(ServerMessageType$1.PROXY_WEBSOCKET_MESSAGE,createWebSocketMessagePayload$1(event.data,this.encoder))}),ws$2.addEventListener(`close`,event=>{if(stream$10.disposed)return;let payload={code:event.code,reason:event.reason};stream$10.writeTyped(ServerMessageType$1.PROXY_WEBSOCKET_CLOSE,this.encoder.encode(JSON.stringify(payload))),stream$10.close()}),ws$2.addEventListener(`error`,event=>{console.log(`err`,event)}),stream$10.onClose(()=>{ws$2.close()}),stream$10.onError(err$1$1=>{ws$2.close(1011,err$1$1)}),stream$10.onData(message=>{let payload=message.subarray(1);switch(message[0]){case ClientMessageType$1.PROXY_WEBSOCKET_MESSAGE:{let parsed=parseWebSocketMessagePayload$1(payload,this.decoder);ws$2.send(parsed);break}case ClientMessageType$1.PROXY_WEBSOCKET_CLOSE:{let parsed=ClientMessageSchema$1[ClientMessageType$1.PROXY_WEBSOCKET_CLOSE].safeParse(JSON.parse(this.decoder.decode(payload)));if(!parsed.success)throw Error(`Invalid proxy websocket close message`);try{ws$2.close(parsed.data.code,parsed.data.reason)}catch(err$1$1){console.error(`Error closing websocket`,err$1$1,parsed.data)}break}default:stream$10.error(`Unexpected message type: ${message[0]}`)}})}async handleProxyRequest(stream$10,request$3){let bodyWriter,bodyReader;if(request$3.method!==`GET`&&request$3.method!==`HEAD`&&request$3.method!==`OPTIONS`){let transform=new TransformStream;bodyWriter=transform.writable.getWriter(),bodyReader=transform.readable}stream$10.onData(message=>{switch(message[0]){case ClientMessageType$1.PROXY_BODY:if(bodyWriter){let chunk$1=message.subarray(1);chunk$1.length===0?bodyWriter.close():bodyWriter.write(chunk$1)}break;default:stream$10.error(`Unexpected message type: ${message[0]}`)}});let requestInit={headers:request$3.headers,method:request$3.method,body:bodyReader},response;response=this.fetchProxyRequest?await this.fetchProxyRequest(request$3.url,requestInit):await fetch(request$3.url,requestInit);let headers$2={};response.headers.forEach((value,key)=>{headers$2[key]=value});let init$1$1={headers:headers$2,status_code:response.status,status_message:response.statusText};stream$10.writeTyped(ServerMessageType$1.PROXY_INIT,this.encoder.encode(JSON.stringify(init$1$1)));let contentLength=response.headers.get(`content-length`),responseSize=contentLength?parseInt(contentLength):0,maxChunkSize=FrameCodec$1.getMaxPayloadSize()-1;if(responseSize>=maxChunkSize){if(!response.body){stream$10.close();return}let reader=response.body.getReader();try{for(;;){let{done,value}=await reader.read();if(done)break;if(value){let offset=0;for(;offset<value.length;){let chunkSize=Math.min(maxChunkSize,value.length-offset),chunk$1=value.subarray(offset,offset+chunkSize);stream$10.writeTyped(ServerMessageType$1.PROXY_DATA,chunk$1),offset+=chunkSize}}}}finally{reader.releaseLock()}}else response.body&&await response.body.pipeTo(new WritableStream({write:chunk$1=>{stream$10.writeTyped(ServerMessageType$1.PROXY_DATA,chunk$1)}}));stream$10.close()}async handleRequest(stream$10,request$3,signal){let requestSchema=RequestSchema$3[request$3.type],parsed=requestSchema.safeParse(request$3.payload);if(!parsed.success)throw Error(`Invalid request payload: ${parsed.error.message}`);switch(request$3.type){case`process_execute`:{let process$1$1=this.processManager.execute(request$3.payload.command,request$3.payload.args,{cwd:request$3.payload.cwd,env:request$3.payload.env});this.sendResponse(stream$10,{id:request$3.id,payload:{pid:process$1$1.pid}});break}case`process_wait`:this.handleProcessWait(stream$10,request$3,signal);break;case`process_kill`:{let process$1$1=this.mustGetProcess(request$3.payload.pid);process$1$1.kill(request$3.payload.signal),this.sendResponse(stream$10,{id:request$3.id,payload:{}});break}case`process_list`:this.sendResponse(stream$10,{id:request$3.id,payload:{processes:this.processManager.list(request$3.payload.include_dead??!1)}});break;case`process_read_plain_output`:{let process$1$1=this.mustGetProcess(request$3.payload.pid),plainOutput=this.processManager.readPlainOutput(request$3.payload.pid,request$3.payload.start_line,request$3.payload.end_line),truncated=truncateLinesByChars$1(plainOutput.lines,256e3);this.sendResponse(stream$10,{id:request$3.id,payload:{lines:truncated.lines,total_lines:plainOutput.totalLines,duration_ms:Date.now()-process$1$1.startTimeMS,exit_code:process$1$1.exitCode,exit_signal:process$1$1.exitSignal}});break}case`process_send_input`:{let process$1$1=this.mustGetProcess(request$3.payload.pid);process$1$1.sendInput(request$3.payload.data),this.sendResponse(stream$10,{id:request$3.id,payload:{}});break}case`set_env`:this.processManager.setEnv(request$3.payload.env),this.sendResponse(stream$10,{id:request$3.id,payload:{}});break;case`deploy_static_files`:{if(!this.createDeploymentFromTar)throw Error(`This server does not support static file deployments!`);let tar=await createTarFromDirectory$1(request$3.payload.path),deploymentID=await this.createDeploymentFromTar(tar);this.sendResponse(stream$10,{id:request$3.id,payload:{deployment_id:deploymentID}});break}case`read_file`:{let file=await fs$37.readFile(request$3.payload.path),fileType=await fileTypeFromBuffer$1(file),readAsText=!fileType||fileType?.mime===`text/plain`;if(!readAsText){this.sendResponse(stream$10,{id:request$3.id,payload:{content:file.toString(`base64`),mime_type:fileType?.mime,total_lines:0,lines_read:0,start_line:0}});break}let content=file.toString(`utf-8`),allLines=content.split(`
39
+ `);return b4a$2.from(result)},exports$1.decodePax=function(buf){let result={};for(;buf.length;){let i$1$1=0;for(;i$1$1<buf.length&&buf[i$1$1]!==32;)i$1$1++;let len$1=parseInt(b4a$2.toString(buf.subarray(0,i$1$1)),10);if(!len$1)return result;let b$4=b4a$2.toString(buf.subarray(i$1$1+1,len$1-1)),keyIndex=b$4.indexOf(`=`);if(keyIndex===-1)return result;result[b$4.slice(0,keyIndex)]=b$4.slice(keyIndex+1),buf=buf.subarray(len$1)}return result},exports$1.encode=function(opts){let buf=b4a$2.alloc(512),name$5=opts.name,prefix=``;if(opts.typeflag===5&&name$5[name$5.length-1]!==`/`&&(name$5+=`/`),b4a$2.byteLength(name$5)!==name$5.length)return null;for(;b4a$2.byteLength(name$5)>100;){let i$1$1=name$5.indexOf(`/`);if(i$1$1===-1)return null;prefix+=prefix?`/`+name$5.slice(0,i$1$1):name$5.slice(0,i$1$1),name$5=name$5.slice(i$1$1+1)}return b4a$2.byteLength(name$5)>100||b4a$2.byteLength(prefix)>155||opts.linkname&&b4a$2.byteLength(opts.linkname)>100?null:(b4a$2.write(buf,name$5),b4a$2.write(buf,encodeOct(opts.mode&4095,6),100),b4a$2.write(buf,encodeOct(opts.uid,6),108),b4a$2.write(buf,encodeOct(opts.gid,6),116),encodeSize(opts.size,buf,124),b4a$2.write(buf,encodeOct(opts.mtime.getTime()/1e3|0,11),136),buf[156]=48+toTypeflag(opts.type),opts.linkname&&b4a$2.write(buf,opts.linkname,157),b4a$2.copy(USTAR_MAGIC,buf,257),b4a$2.copy(USTAR_VER,buf,263),opts.uname&&b4a$2.write(buf,opts.uname,265),opts.gname&&b4a$2.write(buf,opts.gname,297),b4a$2.write(buf,encodeOct(opts.devmajor||0,6),329),b4a$2.write(buf,encodeOct(opts.devminor||0,6),337),prefix&&b4a$2.write(buf,prefix,345),b4a$2.write(buf,encodeOct(cksum(buf),6),148),buf)},exports$1.decode=function(buf,filenameEncoding,allowUnknownFormat){let typeflag=buf[156]===0?0:buf[156]-48,name$5=decodeStr(buf,0,100,filenameEncoding),mode=decodeOct(buf,100,8),uid$2=decodeOct(buf,108,8),gid=decodeOct(buf,116,8),size=decodeOct(buf,124,12),mtime=decodeOct(buf,136,12),type=toType(typeflag),linkname=buf[157]===0?null:decodeStr(buf,157,100,filenameEncoding),uname=decodeStr(buf,265,32),gname=decodeStr(buf,297,32),devmajor=decodeOct(buf,329,8),devminor=decodeOct(buf,337,8),c$3=cksum(buf);if(c$3===256)return null;if(c$3!==decodeOct(buf,148,8))throw Error(`Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?`);if(isUSTAR(buf))buf[345]&&(name$5=decodeStr(buf,345,155,filenameEncoding)+`/`+name$5);else if(!isGNU(buf)&&!allowUnknownFormat)throw Error(`Invalid tar header: unknown format.`);return typeflag===0&&name$5&&name$5[name$5.length-1]===`/`&&(typeflag=5),{name:name$5,mode,uid:uid$2,gid,size,mtime:new Date(1e3*mtime),type,linkname,uname,gname,devmajor,devminor,pax:null}};function isUSTAR(buf){return b4a$2.equals(USTAR_MAGIC,buf.subarray(257,263))}function isGNU(buf){return b4a$2.equals(GNU_MAGIC,buf.subarray(257,263))&&b4a$2.equals(GNU_VER,buf.subarray(263,265))}function clamp$1(index,len$1,defaultValue){return typeof index==`number`?(index=~~index,index>=len$1?len$1:index>=0||(index+=len$1,index>=0)?index:0):defaultValue}function toType(flag){switch(flag){case 0:return`file`;case 1:return`link`;case 2:return`symlink`;case 3:return`character-device`;case 4:return`block-device`;case 5:return`directory`;case 6:return`fifo`;case 7:return`contiguous-file`;case 72:return`pax-header`;case 55:return`pax-global-header`;case 27:return`gnu-long-link-path`;case 28:case 30:return`gnu-long-path`}return null}function toTypeflag(flag){switch(flag){case`file`:return 0;case`link`:return 1;case`symlink`:return 2;case`character-device`:return 3;case`block-device`:return 4;case`directory`:return 5;case`fifo`:return 6;case`contiguous-file`:return 7;case`pax-header`:return 72}return 0}function indexOf(block$1,num,offset,end){for(;offset<end;offset++)if(block$1[offset]===num)return offset;return end}function cksum(block$1){let sum=256;for(let i$1$1=0;i$1$1<148;i$1$1++)sum+=block$1[i$1$1];for(let j$2=156;j$2<512;j$2++)sum+=block$1[j$2];return sum}function encodeOct(val,n$2){return val=val.toString(8),val.length>n$2?`7777777777777777777`.slice(0,n$2)+` `:`0000000000000000000`.slice(0,n$2-val.length)+val+` `}function encodeSizeBin(num,buf,off){buf[off]=128;for(let i$1$1=11;i$1$1>0;i$1$1--)buf[off+i$1$1]=num&255,num=Math.floor(num/256)}function encodeSize(num,buf,off){num.toString(8).length>11?encodeSizeBin(num,buf,off):b4a$2.write(buf,encodeOct(num,11),off)}function parse256(buf){let positive;if(buf[0]===128)positive=!0;else if(buf[0]===255)positive=!1;else return null;let tuple=[],i$1$1;for(i$1$1=buf.length-1;i$1$1>0;i$1$1--){let byte$1=buf[i$1$1];positive?tuple.push(byte$1):tuple.push(255-byte$1)}let sum=0,l$2=tuple.length;for(i$1$1=0;i$1$1<l$2;i$1$1++)sum+=tuple[i$1$1]*256**i$1$1;return positive?sum:-1*sum}function decodeOct(val,offset,length){if(val=val.subarray(offset,offset+length),offset=0,val[offset]&128)return parse256(val);{for(;offset<val.length&&val[offset]===32;)offset++;let end=clamp$1(indexOf(val,32,offset,val.length),val.length,val.length);for(;offset<end&&val[offset]===0;)offset++;return end===offset?0:parseInt(b4a$2.toString(val.subarray(offset,end)),8)}}function decodeStr(val,offset,length,encoding){return b4a$2.toString(val.subarray(offset,indexOf(val,0,offset,offset+length)),encoding)}function addLength(str$1){let len$1=b4a$2.byteLength(str$1),digits=Math.floor(Math.log(len$1)/Math.log(10))+1;return len$1+digits>=10**digits&&digits++,len$1+digits+str$1}})}),require_extract$1=__commonJS$2({"../../node_modules/tar-stream/extract.js":((exports$1,module$1)=>{let{Writable:Writable$1$1,Readable:Readable$1$1,getStreamError:getStreamError$1}=require_streamx$1(),FIFO=require_fast_fifo$1(),b4a$1=require_b4a$1(),headers$1=require_headers$2(),EMPTY$1=b4a$1.alloc(0);var BufferList=class{constructor(){this.buffered=0,this.shifted=0,this.queue=new FIFO,this._offset=0}push(buffer$2){this.buffered+=buffer$2.byteLength,this.queue.push(buffer$2)}shiftFirst(size){return this._buffered===0?null:this._next(size)}shift(size){if(size>this.buffered)return null;if(size===0)return EMPTY$1;let chunk$1=this._next(size);if(size===chunk$1.byteLength)return chunk$1;let chunks=[chunk$1];for(;(size-=chunk$1.byteLength)>0;)chunk$1=this._next(size),chunks.push(chunk$1);return b4a$1.concat(chunks)}_next(size){let buf=this.queue.peek(),rem=buf.byteLength-this._offset;if(size>=rem){let sub=this._offset?buf.subarray(this._offset,buf.byteLength):buf;return this.queue.shift(),this._offset=0,this.buffered-=rem,this.shifted+=rem,sub}return this.buffered-=size,this.shifted+=size,buf.subarray(this._offset,this._offset+=size)}},Source=class extends Readable$1$1{constructor(self$1,header,offset){super(),this.header=header,this.offset=offset,this._parent=self$1}_read(cb){this.header.size===0&&this.push(null),this._parent._stream===this&&this._parent._update(),cb(null)}_predestroy(){this._parent.destroy(getStreamError$1(this))}_detach(){this._parent._stream===this&&(this._parent._stream=null,this._parent._missing=overflow$1(this.header.size),this._parent._update())}_destroy(cb){this._detach(),cb(null)}},Extract=class extends Writable$1$1{constructor(opts){super(opts),opts||={},this._buffer=new BufferList,this._offset=0,this._header=null,this._stream=null,this._missing=0,this._longHeader=!1,this._callback=noop$1$2,this._locked=!1,this._finished=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null,this._filenameEncoding=opts.filenameEncoding||`utf-8`,this._allowUnknownFormat=!!opts.allowUnknownFormat,this._unlockBound=this._unlock.bind(this)}_unlock(err$1$1){if(this._locked=!1,err$1$1){this.destroy(err$1$1),this._continueWrite(err$1$1);return}this._update()}_consumeHeader(){if(this._locked)return!1;this._offset=this._buffer.shifted;try{this._header=headers$1.decode(this._buffer.shift(512),this._filenameEncoding,this._allowUnknownFormat)}catch(err$1$1){return this._continueWrite(err$1$1),!1}if(!this._header)return!0;switch(this._header.type){case`gnu-long-path`:case`gnu-long-link-path`:case`pax-global-header`:case`pax-header`:return this._longHeader=!0,this._missing=this._header.size,!0}return this._locked=!0,this._applyLongHeaders(),this._header.size===0||this._header.type===`directory`?(this.emit(`entry`,this._header,this._createStream(),this._unlockBound),!0):(this._stream=this._createStream(),this._missing=this._header.size,this.emit(`entry`,this._header,this._stream,this._unlockBound),!0)}_applyLongHeaders(){this._gnuLongPath&&=(this._header.name=this._gnuLongPath,null),this._gnuLongLinkPath&&=(this._header.linkname=this._gnuLongLinkPath,null),this._pax&&=(this._pax.path&&(this._header.name=this._pax.path),this._pax.linkpath&&(this._header.linkname=this._pax.linkpath),this._pax.size&&(this._header.size=parseInt(this._pax.size,10)),this._header.pax=this._pax,null)}_decodeLongHeader(buf){switch(this._header.type){case`gnu-long-path`:this._gnuLongPath=headers$1.decodeLongPath(buf,this._filenameEncoding);break;case`gnu-long-link-path`:this._gnuLongLinkPath=headers$1.decodeLongPath(buf,this._filenameEncoding);break;case`pax-global-header`:this._paxGlobal=headers$1.decodePax(buf);break;case`pax-header`:this._pax=this._paxGlobal===null?headers$1.decodePax(buf):Object.assign({},this._paxGlobal,headers$1.decodePax(buf));break}}_consumeLongHeader(){this._longHeader=!1,this._missing=overflow$1(this._header.size);let buf=this._buffer.shift(this._header.size);try{this._decodeLongHeader(buf)}catch(err$1$1){return this._continueWrite(err$1$1),!1}return!0}_consumeStream(){let buf=this._buffer.shiftFirst(this._missing);if(buf===null)return!1;this._missing-=buf.byteLength;let drained=this._stream.push(buf);return this._missing===0?(this._stream.push(null),drained&&this._stream._detach(),drained&&this._locked===!1):drained}_createStream(){return new Source(this,this._header,this._offset)}_update(){for(;this._buffer.buffered>0&&!this.destroying;){if(this._missing>0){if(this._stream!==null){if(this._consumeStream()===!1)return;continue}if(this._longHeader===!0){if(this._missing>this._buffer.buffered)break;if(this._consumeLongHeader()===!1)return!1;continue}let ignore$3=this._buffer.shiftFirst(this._missing);ignore$3!==null&&(this._missing-=ignore$3.byteLength);continue}if(this._buffer.buffered<512)break;if(this._stream!==null||this._consumeHeader()===!1)return}this._continueWrite(null)}_continueWrite(err$1$1){let cb=this._callback;this._callback=noop$1$2,cb(err$1$1)}_write(data$2,cb){this._callback=cb,this._buffer.push(data$2),this._update()}_final(cb){this._finished=this._missing===0&&this._buffer.buffered===0,cb(this._finished?null:Error(`Unexpected end of data`))}_predestroy(){this._continueWrite(null)}_destroy(cb){this._stream&&this._stream.destroy(getStreamError$1(this)),cb(null)}[Symbol.asyncIterator](){let error$22=null,promiseResolve=null,promiseReject=null,entryStream=null,entryCallback=null,extract=this;return this.on(`entry`,onentry),this.on(`error`,err$1$1=>{error$22=err$1$1}),this.on(`close`,onclose),{[Symbol.asyncIterator](){return this},next(){return new Promise(onnext)},return(){return destroy$2(null)},throw(err$1$1){return destroy$2(err$1$1)}};function consumeCallback(err$1$1){if(!entryCallback)return;let cb=entryCallback;entryCallback=null,cb(err$1$1)}function onnext(resolve$10,reject){if(error$22)return reject(error$22);if(entryStream){resolve$10({value:entryStream,done:!1}),entryStream=null;return}promiseResolve=resolve$10,promiseReject=reject,consumeCallback(null),extract._finished&&promiseResolve&&(promiseResolve({value:void 0,done:!0}),promiseResolve=promiseReject=null)}function onentry(header,stream$10,callback$1){entryCallback=callback$1,stream$10.on(`error`,noop$1$2),promiseResolve?(promiseResolve({value:stream$10,done:!1}),promiseResolve=promiseReject=null):entryStream=stream$10}function onclose(){consumeCallback(error$22),promiseResolve&&=(error$22?promiseReject(error$22):promiseResolve({value:void 0,done:!0}),promiseReject=null)}function destroy$2(err$1$1){return extract.destroy(err$1$1),consumeCallback(err$1$1),new Promise((resolve$10,reject)=>{if(extract.destroyed)return resolve$10({value:void 0,done:!0});extract.once(`close`,function(){err$1$1?reject(err$1$1):resolve$10({value:void 0,done:!0})})})}}};module$1.exports=function(opts){return new Extract(opts)};function noop$1$2(){}function overflow$1(size){return size&=511,size&&512-size}})}),require_constants$11=__commonJS$2({"../../node_modules/tar-stream/constants.js":((exports$1,module$1)=>{let constants$1$1={S_IFMT:61440,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960};try{module$1.exports=__require$2(`fs`).constants||constants$1$1}catch{module$1.exports=constants$1$1}})}),require_pack$1=__commonJS$2({"../../node_modules/tar-stream/pack.js":((exports$1,module$1)=>{let{Readable:Readable$12,Writable:Writable$8,getStreamError}=require_streamx$1(),b4a=require_b4a$1(),constants$7=require_constants$11(),headers=require_headers$2(),DMODE=493,FMODE=420,END_OF_TAR=b4a.alloc(1024);var Sink=class extends Writable$8{constructor(pack,header,callback$1){super({mapWritable,eagerOpen:!0}),this.written=0,this.header=header,this._callback=callback$1,this._linkname=null,this._isLinkname=header.type===`symlink`&&!header.linkname,this._isVoid=header.type!==`file`&&header.type!==`contiguous-file`,this._finished=!1,this._pack=pack,this._openCallback=null,this._pack._stream===null?this._pack._stream=this:this._pack._pending.push(this)}_open(cb){this._openCallback=cb,this._pack._stream===this&&this._continueOpen()}_continuePack(err$1$1){if(this._callback===null)return;let callback$1=this._callback;this._callback=null,callback$1(err$1$1)}_continueOpen(){this._pack._stream===null&&(this._pack._stream=this);let cb=this._openCallback;if(this._openCallback=null,cb!==null){if(this._pack.destroying)return cb(Error(`pack stream destroyed`));if(this._pack._finalized)return cb(Error(`pack stream is already finalized`));this._pack._stream=this,this._isLinkname||this._pack._encode(this.header),this._isVoid&&(this._finish(),this._continuePack(null)),cb(null)}}_write(data$2,cb){if(this._isLinkname)return this._linkname=this._linkname?b4a.concat([this._linkname,data$2]):data$2,cb(null);if(this._isVoid)return data$2.byteLength>0?cb(Error(`No body allowed for this entry`)):cb();if(this.written+=data$2.byteLength,this._pack.push(data$2))return cb();this._pack._drain=cb}_finish(){this._finished||(this._finished=!0,this._isLinkname&&(this.header.linkname=this._linkname?b4a.toString(this._linkname,`utf-8`):``,this._pack._encode(this.header)),overflow(this._pack,this.header.size),this._pack._done(this))}_final(cb){if(this.written!==this.header.size)return cb(Error(`Size mismatch`));this._finish(),cb(null)}_getError(){return getStreamError(this)||Error(`tar entry destroyed`)}_predestroy(){this._pack.destroy(this._getError())}_destroy(cb){this._pack._done(this),this._continuePack(this._finished?null:this._getError()),cb()}},Pack=class extends Readable$12{constructor(opts){super(opts),this._drain=noop$24,this._finalized=!1,this._finalizing=!1,this._pending=[],this._stream=null}entry(header,buffer$2,callback$1){if(this._finalized||this.destroying)throw Error(`already finalized or destroyed`);typeof buffer$2==`function`&&(callback$1=buffer$2,buffer$2=null),callback$1||=noop$24,(!header.size||header.type===`symlink`)&&(header.size=0),header.type||=modeToType(header.mode),header.mode||=header.type===`directory`?493:420,header.uid||=0,header.gid||=0,header.mtime||=new Date,typeof buffer$2==`string`&&(buffer$2=b4a.from(buffer$2));let sink=new Sink(this,header,callback$1);return b4a.isBuffer(buffer$2)?(header.size=buffer$2.byteLength,sink.write(buffer$2),sink.end(),sink):(sink._isVoid,sink)}finalize(){if(this._stream||this._pending.length>0){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(END_OF_TAR),this.push(null))}_done(stream$10){stream$10===this._stream&&(this._stream=null,this._finalizing&&this.finalize(),this._pending.length&&this._pending.shift()._continueOpen())}_encode(header){if(!header.pax){let buf=headers.encode(header);if(buf){this.push(buf);return}}this._encodePax(header)}_encodePax(header){let paxHeader=headers.encodePax({name:header.name,linkname:header.linkname,pax:header.pax}),newHeader={name:`PaxHeader`,mode:header.mode,uid:header.uid,gid:header.gid,size:paxHeader.byteLength,mtime:header.mtime,type:`pax-header`,linkname:header.linkname&&`PaxHeader`,uname:header.uname,gname:header.gname,devmajor:header.devmajor,devminor:header.devminor};this.push(headers.encode(newHeader)),this.push(paxHeader),overflow(this,paxHeader.byteLength),newHeader.size=header.size,newHeader.type=header.type,this.push(headers.encode(newHeader))}_doDrain(){let drain=this._drain;this._drain=noop$24,drain()}_predestroy(){let err$1$1=getStreamError(this);for(this._stream&&this._stream.destroy(err$1$1);this._pending.length;){let stream$10=this._pending.shift();stream$10.destroy(err$1$1),stream$10._continueOpen()}this._doDrain()}_read(cb){this._doDrain(),cb()}};module$1.exports=function(opts){return new Pack(opts)};function modeToType(mode){switch(mode&constants$7.S_IFMT){case constants$7.S_IFBLK:return`block-device`;case constants$7.S_IFCHR:return`character-device`;case constants$7.S_IFDIR:return`directory`;case constants$7.S_IFIFO:return`fifo`;case constants$7.S_IFLNK:return`symlink`}return`file`}function noop$24(){}function overflow(self$1,size){size&=511,size&&self$1.push(END_OF_TAR.subarray(0,512-size))}function mapWritable(buf){return b4a.isBuffer(buf)?buf:b4a.from(buf)}})}),require_tar_stream$1=__commonJS$2({"../../node_modules/tar-stream/index.js":(exports$1=>{exports$1.extract=require_extract$1(),exports$1.pack=require_pack$1()})}),import_tar_stream$1=__toESM$1(require_tar_stream$1(),1);const createTarFromDirectory$1=async(path$38,opts)=>{let{maxBytes=50*1024*1024}=opts??{},stat$6=await fs$1$1.stat(path$38);if(!stat$6.isDirectory())throw Error(`Path is not a directory: ${path$38}`);let pack=import_tar_stream$1.pack(),walk=async(dir,prefix=``)=>{let entries$1=await fs$1$1.readdir(dir,{withFileTypes:!0});for(let entry of entries$1){let fullPath=`${dir}/${entry.name}`,headerName=prefix?`${prefix}/${entry.name}`:entry.name;if(entry.isDirectory()){pack.entry({name:`${headerName}/`,type:`directory`}),await walk(fullPath,headerName);continue}if(entry.isSymbolicLink?.()){let link$4=await fs$1$1.readlink(fullPath);pack.entry({name:headerName,type:`symlink`,linkname:link$4});continue}if(entry.isFile()){let fileStat=await fs$1$1.stat(fullPath);await new Promise((resolve$10,reject)=>{let fileStream=createReadStream(fullPath),tarEntry=pack.entry({name:headerName,size:fileStat.size,mode:fileStat.mode,mtime:fileStat.mtime},err$1$1=>{err$1$1&&reject(err$1$1)});fileStream.on(`error`,reject),fileStream.on(`data`,chunk$1=>tarEntry.write(chunk$1)),fileStream.on(`end`,()=>{tarEntry.end(),resolve$10()})});continue}}};(async()=>{try{await walk(path$38),pack.finalize()}catch(err$1$1){pack.destroy(err$1$1)}})();let nodeReadable=pack,emitted=0,ended=!1;return new ReadableStream({start(controller){let onData=chunk$1=>{if(!ended){if(emitted+=chunk$1.length,emitted>maxBytes){ended=!0,controller.error(Error(`Archive exceeds size limit (${maxBytes} bytes). Emitted=${emitted} bytes.`));try{nodeReadable.destroy()}catch{}return}controller.enqueue(new Uint8Array(chunk$1))}},onError$3=err$1$1=>{ended||(ended=!0,controller.error(err$1$1 instanceof Error?err$1$1:Error(String(err$1$1))))},onEnd=()=>{ended||(ended=!0,controller.close())};nodeReadable.on(`data`,onData),nodeReadable.once(`error`,onError$3),nodeReadable.once(`end`,onEnd)},cancel(){try{nodeReadable.destroy()}catch{}}})},truncateAnsi$1=(text$1,limit)=>text$1.length<=limit?text$1:text$1.slice(text$1.length-limit),truncateLinesByChars$1=(lines,limit)=>{if(lines.length===0)return{lines:[],truncated:!1};let total=0,startIdx=lines.length;for(let i$1$1=lines.length-1;i$1$1>=0;i$1$1--){let len$1=lines[i$1$1].length;if(total+len$1>limit&&startIdx!==lines.length)break;total+=len$1,startIdx=i$1$1}return startIdx===0?{lines,truncated:!1}:{lines:lines.slice(startIdx),truncated:!0}};var Server$2=class{multiplexer;notificationStream;decoder=new TextDecoder;encoder=new TextEncoder;processManager;createDeploymentFromTar;proxyOnly;fetchProxyRequest;constructor(opts){this.createDeploymentFromTar=opts.createDeploymentFromTar,this.proxyOnly=opts.proxyOnly,this.fetchProxyRequest=opts.fetchProxyRequest,this.multiplexer=new Multiplexer$1({send:msg=>{opts.send(msg)}}),this.multiplexer.onStream(stream$10=>{this.handleStream(stream$10)}),this.notificationStream=this.multiplexer.createStream(),this.processManager=new ProcessManager$1({env:opts.env,nodePty:opts.nodePty}),this.processManager.onSpawn(process$1$1=>{let update=()=>{this.sendNotification({type:`process_status`,payload:{status:this.processManager.status(process$1$1.pid)}})};update(),process$1$1.terminal.onTitleChange(()=>{update()}),process$1$1.onExit(()=>{this.sendNotification({type:`process_status`,payload:{status:this.processManager.status(process$1$1.pid)}})}),process$1$1.onOutput(output=>{let maxTypedChunk=FrameCodec$1.getMaxPayloadSize()-1;for(let i$1$1=0;i$1$1<output.length;i$1$1+=maxTypedChunk){let chunk$1=output.slice(i$1$1,i$1$1+maxTypedChunk);this.sendNotification({type:`process_output`,payload:{pid:process$1$1.pid,output:chunk$1}})}})})}handleMessage(message){this.multiplexer.handleMessage(message)}handleStream(stream$10){let signal=new AbortController;stream$10.onClose(()=>{signal.abort()}),stream$10.onData(message=>{let type=message[0],payload=message.subarray(1);switch(type){case ClientMessageType$1.REQUEST:{let request$3=JSON.parse(this.decoder.decode(payload));if(this.proxyOnly){this.sendResponse(stream$10,{id:request$3.id,error:`This server is in proxy only mode.`});return}this.handleRequest(stream$10,request$3,signal.signal).catch(err$1$1=>{this.sendResponse(stream$10,{id:request$3.id,error:err$1$1 instanceof Error?err$1$1.message:String(err$1$1)})});break}case ClientMessageType$1.PROXY_INIT:{let parsed=ClientMessageSchema$1[ClientMessageType$1.PROXY_INIT].safeParse(JSON.parse(this.decoder.decode(payload)));if(!parsed.success)throw Error(`Invalid proxy init message`);let promise$1;promise$1=parsed.data.headers.upgrade===`websocket`?this.handleProxyWebSocket(stream$10,parsed.data):this.handleProxyRequest(stream$10,parsed.data),promise$1.catch(err$1$1=>{stream$10.error(err$1$1.message)});break}}})}async handleProxyWebSocket(stream$10,request$3){let url$3=new URL(request$3.url);url$3.protocol===`http:`?url$3.protocol=`ws:`:url$3.protocol===`https:`&&(url$3.protocol=`wss:`);let ws$2=new import_websocket$1.default(url$3.toString(),request$3.headers[`sec-websocket-protocol`]?request$3.headers[`sec-websocket-protocol`]:void 0,{headers:request$3.headers,perMessageDeflate:!1});ws$2.addEventListener(`open`,()=>{let init$1$1={status_code:101,status_message:`Switching Protocols`,headers:{}};stream$10.writeTyped(ServerMessageType$1.PROXY_INIT,this.encoder.encode(JSON.stringify(init$1$1)))}),ws$2.addEventListener(`message`,event=>{stream$10.disposed||stream$10.writeTyped(ServerMessageType$1.PROXY_WEBSOCKET_MESSAGE,createWebSocketMessagePayload$1(event.data,this.encoder))}),ws$2.addEventListener(`close`,event=>{if(stream$10.disposed)return;let payload={code:event.code,reason:event.reason};stream$10.writeTyped(ServerMessageType$1.PROXY_WEBSOCKET_CLOSE,this.encoder.encode(JSON.stringify(payload))),stream$10.close()}),ws$2.addEventListener(`error`,event=>{console.log(`err`,event)}),stream$10.onClose(()=>{ws$2.close()}),stream$10.onError(err$1$1=>{ws$2.close(1011,err$1$1)}),stream$10.onData(message=>{let payload=message.subarray(1);switch(message[0]){case ClientMessageType$1.PROXY_WEBSOCKET_MESSAGE:{let parsed=parseWebSocketMessagePayload$1(payload,this.decoder);ws$2.send(parsed);break}case ClientMessageType$1.PROXY_WEBSOCKET_CLOSE:{let parsed=ClientMessageSchema$1[ClientMessageType$1.PROXY_WEBSOCKET_CLOSE].safeParse(JSON.parse(this.decoder.decode(payload)));if(!parsed.success)throw Error(`Invalid proxy websocket close message`);try{ws$2.close(parsed.data.code,parsed.data.reason)}catch(err$1$1){console.error(`Error closing websocket`,err$1$1,parsed.data)}break}default:stream$10.error(`Unexpected message type: ${message[0]}`)}})}async handleProxyRequest(stream$10,request$3){let bodyWriter,bodyReader;if(request$3.method!==`GET`&&request$3.method!==`HEAD`&&request$3.method!==`OPTIONS`){let transform=new TransformStream;bodyWriter=transform.writable.getWriter(),bodyReader=transform.readable}stream$10.onData(message=>{switch(message[0]){case ClientMessageType$1.PROXY_BODY:if(bodyWriter){let chunk$1=message.subarray(1);chunk$1.length===0?bodyWriter.close():bodyWriter.write(chunk$1)}break;default:stream$10.error(`Unexpected message type: ${message[0]}`)}});let requestInit={headers:request$3.headers,method:request$3.method,body:bodyReader},response;response=this.fetchProxyRequest?await this.fetchProxyRequest(request$3.url,requestInit):await fetch(request$3.url,requestInit);let headers$2={};response.headers.forEach((value,key)=>{headers$2[key]=value});let init$1$1={headers:headers$2,status_code:response.status,status_message:response.statusText};stream$10.writeTyped(ServerMessageType$1.PROXY_INIT,this.encoder.encode(JSON.stringify(init$1$1)));let contentLength=response.headers.get(`content-length`),responseSize=contentLength?parseInt(contentLength):0,maxChunkSize=FrameCodec$1.getMaxPayloadSize()-1;if(responseSize>=maxChunkSize){if(!response.body){stream$10.close();return}let reader=response.body.getReader();try{for(;;){let{done,value}=await reader.read();if(done)break;if(value){let offset=0;for(;offset<value.length;){let chunkSize=Math.min(maxChunkSize,value.length-offset),chunk$1=value.subarray(offset,offset+chunkSize);stream$10.writeTyped(ServerMessageType$1.PROXY_DATA,chunk$1),offset+=chunkSize}}}}finally{reader.releaseLock()}}else response.body&&await response.body.pipeTo(new WritableStream({write:chunk$1=>{stream$10.writeTyped(ServerMessageType$1.PROXY_DATA,chunk$1)}}));stream$10.close()}async handleRequest(stream$10,request$3,signal){let requestSchema=RequestSchema$3[request$3.type],parsed=requestSchema.safeParse(request$3.payload);if(!parsed.success)throw Error(`Invalid request payload: ${parsed.error.message}`);switch(request$3.type){case`process_execute`:{let process$1$1=this.processManager.execute(request$3.payload.command,request$3.payload.args,{cwd:request$3.payload.cwd,env:request$3.payload.env});this.sendResponse(stream$10,{id:request$3.id,payload:{pid:process$1$1.pid}});break}case`process_wait`:this.handleProcessWait(stream$10,request$3,signal);break;case`process_kill`:{let process$1$1=this.mustGetProcess(request$3.payload.pid);process$1$1.kill(request$3.payload.signal),this.sendResponse(stream$10,{id:request$3.id,payload:{}});break}case`process_list`:this.sendResponse(stream$10,{id:request$3.id,payload:{processes:this.processManager.list(request$3.payload.include_dead??!1)}});break;case`process_read_plain_output`:{let process$1$1=this.mustGetProcess(request$3.payload.pid),plainOutput=this.processManager.readPlainOutput(request$3.payload.pid,request$3.payload.start_line,request$3.payload.end_line),truncated=truncateLinesByChars$1(plainOutput.lines,256e3);this.sendResponse(stream$10,{id:request$3.id,payload:{lines:truncated.lines,total_lines:plainOutput.totalLines,duration_ms:Date.now()-process$1$1.startTimeMS,exit_code:process$1$1.exitCode,exit_signal:process$1$1.exitSignal}});break}case`process_send_input`:{let process$1$1=this.mustGetProcess(request$3.payload.pid);process$1$1.sendInput(request$3.payload.data),this.sendResponse(stream$10,{id:request$3.id,payload:{}});break}case`set_env`:this.processManager.setEnv(request$3.payload.env),this.sendResponse(stream$10,{id:request$3.id,payload:{}});break;case`deploy_static_files`:{if(!this.createDeploymentFromTar)throw Error(`This server does not support static file deployments!`);let tar=await createTarFromDirectory$1(request$3.payload.path),deploymentID=await this.createDeploymentFromTar(tar);this.sendResponse(stream$10,{id:request$3.id,payload:{deployment_id:deploymentID}});break}case`read_file`:{let file=await fs$37.readFile(request$3.payload.path),fileType=await fileTypeFromBuffer$1(file),readAsText=!fileType||fileType?.mime===`text/plain`;if(!readAsText){this.sendResponse(stream$10,{id:request$3.id,payload:{content:file.toString(`base64`),mime_type:fileType?.mime,total_lines:0,lines_read:0,start_line:0}});break}let content=file.toString(`utf-8`),allLines=content.split(`
45
40
  `),startLine=(request$3.payload.line_start??1)-1,endLine=request$3.payload.line_end??allLines.length,readLines=allLines.slice(startLine,endLine);this.sendResponse(stream$10,{id:request$3.id,payload:{content:readLines.join(`
46
41
  `),mime_type:`text/plain`,total_lines:allLines.length,lines_read:readLines.length,start_line:startLine}});break}case`write_file`:request$3.payload.base64?await fs$37.writeFile(request$3.payload.path,Buffer.from(request$3.payload.content,`base64`)):await fs$37.writeFile(request$3.payload.path,request$3.payload.content),typeof request$3.payload.mode==`number`&&await fs$37.chmod(request$3.payload.path,request$3.payload.mode),this.sendResponse(stream$10,{id:request$3.id,payload:{}});break;case`read_directory`:{let files=await fs$37.readdir(request$3.payload.path,{withFileTypes:!0});this.sendResponse(stream$10,{id:request$3.id,payload:{entries:files.map(file=>({name:file.name,type:file.isDirectory()?`directory`:file.isSymbolicLink()?`symlink`:`file`}))}});break}default:throw Error(`Unknown request type: ${request$3.type}`)}}sendResponse(stream$10,response){stream$10.writeTyped(ServerMessageType$1.RESPONSE,this.encoder.encode(JSON.stringify(response)))}sendNotification(notification){this.notificationStream.write(new Uint8Array([ServerMessageType$1.NOTIFICATION,...this.encoder.encode(JSON.stringify(notification))]))}handleProcessWait(stream$10,request$3,signal){let payload=request$3.payload,process$1$1=this.mustGetProcess(payload.pid),onOutput,onExit$1,ended=!1,outputIdleTimeout,timeout;typeof payload.timeout_ms==`number`&&(timeout=setTimeout(()=>{end()},payload.timeout_ms));let end=()=>{if(ended||(ended=!0,onOutput&&onOutput.dispose(),onExit$1&&onExit$1.dispose(),timeout&&clearTimeout(timeout),outputIdleTimeout&&clearTimeout(outputIdleTimeout),signal?.aborted))return;let status=this.processManager.status(payload.pid),plainOutput=this.processManager.readPlainOutput(status.pid),ansi_output_truncated=truncateAnsi$1(this.processManager.readANSIOutput(status.pid),64e3),plain_trunc=truncateLinesByChars$1(plainOutput.lines,256e3);this.sendResponse(stream$10,{id:request$3.id,payload:{...status,ansi_output:ansi_output_truncated,plain_output:{lines:plain_trunc.lines,total_lines:plainOutput.totalLines}}})};if(typeof process$1$1.exitCode==`number`||typeof process$1$1.exitSignal==`number`){end();return}onOutput=process$1$1.onOutput(()=>{outputIdleTimeout&&clearTimeout(outputIdleTimeout),typeof payload.output_idle_timeout_ms==`number`&&(outputIdleTimeout=setTimeout(()=>{end()},payload.output_idle_timeout_ms))}),onExit$1=process$1$1.onExit(()=>{setTimeout(()=>{end()},10)}),signal.addEventListener(`abort`,()=>{end()})}mustGetProcess(pid){let process$1$1=this.processManager.getProcess(pid);if(!process$1$1)throw Error(`Process ${pid} not found`);return process$1$1}},Emitter=class{listeners=[];get event(){return listener=>(this.listeners.push(listener),{dispose:()=>{this.listeners=this.listeners.filter(l$2=>l$2!==listener)}})}emit(event){for(let i$7=this.listeners.length-1;i$7>=0;i$7--)this.listeners[i$7]?.(event)}dispose(){this.listeners=[]}},require_eventEmitter2=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var EventEmitter2=function(){function EventEmitter2$1(){this._listeners=[]}return Object.defineProperty(EventEmitter2$1.prototype,`event`,{get:function(){var _this=this;return this._event||=function(listener){_this._listeners.push(listener);var disposable={dispose:function(){for(var i$7=0;i$7<_this._listeners.length;i$7++)if(_this._listeners[i$7]===listener){_this._listeners.splice(i$7,1);return}}};return disposable},this._event},enumerable:!0,configurable:!0}),EventEmitter2$1.prototype.fire=function(data$2){for(var queue$2=[],i$7=0;i$7<this._listeners.length;i$7++)queue$2.push(this._listeners[i$7]);for(var i$7=0;i$7<queue$2.length;i$7++)queue$2[i$7].call(void 0,data$2)},EventEmitter2$1}();exports.EventEmitter2=EventEmitter2})),require_terminal=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var events_1$5=__require$3(`events`),eventEmitter2_1$1=require_eventEmitter2();exports.DEFAULT_COLS=80,exports.DEFAULT_ROWS=24;var FLOW_CONTROL_PAUSE=``,FLOW_CONTROL_RESUME=``,Terminal$1=function(){function Terminal$2(opt){this._pid=0,this._fd=0,this._cols=0,this._rows=0,this._readable=!1,this._writable=!1,this._onData=new eventEmitter2_1$1.EventEmitter2,this._onExit=new eventEmitter2_1$1.EventEmitter2,this._internalee=new events_1$5.EventEmitter,this.handleFlowControl=!!opt?.handleFlowControl,this._flowControlPause=opt?.flowControlPause||FLOW_CONTROL_PAUSE,this._flowControlResume=opt?.flowControlResume||FLOW_CONTROL_RESUME,opt&&(this._checkType(`name`,opt.name?opt.name:void 0,`string`),this._checkType(`cols`,opt.cols?opt.cols:void 0,`number`),this._checkType(`rows`,opt.rows?opt.rows:void 0,`number`),this._checkType(`cwd`,opt.cwd?opt.cwd:void 0,`string`),this._checkType(`env`,opt.env?opt.env:void 0,`object`),this._checkType(`uid`,opt.uid?opt.uid:void 0,`number`),this._checkType(`gid`,opt.gid?opt.gid:void 0,`number`),this._checkType(`encoding`,opt.encoding?opt.encoding:void 0,`string`))}return Object.defineProperty(Terminal$2.prototype,`onData`,{get:function(){return this._onData.event},enumerable:!0,configurable:!0}),Object.defineProperty(Terminal$2.prototype,`onExit`,{get:function(){return this._onExit.event},enumerable:!0,configurable:!0}),Object.defineProperty(Terminal$2.prototype,`pid`,{get:function(){return this._pid},enumerable:!0,configurable:!0}),Object.defineProperty(Terminal$2.prototype,`cols`,{get:function(){return this._cols},enumerable:!0,configurable:!0}),Object.defineProperty(Terminal$2.prototype,`rows`,{get:function(){return this._rows},enumerable:!0,configurable:!0}),Terminal$2.prototype.write=function(data$2){if(this.handleFlowControl){if(data$2===this._flowControlPause){this.pause();return}if(data$2===this._flowControlResume){this.resume();return}}this._write(data$2)},Terminal$2.prototype._forwardEvents=function(){var _this=this;this.on(`data`,function(e$3){return _this._onData.fire(e$3)}),this.on(`exit`,function(exitCode,signal){return _this._onExit.fire({exitCode,signal})})},Terminal$2.prototype._checkType=function(name$5,value,type,allowArray){if(allowArray===void 0&&(allowArray=!1),value!==void 0){if(allowArray&&Array.isArray(value)){value.forEach(function(v$2,i$7){if(typeof v$2!==type)throw Error(name$5+`[`+i$7+`] must be a `+type+` (not a `+typeof v$2[i$7]+`)`)});return}if(typeof value!==type)throw Error(name$5+` must be a `+type+` (not a `+typeof value+`)`)}},Terminal$2.prototype.end=function(data$2){this._socket.end(data$2)},Terminal$2.prototype.pipe=function(dest,options$1){return this._socket.pipe(dest,options$1)},Terminal$2.prototype.pause=function(){return this._socket.pause()},Terminal$2.prototype.resume=function(){return this._socket.resume()},Terminal$2.prototype.setEncoding=function(encoding){this._socket._decoder&&delete this._socket._decoder,encoding&&this._socket.setEncoding(encoding)},Terminal$2.prototype.addListener=function(eventName,listener){this.on(eventName,listener)},Terminal$2.prototype.on=function(eventName,listener){if(eventName===`close`){this._internalee.on(`close`,listener);return}this._socket.on(eventName,listener)},Terminal$2.prototype.emit=function(eventName){return eventName===`close`?this._internalee.emit.apply(this._internalee,arguments):this._socket.emit.apply(this._socket,arguments)},Terminal$2.prototype.listeners=function(eventName){return this._socket.listeners(eventName)},Terminal$2.prototype.removeListener=function(eventName,listener){this._socket.removeListener(eventName,listener)},Terminal$2.prototype.removeAllListeners=function(eventName){this._socket.removeAllListeners(eventName)},Terminal$2.prototype.once=function(eventName,listener){this._socket.once(eventName,listener)},Terminal$2.prototype._close=function(){this._socket.readable=!1,this.write=function(){},this.end=function(){},this._writable=!1,this._readable=!1},Terminal$2.prototype._parseEnv=function(env$8){for(var keys=Object.keys(env$8||{}),pairs=[],i$7=0;i$7<keys.length;i$7++)keys[i$7]!==void 0&&pairs.push(keys[i$7]+`=`+env$8[keys[i$7]]);return pairs},Terminal$2}();exports.Terminal=Terminal$1})),require_conout=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});function getWorkerPipeName(conoutPipeName){return conoutPipeName+`-worker`}exports.getWorkerPipeName=getWorkerPipeName})),require_windowsConoutConnection=__commonJSMin((exports=>{var __awaiter$1=exports&&exports.__awaiter||function(thisArg,_arguments,P$4,generator){function adopt(value){return value instanceof P$4?value:new P$4(function(resolve$10){resolve$10(value)})}return new(P$4||=Promise)(function(resolve$10,reject){function fulfilled(value){try{step(generator.next(value))}catch(e$3){reject(e$3)}}function rejected(value){try{step(generator.throw(value))}catch(e$3){reject(e$3)}}function step(result){result.done?resolve$10(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})},__generator$1=exports&&exports.__generator||function(thisArg,body){var _$6={label:0,sent:function(){if(t$1[0]&1)throw t$1[1];return t$1[1]},trys:[],ops:[]},f,y$3,t$1,g$1;return g$1={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol==`function`&&(g$1[Symbol.iterator]=function(){return this}),g$1;function verb(n$2){return function(v$2){return step([n$2,v$2])}}function step(op){if(f)throw TypeError(`Generator is already executing.`);for(;_$6;)try{if(f=1,y$3&&(t$1=op[0]&2?y$3.return:op[0]?y$3.throw||((t$1=y$3.return)&&t$1.call(y$3),0):y$3.next)&&!(t$1=t$1.call(y$3,op[1])).done)return t$1;switch(y$3=0,t$1&&(op=[op[0]&2,t$1.value]),op[0]){case 0:case 1:t$1=op;break;case 4:return _$6.label++,{value:op[1],done:!1};case 5:_$6.label++,y$3=op[1],op=[0];continue;case 7:op=_$6.ops.pop(),_$6.trys.pop();continue;default:if((t$1=_$6.trys,!(t$1=t$1.length>0&&t$1[t$1.length-1]))&&(op[0]===6||op[0]===2)){_$6=0;continue}if(op[0]===3&&(!t$1||op[1]>t$1[0]&&op[1]<t$1[3])){_$6.label=op[1];break}if(op[0]===6&&_$6.label<t$1[1]){_$6.label=t$1[1],t$1=op;break}if(t$1&&_$6.label<t$1[2]){_$6.label=t$1[2],_$6.ops.push(op);break}t$1[2]&&_$6.ops.pop(),_$6.trys.pop();continue}op=body.call(thisArg,_$6)}catch(e$3){op=[6,e$3],y$3=0}finally{f=t$1=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:!0}}};Object.defineProperty(exports,`__esModule`,{value:!0});var worker_threads_1=__require$3(`worker_threads`),conout_1=require_conout(),path_1$1=__require$3(`path`),eventEmitter2_1=require_eventEmitter2(),FLUSH_DATA_INTERVAL$1=1e3,ConoutConnection=function(){function ConoutConnection$1(_conoutPipeName){var _this=this;this._conoutPipeName=_conoutPipeName,this._isDisposed=!1,this._onReady=new eventEmitter2_1.EventEmitter2;var workerData={conoutPipeName:_conoutPipeName},scriptPath=__dirname.replace(`node_modules.asar`,`node_modules.asar.unpacked`);this._worker=new worker_threads_1.Worker(path_1$1.join(scriptPath,`worker/conoutSocketWorker.js`),{workerData}),this._worker.on(`message`,function(message){switch(message){case 1:_this._onReady.fire();return;default:console.warn(`Unexpected ConoutWorkerMessage`,message)}})}return Object.defineProperty(ConoutConnection$1.prototype,`onReady`,{get:function(){return this._onReady.event},enumerable:!0,configurable:!0}),ConoutConnection$1.prototype.dispose=function(){this._isDisposed||(this._isDisposed=!0,this._drainDataAndClose())},ConoutConnection$1.prototype.connectSocket=function(socket){socket.connect(conout_1.getWorkerPipeName(this._conoutPipeName))},ConoutConnection$1.prototype._drainDataAndClose=function(){var _this=this;this._drainTimeout&&clearTimeout(this._drainTimeout),this._drainTimeout=setTimeout(function(){return _this._destroySocket()},FLUSH_DATA_INTERVAL$1)},ConoutConnection$1.prototype._destroySocket=function(){return __awaiter$1(this,void 0,void 0,function(){return __generator$1(this,function(_a$15){switch(_a$15.label){case 0:return[4,this._worker.terminate()];case 1:return _a$15.sent(),[2]}})})},ConoutConnection$1}();exports.ConoutConnection=ConoutConnection})),require_package$5=__commonJSMin(((exports,module)=>{module.exports={name:`@lydell/node-pty`,description:`node-pty with prebuilt binaries`,author:`Simon Lydell`,version:`1.1.0`,license:`MIT`,main:`./index.js`,types:`./node-pty.d.ts`,repository:{type:`git`,url:`git://github.com/lydell/node-pty.git`},keywords:[`pty`,`tty`,`terminal`,`pseudoterminal`,`forkpty`,`openpty`,`prebuild`,`prebuilt`],optionalDependencies:{"@lydell/node-pty-darwin-x64":`1.1.0`,"@lydell/node-pty-darwin-arm64":`1.1.0`,"@lydell/node-pty-linux-x64":`1.1.0`,"@lydell/node-pty-linux-arm64":`1.1.0`,"@lydell/node-pty-win32-x64":`1.1.0`,"@lydell/node-pty-win32-arm64":`1.1.0`}}})),require_requireBinary=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var PACKAGE_NAME=`@lydell/node-pty-`+process.platform+`-`+process.arch,help=`This can happen if you use the "--omit=optional" (or "--no-optional") npm flag.
47
42
  The "optionalDependencies" package.json feature is used to install the correct
@@ -55,7 +50,7 @@ If so, try installing with npm rather than copying "node_modules".`;function req
55
50
 
56
51
  Your platform (`+process.platform+`-`+process.arch+`) might not be supported.`:PACKAGE_NAME in optionalDependencies?`The @lydell/node-pty package supports your platform (`+process.platform+`-`+process.arch+`), but it could not find the binary package for it: `+PACKAGE_NAME+`/`+file+`
57
52
 
58
- `+help:`The @lydell/node-pty package currently does not support your platform: `+process.platform+`-`+process.arch,{cause:error$22})}}}exports.requireBinary=requireBinary;function getOptionalDependencies(){try{return require_package$5().optionalDependencies}catch{return}}})),require_windowsPtyAgent=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var fs$42=__require$3(`fs`),path$36=__require$3(`path`),net_1$6=__require$3(`net`),child_process_1$1=__require$3(`child_process`),windowsConoutConnection_1=require_windowsConoutConnection(),requireBinary_1$1=require_requireBinary(),conptyNative,FLUSH_DATA_INTERVAL=1e3,WindowsPtyAgent=function(){function WindowsPtyAgent$1(file,args,env$8,cwd$3,cols,rows,debug$12,conptyInheritCursor){var _this=this;conptyInheritCursor===void 0&&(conptyInheritCursor=!1),this._pid=0,this._innerPid=0,conptyNative||=requireBinary_1$1.requireBinary(`conpty.node`),this._ptyNative=conptyNative,cwd$3=path$36.resolve(cwd$3);var commandLine=argsToCommandLine(file,args),term=this._ptyNative.startProcess(file,cols,rows,debug$12,this._generatePipeName(),conptyInheritCursor);this._fd=term.fd,this._pty=term.pty,this._outSocket=new net_1$6.Socket,this._outSocket.setEncoding(`utf8`),this._conoutSocketWorker=new windowsConoutConnection_1.ConoutConnection(term.conout),this._conoutSocketWorker.onReady(function(){_this._conoutSocketWorker.connectSocket(_this._outSocket)}),this._outSocket.on(`connect`,function(){_this._outSocket.emit(`ready_datapipe`)});var inSocketFD=fs$42.openSync(term.conin,`w`);this._inSocket=new net_1$6.Socket({fd:inSocketFD,readable:!1,writable:!0}),this._inSocket.setEncoding(`utf8`);var connect$4=this._ptyNative.connect(this._pty,commandLine,cwd$3,env$8,function(c$3){return _this._$onProcessExit(c$3)});this._innerPid=connect$4.pid}return Object.defineProperty(WindowsPtyAgent$1.prototype,`inSocket`,{get:function(){return this._inSocket},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsPtyAgent$1.prototype,`outSocket`,{get:function(){return this._outSocket},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsPtyAgent$1.prototype,`fd`,{get:function(){return this._fd},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsPtyAgent$1.prototype,`innerPid`,{get:function(){return this._innerPid},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsPtyAgent$1.prototype,`pty`,{get:function(){return this._pty},enumerable:!0,configurable:!0}),WindowsPtyAgent$1.prototype.resize=function(cols,rows){if(this._exitCode!==void 0)throw Error(`Cannot resize a pty that has already exited`);this._ptyNative.resize(this._pty,cols,rows)},WindowsPtyAgent$1.prototype.clear=function(){this._ptyNative.clear(this._pty)},WindowsPtyAgent$1.prototype.kill=function(){var _this=this;this._inSocket.readable=!1,this._outSocket.readable=!1,this._getConsoleProcessList().then(function(consoleProcessList){consoleProcessList.forEach(function(pid){try{process.kill(pid)}catch{}}),_this._ptyNative.kill(_this._pty)}),this._conoutSocketWorker.dispose()},WindowsPtyAgent$1.prototype._getConsoleProcessList=function(){var _this=this;return new Promise(function(resolve$10){var agent=child_process_1$1.fork(path$36.join(__dirname,`conpty_console_list_agent`),[_this._innerPid.toString()]);agent.on(`message`,function(message){clearTimeout(timeout),resolve$10(message.consoleProcessList)});var timeout=setTimeout(function(){agent.kill(),resolve$10([_this._innerPid])},5e3)})},Object.defineProperty(WindowsPtyAgent$1.prototype,`exitCode`,{get:function(){return this._exitCode},enumerable:!0,configurable:!0}),WindowsPtyAgent$1.prototype._generatePipeName=function(){return`conpty-`+Math.random()*1e7},WindowsPtyAgent$1.prototype._$onProcessExit=function(exitCode){var _this=this;this._exitCode=exitCode,this._flushDataAndCleanUp(),this._outSocket.on(`data`,function(){return _this._flushDataAndCleanUp()})},WindowsPtyAgent$1.prototype._flushDataAndCleanUp=function(){var _this=this;this._closeTimeout&&clearTimeout(this._closeTimeout),this._closeTimeout=setTimeout(function(){return _this._cleanUpProcess()},FLUSH_DATA_INTERVAL)},WindowsPtyAgent$1.prototype._cleanUpProcess=function(){this._inSocket.readable=!1,this._outSocket.readable=!1,this._outSocket.destroy()},WindowsPtyAgent$1}();exports.WindowsPtyAgent=WindowsPtyAgent;function argsToCommandLine(file,args){if(isCommandLine(args))return args.length===0?file:argsToCommandLine(file,[])+` `+args;var argv$1=[file];Array.prototype.push.apply(argv$1,args);for(var result=``,argIndex=0;argIndex<argv$1.length;argIndex++){argIndex>0&&(result+=` `);var arg=argv$1[argIndex],hasLopsidedEnclosingQuote=xOr(arg[0]!==`"`,arg[arg.length-1]!==`"`),hasNoEnclosingQuotes=arg[0]!==`"`&&arg[arg.length-1]!==`"`,quote$1=arg===``||(arg.indexOf(` `)!==-1||arg.indexOf(` `)!==-1)&&arg.length>1&&(hasLopsidedEnclosingQuote||hasNoEnclosingQuotes);quote$1&&(result+=`"`);for(var bsCount=0,i$7=0;i$7<arg.length;i$7++){var p$2=arg[i$7];p$2===`\\`?bsCount++:p$2===`"`?(result+=repeatText(`\\`,bsCount*2+1),result+=`"`,bsCount=0):(result+=repeatText(`\\`,bsCount),bsCount=0,result+=p$2)}quote$1?(result+=repeatText(`\\`,bsCount*2),result+=`"`):result+=repeatText(`\\`,bsCount)}return result}exports.argsToCommandLine=argsToCommandLine;function isCommandLine(args){return typeof args==`string`}function repeatText(text$1,count$1){for(var result=``,i$7=0;i$7<count$1;i$7++)result+=text$1;return result}function xOr(arg1,arg2){return arg1&&!arg2||!arg1&&arg2}})),require_utils$19=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});function assign$1(target){var sources=[...arguments].slice(1);return sources.forEach(function(source$39){return Object.keys(source$39).forEach(function(key){return target[key]=source$39[key]})}),target}exports.assign=assign$1})),require_windowsTerminal=__commonJSMin((exports=>{var __extends$3=exports&&exports.__extends||(function(){var extendStatics$1=function(d$5,b$4){return extendStatics$1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d$6,b$5){d$6.__proto__=b$5}||function(d$6,b$5){for(var p$2 in b$5)b$5.hasOwnProperty(p$2)&&(d$6[p$2]=b$5[p$2])},extendStatics$1(d$5,b$4)};return function(d$5,b$4){extendStatics$1(d$5,b$4);function __(){this.constructor=d$5}d$5.prototype=b$4===null?Object.create(b$4):(__.prototype=b$4.prototype,new __)}})();Object.defineProperty(exports,`__esModule`,{value:!0});var terminal_1$1=require_terminal(),windowsPtyAgent_1=require_windowsPtyAgent(),utils_1$26=require_utils$19(),DEFAULT_FILE$1=`cmd.exe`,DEFAULT_NAME$1=`Windows Shell`,WindowsTerminal=function(_super){__extends$3(WindowsTerminal$1,_super);function WindowsTerminal$1(file,args,opt){var _this=_super.call(this,opt)||this;_this._checkType(`args`,args,`string`,!0),args||=[],file||=DEFAULT_FILE$1,opt||={},opt.env=opt.env||process.env,opt.encoding&&console.warn(`Setting encoding on Windows is not supported`);var env$8=utils_1$26.assign({},opt.env);_this._cols=opt.cols||terminal_1$1.DEFAULT_COLS,_this._rows=opt.rows||terminal_1$1.DEFAULT_ROWS;var cwd$3=opt.cwd||process.cwd(),name$5=opt.name||env$8.TERM||DEFAULT_NAME$1,parsedEnv=_this._parseEnv(env$8);return _this._isReady=!1,_this._deferreds=[],_this._agent=new windowsPtyAgent_1.WindowsPtyAgent(file,args,parsedEnv,cwd$3,_this._cols,_this._rows,!1,opt.conptyInheritCursor),_this._socket=_this._agent.outSocket,_this._pid=_this._agent.innerPid,_this._fd=_this._agent.fd,_this._pty=_this._agent.pty,_this._socket.on(`ready_datapipe`,function(){[`connect`,`data`,`end`,`timeout`,`drain`].forEach(function(event){_this._socket.on(event,function(){!_this._isReady&&event===`data`&&(_this._isReady=!0,_this._deferreds.forEach(function(fn){fn.run()}),_this._deferreds=[])})}),_this._socket.on(`error`,function(err$2){if(_this._close(),!(err$2.code&&(~err$2.code.indexOf(`errno 5`)||~err$2.code.indexOf(`EIO`)))&&_this.listeners(`error`).length<2)throw err$2}),_this._socket.on(`close`,function(){_this.emit(`exit`,_this._agent.exitCode),_this._close()})}),_this._file=file,_this._name=name$5,_this._readable=!0,_this._writable=!0,_this._forwardEvents(),_this}return WindowsTerminal$1.prototype._write=function(data$2){this._defer(this._doWrite,data$2)},WindowsTerminal$1.prototype._doWrite=function(data$2){this._agent.inSocket.write(data$2)},WindowsTerminal$1.open=function(options$1){throw Error(`open() not supported on windows, use Fork() instead.`)},WindowsTerminal$1.prototype.resize=function(cols,rows){var _this=this;if(cols<=0||rows<=0||isNaN(cols)||isNaN(rows)||cols===1/0||rows===1/0)throw Error(`resizing must be done using positive cols and rows`);this._deferNoArgs(function(){_this._agent.resize(cols,rows),_this._cols=cols,_this._rows=rows})},WindowsTerminal$1.prototype.clear=function(){var _this=this;this._deferNoArgs(function(){_this._agent.clear()})},WindowsTerminal$1.prototype.destroy=function(){var _this=this;this._deferNoArgs(function(){_this.kill()})},WindowsTerminal$1.prototype.kill=function(signal){var _this=this;this._deferNoArgs(function(){if(signal)throw Error(`Signals not supported on windows.`);_this._close(),_this._agent.kill()})},WindowsTerminal$1.prototype._deferNoArgs=function(deferredFn){var _this=this;if(this._isReady){deferredFn.call(this);return}this._deferreds.push({run:function(){return deferredFn.call(_this)}})},WindowsTerminal$1.prototype._defer=function(deferredFn,arg){var _this=this;if(this._isReady){deferredFn.call(this,arg);return}this._deferreds.push({run:function(){return deferredFn.call(_this,arg)}})},Object.defineProperty(WindowsTerminal$1.prototype,`process`,{get:function(){return this._name},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsTerminal$1.prototype,`master`,{get:function(){throw Error(`master is not supported on Windows`)},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsTerminal$1.prototype,`slave`,{get:function(){throw Error(`slave is not supported on Windows`)},enumerable:!0,configurable:!0}),WindowsTerminal$1}(terminal_1$1.Terminal);exports.WindowsTerminal=WindowsTerminal})),require_unixTerminal=__commonJSMin((exports=>{var __extends$2=exports&&exports.__extends||(function(){var extendStatics$1=function(d$5,b$4){return extendStatics$1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d$6,b$5){d$6.__proto__=b$5}||function(d$6,b$5){for(var p$2 in b$5)b$5.hasOwnProperty(p$2)&&(d$6[p$2]=b$5[p$2])},extendStatics$1(d$5,b$4)};return function(d$5,b$4){extendStatics$1(d$5,b$4);function __(){this.constructor=d$5}d$5.prototype=b$4===null?Object.create(b$4):(__.prototype=b$4.prototype,new __)}})();Object.defineProperty(exports,`__esModule`,{value:!0});var tty$5=__require$3(`tty`),terminal_1=require_terminal(),utils_1$25=require_utils$19(),requireBinary_1=require_requireBinary(),pty=requireBinary_1.requireBinary(`pty.node`),helperPath=`@lydell/node-pty-`+process.platform+`-`+process.arch+`/spawn-helper`;helperPath=process.platform===`darwin`?__require$3.resolve(helperPath):`spawn-helper-unused`,helperPath=helperPath.replace(`app.asar`,`app.asar.unpacked`),helperPath=helperPath.replace(`node_modules.asar`,`node_modules.asar.unpacked`);var DEFAULT_FILE=`sh`,DEFAULT_NAME=`xterm`,DESTROY_SOCKET_TIMEOUT_MS=200,UnixTerminal=function(_super){__extends$2(UnixTerminal$1,_super);function UnixTerminal$1(file,args,opt){var _a$15,_b$5,_this=_super.call(this,opt)||this;if(_this._boundClose=!1,_this._emittedClose=!1,typeof args==`string`)throw Error(`args as a string is not supported on unix.`);args||=[],file||=DEFAULT_FILE,opt||={},opt.env=opt.env||process.env,_this._cols=opt.cols||terminal_1.DEFAULT_COLS,_this._rows=opt.rows||terminal_1.DEFAULT_ROWS;var uid$2=(_a$15=opt.uid)??-1,gid=(_b$5=opt.gid)??-1,env$8=utils_1$25.assign({},opt.env);opt.env===process.env&&_this._sanitizeEnv(env$8);var cwd$3=opt.cwd||process.cwd();env$8.PWD=cwd$3;var name$5=opt.name||env$8.TERM||DEFAULT_NAME;env$8.TERM=name$5;var parsedEnv=_this._parseEnv(env$8),encoding=opt.encoding===void 0?`utf8`:opt.encoding,onexit=function(code$1,signal){if(!_this._emittedClose){if(_this._boundClose)return;_this._boundClose=!0;var timeout_1$1=setTimeout(function(){timeout_1$1=null,_this._socket.destroy()},DESTROY_SOCKET_TIMEOUT_MS);_this.once(`close`,function(){timeout_1$1!==null&&clearTimeout(timeout_1$1),_this.emit(`exit`,code$1,signal)});return}_this.emit(`exit`,code$1,signal)},term=pty.fork(file,args,parsedEnv,cwd$3,_this._cols,_this._rows,uid$2,gid,encoding===`utf8`,helperPath,onexit);return _this._socket=new tty$5.ReadStream(term.fd),encoding!==null&&_this._socket.setEncoding(encoding),_this._socket.on(`error`,function(err$2){if(!(err$2.code&&~err$2.code.indexOf(`EAGAIN`))&&(_this._close(),_this._emittedClose||(_this._emittedClose=!0,_this.emit(`close`)),!(err$2.code&&(~err$2.code.indexOf(`errno 5`)||~err$2.code.indexOf(`EIO`)))&&_this.listeners(`error`).length<2))throw err$2}),_this._pid=term.pid,_this._fd=term.fd,_this._pty=term.pty,_this._file=file,_this._name=name$5,_this._readable=!0,_this._writable=!0,_this._socket.on(`close`,function(){_this._emittedClose||(_this._emittedClose=!0,_this._close(),_this.emit(`close`))}),_this._forwardEvents(),_this}return Object.defineProperty(UnixTerminal$1.prototype,`master`,{get:function(){return this._master},enumerable:!0,configurable:!0}),Object.defineProperty(UnixTerminal$1.prototype,`slave`,{get:function(){return this._slave},enumerable:!0,configurable:!0}),UnixTerminal$1.prototype._write=function(data$2){this._socket.write(data$2)},Object.defineProperty(UnixTerminal$1.prototype,`fd`,{get:function(){return this._fd},enumerable:!0,configurable:!0}),Object.defineProperty(UnixTerminal$1.prototype,`ptsName`,{get:function(){return this._pty},enumerable:!0,configurable:!0}),UnixTerminal$1.open=function(opt){var self$1=Object.create(UnixTerminal$1.prototype);opt||={},arguments.length>1&&(opt={cols:arguments[1],rows:arguments[2]});var cols=opt.cols||terminal_1.DEFAULT_COLS,rows=opt.rows||terminal_1.DEFAULT_ROWS,encoding=opt.encoding===void 0?`utf8`:opt.encoding,term=pty.open(cols,rows);return self$1._master=new tty$5.ReadStream(term.master),encoding!==null&&self$1._master.setEncoding(encoding),self$1._master.resume(),self$1._slave=new tty$5.ReadStream(term.slave),encoding!==null&&self$1._slave.setEncoding(encoding),self$1._slave.resume(),self$1._socket=self$1._master,self$1._pid=-1,self$1._fd=term.master,self$1._pty=term.pty,self$1._file=process.argv[0]||`node`,self$1._name=process.env.TERM||``,self$1._readable=!0,self$1._writable=!0,self$1._socket.on(`error`,function(err$2){if(self$1._close(),self$1.listeners(`error`).length<2)throw err$2}),self$1._socket.on(`close`,function(){self$1._close()}),self$1},UnixTerminal$1.prototype.destroy=function(){var _this=this;this._close(),this._socket.once(`close`,function(){_this.kill(`SIGHUP`)}),this._socket.destroy()},UnixTerminal$1.prototype.kill=function(signal){try{process.kill(this.pid,signal||`SIGHUP`)}catch{}},Object.defineProperty(UnixTerminal$1.prototype,`process`,{get:function(){if(process.platform===`darwin`){var title=pty.process(this._fd);return title===`kernel_task`?this._file:title}return pty.process(this._fd,this._pty)||this._file},enumerable:!0,configurable:!0}),UnixTerminal$1.prototype.resize=function(cols,rows){if(cols<=0||rows<=0||isNaN(cols)||isNaN(rows)||cols===1/0||rows===1/0)throw Error(`resizing must be done using positive cols and rows`);pty.resize(this._fd,cols,rows),this._cols=cols,this._rows=rows},UnixTerminal$1.prototype.clear=function(){},UnixTerminal$1.prototype._sanitizeEnv=function(env$8){delete env$8.TMUX,delete env$8.TMUX_PANE,delete env$8.STY,delete env$8.WINDOW,delete env$8.WINDOWID,delete env$8.TERMCAP,delete env$8.COLUMNS,delete env$8.LINES},UnixTerminal$1}(terminal_1.Terminal);exports.UnixTerminal=UnixTerminal})),require_node_pty=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var terminalCtor;terminalCtor=process.platform===`win32`?require_windowsTerminal().WindowsTerminal:require_unixTerminal().UnixTerminal;function spawn$4(file,args,opt){return new terminalCtor(file,args,opt)}exports.spawn=spawn$4;function fork(file,args,opt){return new terminalCtor(file,args,opt)}exports.fork=fork;function createTerminal(file,args,opt){return new terminalCtor(file,args,opt)}exports.createTerminal=createTerminal;function open$1(options$1){return terminalCtor.open(options$1)}exports.open=open$1}));const tempLogPath=path.join(os.tmpdir(),`blink-connect-${process.pid}.log`),serializeError=err$2=>{if(err$2 instanceof Error)return err$2.stack??err$2.message;try{return JSON.stringify(err$2)}catch{return String(err$2)}},appendLog=async message=>{let line$1=`${new Date().toISOString()} ${message}\n`;try{await fs.promises.appendFile(tempLogPath,line$1,`utf8`)}catch{}};async function connect(){let url$3=process.env.BLINK_URL,token$1=process.env.BLINK_TOKEN;delete process.env.BLINK_TOKEN,process.env.GIT_TERMINAL_PROMPT=`0`,process.env.GIT_PAGER=`cat`,process.env.GIT_AUTHOR_NAME=`blink-so[bot]`,process.env.GIT_AUTHOR_EMAIL=`211532188+blink-so[bot]@users.noreply.github.com`,process.env.GIT_COMMITTER_NAME=`blink-so[bot]`,process.env.GIT_COMMITTER_EMAIL=`211532188+blink-so[bot]@users.noreply.github.com`,process.env.GIT_CONFIG_COUNT=`1`,process.env.GIT_CONFIG_KEY_0=`credential.https://github.com.helper`,process.env.GIT_CONFIG_VALUE_0=`!gh auth git-credential`,process.addListener(`uncaughtException`,err$2=>{appendLog(`uncaughtException: ${serializeError(err$2)}`),reportException(token$1,err$2)}),process.addListener(`unhandledRejection`,err$2=>{appendLog(`unhandledRejection: ${serializeError(err$2)}`),reportException(token$1,err$2)});let srv=new WorkspaceConnect({url:url$3??`wss://blink.so/api/connect`,token:token$1,createDeploymentFromTar:async tar=>{let uploadURL=new URL(`/api/static-deployment`,url$3??`https://blink.so`),response=await fetch(uploadURL,{method:`POST`,body:tar,headers:{"Content-Type":`application/tar`,Authorization:`Bearer ${token$1}`},duplex:`half`}),data$2=await response.json();return data$2.deployment_id}});srv.onConnect(()=>{console.log(`Connected`),appendLog(`Connected`)}),srv.onDisconnect(()=>{console.log(`Disconnected`),appendLog(`Disconnected`)})}const reportException=async(token$1,err$2)=>{let url$3=new URL(`https://blink.so/api/connect-error`);await fetch(url$3.toString(),{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${token$1}`},body:JSON.stringify({error:err$2})})};var WorkspaceConnect=class{_onConnect=new Emitter;onConnect=this._onConnect.event;_onDisconnect=new Emitter;onDisconnect=this._onDisconnect.event;reconnectTimeout=null;disposed=!1;ws;server;hasReconnectedOnce=!1;constructor(opts){this.opts=opts;let nodePty;try{nodePty=require_node_pty()}catch{}typeof Bun<`u`&&(nodePty=void 0),this.server=new Server$2({send:message=>{this.ws.readyState===wrapper_default.OPEN?this.ws.send(message):console.warn(`Message skipped because connection is closed.`)},createDeploymentFromTar:this.opts.createDeploymentFromTar,nodePty}),this.connect()}dispose(){this.disposed||(this.disposed=!0,this.ws.close(),this.reconnectTimeout&&clearTimeout(this.reconnectTimeout))}scheduleReconnect(){if(this.disposed)return;let immediateFirst=this.opts.immediateReconnectFirst??!0,baseDelay=this.opts.reconnectionDelay??2500,delay$3=baseDelay;!this.hasReconnectedOnce&&immediateFirst&&(delay$3=0),this.hasReconnectedOnce=!0,this.reconnectTimeout&&clearTimeout(this.reconnectTimeout),this.reconnectTimeout=setTimeout(()=>{this.connect()},delay$3)}connect(){let url$3=new URL(this.opts.url);url$3.protocol===`http:`?url$3.protocol=`ws:`:url$3.protocol===`https:`&&(url$3.protocol=`wss:`);let headers={};this.opts.token&&(headers.Authorization=`Bearer ${this.opts.token}`),this.ws=new wrapper_default(url$3.toString(),{headers}),this.ws.addEventListener(`open`,()=>{this._onConnect.emit()}),this.ws.addEventListener(`close`,()=>{this._onDisconnect.emit(),!this.disposed&&this.scheduleReconnect()}),this.ws.addEventListener(`error`,event=>{console.error(`Error`,event.message??event)}),this.ws.addEventListener(`message`,event=>{if(typeof event.data==`string`){console.warn(`Message skipped because it is not a buffer.`);return}try{this.server.handleMessage(new Uint8Array(event.data))}catch(err$2){console.error(`message handler error`,err$2);try{this.ws.close(1011)}catch{}}})}};init_wrapper();async function chat(){let id=crypto.randomUUID(),ws$2=new import_websocket$2.default(`wss://blink.so/legacy-auth?id=${id}`),opened=new Promise((resolve$10,reject)=>{ws$2.onopen=()=>{resolve$10()},ws$2.onerror=event=>{reject(event)}});await opened;let tokenPromise=new Promise((resolve$10,reject)=>{ws$2.onmessage=event=>{resolve$10(event.data.toString())}}),url$3=`https://blink.so/legacy-auth?id=${id}&type=workspace`;console.log(`Opening the following URL in your browser: ${url$3}`),await open_default(url$3);let token$1=await tokenPromise,srv=new WorkspaceConnect({url:`wss://blink.so/api/connect`,token:token$1});srv.onConnect(()=>{console.log(`Connected to Blink`)}),srv.onDisconnect(()=>{console.log(`Disconnected from Blink`)})}const kFakePromise$1=Symbol.for(`@whatwg-node/promise-helpers/FakePromise`);function isPromise$2(value){return value?.then!=null}function isActualPromise$1(value){let maybePromise=value;return maybePromise&&maybePromise.then&&maybePromise.catch&&maybePromise.finally}function handleMaybePromise(inputFactory,outputSuccessFactory,outputErrorFactory,finallyFactory){let result$=fakePromise().then(inputFactory).then(outputSuccessFactory,outputErrorFactory);return finallyFactory&&(result$=result$.finally(finallyFactory)),unfakePromise(result$)}function fakePromise(value){return value&&isActualPromise$1(value)?value:isPromise$2(value)?{then:(resolve$10,reject)=>fakePromise(value.then(resolve$10,reject)),catch:reject=>fakePromise(value.then(res=>res,reject)),finally:cb=>fakePromise(cb?promiseLikeFinally$1(value,cb):value),[Symbol.toStringTag]:`Promise`}:{then(resolve$10){if(resolve$10)try{return fakePromise(resolve$10(value))}catch(err$2){return fakeRejectPromise$1(err$2)}return this},catch(){return this},finally(cb){if(cb)try{return fakePromise(cb()).then(()=>value,()=>value)}catch(err$2){return fakeRejectPromise$1(err$2)}return this},[Symbol.toStringTag]:`Promise`,__fakePromiseValue:value,[kFakePromise$1]:`resolved`}}function createDeferredPromise$5(){if(Promise.withResolvers)return Promise.withResolvers();let resolveFn,rejectFn,promise$1=new Promise(function(resolve$10,reject){resolveFn=resolve$10,rejectFn=reject});return{promise:promise$1,get resolve(){return resolveFn},get reject(){return rejectFn}}}function iterateAsync(iterable,callback$1,results){if(iterable?.length===0)return;let iterator=iterable[Symbol.iterator](),index=0;function iterate$1(){let{done:endOfIterator,value}=iterator.next();if(endOfIterator)return;let endedEarly=!1;function endEarly(){endedEarly=!0}return handleMaybePromise(function(){return callback$1(value,endEarly,index++)},function(result){if(result&&results?.push(result),!endedEarly)return iterate$1()})}return iterate$1()}function fakeRejectPromise$1(error$22){return{then(_resolve$1,reject){if(reject)try{return fakePromise(reject(error$22))}catch(err$2){return fakeRejectPromise$1(err$2)}return this},catch(reject){if(reject)try{return fakePromise(reject(error$22))}catch(err$2){return fakeRejectPromise$1(err$2)}return this},finally(cb){if(cb)try{cb()}catch(err$2){return fakeRejectPromise$1(err$2)}return this},__fakeRejectError:error$22,[Symbol.toStringTag]:`Promise`,[kFakePromise$1]:`rejected`}}function isFakePromise$1(value){return value?.[kFakePromise$1]===`resolved`}function isFakeRejectPromise$1(value){return value?.[kFakePromise$1]===`rejected`}function promiseLikeFinally$1(value,onFinally){return`finally`in value?value.finally(onFinally):value.then(res=>{let finallyRes=onFinally();return isPromise$2(finallyRes)?finallyRes.then(()=>res):res},err$2=>{let finallyRes=onFinally();if(isPromise$2(finallyRes))return finallyRes.then(()=>{throw err$2});throw err$2})}function unfakePromise(promise$1){if(isFakePromise$1(promise$1))return promise$1.__fakePromiseValue;if(isFakeRejectPromise$1(promise$1))throw promise$1.__fakeRejectError;return promise$1}function chain$1(first$1,next){let merged={...next,...first$1};for(let key of Object.keys(merged))key in first$1&&key in next&&(merged[key]=(payload,wrapped)=>first$1[key](payload,()=>next[key](payload,wrapped)));return merged}const getInstrumented=payload=>({fn(instrument,wrapped){return instrument?(...args)=>{let result;return instrument(payload,()=>{result=wrapped(...args)}),result}:wrapped},asyncFn(instrument,wrapped){return instrument?(...args)=>{let result;return handleMaybePromise(()=>instrument(payload,()=>(result=wrapped(...args),isPromise$2(result)?result.then(()=>void 0):void 0)),()=>result)}:wrapped}});var PonyfillSuppressedError$1=class extends Error{error;suppressed;constructor(error$22,suppressed,message){super(message),this.error=error$22,this.suppressed=suppressed,this.name=`SuppressedError`,Error.captureStackTrace(this,this.constructor)}};const DisposableSymbols={get dispose(){return Symbol.dispose||Symbol.for(`dispose`)},get asyncDispose(){return Symbol.asyncDispose||Symbol.for(`asyncDispose`)}};function isSyncDisposable$1(obj){return obj?.[DisposableSymbols.dispose]!=null}function isAsyncDisposable$1(obj){return obj?.[DisposableSymbols.asyncDispose]!=null}const SuppressedError$5=globalThis.SuppressedError||PonyfillSuppressedError$1;var PonyfillAsyncDisposableStack$1=class PonyfillAsyncDisposableStack$1{callbacks=[];get disposed(){return this.callbacks.length===0}use(value){return isAsyncDisposable$1(value)?this.callbacks.push(()=>value[DisposableSymbols.asyncDispose]()):isSyncDisposable$1(value)&&this.callbacks.push(()=>value[DisposableSymbols.dispose]()),value}adopt(value,onDisposeAsync){return onDisposeAsync&&this.callbacks.push(()=>onDisposeAsync(value)),value}defer(onDisposeAsync){onDisposeAsync&&this.callbacks.push(onDisposeAsync)}move(){let stack=new PonyfillAsyncDisposableStack$1;return stack.callbacks=this.callbacks,this.callbacks=[],stack}disposeAsync(){return this[DisposableSymbols.asyncDispose]()}_error;_iterateCallbacks(){let cb=this.callbacks.pop();if(cb)return handleMaybePromise(cb,()=>this._iterateCallbacks(),error$22=>(this._error=this._error?new SuppressedError$5(error$22,this._error):error$22,this._iterateCallbacks()))}[DisposableSymbols.asyncDispose](){let res$=this._iterateCallbacks();if(res$?.then)return res$.then(()=>{if(this._error){let error$22=this._error;throw this._error=void 0,error$22}});if(this._error){let error$22=this._error;throw this._error=void 0,error$22}}[Symbol.toStringTag]=`AsyncDisposableStack`};const SuppressedError$4=globalThis.SuppressedError||PonyfillSuppressedError$1;var PonyfillDisposableStack$1=class PonyfillDisposableStack$1{callbacks=[];get disposed(){return this.callbacks.length===0}use(value){return isSyncDisposable$1(value)&&this.callbacks.push(()=>value[DisposableSymbols.dispose]()),value}adopt(value,onDispose){return onDispose&&this.callbacks.push(()=>onDispose(value)),value}defer(onDispose){onDispose&&this.callbacks.push(onDispose)}move(){let stack=new PonyfillDisposableStack$1;return stack.callbacks=this.callbacks,this.callbacks=[],stack}dispose(){return this[DisposableSymbols.dispose]()}_error;_iterateCallbacks(){let cb=this.callbacks.pop();if(cb){try{cb()}catch(error$22){this._error=this._error?new SuppressedError$4(error$22,this._error):error$22}return this._iterateCallbacks()}}[DisposableSymbols.dispose](){if(this._iterateCallbacks(),this._error){let error$22=this._error;throw this._error=void 0,error$22}}[Symbol.toStringTag]=`DisposableStack`};const DisposableStack=globalThis.DisposableStack||PonyfillDisposableStack$1,AsyncDisposableStack=globalThis.AsyncDisposableStack||PonyfillAsyncDisposableStack$1,SuppressedError$3=globalThis.SuppressedError||PonyfillSuppressedError$1;var require_shouldSkipPonyfill=__commonJSMin(((exports,module)=>{function isNextJs(){return Object.keys(globalThis).some(key=>key.startsWith(`__NEXT`))}module.exports=function(){return!!(globalThis.Deno||globalThis.Bun||isNextJs())}})),require_urlpattern=__commonJSMin(((exports,module)=>{var U$3=Object.defineProperty,Re$1=Object.getOwnPropertyDescriptor,Ee$1=Object.getOwnPropertyNames,Oe$1=Object.prototype.hasOwnProperty,a$3=(e$3,t$1)=>U$3(e$3,`name`,{value:t$1,configurable:!0}),ke$1=(e$3,t$1)=>{for(var r$3 in t$1)U$3(e$3,r$3,{get:t$1[r$3],enumerable:!0})},Te$2=(e$3,t$1,r$3,n$2)=>{if(t$1&&typeof t$1==`object`||typeof t$1==`function`)for(let o$3 of Ee$1(t$1))!Oe$1.call(e$3,o$3)&&o$3!==r$3&&U$3(e$3,o$3,{get:()=>t$1[o$3],enumerable:!(n$2=Re$1(t$1,o$3))||n$2.enumerable});return e$3},Ae$1=e$3=>Te$2(U$3({},`__esModule`,{value:!0}),e$3),He$1={};ke$1(He$1,{URLPattern:()=>M$2}),module.exports=Ae$1(He$1);var P$3=class{type=3;name=``;prefix=``;value=``;suffix=``;modifier=3;constructor(t$1,r$3,n$2,o$3,l$2,f){this.type=t$1,this.name=r$3,this.prefix=n$2,this.value=o$3,this.suffix=l$2,this.modifier=f}hasCustomName(){return this.name!==``&&typeof this.name!=`number`}};a$3(P$3,`Part`);var ye$2=/[$_\p{ID_Start}]/u,we$2=/[$_\u200C\u200D\p{ID_Continue}]/u,F$2=`.*`;function Ce$2(e$3,t$1){return(t$1?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(e$3)}a$3(Ce$2,`isASCII`);function W$3(e$3,t$1=!1){let r$3=[],n$2=0;for(;n$2<e$3.length;){let o$3=e$3[n$2],l$2=a$3(function(f){if(!t$1)throw TypeError(f);r$3.push({type:`INVALID_CHAR`,index:n$2,value:e$3[n$2++]})},`ErrorOrInvalid`);if(o$3===`*`){r$3.push({type:`ASTERISK`,index:n$2,value:e$3[n$2++]});continue}if(o$3===`+`||o$3===`?`){r$3.push({type:`OTHER_MODIFIER`,index:n$2,value:e$3[n$2++]});continue}if(o$3===`\\`){r$3.push({type:`ESCAPED_CHAR`,index:n$2++,value:e$3[n$2++]});continue}if(o$3===`{`){r$3.push({type:`OPEN`,index:n$2,value:e$3[n$2++]});continue}if(o$3===`}`){r$3.push({type:`CLOSE`,index:n$2,value:e$3[n$2++]});continue}if(o$3===`:`){let f=``,s$3=n$2+1;for(;s$3<e$3.length;){let i$7=e$3.substr(s$3,1);if(s$3===n$2+1&&ye$2.test(i$7)||s$3!==n$2+1&&we$2.test(i$7)){f+=e$3[s$3++];continue}break}if(!f){l$2(`Missing parameter name at ${n$2}`);continue}r$3.push({type:`NAME`,index:n$2,value:f}),n$2=s$3;continue}if(o$3===`(`){let f=1,s$3=``,i$7=n$2+1,c$3=!1;if(e$3[i$7]===`?`){l$2(`Pattern cannot start with "?" at ${i$7}`);continue}for(;i$7<e$3.length;){if(!Ce$2(e$3[i$7],!1)){l$2(`Invalid character '${e$3[i$7]}' at ${i$7}.`),c$3=!0;break}if(e$3[i$7]===`\\`){s$3+=e$3[i$7++]+e$3[i$7++];continue}if(e$3[i$7]===`)`){if(f--,f===0){i$7++;break}}else if(e$3[i$7]===`(`&&(f++,e$3[i$7+1]!==`?`)){l$2(`Capturing groups are not allowed at ${i$7}`),c$3=!0;break}s$3+=e$3[i$7++]}if(c$3)continue;if(f){l$2(`Unbalanced pattern at ${n$2}`);continue}if(!s$3){l$2(`Missing pattern at ${n$2}`);continue}r$3.push({type:`REGEX`,index:n$2,value:s$3}),n$2=i$7;continue}r$3.push({type:`CHAR`,index:n$2,value:e$3[n$2++]})}return r$3.push({type:`END`,index:n$2,value:``}),r$3}a$3(W$3,`lexer`);function _$5(e$3,t$1={}){let r$3=W$3(e$3);t$1.delimiter??=`/#?`,t$1.prefixes??=`./`;let n$2=`[^${x$3(t$1.delimiter)}]+?`,o$3=[],l$2=0,f=0,i$7=new Set,c$3=a$3(u$18=>{if(f<r$3.length&&r$3[f].type===u$18)return r$3[f++].value},`tryConsume`),h$4=a$3(()=>c$3(`OTHER_MODIFIER`)??c$3(`ASTERISK`),`tryConsumeModifier`),p$2=a$3(u$18=>{let d$5=c$3(u$18);if(d$5!==void 0)return d$5;let{type:g$1,index:y$3}=r$3[f];throw TypeError(`Unexpected ${g$1} at ${y$3}, expected ${u$18}`)},`mustConsume`),A$2=a$3(()=>{let u$18=``,d$5;for(;d$5=c$3(`CHAR`)??c$3(`ESCAPED_CHAR`);)u$18+=d$5;return u$18},`consumeText`),be$2=a$3(u$18=>u$18,`DefaultEncodePart`),N$2=t$1.encodePart||be$2,H$2=``,v$2=a$3(u$18=>{H$2+=u$18},`appendToPendingFixedValue`),D$2=a$3(()=>{H$2.length&&(o$3.push(new P$3(3,``,``,N$2(H$2),``,3)),H$2=``)},`maybeAddPartFromPendingFixedValue`),Z$1=a$3((u$18,d$5,g$1,y$3,B$2)=>{let m$3=3;switch(B$2){case`?`:m$3=1;break;case`*`:m$3=0;break;case`+`:m$3=2;break}if(!d$5&&!g$1&&m$3===3){v$2(u$18);return}if(D$2(),!d$5&&!g$1){if(!u$18)return;o$3.push(new P$3(3,``,``,N$2(u$18),``,m$3));return}let S$2;S$2=g$1?g$1===`*`?F$2:g$1:n$2;let k$2=2;S$2===n$2?(k$2=1,S$2=``):S$2===F$2&&(k$2=0,S$2=``);let E$2;if(d$5?E$2=d$5:g$1&&(E$2=l$2++),i$7.has(E$2))throw TypeError(`Duplicate name '${E$2}'.`);i$7.add(E$2),o$3.push(new P$3(k$2,E$2,N$2(u$18),S$2,N$2(y$3),m$3))},`addPart`);for(;f<r$3.length;){let u$18=c$3(`CHAR`),d$5=c$3(`NAME`),g$1=c$3(`REGEX`);if(!d$5&&!g$1&&(g$1=c$3(`ASTERISK`)),d$5||g$1){let m$3=u$18??``;t$1.prefixes.indexOf(m$3)===-1&&(v$2(m$3),m$3=``),D$2();let S$2=h$4();Z$1(m$3,d$5,g$1,``,S$2);continue}let y$3=u$18??c$3(`ESCAPED_CHAR`);if(y$3){v$2(y$3);continue}if(c$3(`OPEN`)){let m$3=A$2(),S$2=c$3(`NAME`),k$2=c$3(`REGEX`);!S$2&&!k$2&&(k$2=c$3(`ASTERISK`));let E$2=A$2();p$2(`CLOSE`);let Pe$1=h$4();Z$1(m$3,S$2,k$2,E$2,Pe$1);continue}D$2(),p$2(`END`)}return o$3}a$3(_$5,`parse`);function x$3(e$3){return e$3.replace(/([.+*?^${}()[\]|/\\])/g,`\\$1`)}a$3(x$3,`escapeString`);function q$4(e$3){return e$3&&e$3.ignoreCase?`ui`:`u`}a$3(q$4,`flags`);function J$3(e$3,t$1,r$3){return z$5(_$5(e$3,r$3),t$1,r$3)}a$3(J$3,`stringToRegexp`);function T$2(e$3){switch(e$3){case 0:return`*`;case 1:return`?`;case 2:return`+`;case 3:return``}}a$3(T$2,`modifierToString`);function z$5(e$3,t$1,r$3={}){r$3.delimiter??=`/#?`,r$3.prefixes??=`./`,r$3.sensitive??=!1,r$3.strict??=!1,r$3.end??=!0,r$3.start??=!0,r$3.endsWith=``;let n$2=r$3.start?`^`:``;for(let s$3 of e$3){if(s$3.type===3){s$3.modifier===3?n$2+=x$3(s$3.value):n$2+=`(?:${x$3(s$3.value)})${T$2(s$3.modifier)}`;continue}t$1&&t$1.push(s$3.name);let i$7=`[^${x$3(r$3.delimiter)}]+?`,c$3=s$3.value;if(s$3.type===1?c$3=i$7:s$3.type===0&&(c$3=F$2),!s$3.prefix.length&&!s$3.suffix.length){s$3.modifier===3||s$3.modifier===1?n$2+=`(${c$3})${T$2(s$3.modifier)}`:n$2+=`((?:${c$3})${T$2(s$3.modifier)})`;continue}if(s$3.modifier===3||s$3.modifier===1){n$2+=`(?:${x$3(s$3.prefix)}(${c$3})${x$3(s$3.suffix)})`,n$2+=T$2(s$3.modifier);continue}n$2+=`(?:${x$3(s$3.prefix)}`,n$2+=`((?:${c$3})(?:`,n$2+=x$3(s$3.suffix),n$2+=x$3(s$3.prefix),n$2+=`(?:${c$3}))*)${x$3(s$3.suffix)})`,s$3.modifier===0&&(n$2+=`?`)}let o$3=`[${x$3(r$3.endsWith)}]|$`,l$2=`[${x$3(r$3.delimiter)}]`;if(r$3.end)return r$3.strict||(n$2+=`${l$2}?`),r$3.endsWith.length?n$2+=`(?=${o$3})`:n$2+=`$`,new RegExp(n$2,q$4(r$3));r$3.strict||(n$2+=`(?:${l$2}(?=${o$3}))?`);let f=!1;if(e$3.length){let s$3=e$3[e$3.length-1];s$3.type===3&&s$3.modifier===3&&(f=r$3.delimiter.indexOf(s$3)>-1)}return f||(n$2+=`(?=${l$2}|${o$3})`),new RegExp(n$2,q$4(r$3))}a$3(z$5,`partsToRegexp`);var b$3={delimiter:``,prefixes:``,sensitive:!0,strict:!0},Q$2={delimiter:`.`,prefixes:``,sensitive:!0,strict:!0},ee={delimiter:`/`,prefixes:`/`,sensitive:!0,strict:!0};function te(e$3,t$1){return e$3.length?e$3[0]===`/`?!0:!t$1||e$3.length<2?!1:(e$3[0]==`\\`||e$3[0]==`{`)&&e$3[1]==`/`:!1}a$3(te,`isAbsolutePathname`);function re$3(e$3,t$1){return e$3.startsWith(t$1)?e$3.substring(t$1.length,e$3.length):e$3}a$3(re$3,`maybeStripPrefix`);function Le$1(e$3,t$1){return e$3.endsWith(t$1)?e$3.substr(0,e$3.length-t$1.length):e$3}a$3(Le$1,`maybeStripSuffix`);function j$1(e$3){return!e$3||e$3.length<2?!1:e$3[0]===`[`||(e$3[0]===`\\`||e$3[0]===`{`)&&e$3[1]===`[`}a$3(j$1,`treatAsIPv6Hostname`);var ne=[`ftp`,`file`,`http`,`https`,`ws`,`wss`];function $$12(e$3){if(!e$3)return!0;for(let t$1 of ne)if(e$3.test(t$1))return!0;return!1}a$3($$12,`isSpecialScheme`);function se$1(e$3,t$1){if(e$3=re$3(e$3,`#`),t$1||e$3===``)return e$3;let r$3=new URL(`https://example.com`);return r$3.hash=e$3,r$3.hash?r$3.hash.substring(1,r$3.hash.length):``}a$3(se$1,`canonicalizeHash`);function ie$1(e$3,t$1){if(e$3=re$3(e$3,`?`),t$1||e$3===``)return e$3;let r$3=new URL(`https://example.com`);return r$3.search=e$3,r$3.search?r$3.search.substring(1,r$3.search.length):``}a$3(ie$1,`canonicalizeSearch`);function ae$2(e$3,t$1){return t$1||e$3===``?e$3:j$1(e$3)?V$4(e$3):G$2(e$3)}a$3(ae$2,`canonicalizeHostname`);function oe$2(e$3,t$1){if(t$1||e$3===``)return e$3;let r$3=new URL(`https://example.com`);return r$3.password=e$3,r$3.password}a$3(oe$2,`canonicalizePassword`);function ce$2(e$3,t$1){if(t$1||e$3===``)return e$3;let r$3=new URL(`https://example.com`);return r$3.username=e$3,r$3.username}a$3(ce$2,`canonicalizeUsername`);function le$2(e$3,t$1,r$3){if(r$3||e$3===``)return e$3;if(t$1&&!ne.includes(t$1))return new URL(`${t$1}:${e$3}`).pathname;let n$2=e$3[0]==`/`;return e$3=new URL(n$2?e$3:`/-`+e$3,`https://example.com`).pathname,n$2||(e$3=e$3.substring(2,e$3.length)),e$3}a$3(le$2,`canonicalizePathname`);function fe$2(e$3,t$1,r$3){return K$3(t$1)===e$3&&(e$3=``),r$3||e$3===``?e$3:Y$2(e$3)}a$3(fe$2,`canonicalizePort`);function he$2(e$3,t$1){return e$3=Le$1(e$3,`:`),t$1||e$3===``?e$3:w$3(e$3)}a$3(he$2,`canonicalizeProtocol`);function K$3(e$3){switch(e$3){case`ws`:case`http`:return`80`;case`wws`:case`https`:return`443`;case`ftp`:return`21`;default:return``}}a$3(K$3,`defaultPortForProtocol`);function w$3(e$3){if(e$3===``)return e$3;if(/^[-+.A-Za-z0-9]*$/.test(e$3))return e$3.toLowerCase();throw TypeError(`Invalid protocol '${e$3}'.`)}a$3(w$3,`protocolEncodeCallback`);function ue$2(e$3){if(e$3===``)return e$3;let t$1=new URL(`https://example.com`);return t$1.username=e$3,t$1.username}a$3(ue$2,`usernameEncodeCallback`);function de$2(e$3){if(e$3===``)return e$3;let t$1=new URL(`https://example.com`);return t$1.password=e$3,t$1.password}a$3(de$2,`passwordEncodeCallback`);function G$2(e$3){if(e$3===``)return e$3;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e$3))throw TypeError(`Invalid hostname '${e$3}'`);let t$1=new URL(`https://example.com`);return t$1.hostname=e$3,t$1.hostname}a$3(G$2,`hostnameEncodeCallback`);function V$4(e$3){if(e$3===``)return e$3;if(/[^0-9a-fA-F[\]:]/g.test(e$3))throw TypeError(`Invalid IPv6 hostname '${e$3}'`);return e$3.toLowerCase()}a$3(V$4,`ipv6HostnameEncodeCallback`);function Y$2(e$3){if(e$3===``||/^[0-9]*$/.test(e$3)&&parseInt(e$3)<=65535)return e$3;throw TypeError(`Invalid port '${e$3}'.`)}a$3(Y$2,`portEncodeCallback`);function pe$2(e$3){if(e$3===``)return e$3;let t$1=new URL(`https://example.com`);return t$1.pathname=e$3[0]===`/`?e$3:`/-`+e$3,e$3[0]===`/`?t$1.pathname:t$1.pathname.substring(2,t$1.pathname.length)}a$3(pe$2,`standardURLPathnameEncodeCallback`);function ge$2(e$3){return e$3===``?e$3:new URL(`data:${e$3}`).pathname}a$3(ge$2,`pathURLPathnameEncodeCallback`);function me$1(e$3){if(e$3===``)return e$3;let t$1=new URL(`https://example.com`);return t$1.search=e$3,t$1.search.substring(1,t$1.search.length)}a$3(me$1,`searchEncodeCallback`);function Se$2(e$3){if(e$3===``)return e$3;let t$1=new URL(`https://example.com`);return t$1.hash=e$3,t$1.hash.substring(1,t$1.hash.length)}a$3(Se$2,`hashEncodeCallback`);var C$2=class{#i;#n=[];#t={};#e=0;#s=1;#l=0;#o=0;#d=0;#p=0;#g=!1;constructor(t$1){this.#i=t$1}get result(){return this.#t}parse(){for(this.#n=W$3(this.#i,!0);this.#e<this.#n.length;this.#e+=this.#s){if(this.#s=1,this.#n[this.#e].type===`END`){if(this.#o===0){this.#b(),this.#f()?this.#r(9,1):this.#h()?this.#r(8,1):this.#r(7,0);continue}else if(this.#o===2){this.#u(5);continue}this.#r(10,0);break}if(this.#d>0)if(this.#A())--this.#d;else continue;if(this.#T()){this.#d+=1;continue}switch(this.#o){case 0:this.#P()&&this.#u(1);break;case 1:if(this.#P()){this.#C();let t$1=7,r$3=1;this.#E()?(t$1=2,r$3=3):this.#g&&(t$1=2),this.#r(t$1,r$3)}break;case 2:this.#S()?this.#u(3):(this.#x()||this.#h()||this.#f())&&this.#u(5);break;case 3:this.#O()?this.#r(4,1):this.#S()&&this.#r(5,1);break;case 4:this.#S()&&this.#r(5,1);break;case 5:this.#y()?this.#p+=1:this.#w()&&--this.#p,this.#k()&&!this.#p?this.#r(6,1):this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 6:this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 7:this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 8:this.#f()&&this.#r(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port=``)}#r(t$1,r$3){switch(this.#o){case 0:break;case 1:this.#t.protocol=this.#c();break;case 2:break;case 3:this.#t.username=this.#c();break;case 4:this.#t.password=this.#c();break;case 5:this.#t.hostname=this.#c();break;case 6:this.#t.port=this.#c();break;case 7:this.#t.pathname=this.#c();break;case 8:this.#t.search=this.#c();break;case 9:this.#t.hash=this.#c();break;case 10:break}this.#o!==0&&t$1!==10&&([1,2,3,4].includes(this.#o)&&[6,7,8,9].includes(t$1)&&(this.#t.hostname??=``),[1,2,3,4,5,6].includes(this.#o)&&[8,9].includes(t$1)&&(this.#t.pathname??=this.#g?`/`:``),[1,2,3,4,5,6,7].includes(this.#o)&&t$1===9&&(this.#t.search??=``)),this.#R(t$1,r$3)}#R(t$1,r$3){this.#o=t$1,this.#l=this.#e+r$3,this.#e+=r$3,this.#s=0}#b(){this.#e=this.#l,this.#s=0}#u(t$1){this.#b(),this.#o=t$1}#m(t$1){return t$1<0&&(t$1=this.#n.length-t$1),t$1<this.#n.length?this.#n[t$1]:this.#n[this.#n.length-1]}#a(t$1,r$3){let n$2=this.#m(t$1);return n$2.value===r$3&&(n$2.type===`CHAR`||n$2.type===`ESCAPED_CHAR`||n$2.type===`INVALID_CHAR`)}#P(){return this.#a(this.#e,`:`)}#E(){return this.#a(this.#e+1,`/`)&&this.#a(this.#e+2,`/`)}#S(){return this.#a(this.#e,`@`)}#O(){return this.#a(this.#e,`:`)}#k(){return this.#a(this.#e,`:`)}#x(){return this.#a(this.#e,`/`)}#h(){if(this.#a(this.#e,`?`))return!0;if(this.#n[this.#e].value!==`?`)return!1;let t$1=this.#m(this.#e-1);return t$1.type!==`NAME`&&t$1.type!==`REGEX`&&t$1.type!==`CLOSE`&&t$1.type!==`ASTERISK`}#f(){return this.#a(this.#e,`#`)}#T(){return this.#n[this.#e].type==`OPEN`}#A(){return this.#n[this.#e].type==`CLOSE`}#y(){return this.#a(this.#e,`[`)}#w(){return this.#a(this.#e,`]`)}#c(){let t$1=this.#n[this.#e],r$3=this.#m(this.#l).index;return this.#i.substring(r$3,t$1.index)}#C(){let t$1={};Object.assign(t$1,b$3),t$1.encodePart=w$3;let r$3=J$3(this.#c(),void 0,t$1);this.#g=$$12(r$3)}};a$3(C$2,`Parser`);var X$1=[`protocol`,`username`,`password`,`hostname`,`port`,`pathname`,`search`,`hash`],O$2=`*`;function xe$2(e$3,t$1){if(typeof e$3!=`string`)throw TypeError(`parameter 1 is not of type 'string'.`);let r$3=new URL(e$3,t$1);return{protocol:r$3.protocol.substring(0,r$3.protocol.length-1),username:r$3.username,password:r$3.password,hostname:r$3.hostname,port:r$3.port,pathname:r$3.pathname,search:r$3.search===``?void 0:r$3.search.substring(1,r$3.search.length),hash:r$3.hash===``?void 0:r$3.hash.substring(1,r$3.hash.length)}}a$3(xe$2,`extractValues`);function R$2(e$3,t$1){return t$1?I$3(e$3):e$3}a$3(R$2,`processBaseURLString`);function L$3(e$3,t$1,r$3){let n$2;if(typeof t$1.baseURL==`string`)try{n$2=new URL(t$1.baseURL),t$1.protocol===void 0&&(e$3.protocol=R$2(n$2.protocol.substring(0,n$2.protocol.length-1),r$3)),!r$3&&t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&t$1.username===void 0&&(e$3.username=R$2(n$2.username,r$3)),!r$3&&t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&t$1.username===void 0&&t$1.password===void 0&&(e$3.password=R$2(n$2.password,r$3)),t$1.protocol===void 0&&t$1.hostname===void 0&&(e$3.hostname=R$2(n$2.hostname,r$3)),t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&(e$3.port=R$2(n$2.port,r$3)),t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&t$1.pathname===void 0&&(e$3.pathname=R$2(n$2.pathname,r$3)),t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&t$1.pathname===void 0&&t$1.search===void 0&&(e$3.search=R$2(n$2.search.substring(1,n$2.search.length),r$3)),t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&t$1.pathname===void 0&&t$1.search===void 0&&t$1.hash===void 0&&(e$3.hash=R$2(n$2.hash.substring(1,n$2.hash.length),r$3))}catch{throw TypeError(`invalid baseURL '${t$1.baseURL}'.`)}if(typeof t$1.protocol==`string`&&(e$3.protocol=he$2(t$1.protocol,r$3)),typeof t$1.username==`string`&&(e$3.username=ce$2(t$1.username,r$3)),typeof t$1.password==`string`&&(e$3.password=oe$2(t$1.password,r$3)),typeof t$1.hostname==`string`&&(e$3.hostname=ae$2(t$1.hostname,r$3)),typeof t$1.port==`string`&&(e$3.port=fe$2(t$1.port,e$3.protocol,r$3)),typeof t$1.pathname==`string`){if(e$3.pathname=t$1.pathname,n$2&&!te(e$3.pathname,r$3)){let o$3=n$2.pathname.lastIndexOf(`/`);o$3>=0&&(e$3.pathname=R$2(n$2.pathname.substring(0,o$3+1),r$3)+e$3.pathname)}e$3.pathname=le$2(e$3.pathname,e$3.protocol,r$3)}return typeof t$1.search==`string`&&(e$3.search=ie$1(t$1.search,r$3)),typeof t$1.hash==`string`&&(e$3.hash=se$1(t$1.hash,r$3)),e$3}a$3(L$3,`applyInit`);function I$3(e$3){return e$3.replace(/([+*?:{}()\\])/g,`\\$1`)}a$3(I$3,`escapePatternString`);function Ie$2(e$3){return e$3.replace(/([.+*?^${}()[\]|/\\])/g,`\\$1`)}a$3(Ie$2,`escapeRegexpString`);function Ne$1(e$3,t$1){t$1.delimiter??=`/#?`,t$1.prefixes??=`./`,t$1.sensitive??=!1,t$1.strict??=!1,t$1.end??=!0,t$1.start??=!0,t$1.endsWith=``;let r$3=`.*`,n$2=`[^${Ie$2(t$1.delimiter)}]+?`,o$3=/[$_\u200C\u200D\p{ID_Continue}]/u,l$2=``;for(let f=0;f<e$3.length;++f){let s$3=e$3[f];if(s$3.type===3){if(s$3.modifier===3){l$2+=I$3(s$3.value);continue}l$2+=`{${I$3(s$3.value)}}${T$2(s$3.modifier)}`;continue}let i$7=s$3.hasCustomName(),c$3=!!s$3.suffix.length||!!s$3.prefix.length&&(s$3.prefix.length!==1||!t$1.prefixes.includes(s$3.prefix)),h$4=f>0?e$3[f-1]:null,p$2=f<e$3.length-1?e$3[f+1]:null;if(!c$3&&i$7&&s$3.type===1&&s$3.modifier===3&&p$2&&!p$2.prefix.length&&!p$2.suffix.length)if(p$2.type===3){let A$2=p$2.value.length>0?p$2.value[0]:``;c$3=o$3.test(A$2)}else c$3=!p$2.hasCustomName();if(!c$3&&!s$3.prefix.length&&h$4&&h$4.type===3){let A$2=h$4.value[h$4.value.length-1];c$3=t$1.prefixes.includes(A$2)}c$3&&(l$2+=`{`),l$2+=I$3(s$3.prefix),i$7&&(l$2+=`:${s$3.name}`),s$3.type===2?l$2+=`(${s$3.value})`:s$3.type===1?i$7||(l$2+=`(${n$2})`):s$3.type===0&&(!i$7&&(!h$4||h$4.type===3||h$4.modifier!==3||c$3||s$3.prefix!==``)?l$2+=`*`:l$2+=`(.*)`),s$3.type===1&&i$7&&s$3.suffix.length&&o$3.test(s$3.suffix[0])&&(l$2+=`\\`),l$2+=I$3(s$3.suffix),c$3&&(l$2+=`}`),s$3.modifier!==3&&(l$2+=T$2(s$3.modifier))}return l$2}a$3(Ne$1,`partsToPattern`);var M$2=class{#i;#n={};#t={};#e={};#s={};#l=!1;constructor(t$1={},r$3,n$2){try{let o$3;if(typeof r$3==`string`?o$3=r$3:n$2=r$3,typeof t$1==`string`){let i$7=new C$2(t$1);if(i$7.parse(),t$1=i$7.result,o$3===void 0&&typeof t$1.protocol!=`string`)throw TypeError(`A base URL must be provided for a relative constructor string.`);t$1.baseURL=o$3}else{if(!t$1||typeof t$1!=`object`)throw TypeError(`parameter 1 is not of type 'string' and cannot convert to dictionary.`);if(o$3)throw TypeError(`parameter 1 is not of type 'string'.`)}typeof n$2>`u`&&(n$2={ignoreCase:!1});let l$2={ignoreCase:n$2.ignoreCase===!0},f={pathname:O$2,protocol:O$2,username:O$2,password:O$2,hostname:O$2,port:O$2,search:O$2,hash:O$2};this.#i=L$3(f,t$1,!0),K$3(this.#i.protocol)===this.#i.port&&(this.#i.port=``);let s$3;for(s$3 of X$1){if(!(s$3 in this.#i))continue;let i$7={},c$3=this.#i[s$3];switch(this.#t[s$3]=[],s$3){case`protocol`:Object.assign(i$7,b$3),i$7.encodePart=w$3;break;case`username`:Object.assign(i$7,b$3),i$7.encodePart=ue$2;break;case`password`:Object.assign(i$7,b$3),i$7.encodePart=de$2;break;case`hostname`:Object.assign(i$7,Q$2),j$1(c$3)?i$7.encodePart=V$4:i$7.encodePart=G$2;break;case`port`:Object.assign(i$7,b$3),i$7.encodePart=Y$2;break;case`pathname`:$$12(this.#n.protocol)?(Object.assign(i$7,ee,l$2),i$7.encodePart=pe$2):(Object.assign(i$7,b$3,l$2),i$7.encodePart=ge$2);break;case`search`:Object.assign(i$7,b$3,l$2),i$7.encodePart=me$1;break;case`hash`:Object.assign(i$7,b$3,l$2),i$7.encodePart=Se$2;break}try{this.#s[s$3]=_$5(c$3,i$7),this.#n[s$3]=z$5(this.#s[s$3],this.#t[s$3],i$7),this.#e[s$3]=Ne$1(this.#s[s$3],i$7),this.#l=this.#l||this.#s[s$3].some(h$4=>h$4.type===2)}catch{throw TypeError(`invalid ${s$3} pattern '${this.#i[s$3]}'.`)}}}catch(o$3){throw TypeError(`Failed to construct 'URLPattern': ${o$3.message}`)}}get[Symbol.toStringTag](){return`URLPattern`}test(t$1={},r$3){let n$2={pathname:``,protocol:``,username:``,password:``,hostname:``,port:``,search:``,hash:``};if(typeof t$1!=`string`&&r$3)throw TypeError(`parameter 1 is not of type 'string'.`);if(typeof t$1>`u`)return!1;try{n$2=typeof t$1==`object`?L$3(n$2,t$1,!1):L$3(n$2,xe$2(t$1,r$3),!1)}catch{return!1}let o$3;for(o$3 of X$1)if(!this.#n[o$3].exec(n$2[o$3]))return!1;return!0}exec(t$1={},r$3){let n$2={pathname:``,protocol:``,username:``,password:``,hostname:``,port:``,search:``,hash:``};if(typeof t$1!=`string`&&r$3)throw TypeError(`parameter 1 is not of type 'string'.`);if(typeof t$1>`u`)return;try{n$2=typeof t$1==`object`?L$3(n$2,t$1,!1):L$3(n$2,xe$2(t$1,r$3),!1)}catch{return null}let o$3={};r$3?o$3.inputs=[t$1,r$3]:o$3.inputs=[t$1];let l$2;for(l$2 of X$1){let f=this.#n[l$2].exec(n$2[l$2]);if(!f)return null;let s$3={};for(let[i$7,c$3]of this.#t[l$2].entries())if(typeof c$3==`string`||typeof c$3==`number`){let h$4=f[i$7+1];s$3[c$3]=h$4}o$3[l$2]={input:n$2[l$2]??``,groups:s$3}}return o$3}static compareComponent(t$1,r$3,n$2){let o$3=a$3((i$7,c$3)=>{for(let h$4 of[`type`,`modifier`,`prefix`,`value`,`suffix`]){if(i$7[h$4]<c$3[h$4])return-1;if(i$7[h$4]===c$3[h$4])continue;return 1}return 0},`comparePart`),l$2=new P$3(3,``,``,``,``,3),f=new P$3(0,``,``,``,``,3),s$3=a$3((i$7,c$3)=>{let h$4=0;for(;h$4<Math.min(i$7.length,c$3.length);++h$4){let p$2=o$3(i$7[h$4],c$3[h$4]);if(p$2)return p$2}return i$7.length===c$3.length?0:o$3(i$7[h$4]??l$2,c$3[h$4]??l$2)},`comparePartList`);return!r$3.#e[t$1]&&!n$2.#e[t$1]?0:r$3.#e[t$1]&&!n$2.#e[t$1]?s$3(r$3.#s[t$1],[f]):!r$3.#e[t$1]&&n$2.#e[t$1]?s$3([f],n$2.#s[t$1]):s$3(r$3.#s[t$1],n$2.#s[t$1])}get protocol(){return this.#e.protocol}get username(){return this.#e.username}get password(){return this.#e.password}get hostname(){return this.#e.hostname}get port(){return this.#e.port}get pathname(){return this.#e.pathname}get search(){return this.#e.search}get hash(){return this.#e.hash}get hasRegExpGroups(){return this.#l}};a$3(M$2,`URLPattern`)})),require_urlpattern_polyfill=__commonJSMin(((exports,module)=>{let{URLPattern}=require_urlpattern();module.exports={URLPattern},globalThis.URLPattern||(globalThis.URLPattern=URLPattern)})),require_cjs$4=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.isPromise=isPromise$3,exports.isActualPromise=isActualPromise,exports.handleMaybePromise=handleMaybePromise$1,exports.fakePromise=fakePromise$1,exports.createDeferredPromise=createDeferredPromise$6,exports.iterateAsync=iterateAsync$1,exports.iterateAsyncVoid=iterateAsync$1,exports.fakeRejectPromise=fakeRejectPromise,exports.mapMaybePromise=mapMaybePromise,exports.mapAsyncIterator=mapAsyncIterator,exports.promiseLikeFinally=promiseLikeFinally,exports.unfakePromise=unfakePromise$1;let kFakePromise=Symbol.for(`@whatwg-node/promise-helpers/FakePromise`);function isPromise$3(value){return value?.then!=null}function isActualPromise(value){let maybePromise=value;return maybePromise&&maybePromise.then&&maybePromise.catch&&maybePromise.finally}function handleMaybePromise$1(inputFactory,outputSuccessFactory,outputErrorFactory,finallyFactory){let result$=fakePromise$1().then(inputFactory).then(outputSuccessFactory,outputErrorFactory);return finallyFactory&&(result$=result$.finally(finallyFactory)),unfakePromise$1(result$)}function fakePromise$1(value){return value&&isActualPromise(value)?value:isPromise$3(value)?{then:(resolve$10,reject)=>fakePromise$1(value.then(resolve$10,reject)),catch:reject=>fakePromise$1(value.then(res=>res,reject)),finally:cb=>fakePromise$1(cb?promiseLikeFinally(value,cb):value),[Symbol.toStringTag]:`Promise`}:{then(resolve$10){if(resolve$10)try{return fakePromise$1(resolve$10(value))}catch(err$2){return fakeRejectPromise(err$2)}return this},catch(){return this},finally(cb){if(cb)try{return fakePromise$1(cb()).then(()=>value,()=>value)}catch(err$2){return fakeRejectPromise(err$2)}return this},[Symbol.toStringTag]:`Promise`,__fakePromiseValue:value,[kFakePromise]:`resolved`}}function createDeferredPromise$6(){if(Promise.withResolvers)return Promise.withResolvers();let resolveFn,rejectFn,promise$1=new Promise(function(resolve$10,reject){resolveFn=resolve$10,rejectFn=reject});return{promise:promise$1,get resolve(){return resolveFn},get reject(){return rejectFn}}}function iterateAsync$1(iterable,callback$1,results){if(iterable?.length===0)return;let iterator=iterable[Symbol.iterator](),index=0;function iterate$1(){let{done:endOfIterator,value}=iterator.next();if(endOfIterator)return;let endedEarly=!1;function endEarly(){endedEarly=!0}return handleMaybePromise$1(function(){return callback$1(value,endEarly,index++)},function(result){if(result&&results?.push(result),!endedEarly)return iterate$1()})}return iterate$1()}function fakeRejectPromise(error$22){return{then(_resolve$1,reject){if(reject)try{return fakePromise$1(reject(error$22))}catch(err$2){return fakeRejectPromise(err$2)}return this},catch(reject){if(reject)try{return fakePromise$1(reject(error$22))}catch(err$2){return fakeRejectPromise(err$2)}return this},finally(cb){if(cb)try{cb()}catch(err$2){return fakeRejectPromise(err$2)}return this},__fakeRejectError:error$22,[Symbol.toStringTag]:`Promise`,[kFakePromise]:`rejected`}}function mapMaybePromise(input,onSuccess,onError$3){return handleMaybePromise$1(()=>input,onSuccess,onError$3)}function mapAsyncIterator(iterator,onNext,onError$3,onEnd){Symbol.asyncIterator in iterator&&(iterator=iterator[Symbol.asyncIterator]());let $return,abruptClose,onEndWithValue;if(onEnd){let onEndWithValueResult;onEndWithValue=value=>(onEndWithValueResult||=handleMaybePromise$1(onEnd,()=>value,()=>value),onEndWithValueResult)}typeof iterator.return==`function`&&($return=iterator.return,abruptClose=error$22=>{let rethrow=()=>{throw error$22};return $return.call(iterator).then(rethrow,rethrow)});function mapResult(result){return result.done?onEndWithValue?onEndWithValue(result):result:handleMaybePromise$1(()=>result.value,value=>handleMaybePromise$1(()=>onNext(value),iteratorResult,abruptClose))}let mapReject;if(onError$3){let onErrorResult,reject=onError$3;mapReject=error$22=>(onErrorResult||=handleMaybePromise$1(()=>error$22,error$23=>handleMaybePromise$1(()=>reject(error$23),iteratorResult,abruptClose)),onErrorResult)}return{next(){return iterator.next().then(mapResult,mapReject)},return(){let res$=$return?$return.call(iterator).then(mapResult,mapReject):fakePromise$1({value:void 0,done:!0});return onEndWithValue?res$.then(onEndWithValue):res$},throw(error$22){return typeof iterator.throw==`function`?iterator.throw(error$22).then(mapResult,mapReject):abruptClose?abruptClose(error$22):fakeRejectPromise(error$22)},[Symbol.asyncIterator](){return this}}}function iteratorResult(value){return{value,done:!1}}function isFakePromise(value){return value?.[kFakePromise]===`resolved`}function isFakeRejectPromise(value){return value?.[kFakePromise]===`rejected`}function promiseLikeFinally(value,onFinally){return`finally`in value?value.finally(onFinally):value.then(res=>{let finallyRes=onFinally();return isPromise$3(finallyRes)?finallyRes.then(()=>res):res},err$2=>{let finallyRes=onFinally();if(isPromise$3(finallyRes))return finallyRes.then(()=>{throw err$2});throw err$2})}function unfakePromise$1(promise$1){if(isFakePromise(promise$1))return promise$1.__fakePromiseValue;if(isFakeRejectPromise(promise$1))throw promise$1.__fakeRejectError;return promise$1}})),require_sbmh=__commonJSMin(((exports,module)=>{let{EventEmitter:EventEmitter$10}=__require$3(`node:events`),{inherits:inherits$5}=__require$3(`node:util`);function SBMH(needle){if(typeof needle==`string`&&(needle=Buffer.from(needle)),!Buffer.isBuffer(needle))throw TypeError(`The needle has to be a String or a Buffer.`);let needleLength=needle.length,needleLastCharIndex=needleLength-1;if(needleLength===0)throw Error(`The needle cannot be an empty String/Buffer.`);if(needleLength>256)throw Error(`The needle cannot have a length bigger than 256.`);this.maxMatches=1/0,this.matches=0,this._occ=new Uint8Array(256).fill(needleLength),this._lookbehind_size=0,this._needle=needle,this._bufpos=0,this._lookbehind=Buffer.alloc(needleLastCharIndex);for(var i$7=0;i$7<needleLastCharIndex;++i$7)this._occ[needle[i$7]]=needleLastCharIndex-i$7}inherits$5(SBMH,EventEmitter$10),SBMH.prototype.reset=function(){this._lookbehind_size=0,this.matches=0,this._bufpos=0},SBMH.prototype.push=function(chunk$1,pos){Buffer.isBuffer(chunk$1)||(chunk$1=Buffer.from(chunk$1,`binary`));let chlen=chunk$1.length;this._bufpos=pos||0;let r$3;for(;r$3!==chlen&&this.matches<this.maxMatches;)r$3=this._sbmh_feed(chunk$1);return r$3},SBMH.prototype._sbmh_feed=function(data$2){let len$1=data$2.length,needle=this._needle,needleLength=needle.length,needleLastCharIndex=needleLength-1,needleLastChar=needle[needleLastCharIndex],pos=-this._lookbehind_size,ch;if(pos<0){for(;pos<0&&pos<=len$1-needleLength;){if(ch=data$2[pos+needleLastCharIndex],ch===needleLastChar&&this._sbmh_memcmp(data$2,pos,needleLastCharIndex))return this._lookbehind_size=0,++this.matches,this.emit(`info`,!0),this._bufpos=pos+needleLength;pos+=this._occ[ch]}for(;pos<0&&!this._sbmh_memcmp(data$2,pos,len$1-pos);)++pos;if(pos>=0)this.emit(`info`,!1,this._lookbehind,0,this._lookbehind_size),this._lookbehind_size=0;else{let bytesToCutOff=this._lookbehind_size+pos;return bytesToCutOff>0&&this.emit(`info`,!1,this._lookbehind,0,bytesToCutOff),this._lookbehind_size-=bytesToCutOff,this._lookbehind.copy(this._lookbehind,0,bytesToCutOff,this._lookbehind_size),data$2.copy(this._lookbehind,this._lookbehind_size),this._lookbehind_size+=len$1,this._bufpos=len$1,len$1}}if(pos=data$2.indexOf(needle,pos+this._bufpos),pos!==-1)return++this.matches,pos===0?this.emit(`info`,!0):this.emit(`info`,!0,data$2,this._bufpos,pos),this._bufpos=pos+needleLength;for(pos=len$1-needleLastCharIndex,pos<0&&(pos=0);pos!==len$1&&(data$2[pos]!==needle[0]||Buffer.compare(data$2.subarray(pos+1,len$1),needle.subarray(1,len$1-pos))!==0);)++pos;return pos!==len$1&&(data$2.copy(this._lookbehind,0,pos,len$1),this._lookbehind_size=len$1-pos),pos!==0&&this.emit(`info`,!1,data$2,this._bufpos,pos),this._bufpos=len$1,len$1},SBMH.prototype._sbmh_lookup_char=function(data$2,pos){return pos<0?this._lookbehind[this._lookbehind_size+pos]:data$2[pos]},SBMH.prototype._sbmh_memcmp=function(data$2,pos,len$1){for(var i$7=0;i$7<len$1;++i$7)if(this._sbmh_lookup_char(data$2,pos+i$7)!==this._needle[i$7])return!1;return!0},module.exports=SBMH})),require_PartStream=__commonJSMin(((exports,module)=>{let inherits$4=__require$3(`node:util`).inherits,ReadableStream$1=__require$3(`node:stream`).Readable;function PartStream$1(opts){ReadableStream$1.call(this,opts)}inherits$4(PartStream$1,ReadableStream$1),PartStream$1.prototype._read=function(n$2){},module.exports=PartStream$1})),require_getLimit=__commonJSMin(((exports,module)=>{module.exports=function(limits,name$5,defaultLimit){if(!limits||limits[name$5]===void 0||limits[name$5]===null)return defaultLimit;if(typeof limits[name$5]!=`number`||isNaN(limits[name$5]))throw TypeError(`Limit `+name$5+` is not a valid number`);return limits[name$5]}})),require_HeaderParser=__commonJSMin(((exports,module)=>{let EventEmitter$9=__require$3(`node:events`).EventEmitter,inherits$3=__require$3(`node:util`).inherits,getLimit$2=require_getLimit(),StreamSearch$1=require_sbmh(),B_DCRLF=Buffer.from(`\r
53
+ `+help:`The @lydell/node-pty package currently does not support your platform: `+process.platform+`-`+process.arch,{cause:error$22})}}}exports.requireBinary=requireBinary;function getOptionalDependencies(){try{return require_package$5().optionalDependencies}catch{return}}})),require_windowsPtyAgent=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var fs$42=__require$3(`fs`),path$36=__require$3(`path`),net_1$6=__require$3(`net`),child_process_1$1=__require$3(`child_process`),windowsConoutConnection_1=require_windowsConoutConnection(),requireBinary_1$1=require_requireBinary(),conptyNative,FLUSH_DATA_INTERVAL=1e3,WindowsPtyAgent=function(){function WindowsPtyAgent$1(file,args,env$8,cwd$3,cols,rows,debug$12,conptyInheritCursor){var _this=this;conptyInheritCursor===void 0&&(conptyInheritCursor=!1),this._pid=0,this._innerPid=0,conptyNative||=requireBinary_1$1.requireBinary(`conpty.node`),this._ptyNative=conptyNative,cwd$3=path$36.resolve(cwd$3);var commandLine=argsToCommandLine(file,args),term=this._ptyNative.startProcess(file,cols,rows,debug$12,this._generatePipeName(),conptyInheritCursor);this._fd=term.fd,this._pty=term.pty,this._outSocket=new net_1$6.Socket,this._outSocket.setEncoding(`utf8`),this._conoutSocketWorker=new windowsConoutConnection_1.ConoutConnection(term.conout),this._conoutSocketWorker.onReady(function(){_this._conoutSocketWorker.connectSocket(_this._outSocket)}),this._outSocket.on(`connect`,function(){_this._outSocket.emit(`ready_datapipe`)});var inSocketFD=fs$42.openSync(term.conin,`w`);this._inSocket=new net_1$6.Socket({fd:inSocketFD,readable:!1,writable:!0}),this._inSocket.setEncoding(`utf8`);var connect$4=this._ptyNative.connect(this._pty,commandLine,cwd$3,env$8,function(c$3){return _this._$onProcessExit(c$3)});this._innerPid=connect$4.pid}return Object.defineProperty(WindowsPtyAgent$1.prototype,`inSocket`,{get:function(){return this._inSocket},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsPtyAgent$1.prototype,`outSocket`,{get:function(){return this._outSocket},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsPtyAgent$1.prototype,`fd`,{get:function(){return this._fd},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsPtyAgent$1.prototype,`innerPid`,{get:function(){return this._innerPid},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsPtyAgent$1.prototype,`pty`,{get:function(){return this._pty},enumerable:!0,configurable:!0}),WindowsPtyAgent$1.prototype.resize=function(cols,rows){if(this._exitCode!==void 0)throw Error(`Cannot resize a pty that has already exited`);this._ptyNative.resize(this._pty,cols,rows)},WindowsPtyAgent$1.prototype.clear=function(){this._ptyNative.clear(this._pty)},WindowsPtyAgent$1.prototype.kill=function(){var _this=this;this._inSocket.readable=!1,this._outSocket.readable=!1,this._getConsoleProcessList().then(function(consoleProcessList){consoleProcessList.forEach(function(pid){try{process.kill(pid)}catch{}}),_this._ptyNative.kill(_this._pty)}),this._conoutSocketWorker.dispose()},WindowsPtyAgent$1.prototype._getConsoleProcessList=function(){var _this=this;return new Promise(function(resolve$10){var agent=child_process_1$1.fork(path$36.join(__dirname,`conpty_console_list_agent`),[_this._innerPid.toString()]);agent.on(`message`,function(message){clearTimeout(timeout),resolve$10(message.consoleProcessList)});var timeout=setTimeout(function(){agent.kill(),resolve$10([_this._innerPid])},5e3)})},Object.defineProperty(WindowsPtyAgent$1.prototype,`exitCode`,{get:function(){return this._exitCode},enumerable:!0,configurable:!0}),WindowsPtyAgent$1.prototype._generatePipeName=function(){return`conpty-`+Math.random()*1e7},WindowsPtyAgent$1.prototype._$onProcessExit=function(exitCode){var _this=this;this._exitCode=exitCode,this._flushDataAndCleanUp(),this._outSocket.on(`data`,function(){return _this._flushDataAndCleanUp()})},WindowsPtyAgent$1.prototype._flushDataAndCleanUp=function(){var _this=this;this._closeTimeout&&clearTimeout(this._closeTimeout),this._closeTimeout=setTimeout(function(){return _this._cleanUpProcess()},FLUSH_DATA_INTERVAL)},WindowsPtyAgent$1.prototype._cleanUpProcess=function(){this._inSocket.readable=!1,this._outSocket.readable=!1,this._outSocket.destroy()},WindowsPtyAgent$1}();exports.WindowsPtyAgent=WindowsPtyAgent;function argsToCommandLine(file,args){if(isCommandLine(args))return args.length===0?file:argsToCommandLine(file,[])+` `+args;var argv$1=[file];Array.prototype.push.apply(argv$1,args);for(var result=``,argIndex=0;argIndex<argv$1.length;argIndex++){argIndex>0&&(result+=` `);var arg=argv$1[argIndex],hasLopsidedEnclosingQuote=xOr(arg[0]!==`"`,arg[arg.length-1]!==`"`),hasNoEnclosingQuotes=arg[0]!==`"`&&arg[arg.length-1]!==`"`,quote$1=arg===``||(arg.indexOf(` `)!==-1||arg.indexOf(` `)!==-1)&&arg.length>1&&(hasLopsidedEnclosingQuote||hasNoEnclosingQuotes);quote$1&&(result+=`"`);for(var bsCount=0,i$7=0;i$7<arg.length;i$7++){var p$2=arg[i$7];p$2===`\\`?bsCount++:p$2===`"`?(result+=repeatText(`\\`,bsCount*2+1),result+=`"`,bsCount=0):(result+=repeatText(`\\`,bsCount),bsCount=0,result+=p$2)}quote$1?(result+=repeatText(`\\`,bsCount*2),result+=`"`):result+=repeatText(`\\`,bsCount)}return result}exports.argsToCommandLine=argsToCommandLine;function isCommandLine(args){return typeof args==`string`}function repeatText(text$1,count$1){for(var result=``,i$7=0;i$7<count$1;i$7++)result+=text$1;return result}function xOr(arg1,arg2){return arg1&&!arg2||!arg1&&arg2}})),require_utils$19=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});function assign$1(target){var sources=[...arguments].slice(1);return sources.forEach(function(source$39){return Object.keys(source$39).forEach(function(key){return target[key]=source$39[key]})}),target}exports.assign=assign$1})),require_windowsTerminal=__commonJSMin((exports=>{var __extends$3=exports&&exports.__extends||(function(){var extendStatics$1=function(d$5,b$4){return extendStatics$1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d$6,b$5){d$6.__proto__=b$5}||function(d$6,b$5){for(var p$2 in b$5)b$5.hasOwnProperty(p$2)&&(d$6[p$2]=b$5[p$2])},extendStatics$1(d$5,b$4)};return function(d$5,b$4){extendStatics$1(d$5,b$4);function __(){this.constructor=d$5}d$5.prototype=b$4===null?Object.create(b$4):(__.prototype=b$4.prototype,new __)}})();Object.defineProperty(exports,`__esModule`,{value:!0});var terminal_1$1=require_terminal(),windowsPtyAgent_1=require_windowsPtyAgent(),utils_1$26=require_utils$19(),DEFAULT_FILE$1=`cmd.exe`,DEFAULT_NAME$1=`Windows Shell`,WindowsTerminal=function(_super){__extends$3(WindowsTerminal$1,_super);function WindowsTerminal$1(file,args,opt){var _this=_super.call(this,opt)||this;_this._checkType(`args`,args,`string`,!0),args||=[],file||=DEFAULT_FILE$1,opt||={},opt.env=opt.env||process.env,opt.encoding&&console.warn(`Setting encoding on Windows is not supported`);var env$8=utils_1$26.assign({},opt.env);_this._cols=opt.cols||terminal_1$1.DEFAULT_COLS,_this._rows=opt.rows||terminal_1$1.DEFAULT_ROWS;var cwd$3=opt.cwd||process.cwd(),name$5=opt.name||env$8.TERM||DEFAULT_NAME$1,parsedEnv=_this._parseEnv(env$8);return _this._isReady=!1,_this._deferreds=[],_this._agent=new windowsPtyAgent_1.WindowsPtyAgent(file,args,parsedEnv,cwd$3,_this._cols,_this._rows,!1,opt.conptyInheritCursor),_this._socket=_this._agent.outSocket,_this._pid=_this._agent.innerPid,_this._fd=_this._agent.fd,_this._pty=_this._agent.pty,_this._socket.on(`ready_datapipe`,function(){[`connect`,`data`,`end`,`timeout`,`drain`].forEach(function(event){_this._socket.on(event,function(){!_this._isReady&&event===`data`&&(_this._isReady=!0,_this._deferreds.forEach(function(fn){fn.run()}),_this._deferreds=[])})}),_this._socket.on(`error`,function(err$2){if(_this._close(),!(err$2.code&&(~err$2.code.indexOf(`errno 5`)||~err$2.code.indexOf(`EIO`)))&&_this.listeners(`error`).length<2)throw err$2}),_this._socket.on(`close`,function(){_this.emit(`exit`,_this._agent.exitCode),_this._close()})}),_this._file=file,_this._name=name$5,_this._readable=!0,_this._writable=!0,_this._forwardEvents(),_this}return WindowsTerminal$1.prototype._write=function(data$2){this._defer(this._doWrite,data$2)},WindowsTerminal$1.prototype._doWrite=function(data$2){this._agent.inSocket.write(data$2)},WindowsTerminal$1.open=function(options$1){throw Error(`open() not supported on windows, use Fork() instead.`)},WindowsTerminal$1.prototype.resize=function(cols,rows){var _this=this;if(cols<=0||rows<=0||isNaN(cols)||isNaN(rows)||cols===1/0||rows===1/0)throw Error(`resizing must be done using positive cols and rows`);this._deferNoArgs(function(){_this._agent.resize(cols,rows),_this._cols=cols,_this._rows=rows})},WindowsTerminal$1.prototype.clear=function(){var _this=this;this._deferNoArgs(function(){_this._agent.clear()})},WindowsTerminal$1.prototype.destroy=function(){var _this=this;this._deferNoArgs(function(){_this.kill()})},WindowsTerminal$1.prototype.kill=function(signal){var _this=this;this._deferNoArgs(function(){if(signal)throw Error(`Signals not supported on windows.`);_this._close(),_this._agent.kill()})},WindowsTerminal$1.prototype._deferNoArgs=function(deferredFn){var _this=this;if(this._isReady){deferredFn.call(this);return}this._deferreds.push({run:function(){return deferredFn.call(_this)}})},WindowsTerminal$1.prototype._defer=function(deferredFn,arg){var _this=this;if(this._isReady){deferredFn.call(this,arg);return}this._deferreds.push({run:function(){return deferredFn.call(_this,arg)}})},Object.defineProperty(WindowsTerminal$1.prototype,`process`,{get:function(){return this._name},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsTerminal$1.prototype,`master`,{get:function(){throw Error(`master is not supported on Windows`)},enumerable:!0,configurable:!0}),Object.defineProperty(WindowsTerminal$1.prototype,`slave`,{get:function(){throw Error(`slave is not supported on Windows`)},enumerable:!0,configurable:!0}),WindowsTerminal$1}(terminal_1$1.Terminal);exports.WindowsTerminal=WindowsTerminal})),require_unixTerminal=__commonJSMin((exports=>{var __extends$2=exports&&exports.__extends||(function(){var extendStatics$1=function(d$5,b$4){return extendStatics$1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d$6,b$5){d$6.__proto__=b$5}||function(d$6,b$5){for(var p$2 in b$5)b$5.hasOwnProperty(p$2)&&(d$6[p$2]=b$5[p$2])},extendStatics$1(d$5,b$4)};return function(d$5,b$4){extendStatics$1(d$5,b$4);function __(){this.constructor=d$5}d$5.prototype=b$4===null?Object.create(b$4):(__.prototype=b$4.prototype,new __)}})();Object.defineProperty(exports,`__esModule`,{value:!0});var tty$5=__require$3(`tty`),terminal_1=require_terminal(),utils_1$25=require_utils$19(),requireBinary_1=require_requireBinary(),pty=requireBinary_1.requireBinary(`pty.node`),helperPath=`@lydell/node-pty-`+process.platform+`-`+process.arch+`/spawn-helper`;helperPath=process.platform===`darwin`?__require$3.resolve(helperPath):`spawn-helper-unused`,helperPath=helperPath.replace(`app.asar`,`app.asar.unpacked`),helperPath=helperPath.replace(`node_modules.asar`,`node_modules.asar.unpacked`);var DEFAULT_FILE=`sh`,DEFAULT_NAME=`xterm`,DESTROY_SOCKET_TIMEOUT_MS=200,UnixTerminal=function(_super){__extends$2(UnixTerminal$1,_super);function UnixTerminal$1(file,args,opt){var _a$15,_b$5,_this=_super.call(this,opt)||this;if(_this._boundClose=!1,_this._emittedClose=!1,typeof args==`string`)throw Error(`args as a string is not supported on unix.`);args||=[],file||=DEFAULT_FILE,opt||={},opt.env=opt.env||process.env,_this._cols=opt.cols||terminal_1.DEFAULT_COLS,_this._rows=opt.rows||terminal_1.DEFAULT_ROWS;var uid$2=(_a$15=opt.uid)??-1,gid=(_b$5=opt.gid)??-1,env$8=utils_1$25.assign({},opt.env);opt.env===process.env&&_this._sanitizeEnv(env$8);var cwd$3=opt.cwd||process.cwd();env$8.PWD=cwd$3;var name$5=opt.name||env$8.TERM||DEFAULT_NAME;env$8.TERM=name$5;var parsedEnv=_this._parseEnv(env$8),encoding=opt.encoding===void 0?`utf8`:opt.encoding,onexit=function(code$1,signal){if(!_this._emittedClose){if(_this._boundClose)return;_this._boundClose=!0;var timeout_1$1=setTimeout(function(){timeout_1$1=null,_this._socket.destroy()},DESTROY_SOCKET_TIMEOUT_MS);_this.once(`close`,function(){timeout_1$1!==null&&clearTimeout(timeout_1$1),_this.emit(`exit`,code$1,signal)});return}_this.emit(`exit`,code$1,signal)},term=pty.fork(file,args,parsedEnv,cwd$3,_this._cols,_this._rows,uid$2,gid,encoding===`utf8`,helperPath,onexit);return _this._socket=new tty$5.ReadStream(term.fd),encoding!==null&&_this._socket.setEncoding(encoding),_this._socket.on(`error`,function(err$2){if(!(err$2.code&&~err$2.code.indexOf(`EAGAIN`))&&(_this._close(),_this._emittedClose||(_this._emittedClose=!0,_this.emit(`close`)),!(err$2.code&&(~err$2.code.indexOf(`errno 5`)||~err$2.code.indexOf(`EIO`)))&&_this.listeners(`error`).length<2))throw err$2}),_this._pid=term.pid,_this._fd=term.fd,_this._pty=term.pty,_this._file=file,_this._name=name$5,_this._readable=!0,_this._writable=!0,_this._socket.on(`close`,function(){_this._emittedClose||(_this._emittedClose=!0,_this._close(),_this.emit(`close`))}),_this._forwardEvents(),_this}return Object.defineProperty(UnixTerminal$1.prototype,`master`,{get:function(){return this._master},enumerable:!0,configurable:!0}),Object.defineProperty(UnixTerminal$1.prototype,`slave`,{get:function(){return this._slave},enumerable:!0,configurable:!0}),UnixTerminal$1.prototype._write=function(data$2){this._socket.write(data$2)},Object.defineProperty(UnixTerminal$1.prototype,`fd`,{get:function(){return this._fd},enumerable:!0,configurable:!0}),Object.defineProperty(UnixTerminal$1.prototype,`ptsName`,{get:function(){return this._pty},enumerable:!0,configurable:!0}),UnixTerminal$1.open=function(opt){var self$1=Object.create(UnixTerminal$1.prototype);opt||={},arguments.length>1&&(opt={cols:arguments[1],rows:arguments[2]});var cols=opt.cols||terminal_1.DEFAULT_COLS,rows=opt.rows||terminal_1.DEFAULT_ROWS,encoding=opt.encoding===void 0?`utf8`:opt.encoding,term=pty.open(cols,rows);return self$1._master=new tty$5.ReadStream(term.master),encoding!==null&&self$1._master.setEncoding(encoding),self$1._master.resume(),self$1._slave=new tty$5.ReadStream(term.slave),encoding!==null&&self$1._slave.setEncoding(encoding),self$1._slave.resume(),self$1._socket=self$1._master,self$1._pid=-1,self$1._fd=term.master,self$1._pty=term.pty,self$1._file=process.argv[0]||`node`,self$1._name=process.env.TERM||``,self$1._readable=!0,self$1._writable=!0,self$1._socket.on(`error`,function(err$2){if(self$1._close(),self$1.listeners(`error`).length<2)throw err$2}),self$1._socket.on(`close`,function(){self$1._close()}),self$1},UnixTerminal$1.prototype.destroy=function(){var _this=this;this._close(),this._socket.once(`close`,function(){_this.kill(`SIGHUP`)}),this._socket.destroy()},UnixTerminal$1.prototype.kill=function(signal){try{process.kill(this.pid,signal||`SIGHUP`)}catch{}},Object.defineProperty(UnixTerminal$1.prototype,`process`,{get:function(){if(process.platform===`darwin`){var title=pty.process(this._fd);return title===`kernel_task`?this._file:title}return pty.process(this._fd,this._pty)||this._file},enumerable:!0,configurable:!0}),UnixTerminal$1.prototype.resize=function(cols,rows){if(cols<=0||rows<=0||isNaN(cols)||isNaN(rows)||cols===1/0||rows===1/0)throw Error(`resizing must be done using positive cols and rows`);pty.resize(this._fd,cols,rows),this._cols=cols,this._rows=rows},UnixTerminal$1.prototype.clear=function(){},UnixTerminal$1.prototype._sanitizeEnv=function(env$8){delete env$8.TMUX,delete env$8.TMUX_PANE,delete env$8.STY,delete env$8.WINDOW,delete env$8.WINDOWID,delete env$8.TERMCAP,delete env$8.COLUMNS,delete env$8.LINES},UnixTerminal$1}(terminal_1.Terminal);exports.UnixTerminal=UnixTerminal})),require_node_pty=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});var terminalCtor;terminalCtor=process.platform===`win32`?require_windowsTerminal().WindowsTerminal:require_unixTerminal().UnixTerminal;function spawn$4(file,args,opt){return new terminalCtor(file,args,opt)}exports.spawn=spawn$4;function fork(file,args,opt){return new terminalCtor(file,args,opt)}exports.fork=fork;function createTerminal(file,args,opt){return new terminalCtor(file,args,opt)}exports.createTerminal=createTerminal;function open$1(options$1){return terminalCtor.open(options$1)}exports.open=open$1}));init_wrapper();const tempLogPath=path.join(os.tmpdir(),`blink-connect-${process.pid}.log`),serializeError=err$2=>{if(err$2 instanceof Error)return err$2.stack??err$2.message;try{return JSON.stringify(err$2)}catch{return String(err$2)}},appendLog=async message=>{let line$1=`${new Date().toISOString()} ${message}\n`;try{await fs.promises.appendFile(tempLogPath,line$1,`utf8`)}catch{}};async function connect(){let url$3=process.env.BLINK_URL,token$1=process.env.BLINK_TOKEN;delete process.env.BLINK_TOKEN,process.env.GIT_TERMINAL_PROMPT=`0`,process.env.GIT_PAGER=`cat`,process.env.GIT_AUTHOR_NAME=`blink-so[bot]`,process.env.GIT_AUTHOR_EMAIL=`211532188+blink-so[bot]@users.noreply.github.com`,process.env.GIT_COMMITTER_NAME=`blink-so[bot]`,process.env.GIT_COMMITTER_EMAIL=`211532188+blink-so[bot]@users.noreply.github.com`,process.env.GIT_CONFIG_COUNT=`1`,process.env.GIT_CONFIG_KEY_0=`credential.https://github.com.helper`,process.env.GIT_CONFIG_VALUE_0=`!gh auth git-credential`,process.addListener(`uncaughtException`,err$2=>{appendLog(`uncaughtException: ${serializeError(err$2)}`),reportException(token$1,err$2)}),process.addListener(`unhandledRejection`,err$2=>{appendLog(`unhandledRejection: ${serializeError(err$2)}`),reportException(token$1,err$2)});let srv=new WorkspaceConnect({url:url$3??`wss://blink.so/api/connect`,token:token$1,createDeploymentFromTar:async tar=>{let uploadURL=new URL(`/api/static-deployment`,url$3??`https://blink.so`),response=await fetch(uploadURL,{method:`POST`,body:tar,headers:{"Content-Type":`application/tar`,Authorization:`Bearer ${token$1}`},duplex:`half`}),data$2=await response.json();return data$2.deployment_id}});srv.onConnect(()=>{console.log(`Connected`),appendLog(`Connected`)}),srv.onDisconnect(()=>{console.log(`Disconnected`),appendLog(`Disconnected`)})}const reportException=async(token$1,err$2)=>{let url$3=new URL(`https://blink.so/api/connect-error`);await fetch(url$3.toString(),{method:`POST`,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${token$1}`},body:JSON.stringify({error:err$2})})};var WorkspaceConnect=class{_onConnect=new Emitter;onConnect=this._onConnect.event;_onDisconnect=new Emitter;onDisconnect=this._onDisconnect.event;reconnectTimeout=null;disposed=!1;ws;server;hasReconnectedOnce=!1;constructor(opts){this.opts=opts;let nodePty;try{nodePty=require_node_pty()}catch{}typeof Bun<`u`&&(nodePty=void 0),this.server=new Server$2({send:message=>{this.ws.readyState===wrapper_default.OPEN?this.ws.send(message):console.warn(`Message skipped because connection is closed.`)},createDeploymentFromTar:this.opts.createDeploymentFromTar,nodePty}),this.connect()}dispose(){this.disposed||(this.disposed=!0,this.ws.close(),this.reconnectTimeout&&clearTimeout(this.reconnectTimeout))}scheduleReconnect(){if(this.disposed)return;let immediateFirst=this.opts.immediateReconnectFirst??!0,baseDelay=this.opts.reconnectionDelay??2500,delay$3=baseDelay;!this.hasReconnectedOnce&&immediateFirst&&(delay$3=0),this.hasReconnectedOnce=!0,this.reconnectTimeout&&clearTimeout(this.reconnectTimeout),this.reconnectTimeout=setTimeout(()=>{this.connect()},delay$3)}connect(){let url$3=new URL(this.opts.url);url$3.protocol===`http:`?url$3.protocol=`ws:`:url$3.protocol===`https:`&&(url$3.protocol=`wss:`);let headers={};this.opts.token&&(headers.Authorization=`Bearer ${this.opts.token}`),this.ws=new wrapper_default(url$3.toString(),{headers}),this.ws.addEventListener(`open`,()=>{this._onConnect.emit()}),this.ws.addEventListener(`close`,()=>{this._onDisconnect.emit(),!this.disposed&&this.scheduleReconnect()}),this.ws.addEventListener(`error`,event=>{console.error(`Error`,event.message??event)}),this.ws.addEventListener(`message`,event=>{if(typeof event.data==`string`){console.warn(`Message skipped because it is not a buffer.`);return}try{this.server.handleMessage(new Uint8Array(event.data))}catch(err$2){console.error(`message handler error`,err$2);try{this.ws.close(1011)}catch{}}})}};init_wrapper();async function chat(){let id=crypto.randomUUID(),ws$2=new import_websocket$1.default(`wss://blink.so/legacy-auth?id=${id}`),opened=new Promise((resolve$10,reject)=>{ws$2.onopen=()=>{resolve$10()},ws$2.onerror=event=>{reject(event)}});await opened;let tokenPromise=new Promise((resolve$10,reject)=>{ws$2.onmessage=event=>{resolve$10(event.data.toString())}}),url$3=`https://blink.so/legacy-auth?id=${id}&type=workspace`;console.log(`Opening the following URL in your browser: ${url$3}`),await open_default(url$3);let token$1=await tokenPromise,srv=new WorkspaceConnect({url:`wss://blink.so/api/connect`,token:token$1});srv.onConnect(()=>{console.log(`Connected to Blink`)}),srv.onDisconnect(()=>{console.log(`Disconnected from Blink`)})}const kFakePromise$1=Symbol.for(`@whatwg-node/promise-helpers/FakePromise`);function isPromise$2(value){return value?.then!=null}function isActualPromise$1(value){let maybePromise=value;return maybePromise&&maybePromise.then&&maybePromise.catch&&maybePromise.finally}function handleMaybePromise(inputFactory,outputSuccessFactory,outputErrorFactory,finallyFactory){let result$=fakePromise().then(inputFactory).then(outputSuccessFactory,outputErrorFactory);return finallyFactory&&(result$=result$.finally(finallyFactory)),unfakePromise(result$)}function fakePromise(value){return value&&isActualPromise$1(value)?value:isPromise$2(value)?{then:(resolve$10,reject)=>fakePromise(value.then(resolve$10,reject)),catch:reject=>fakePromise(value.then(res=>res,reject)),finally:cb=>fakePromise(cb?promiseLikeFinally$1(value,cb):value),[Symbol.toStringTag]:`Promise`}:{then(resolve$10){if(resolve$10)try{return fakePromise(resolve$10(value))}catch(err$2){return fakeRejectPromise$1(err$2)}return this},catch(){return this},finally(cb){if(cb)try{return fakePromise(cb()).then(()=>value,()=>value)}catch(err$2){return fakeRejectPromise$1(err$2)}return this},[Symbol.toStringTag]:`Promise`,__fakePromiseValue:value,[kFakePromise$1]:`resolved`}}function createDeferredPromise$5(){if(Promise.withResolvers)return Promise.withResolvers();let resolveFn,rejectFn,promise$1=new Promise(function(resolve$10,reject){resolveFn=resolve$10,rejectFn=reject});return{promise:promise$1,get resolve(){return resolveFn},get reject(){return rejectFn}}}function iterateAsync(iterable,callback$1,results){if(iterable?.length===0)return;let iterator=iterable[Symbol.iterator](),index=0;function iterate$1(){let{done:endOfIterator,value}=iterator.next();if(endOfIterator)return;let endedEarly=!1;function endEarly(){endedEarly=!0}return handleMaybePromise(function(){return callback$1(value,endEarly,index++)},function(result){if(result&&results?.push(result),!endedEarly)return iterate$1()})}return iterate$1()}function fakeRejectPromise$1(error$22){return{then(_resolve$1,reject){if(reject)try{return fakePromise(reject(error$22))}catch(err$2){return fakeRejectPromise$1(err$2)}return this},catch(reject){if(reject)try{return fakePromise(reject(error$22))}catch(err$2){return fakeRejectPromise$1(err$2)}return this},finally(cb){if(cb)try{cb()}catch(err$2){return fakeRejectPromise$1(err$2)}return this},__fakeRejectError:error$22,[Symbol.toStringTag]:`Promise`,[kFakePromise$1]:`rejected`}}function isFakePromise$1(value){return value?.[kFakePromise$1]===`resolved`}function isFakeRejectPromise$1(value){return value?.[kFakePromise$1]===`rejected`}function promiseLikeFinally$1(value,onFinally){return`finally`in value?value.finally(onFinally):value.then(res=>{let finallyRes=onFinally();return isPromise$2(finallyRes)?finallyRes.then(()=>res):res},err$2=>{let finallyRes=onFinally();if(isPromise$2(finallyRes))return finallyRes.then(()=>{throw err$2});throw err$2})}function unfakePromise(promise$1){if(isFakePromise$1(promise$1))return promise$1.__fakePromiseValue;if(isFakeRejectPromise$1(promise$1))throw promise$1.__fakeRejectError;return promise$1}function chain$1(first$1,next){let merged={...next,...first$1};for(let key of Object.keys(merged))key in first$1&&key in next&&(merged[key]=(payload,wrapped)=>first$1[key](payload,()=>next[key](payload,wrapped)));return merged}const getInstrumented=payload=>({fn(instrument,wrapped){return instrument?(...args)=>{let result;return instrument(payload,()=>{result=wrapped(...args)}),result}:wrapped},asyncFn(instrument,wrapped){return instrument?(...args)=>{let result;return handleMaybePromise(()=>instrument(payload,()=>(result=wrapped(...args),isPromise$2(result)?result.then(()=>void 0):void 0)),()=>result)}:wrapped}});var PonyfillSuppressedError$1=class extends Error{error;suppressed;constructor(error$22,suppressed,message){super(message),this.error=error$22,this.suppressed=suppressed,this.name=`SuppressedError`,Error.captureStackTrace(this,this.constructor)}};const DisposableSymbols={get dispose(){return Symbol.dispose||Symbol.for(`dispose`)},get asyncDispose(){return Symbol.asyncDispose||Symbol.for(`asyncDispose`)}};function isSyncDisposable$1(obj){return obj?.[DisposableSymbols.dispose]!=null}function isAsyncDisposable$1(obj){return obj?.[DisposableSymbols.asyncDispose]!=null}const SuppressedError$5=globalThis.SuppressedError||PonyfillSuppressedError$1;var PonyfillAsyncDisposableStack$1=class PonyfillAsyncDisposableStack$1{callbacks=[];get disposed(){return this.callbacks.length===0}use(value){return isAsyncDisposable$1(value)?this.callbacks.push(()=>value[DisposableSymbols.asyncDispose]()):isSyncDisposable$1(value)&&this.callbacks.push(()=>value[DisposableSymbols.dispose]()),value}adopt(value,onDisposeAsync){return onDisposeAsync&&this.callbacks.push(()=>onDisposeAsync(value)),value}defer(onDisposeAsync){onDisposeAsync&&this.callbacks.push(onDisposeAsync)}move(){let stack=new PonyfillAsyncDisposableStack$1;return stack.callbacks=this.callbacks,this.callbacks=[],stack}disposeAsync(){return this[DisposableSymbols.asyncDispose]()}_error;_iterateCallbacks(){let cb=this.callbacks.pop();if(cb)return handleMaybePromise(cb,()=>this._iterateCallbacks(),error$22=>(this._error=this._error?new SuppressedError$5(error$22,this._error):error$22,this._iterateCallbacks()))}[DisposableSymbols.asyncDispose](){let res$=this._iterateCallbacks();if(res$?.then)return res$.then(()=>{if(this._error){let error$22=this._error;throw this._error=void 0,error$22}});if(this._error){let error$22=this._error;throw this._error=void 0,error$22}}[Symbol.toStringTag]=`AsyncDisposableStack`};const SuppressedError$4=globalThis.SuppressedError||PonyfillSuppressedError$1;var PonyfillDisposableStack$1=class PonyfillDisposableStack$1{callbacks=[];get disposed(){return this.callbacks.length===0}use(value){return isSyncDisposable$1(value)&&this.callbacks.push(()=>value[DisposableSymbols.dispose]()),value}adopt(value,onDispose){return onDispose&&this.callbacks.push(()=>onDispose(value)),value}defer(onDispose){onDispose&&this.callbacks.push(onDispose)}move(){let stack=new PonyfillDisposableStack$1;return stack.callbacks=this.callbacks,this.callbacks=[],stack}dispose(){return this[DisposableSymbols.dispose]()}_error;_iterateCallbacks(){let cb=this.callbacks.pop();if(cb){try{cb()}catch(error$22){this._error=this._error?new SuppressedError$4(error$22,this._error):error$22}return this._iterateCallbacks()}}[DisposableSymbols.dispose](){if(this._iterateCallbacks(),this._error){let error$22=this._error;throw this._error=void 0,error$22}}[Symbol.toStringTag]=`DisposableStack`};const DisposableStack=globalThis.DisposableStack||PonyfillDisposableStack$1,AsyncDisposableStack=globalThis.AsyncDisposableStack||PonyfillAsyncDisposableStack$1,SuppressedError$3=globalThis.SuppressedError||PonyfillSuppressedError$1;var require_shouldSkipPonyfill=__commonJSMin(((exports,module)=>{function isNextJs(){return Object.keys(globalThis).some(key=>key.startsWith(`__NEXT`))}module.exports=function(){return!!(globalThis.Deno||globalThis.Bun||isNextJs())}})),require_urlpattern=__commonJSMin(((exports,module)=>{var U$3=Object.defineProperty,Re$1=Object.getOwnPropertyDescriptor,Ee$1=Object.getOwnPropertyNames,Oe$1=Object.prototype.hasOwnProperty,a$3=(e$3,t$1)=>U$3(e$3,`name`,{value:t$1,configurable:!0}),ke$1=(e$3,t$1)=>{for(var r$3 in t$1)U$3(e$3,r$3,{get:t$1[r$3],enumerable:!0})},Te$2=(e$3,t$1,r$3,n$2)=>{if(t$1&&typeof t$1==`object`||typeof t$1==`function`)for(let o$3 of Ee$1(t$1))!Oe$1.call(e$3,o$3)&&o$3!==r$3&&U$3(e$3,o$3,{get:()=>t$1[o$3],enumerable:!(n$2=Re$1(t$1,o$3))||n$2.enumerable});return e$3},Ae$1=e$3=>Te$2(U$3({},`__esModule`,{value:!0}),e$3),He$1={};ke$1(He$1,{URLPattern:()=>M$2}),module.exports=Ae$1(He$1);var P$3=class{type=3;name=``;prefix=``;value=``;suffix=``;modifier=3;constructor(t$1,r$3,n$2,o$3,l$2,f){this.type=t$1,this.name=r$3,this.prefix=n$2,this.value=o$3,this.suffix=l$2,this.modifier=f}hasCustomName(){return this.name!==``&&typeof this.name!=`number`}};a$3(P$3,`Part`);var ye$2=/[$_\p{ID_Start}]/u,we$2=/[$_\u200C\u200D\p{ID_Continue}]/u,F$2=`.*`;function Ce$2(e$3,t$1){return(t$1?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(e$3)}a$3(Ce$2,`isASCII`);function W$3(e$3,t$1=!1){let r$3=[],n$2=0;for(;n$2<e$3.length;){let o$3=e$3[n$2],l$2=a$3(function(f){if(!t$1)throw TypeError(f);r$3.push({type:`INVALID_CHAR`,index:n$2,value:e$3[n$2++]})},`ErrorOrInvalid`);if(o$3===`*`){r$3.push({type:`ASTERISK`,index:n$2,value:e$3[n$2++]});continue}if(o$3===`+`||o$3===`?`){r$3.push({type:`OTHER_MODIFIER`,index:n$2,value:e$3[n$2++]});continue}if(o$3===`\\`){r$3.push({type:`ESCAPED_CHAR`,index:n$2++,value:e$3[n$2++]});continue}if(o$3===`{`){r$3.push({type:`OPEN`,index:n$2,value:e$3[n$2++]});continue}if(o$3===`}`){r$3.push({type:`CLOSE`,index:n$2,value:e$3[n$2++]});continue}if(o$3===`:`){let f=``,s$3=n$2+1;for(;s$3<e$3.length;){let i$7=e$3.substr(s$3,1);if(s$3===n$2+1&&ye$2.test(i$7)||s$3!==n$2+1&&we$2.test(i$7)){f+=e$3[s$3++];continue}break}if(!f){l$2(`Missing parameter name at ${n$2}`);continue}r$3.push({type:`NAME`,index:n$2,value:f}),n$2=s$3;continue}if(o$3===`(`){let f=1,s$3=``,i$7=n$2+1,c$3=!1;if(e$3[i$7]===`?`){l$2(`Pattern cannot start with "?" at ${i$7}`);continue}for(;i$7<e$3.length;){if(!Ce$2(e$3[i$7],!1)){l$2(`Invalid character '${e$3[i$7]}' at ${i$7}.`),c$3=!0;break}if(e$3[i$7]===`\\`){s$3+=e$3[i$7++]+e$3[i$7++];continue}if(e$3[i$7]===`)`){if(f--,f===0){i$7++;break}}else if(e$3[i$7]===`(`&&(f++,e$3[i$7+1]!==`?`)){l$2(`Capturing groups are not allowed at ${i$7}`),c$3=!0;break}s$3+=e$3[i$7++]}if(c$3)continue;if(f){l$2(`Unbalanced pattern at ${n$2}`);continue}if(!s$3){l$2(`Missing pattern at ${n$2}`);continue}r$3.push({type:`REGEX`,index:n$2,value:s$3}),n$2=i$7;continue}r$3.push({type:`CHAR`,index:n$2,value:e$3[n$2++]})}return r$3.push({type:`END`,index:n$2,value:``}),r$3}a$3(W$3,`lexer`);function _$5(e$3,t$1={}){let r$3=W$3(e$3);t$1.delimiter??=`/#?`,t$1.prefixes??=`./`;let n$2=`[^${x$3(t$1.delimiter)}]+?`,o$3=[],l$2=0,f=0,i$7=new Set,c$3=a$3(u$18=>{if(f<r$3.length&&r$3[f].type===u$18)return r$3[f++].value},`tryConsume`),h$4=a$3(()=>c$3(`OTHER_MODIFIER`)??c$3(`ASTERISK`),`tryConsumeModifier`),p$2=a$3(u$18=>{let d$5=c$3(u$18);if(d$5!==void 0)return d$5;let{type:g$1,index:y$3}=r$3[f];throw TypeError(`Unexpected ${g$1} at ${y$3}, expected ${u$18}`)},`mustConsume`),A$2=a$3(()=>{let u$18=``,d$5;for(;d$5=c$3(`CHAR`)??c$3(`ESCAPED_CHAR`);)u$18+=d$5;return u$18},`consumeText`),be$2=a$3(u$18=>u$18,`DefaultEncodePart`),N$2=t$1.encodePart||be$2,H$2=``,v$2=a$3(u$18=>{H$2+=u$18},`appendToPendingFixedValue`),D$2=a$3(()=>{H$2.length&&(o$3.push(new P$3(3,``,``,N$2(H$2),``,3)),H$2=``)},`maybeAddPartFromPendingFixedValue`),Z$1=a$3((u$18,d$5,g$1,y$3,B$2)=>{let m$3=3;switch(B$2){case`?`:m$3=1;break;case`*`:m$3=0;break;case`+`:m$3=2;break}if(!d$5&&!g$1&&m$3===3){v$2(u$18);return}if(D$2(),!d$5&&!g$1){if(!u$18)return;o$3.push(new P$3(3,``,``,N$2(u$18),``,m$3));return}let S$2;S$2=g$1?g$1===`*`?F$2:g$1:n$2;let k$2=2;S$2===n$2?(k$2=1,S$2=``):S$2===F$2&&(k$2=0,S$2=``);let E$2;if(d$5?E$2=d$5:g$1&&(E$2=l$2++),i$7.has(E$2))throw TypeError(`Duplicate name '${E$2}'.`);i$7.add(E$2),o$3.push(new P$3(k$2,E$2,N$2(u$18),S$2,N$2(y$3),m$3))},`addPart`);for(;f<r$3.length;){let u$18=c$3(`CHAR`),d$5=c$3(`NAME`),g$1=c$3(`REGEX`);if(!d$5&&!g$1&&(g$1=c$3(`ASTERISK`)),d$5||g$1){let m$3=u$18??``;t$1.prefixes.indexOf(m$3)===-1&&(v$2(m$3),m$3=``),D$2();let S$2=h$4();Z$1(m$3,d$5,g$1,``,S$2);continue}let y$3=u$18??c$3(`ESCAPED_CHAR`);if(y$3){v$2(y$3);continue}if(c$3(`OPEN`)){let m$3=A$2(),S$2=c$3(`NAME`),k$2=c$3(`REGEX`);!S$2&&!k$2&&(k$2=c$3(`ASTERISK`));let E$2=A$2();p$2(`CLOSE`);let Pe$1=h$4();Z$1(m$3,S$2,k$2,E$2,Pe$1);continue}D$2(),p$2(`END`)}return o$3}a$3(_$5,`parse`);function x$3(e$3){return e$3.replace(/([.+*?^${}()[\]|/\\])/g,`\\$1`)}a$3(x$3,`escapeString`);function q$4(e$3){return e$3&&e$3.ignoreCase?`ui`:`u`}a$3(q$4,`flags`);function J$3(e$3,t$1,r$3){return z$5(_$5(e$3,r$3),t$1,r$3)}a$3(J$3,`stringToRegexp`);function T$2(e$3){switch(e$3){case 0:return`*`;case 1:return`?`;case 2:return`+`;case 3:return``}}a$3(T$2,`modifierToString`);function z$5(e$3,t$1,r$3={}){r$3.delimiter??=`/#?`,r$3.prefixes??=`./`,r$3.sensitive??=!1,r$3.strict??=!1,r$3.end??=!0,r$3.start??=!0,r$3.endsWith=``;let n$2=r$3.start?`^`:``;for(let s$3 of e$3){if(s$3.type===3){s$3.modifier===3?n$2+=x$3(s$3.value):n$2+=`(?:${x$3(s$3.value)})${T$2(s$3.modifier)}`;continue}t$1&&t$1.push(s$3.name);let i$7=`[^${x$3(r$3.delimiter)}]+?`,c$3=s$3.value;if(s$3.type===1?c$3=i$7:s$3.type===0&&(c$3=F$2),!s$3.prefix.length&&!s$3.suffix.length){s$3.modifier===3||s$3.modifier===1?n$2+=`(${c$3})${T$2(s$3.modifier)}`:n$2+=`((?:${c$3})${T$2(s$3.modifier)})`;continue}if(s$3.modifier===3||s$3.modifier===1){n$2+=`(?:${x$3(s$3.prefix)}(${c$3})${x$3(s$3.suffix)})`,n$2+=T$2(s$3.modifier);continue}n$2+=`(?:${x$3(s$3.prefix)}`,n$2+=`((?:${c$3})(?:`,n$2+=x$3(s$3.suffix),n$2+=x$3(s$3.prefix),n$2+=`(?:${c$3}))*)${x$3(s$3.suffix)})`,s$3.modifier===0&&(n$2+=`?`)}let o$3=`[${x$3(r$3.endsWith)}]|$`,l$2=`[${x$3(r$3.delimiter)}]`;if(r$3.end)return r$3.strict||(n$2+=`${l$2}?`),r$3.endsWith.length?n$2+=`(?=${o$3})`:n$2+=`$`,new RegExp(n$2,q$4(r$3));r$3.strict||(n$2+=`(?:${l$2}(?=${o$3}))?`);let f=!1;if(e$3.length){let s$3=e$3[e$3.length-1];s$3.type===3&&s$3.modifier===3&&(f=r$3.delimiter.indexOf(s$3)>-1)}return f||(n$2+=`(?=${l$2}|${o$3})`),new RegExp(n$2,q$4(r$3))}a$3(z$5,`partsToRegexp`);var b$3={delimiter:``,prefixes:``,sensitive:!0,strict:!0},Q$2={delimiter:`.`,prefixes:``,sensitive:!0,strict:!0},ee={delimiter:`/`,prefixes:`/`,sensitive:!0,strict:!0};function te(e$3,t$1){return e$3.length?e$3[0]===`/`?!0:!t$1||e$3.length<2?!1:(e$3[0]==`\\`||e$3[0]==`{`)&&e$3[1]==`/`:!1}a$3(te,`isAbsolutePathname`);function re$3(e$3,t$1){return e$3.startsWith(t$1)?e$3.substring(t$1.length,e$3.length):e$3}a$3(re$3,`maybeStripPrefix`);function Le$1(e$3,t$1){return e$3.endsWith(t$1)?e$3.substr(0,e$3.length-t$1.length):e$3}a$3(Le$1,`maybeStripSuffix`);function j$1(e$3){return!e$3||e$3.length<2?!1:e$3[0]===`[`||(e$3[0]===`\\`||e$3[0]===`{`)&&e$3[1]===`[`}a$3(j$1,`treatAsIPv6Hostname`);var ne=[`ftp`,`file`,`http`,`https`,`ws`,`wss`];function $$12(e$3){if(!e$3)return!0;for(let t$1 of ne)if(e$3.test(t$1))return!0;return!1}a$3($$12,`isSpecialScheme`);function se$1(e$3,t$1){if(e$3=re$3(e$3,`#`),t$1||e$3===``)return e$3;let r$3=new URL(`https://example.com`);return r$3.hash=e$3,r$3.hash?r$3.hash.substring(1,r$3.hash.length):``}a$3(se$1,`canonicalizeHash`);function ie$1(e$3,t$1){if(e$3=re$3(e$3,`?`),t$1||e$3===``)return e$3;let r$3=new URL(`https://example.com`);return r$3.search=e$3,r$3.search?r$3.search.substring(1,r$3.search.length):``}a$3(ie$1,`canonicalizeSearch`);function ae$2(e$3,t$1){return t$1||e$3===``?e$3:j$1(e$3)?V$4(e$3):G$2(e$3)}a$3(ae$2,`canonicalizeHostname`);function oe$2(e$3,t$1){if(t$1||e$3===``)return e$3;let r$3=new URL(`https://example.com`);return r$3.password=e$3,r$3.password}a$3(oe$2,`canonicalizePassword`);function ce$2(e$3,t$1){if(t$1||e$3===``)return e$3;let r$3=new URL(`https://example.com`);return r$3.username=e$3,r$3.username}a$3(ce$2,`canonicalizeUsername`);function le$2(e$3,t$1,r$3){if(r$3||e$3===``)return e$3;if(t$1&&!ne.includes(t$1))return new URL(`${t$1}:${e$3}`).pathname;let n$2=e$3[0]==`/`;return e$3=new URL(n$2?e$3:`/-`+e$3,`https://example.com`).pathname,n$2||(e$3=e$3.substring(2,e$3.length)),e$3}a$3(le$2,`canonicalizePathname`);function fe$2(e$3,t$1,r$3){return K$3(t$1)===e$3&&(e$3=``),r$3||e$3===``?e$3:Y$2(e$3)}a$3(fe$2,`canonicalizePort`);function he$2(e$3,t$1){return e$3=Le$1(e$3,`:`),t$1||e$3===``?e$3:w$3(e$3)}a$3(he$2,`canonicalizeProtocol`);function K$3(e$3){switch(e$3){case`ws`:case`http`:return`80`;case`wws`:case`https`:return`443`;case`ftp`:return`21`;default:return``}}a$3(K$3,`defaultPortForProtocol`);function w$3(e$3){if(e$3===``)return e$3;if(/^[-+.A-Za-z0-9]*$/.test(e$3))return e$3.toLowerCase();throw TypeError(`Invalid protocol '${e$3}'.`)}a$3(w$3,`protocolEncodeCallback`);function ue$2(e$3){if(e$3===``)return e$3;let t$1=new URL(`https://example.com`);return t$1.username=e$3,t$1.username}a$3(ue$2,`usernameEncodeCallback`);function de$2(e$3){if(e$3===``)return e$3;let t$1=new URL(`https://example.com`);return t$1.password=e$3,t$1.password}a$3(de$2,`passwordEncodeCallback`);function G$2(e$3){if(e$3===``)return e$3;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e$3))throw TypeError(`Invalid hostname '${e$3}'`);let t$1=new URL(`https://example.com`);return t$1.hostname=e$3,t$1.hostname}a$3(G$2,`hostnameEncodeCallback`);function V$4(e$3){if(e$3===``)return e$3;if(/[^0-9a-fA-F[\]:]/g.test(e$3))throw TypeError(`Invalid IPv6 hostname '${e$3}'`);return e$3.toLowerCase()}a$3(V$4,`ipv6HostnameEncodeCallback`);function Y$2(e$3){if(e$3===``||/^[0-9]*$/.test(e$3)&&parseInt(e$3)<=65535)return e$3;throw TypeError(`Invalid port '${e$3}'.`)}a$3(Y$2,`portEncodeCallback`);function pe$2(e$3){if(e$3===``)return e$3;let t$1=new URL(`https://example.com`);return t$1.pathname=e$3[0]===`/`?e$3:`/-`+e$3,e$3[0]===`/`?t$1.pathname:t$1.pathname.substring(2,t$1.pathname.length)}a$3(pe$2,`standardURLPathnameEncodeCallback`);function ge$2(e$3){return e$3===``?e$3:new URL(`data:${e$3}`).pathname}a$3(ge$2,`pathURLPathnameEncodeCallback`);function me$1(e$3){if(e$3===``)return e$3;let t$1=new URL(`https://example.com`);return t$1.search=e$3,t$1.search.substring(1,t$1.search.length)}a$3(me$1,`searchEncodeCallback`);function Se$2(e$3){if(e$3===``)return e$3;let t$1=new URL(`https://example.com`);return t$1.hash=e$3,t$1.hash.substring(1,t$1.hash.length)}a$3(Se$2,`hashEncodeCallback`);var C$2=class{#i;#n=[];#t={};#e=0;#s=1;#l=0;#o=0;#d=0;#p=0;#g=!1;constructor(t$1){this.#i=t$1}get result(){return this.#t}parse(){for(this.#n=W$3(this.#i,!0);this.#e<this.#n.length;this.#e+=this.#s){if(this.#s=1,this.#n[this.#e].type===`END`){if(this.#o===0){this.#b(),this.#f()?this.#r(9,1):this.#h()?this.#r(8,1):this.#r(7,0);continue}else if(this.#o===2){this.#u(5);continue}this.#r(10,0);break}if(this.#d>0)if(this.#A())--this.#d;else continue;if(this.#T()){this.#d+=1;continue}switch(this.#o){case 0:this.#P()&&this.#u(1);break;case 1:if(this.#P()){this.#C();let t$1=7,r$3=1;this.#E()?(t$1=2,r$3=3):this.#g&&(t$1=2),this.#r(t$1,r$3)}break;case 2:this.#S()?this.#u(3):(this.#x()||this.#h()||this.#f())&&this.#u(5);break;case 3:this.#O()?this.#r(4,1):this.#S()&&this.#r(5,1);break;case 4:this.#S()&&this.#r(5,1);break;case 5:this.#y()?this.#p+=1:this.#w()&&--this.#p,this.#k()&&!this.#p?this.#r(6,1):this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 6:this.#x()?this.#r(7,0):this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 7:this.#h()?this.#r(8,1):this.#f()&&this.#r(9,1);break;case 8:this.#f()&&this.#r(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port=``)}#r(t$1,r$3){switch(this.#o){case 0:break;case 1:this.#t.protocol=this.#c();break;case 2:break;case 3:this.#t.username=this.#c();break;case 4:this.#t.password=this.#c();break;case 5:this.#t.hostname=this.#c();break;case 6:this.#t.port=this.#c();break;case 7:this.#t.pathname=this.#c();break;case 8:this.#t.search=this.#c();break;case 9:this.#t.hash=this.#c();break;case 10:break}this.#o!==0&&t$1!==10&&([1,2,3,4].includes(this.#o)&&[6,7,8,9].includes(t$1)&&(this.#t.hostname??=``),[1,2,3,4,5,6].includes(this.#o)&&[8,9].includes(t$1)&&(this.#t.pathname??=this.#g?`/`:``),[1,2,3,4,5,6,7].includes(this.#o)&&t$1===9&&(this.#t.search??=``)),this.#R(t$1,r$3)}#R(t$1,r$3){this.#o=t$1,this.#l=this.#e+r$3,this.#e+=r$3,this.#s=0}#b(){this.#e=this.#l,this.#s=0}#u(t$1){this.#b(),this.#o=t$1}#m(t$1){return t$1<0&&(t$1=this.#n.length-t$1),t$1<this.#n.length?this.#n[t$1]:this.#n[this.#n.length-1]}#a(t$1,r$3){let n$2=this.#m(t$1);return n$2.value===r$3&&(n$2.type===`CHAR`||n$2.type===`ESCAPED_CHAR`||n$2.type===`INVALID_CHAR`)}#P(){return this.#a(this.#e,`:`)}#E(){return this.#a(this.#e+1,`/`)&&this.#a(this.#e+2,`/`)}#S(){return this.#a(this.#e,`@`)}#O(){return this.#a(this.#e,`:`)}#k(){return this.#a(this.#e,`:`)}#x(){return this.#a(this.#e,`/`)}#h(){if(this.#a(this.#e,`?`))return!0;if(this.#n[this.#e].value!==`?`)return!1;let t$1=this.#m(this.#e-1);return t$1.type!==`NAME`&&t$1.type!==`REGEX`&&t$1.type!==`CLOSE`&&t$1.type!==`ASTERISK`}#f(){return this.#a(this.#e,`#`)}#T(){return this.#n[this.#e].type==`OPEN`}#A(){return this.#n[this.#e].type==`CLOSE`}#y(){return this.#a(this.#e,`[`)}#w(){return this.#a(this.#e,`]`)}#c(){let t$1=this.#n[this.#e],r$3=this.#m(this.#l).index;return this.#i.substring(r$3,t$1.index)}#C(){let t$1={};Object.assign(t$1,b$3),t$1.encodePart=w$3;let r$3=J$3(this.#c(),void 0,t$1);this.#g=$$12(r$3)}};a$3(C$2,`Parser`);var X$1=[`protocol`,`username`,`password`,`hostname`,`port`,`pathname`,`search`,`hash`],O$2=`*`;function xe$2(e$3,t$1){if(typeof e$3!=`string`)throw TypeError(`parameter 1 is not of type 'string'.`);let r$3=new URL(e$3,t$1);return{protocol:r$3.protocol.substring(0,r$3.protocol.length-1),username:r$3.username,password:r$3.password,hostname:r$3.hostname,port:r$3.port,pathname:r$3.pathname,search:r$3.search===``?void 0:r$3.search.substring(1,r$3.search.length),hash:r$3.hash===``?void 0:r$3.hash.substring(1,r$3.hash.length)}}a$3(xe$2,`extractValues`);function R$2(e$3,t$1){return t$1?I$3(e$3):e$3}a$3(R$2,`processBaseURLString`);function L$3(e$3,t$1,r$3){let n$2;if(typeof t$1.baseURL==`string`)try{n$2=new URL(t$1.baseURL),t$1.protocol===void 0&&(e$3.protocol=R$2(n$2.protocol.substring(0,n$2.protocol.length-1),r$3)),!r$3&&t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&t$1.username===void 0&&(e$3.username=R$2(n$2.username,r$3)),!r$3&&t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&t$1.username===void 0&&t$1.password===void 0&&(e$3.password=R$2(n$2.password,r$3)),t$1.protocol===void 0&&t$1.hostname===void 0&&(e$3.hostname=R$2(n$2.hostname,r$3)),t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&(e$3.port=R$2(n$2.port,r$3)),t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&t$1.pathname===void 0&&(e$3.pathname=R$2(n$2.pathname,r$3)),t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&t$1.pathname===void 0&&t$1.search===void 0&&(e$3.search=R$2(n$2.search.substring(1,n$2.search.length),r$3)),t$1.protocol===void 0&&t$1.hostname===void 0&&t$1.port===void 0&&t$1.pathname===void 0&&t$1.search===void 0&&t$1.hash===void 0&&(e$3.hash=R$2(n$2.hash.substring(1,n$2.hash.length),r$3))}catch{throw TypeError(`invalid baseURL '${t$1.baseURL}'.`)}if(typeof t$1.protocol==`string`&&(e$3.protocol=he$2(t$1.protocol,r$3)),typeof t$1.username==`string`&&(e$3.username=ce$2(t$1.username,r$3)),typeof t$1.password==`string`&&(e$3.password=oe$2(t$1.password,r$3)),typeof t$1.hostname==`string`&&(e$3.hostname=ae$2(t$1.hostname,r$3)),typeof t$1.port==`string`&&(e$3.port=fe$2(t$1.port,e$3.protocol,r$3)),typeof t$1.pathname==`string`){if(e$3.pathname=t$1.pathname,n$2&&!te(e$3.pathname,r$3)){let o$3=n$2.pathname.lastIndexOf(`/`);o$3>=0&&(e$3.pathname=R$2(n$2.pathname.substring(0,o$3+1),r$3)+e$3.pathname)}e$3.pathname=le$2(e$3.pathname,e$3.protocol,r$3)}return typeof t$1.search==`string`&&(e$3.search=ie$1(t$1.search,r$3)),typeof t$1.hash==`string`&&(e$3.hash=se$1(t$1.hash,r$3)),e$3}a$3(L$3,`applyInit`);function I$3(e$3){return e$3.replace(/([+*?:{}()\\])/g,`\\$1`)}a$3(I$3,`escapePatternString`);function Ie$2(e$3){return e$3.replace(/([.+*?^${}()[\]|/\\])/g,`\\$1`)}a$3(Ie$2,`escapeRegexpString`);function Ne$1(e$3,t$1){t$1.delimiter??=`/#?`,t$1.prefixes??=`./`,t$1.sensitive??=!1,t$1.strict??=!1,t$1.end??=!0,t$1.start??=!0,t$1.endsWith=``;let r$3=`.*`,n$2=`[^${Ie$2(t$1.delimiter)}]+?`,o$3=/[$_\u200C\u200D\p{ID_Continue}]/u,l$2=``;for(let f=0;f<e$3.length;++f){let s$3=e$3[f];if(s$3.type===3){if(s$3.modifier===3){l$2+=I$3(s$3.value);continue}l$2+=`{${I$3(s$3.value)}}${T$2(s$3.modifier)}`;continue}let i$7=s$3.hasCustomName(),c$3=!!s$3.suffix.length||!!s$3.prefix.length&&(s$3.prefix.length!==1||!t$1.prefixes.includes(s$3.prefix)),h$4=f>0?e$3[f-1]:null,p$2=f<e$3.length-1?e$3[f+1]:null;if(!c$3&&i$7&&s$3.type===1&&s$3.modifier===3&&p$2&&!p$2.prefix.length&&!p$2.suffix.length)if(p$2.type===3){let A$2=p$2.value.length>0?p$2.value[0]:``;c$3=o$3.test(A$2)}else c$3=!p$2.hasCustomName();if(!c$3&&!s$3.prefix.length&&h$4&&h$4.type===3){let A$2=h$4.value[h$4.value.length-1];c$3=t$1.prefixes.includes(A$2)}c$3&&(l$2+=`{`),l$2+=I$3(s$3.prefix),i$7&&(l$2+=`:${s$3.name}`),s$3.type===2?l$2+=`(${s$3.value})`:s$3.type===1?i$7||(l$2+=`(${n$2})`):s$3.type===0&&(!i$7&&(!h$4||h$4.type===3||h$4.modifier!==3||c$3||s$3.prefix!==``)?l$2+=`*`:l$2+=`(.*)`),s$3.type===1&&i$7&&s$3.suffix.length&&o$3.test(s$3.suffix[0])&&(l$2+=`\\`),l$2+=I$3(s$3.suffix),c$3&&(l$2+=`}`),s$3.modifier!==3&&(l$2+=T$2(s$3.modifier))}return l$2}a$3(Ne$1,`partsToPattern`);var M$2=class{#i;#n={};#t={};#e={};#s={};#l=!1;constructor(t$1={},r$3,n$2){try{let o$3;if(typeof r$3==`string`?o$3=r$3:n$2=r$3,typeof t$1==`string`){let i$7=new C$2(t$1);if(i$7.parse(),t$1=i$7.result,o$3===void 0&&typeof t$1.protocol!=`string`)throw TypeError(`A base URL must be provided for a relative constructor string.`);t$1.baseURL=o$3}else{if(!t$1||typeof t$1!=`object`)throw TypeError(`parameter 1 is not of type 'string' and cannot convert to dictionary.`);if(o$3)throw TypeError(`parameter 1 is not of type 'string'.`)}typeof n$2>`u`&&(n$2={ignoreCase:!1});let l$2={ignoreCase:n$2.ignoreCase===!0},f={pathname:O$2,protocol:O$2,username:O$2,password:O$2,hostname:O$2,port:O$2,search:O$2,hash:O$2};this.#i=L$3(f,t$1,!0),K$3(this.#i.protocol)===this.#i.port&&(this.#i.port=``);let s$3;for(s$3 of X$1){if(!(s$3 in this.#i))continue;let i$7={},c$3=this.#i[s$3];switch(this.#t[s$3]=[],s$3){case`protocol`:Object.assign(i$7,b$3),i$7.encodePart=w$3;break;case`username`:Object.assign(i$7,b$3),i$7.encodePart=ue$2;break;case`password`:Object.assign(i$7,b$3),i$7.encodePart=de$2;break;case`hostname`:Object.assign(i$7,Q$2),j$1(c$3)?i$7.encodePart=V$4:i$7.encodePart=G$2;break;case`port`:Object.assign(i$7,b$3),i$7.encodePart=Y$2;break;case`pathname`:$$12(this.#n.protocol)?(Object.assign(i$7,ee,l$2),i$7.encodePart=pe$2):(Object.assign(i$7,b$3,l$2),i$7.encodePart=ge$2);break;case`search`:Object.assign(i$7,b$3,l$2),i$7.encodePart=me$1;break;case`hash`:Object.assign(i$7,b$3,l$2),i$7.encodePart=Se$2;break}try{this.#s[s$3]=_$5(c$3,i$7),this.#n[s$3]=z$5(this.#s[s$3],this.#t[s$3],i$7),this.#e[s$3]=Ne$1(this.#s[s$3],i$7),this.#l=this.#l||this.#s[s$3].some(h$4=>h$4.type===2)}catch{throw TypeError(`invalid ${s$3} pattern '${this.#i[s$3]}'.`)}}}catch(o$3){throw TypeError(`Failed to construct 'URLPattern': ${o$3.message}`)}}get[Symbol.toStringTag](){return`URLPattern`}test(t$1={},r$3){let n$2={pathname:``,protocol:``,username:``,password:``,hostname:``,port:``,search:``,hash:``};if(typeof t$1!=`string`&&r$3)throw TypeError(`parameter 1 is not of type 'string'.`);if(typeof t$1>`u`)return!1;try{n$2=typeof t$1==`object`?L$3(n$2,t$1,!1):L$3(n$2,xe$2(t$1,r$3),!1)}catch{return!1}let o$3;for(o$3 of X$1)if(!this.#n[o$3].exec(n$2[o$3]))return!1;return!0}exec(t$1={},r$3){let n$2={pathname:``,protocol:``,username:``,password:``,hostname:``,port:``,search:``,hash:``};if(typeof t$1!=`string`&&r$3)throw TypeError(`parameter 1 is not of type 'string'.`);if(typeof t$1>`u`)return;try{n$2=typeof t$1==`object`?L$3(n$2,t$1,!1):L$3(n$2,xe$2(t$1,r$3),!1)}catch{return null}let o$3={};r$3?o$3.inputs=[t$1,r$3]:o$3.inputs=[t$1];let l$2;for(l$2 of X$1){let f=this.#n[l$2].exec(n$2[l$2]);if(!f)return null;let s$3={};for(let[i$7,c$3]of this.#t[l$2].entries())if(typeof c$3==`string`||typeof c$3==`number`){let h$4=f[i$7+1];s$3[c$3]=h$4}o$3[l$2]={input:n$2[l$2]??``,groups:s$3}}return o$3}static compareComponent(t$1,r$3,n$2){let o$3=a$3((i$7,c$3)=>{for(let h$4 of[`type`,`modifier`,`prefix`,`value`,`suffix`]){if(i$7[h$4]<c$3[h$4])return-1;if(i$7[h$4]===c$3[h$4])continue;return 1}return 0},`comparePart`),l$2=new P$3(3,``,``,``,``,3),f=new P$3(0,``,``,``,``,3),s$3=a$3((i$7,c$3)=>{let h$4=0;for(;h$4<Math.min(i$7.length,c$3.length);++h$4){let p$2=o$3(i$7[h$4],c$3[h$4]);if(p$2)return p$2}return i$7.length===c$3.length?0:o$3(i$7[h$4]??l$2,c$3[h$4]??l$2)},`comparePartList`);return!r$3.#e[t$1]&&!n$2.#e[t$1]?0:r$3.#e[t$1]&&!n$2.#e[t$1]?s$3(r$3.#s[t$1],[f]):!r$3.#e[t$1]&&n$2.#e[t$1]?s$3([f],n$2.#s[t$1]):s$3(r$3.#s[t$1],n$2.#s[t$1])}get protocol(){return this.#e.protocol}get username(){return this.#e.username}get password(){return this.#e.password}get hostname(){return this.#e.hostname}get port(){return this.#e.port}get pathname(){return this.#e.pathname}get search(){return this.#e.search}get hash(){return this.#e.hash}get hasRegExpGroups(){return this.#l}};a$3(M$2,`URLPattern`)})),require_urlpattern_polyfill=__commonJSMin(((exports,module)=>{let{URLPattern}=require_urlpattern();module.exports={URLPattern},globalThis.URLPattern||(globalThis.URLPattern=URLPattern)})),require_cjs$4=__commonJSMin((exports=>{Object.defineProperty(exports,`__esModule`,{value:!0}),exports.isPromise=isPromise$3,exports.isActualPromise=isActualPromise,exports.handleMaybePromise=handleMaybePromise$1,exports.fakePromise=fakePromise$1,exports.createDeferredPromise=createDeferredPromise$6,exports.iterateAsync=iterateAsync$1,exports.iterateAsyncVoid=iterateAsync$1,exports.fakeRejectPromise=fakeRejectPromise,exports.mapMaybePromise=mapMaybePromise,exports.mapAsyncIterator=mapAsyncIterator,exports.promiseLikeFinally=promiseLikeFinally,exports.unfakePromise=unfakePromise$1;let kFakePromise=Symbol.for(`@whatwg-node/promise-helpers/FakePromise`);function isPromise$3(value){return value?.then!=null}function isActualPromise(value){let maybePromise=value;return maybePromise&&maybePromise.then&&maybePromise.catch&&maybePromise.finally}function handleMaybePromise$1(inputFactory,outputSuccessFactory,outputErrorFactory,finallyFactory){let result$=fakePromise$1().then(inputFactory).then(outputSuccessFactory,outputErrorFactory);return finallyFactory&&(result$=result$.finally(finallyFactory)),unfakePromise$1(result$)}function fakePromise$1(value){return value&&isActualPromise(value)?value:isPromise$3(value)?{then:(resolve$10,reject)=>fakePromise$1(value.then(resolve$10,reject)),catch:reject=>fakePromise$1(value.then(res=>res,reject)),finally:cb=>fakePromise$1(cb?promiseLikeFinally(value,cb):value),[Symbol.toStringTag]:`Promise`}:{then(resolve$10){if(resolve$10)try{return fakePromise$1(resolve$10(value))}catch(err$2){return fakeRejectPromise(err$2)}return this},catch(){return this},finally(cb){if(cb)try{return fakePromise$1(cb()).then(()=>value,()=>value)}catch(err$2){return fakeRejectPromise(err$2)}return this},[Symbol.toStringTag]:`Promise`,__fakePromiseValue:value,[kFakePromise]:`resolved`}}function createDeferredPromise$6(){if(Promise.withResolvers)return Promise.withResolvers();let resolveFn,rejectFn,promise$1=new Promise(function(resolve$10,reject){resolveFn=resolve$10,rejectFn=reject});return{promise:promise$1,get resolve(){return resolveFn},get reject(){return rejectFn}}}function iterateAsync$1(iterable,callback$1,results){if(iterable?.length===0)return;let iterator=iterable[Symbol.iterator](),index=0;function iterate$1(){let{done:endOfIterator,value}=iterator.next();if(endOfIterator)return;let endedEarly=!1;function endEarly(){endedEarly=!0}return handleMaybePromise$1(function(){return callback$1(value,endEarly,index++)},function(result){if(result&&results?.push(result),!endedEarly)return iterate$1()})}return iterate$1()}function fakeRejectPromise(error$22){return{then(_resolve$1,reject){if(reject)try{return fakePromise$1(reject(error$22))}catch(err$2){return fakeRejectPromise(err$2)}return this},catch(reject){if(reject)try{return fakePromise$1(reject(error$22))}catch(err$2){return fakeRejectPromise(err$2)}return this},finally(cb){if(cb)try{cb()}catch(err$2){return fakeRejectPromise(err$2)}return this},__fakeRejectError:error$22,[Symbol.toStringTag]:`Promise`,[kFakePromise]:`rejected`}}function mapMaybePromise(input,onSuccess,onError$3){return handleMaybePromise$1(()=>input,onSuccess,onError$3)}function mapAsyncIterator(iterator,onNext,onError$3,onEnd){Symbol.asyncIterator in iterator&&(iterator=iterator[Symbol.asyncIterator]());let $return,abruptClose,onEndWithValue;if(onEnd){let onEndWithValueResult;onEndWithValue=value=>(onEndWithValueResult||=handleMaybePromise$1(onEnd,()=>value,()=>value),onEndWithValueResult)}typeof iterator.return==`function`&&($return=iterator.return,abruptClose=error$22=>{let rethrow=()=>{throw error$22};return $return.call(iterator).then(rethrow,rethrow)});function mapResult(result){return result.done?onEndWithValue?onEndWithValue(result):result:handleMaybePromise$1(()=>result.value,value=>handleMaybePromise$1(()=>onNext(value),iteratorResult,abruptClose))}let mapReject;if(onError$3){let onErrorResult,reject=onError$3;mapReject=error$22=>(onErrorResult||=handleMaybePromise$1(()=>error$22,error$23=>handleMaybePromise$1(()=>reject(error$23),iteratorResult,abruptClose)),onErrorResult)}return{next(){return iterator.next().then(mapResult,mapReject)},return(){let res$=$return?$return.call(iterator).then(mapResult,mapReject):fakePromise$1({value:void 0,done:!0});return onEndWithValue?res$.then(onEndWithValue):res$},throw(error$22){return typeof iterator.throw==`function`?iterator.throw(error$22).then(mapResult,mapReject):abruptClose?abruptClose(error$22):fakeRejectPromise(error$22)},[Symbol.asyncIterator](){return this}}}function iteratorResult(value){return{value,done:!1}}function isFakePromise(value){return value?.[kFakePromise]===`resolved`}function isFakeRejectPromise(value){return value?.[kFakePromise]===`rejected`}function promiseLikeFinally(value,onFinally){return`finally`in value?value.finally(onFinally):value.then(res=>{let finallyRes=onFinally();return isPromise$3(finallyRes)?finallyRes.then(()=>res):res},err$2=>{let finallyRes=onFinally();if(isPromise$3(finallyRes))return finallyRes.then(()=>{throw err$2});throw err$2})}function unfakePromise$1(promise$1){if(isFakePromise(promise$1))return promise$1.__fakePromiseValue;if(isFakeRejectPromise(promise$1))throw promise$1.__fakeRejectError;return promise$1}})),require_sbmh=__commonJSMin(((exports,module)=>{let{EventEmitter:EventEmitter$10}=__require$3(`node:events`),{inherits:inherits$5}=__require$3(`node:util`);function SBMH(needle){if(typeof needle==`string`&&(needle=Buffer.from(needle)),!Buffer.isBuffer(needle))throw TypeError(`The needle has to be a String or a Buffer.`);let needleLength=needle.length,needleLastCharIndex=needleLength-1;if(needleLength===0)throw Error(`The needle cannot be an empty String/Buffer.`);if(needleLength>256)throw Error(`The needle cannot have a length bigger than 256.`);this.maxMatches=1/0,this.matches=0,this._occ=new Uint8Array(256).fill(needleLength),this._lookbehind_size=0,this._needle=needle,this._bufpos=0,this._lookbehind=Buffer.alloc(needleLastCharIndex);for(var i$7=0;i$7<needleLastCharIndex;++i$7)this._occ[needle[i$7]]=needleLastCharIndex-i$7}inherits$5(SBMH,EventEmitter$10),SBMH.prototype.reset=function(){this._lookbehind_size=0,this.matches=0,this._bufpos=0},SBMH.prototype.push=function(chunk$1,pos){Buffer.isBuffer(chunk$1)||(chunk$1=Buffer.from(chunk$1,`binary`));let chlen=chunk$1.length;this._bufpos=pos||0;let r$3;for(;r$3!==chlen&&this.matches<this.maxMatches;)r$3=this._sbmh_feed(chunk$1);return r$3},SBMH.prototype._sbmh_feed=function(data$2){let len$1=data$2.length,needle=this._needle,needleLength=needle.length,needleLastCharIndex=needleLength-1,needleLastChar=needle[needleLastCharIndex],pos=-this._lookbehind_size,ch;if(pos<0){for(;pos<0&&pos<=len$1-needleLength;){if(ch=data$2[pos+needleLastCharIndex],ch===needleLastChar&&this._sbmh_memcmp(data$2,pos,needleLastCharIndex))return this._lookbehind_size=0,++this.matches,this.emit(`info`,!0),this._bufpos=pos+needleLength;pos+=this._occ[ch]}for(;pos<0&&!this._sbmh_memcmp(data$2,pos,len$1-pos);)++pos;if(pos>=0)this.emit(`info`,!1,this._lookbehind,0,this._lookbehind_size),this._lookbehind_size=0;else{let bytesToCutOff=this._lookbehind_size+pos;return bytesToCutOff>0&&this.emit(`info`,!1,this._lookbehind,0,bytesToCutOff),this._lookbehind_size-=bytesToCutOff,this._lookbehind.copy(this._lookbehind,0,bytesToCutOff,this._lookbehind_size),data$2.copy(this._lookbehind,this._lookbehind_size),this._lookbehind_size+=len$1,this._bufpos=len$1,len$1}}if(pos=data$2.indexOf(needle,pos+this._bufpos),pos!==-1)return++this.matches,pos===0?this.emit(`info`,!0):this.emit(`info`,!0,data$2,this._bufpos,pos),this._bufpos=pos+needleLength;for(pos=len$1-needleLastCharIndex,pos<0&&(pos=0);pos!==len$1&&(data$2[pos]!==needle[0]||Buffer.compare(data$2.subarray(pos+1,len$1),needle.subarray(1,len$1-pos))!==0);)++pos;return pos!==len$1&&(data$2.copy(this._lookbehind,0,pos,len$1),this._lookbehind_size=len$1-pos),pos!==0&&this.emit(`info`,!1,data$2,this._bufpos,pos),this._bufpos=len$1,len$1},SBMH.prototype._sbmh_lookup_char=function(data$2,pos){return pos<0?this._lookbehind[this._lookbehind_size+pos]:data$2[pos]},SBMH.prototype._sbmh_memcmp=function(data$2,pos,len$1){for(var i$7=0;i$7<len$1;++i$7)if(this._sbmh_lookup_char(data$2,pos+i$7)!==this._needle[i$7])return!1;return!0},module.exports=SBMH})),require_PartStream=__commonJSMin(((exports,module)=>{let inherits$4=__require$3(`node:util`).inherits,ReadableStream$1=__require$3(`node:stream`).Readable;function PartStream$1(opts){ReadableStream$1.call(this,opts)}inherits$4(PartStream$1,ReadableStream$1),PartStream$1.prototype._read=function(n$2){},module.exports=PartStream$1})),require_getLimit=__commonJSMin(((exports,module)=>{module.exports=function(limits,name$5,defaultLimit){if(!limits||limits[name$5]===void 0||limits[name$5]===null)return defaultLimit;if(typeof limits[name$5]!=`number`||isNaN(limits[name$5]))throw TypeError(`Limit `+name$5+` is not a valid number`);return limits[name$5]}})),require_HeaderParser=__commonJSMin(((exports,module)=>{let EventEmitter$9=__require$3(`node:events`).EventEmitter,inherits$3=__require$3(`node:util`).inherits,getLimit$2=require_getLimit(),StreamSearch$1=require_sbmh(),B_DCRLF=Buffer.from(`\r
59
54
  \r
60
55
  `),RE_CRLF=/\r\n/g,RE_HDR=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser$1(cfg){EventEmitter$9.call(this),cfg||={};let self$1=this;this.nread=0,this.maxed=!1,this.npairs=0,this.maxHeaderPairs=getLimit$2(cfg,`maxHeaderPairs`,2e3),this.maxHeaderSize=getLimit$2(cfg,`maxHeaderSize`,80*1024),this.buffer=``,this.header={},this.finished=!1,this.ss=new StreamSearch$1(B_DCRLF),this.ss.on(`info`,function(isMatch,data$2,start$1,end){data$2&&!self$1.maxed&&(self$1.nread+end-start$1>=self$1.maxHeaderSize?(end=self$1.maxHeaderSize-self$1.nread+start$1,self$1.nread=self$1.maxHeaderSize,self$1.maxed=!0):self$1.nread+=end-start$1,self$1.buffer+=data$2.toString(`binary`,start$1,end)),isMatch&&self$1._finish()})}inherits$3(HeaderParser$1,EventEmitter$9),HeaderParser$1.prototype.push=function(data$2){let r$3=this.ss.push(data$2);if(this.finished)return r$3},HeaderParser$1.prototype.reset=function(){this.finished=!1,this.buffer=``,this.header={},this.ss.reset()},HeaderParser$1.prototype._finish=function(){this.buffer&&this._parseHeader(),this.ss.matches=this.ss.maxMatches;let header=this.header;this.header={},this.buffer=``,this.finished=!0,this.nread=this.npairs=0,this.maxed=!1,this.emit(`header`,header)},HeaderParser$1.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs)return;let lines=this.buffer.split(RE_CRLF),len$1=lines.length,m$3,h$4;for(var i$7=0;i$7<len$1;++i$7){if(lines[i$7].length===0)continue;if((lines[i$7][0]===` `||lines[i$7][0]===` `)&&h$4){this.header[h$4][this.header[h$4].length-1]+=lines[i$7];continue}let posColon=lines[i$7].indexOf(`:`);if(posColon===-1||posColon===0)return;if(m$3=RE_HDR.exec(lines[i$7]),h$4=m$3[1].toLowerCase(),this.header[h$4]=this.header[h$4]||[],this.header[h$4].push(m$3[2]||``),++this.npairs===this.maxHeaderPairs)break}},module.exports=HeaderParser$1})),require_Dicer=__commonJSMin(((exports,module)=>{let WritableStream$2=__require$3(`node:stream`).Writable,inherits$2=__require$3(`node:util`).inherits,StreamSearch=require_sbmh(),PartStream=require_PartStream(),HeaderParser=require_HeaderParser(),DASH=45,B_ONEDASH=Buffer.from(`-`),B_CRLF=Buffer.from(`\r
61
56
  `),EMPTY_FN=function(){};function Dicer$2(cfg){if(!(this instanceof Dicer$2))return new Dicer$2(cfg);if(WritableStream$2.call(this,cfg),!cfg||!cfg.headerFirst&&typeof cfg.boundary!=`string`)throw TypeError(`Boundary required`);typeof cfg.boundary==`string`?this.setBoundary(cfg.boundary):this._bparser=void 0,this._headerFirst=cfg.headerFirst,this._dashes=0,this._parts=0,this._finished=!1,this._realFinish=!1,this._isPreamble=!0,this._justMatched=!1,this._firstWrite=!0,this._inHeader=!0,this._part=void 0,this._cb=void 0,this._ignoreData=!1,this._partOpts={highWaterMark:cfg.partHwm},this._pause=!1;let self$1=this;this._hparser=new HeaderParser(cfg),this._hparser.on(`header`,function(header){self$1._inHeader=!1,self$1._part.emit(`header`,header)})}inherits$2(Dicer$2,WritableStream$2),Dicer$2.prototype.emit=function(ev){if(ev===`finish`&&!this._realFinish){if(!this._finished){let self$1=this;process.nextTick(function(){if(self$1.emit(`error`,Error(`Unexpected end of multipart data`)),self$1._part&&!self$1._ignoreData){let type=self$1._isPreamble?`Preamble`:`Part`;self$1._part.emit(`error`,Error(type+` terminated early due to unexpected end of multipart data`)),self$1._part.push(null),process.nextTick(function(){self$1._realFinish=!0,self$1.emit(`finish`),self$1._realFinish=!1});return}self$1._realFinish=!0,self$1.emit(`finish`),self$1._realFinish=!1})}}else WritableStream$2.prototype.emit.apply(this,arguments)},Dicer$2.prototype._write=function(data$2,encoding,cb){if(!this._hparser&&!this._bparser)return cb();if(this._headerFirst&&this._isPreamble){this._part||(this._part=new PartStream(this._partOpts),this.listenerCount(`preamble`)===0?this._ignore():this.emit(`preamble`,this._part));let r$3=this._hparser.push(data$2);if(!this._inHeader&&r$3!==void 0&&r$3<data$2.length)data$2=data$2.slice(r$3);else return cb()}this._firstWrite&&=(this._bparser.push(B_CRLF),!1),this._bparser.push(data$2),this._pause?this._cb=cb:cb()},Dicer$2.prototype.reset=function(){this._part=void 0,this._bparser=void 0,this._hparser=void 0},Dicer$2.prototype.setBoundary=function(boundary){let self$1=this;this._bparser=new StreamSearch(`\r
@@ -884,7 +879,7 @@ var NodeDownloader=class{async download(params,apiClient){if(params.downloadPath
884
879
  * Copyright 2025 Google LLC
885
880
  * SPDX-License-Identifier: Apache-2.0
886
881
  */
887
- var NodeWebSocketFactory=class{create(url$3,headers,callbacks){return new NodeWebSocket(url$3,headers,callbacks)}},NodeWebSocket=class{constructor(url$3,headers,callbacks){this.url=url$3,this.headers=headers,this.callbacks=callbacks}connect(){this.ws=new import_websocket$2.default(this.url,{headers:this.headers}),this.ws.onopen=this.callbacks.onopen,this.ws.onerror=this.callbacks.onerror,this.ws.onclose=this.callbacks.onclose,this.ws.onmessage=this.callbacks.onmessage}send(message){if(this.ws===void 0)throw Error(`WebSocket is not connected`);this.ws.send(message)}close(){if(this.ws===void 0)throw Error(`WebSocket is not connected`);this.ws.close()}};
882
+ var NodeWebSocketFactory=class{create(url$3,headers,callbacks){return new NodeWebSocket(url$3,headers,callbacks)}},NodeWebSocket=class{constructor(url$3,headers,callbacks){this.url=url$3,this.headers=headers,this.callbacks=callbacks}connect(){this.ws=new import_websocket$1.default(this.url,{headers:this.headers}),this.ws.onopen=this.callbacks.onopen,this.ws.onerror=this.callbacks.onerror,this.ws.onclose=this.callbacks.onclose,this.ws.onmessage=this.callbacks.onmessage}send(message){if(this.ws===void 0)throw Error(`WebSocket is not connected`);this.ws.send(message)}close(){if(this.ws===void 0)throw Error(`WebSocket is not connected`);this.ws.close()}};
888
883
  /**
889
884
  * @license
890
885
  * Copyright 2025 Google LLC
@@ -2132,4 +2127,4 @@ node_modules
2132
2127
 
2133
2128
  ${packageManager} blink dev`),Se(`Edit agent.ts to hot-reload your agent.`)}var import_main=__toESM$2(require_main(),1);async function deploy(directory,options$1){directory||=process.cwd();let token$1=await loginIfNeeded(),client=new Client({authToken:token$1}),packageJSON=await findNearestEntry(directory,`package.json`);if(!packageJSON)throw Error(`package.json not found`);let packageJSONContent=await readFile$1(packageJSON,`utf-8`),packageJSONData=JSON.parse(packageJSONContent),deployDirectory=dirname(packageJSON),deployConfigPath=join(deployDirectory,`.blink`,`config.json`),deployConfig={};if(existsSync(deployConfigPath)){let deployConfigContent=await readFile$1(deployConfigPath,`utf-8`);deployConfig=JSON.parse(deployConfigContent)}let organizationName;if(deployConfig?.organizationId)try{let org=await client.organizations.get(deployConfig.organizationId);organizationName=org.name}catch{deployConfig.organizationId=void 0}if(!deployConfig?.organizationId){let organizations=await client.organizations.list();if(organizations.length===1){let organization=organizations[0];deployConfig.organizationId=organization.id,organizationName=organization.name}else{let organization=await ve({message:`Which organization should contain this agent?`,options:organizations.map(organization$1=>({value:organization$1.id,label:organization$1.name}))});if(pD(organization))return;deployConfig.organizationId=organization,organizationName=organizations.find(org=>org.id===organization).name}}if(!deployConfig.organizationId)throw Error(`Developer error: No organization ID found.`);let agentName;if(deployConfig?.agentId)try{let agent=await client.agents.get(deployConfig.agentId);agentName=agent.name}catch{deployConfig.agentId=void 0}if(!deployConfig?.agentId)try{let agent=await client.organizations.agents.get({organization_id:deployConfig.organizationId,agent_name:packageJSONData.name});deployConfig.agentId=agent.id,agentName=agent.name}catch{let agent=await client.agents.create({name:packageJSONData.name,organization_id:deployConfig.organizationId});deployConfig.agentId=agent.id,agentName=agent.name}if(!deployConfig.agentId)throw Error(`Developer error: No agent ID found.`);await mkdir(dirname(deployConfigPath),{recursive:!0}),await writeFile(deployConfigPath,JSON.stringify({_:`This file can be source controlled. It contains no secrets.`,...deployConfig},null,2),`utf-8`);let entrypoint=await resolveEntrypoint(directory),{outfile}=await build$1(entrypoint),filesToUpload={},outputFiles=await readdir(dirname(outfile));for(let file of outputFiles)filesToUpload[join(dirname(outfile),file)]=file;let readmePath=join(directory,`README.md`);await exists(readmePath)&&(filesToUpload[readmePath]=`README.md`);let uploadedFiles=[],totalFiles=Object.keys(filesToUpload).length,uploadedCount=0,totalUploadedBytes=0;for(let[filePath,uploadPath]of Object.entries(filesToUpload)){let st=await stat$1(filePath),fileSize=st.size;writeInline(`${source_default.dim(`[${uploadedCount+1}/${totalFiles}]`)} Uploading ${uploadPath} (${formatBytes(fileSize)})...`);let fileContent=await readFile$1(filePath),uploadedFile=await client.files.upload(new File([fileContent],uploadPath));uploadedFiles.push({path:uploadPath,id:uploadedFile.id}),uploadedCount+=1,totalUploadedBytes+=fileSize}writeInline(`${source_default.dim(`[${uploadedCount}/${totalFiles}]`)} Uploaded files (${formatBytes(totalUploadedBytes)}).`),process.stdout.write(`
2134
2129
  `);let localEnvFile=join(directory,`.env.local`),localEnvVarsSet=[];if(await exists(localEnvFile)){let localEnv=(0,import_main.parse)(await readFile$1(localEnvFile,`utf-8`));localEnvVarsSet=Object.keys(localEnv)}let cloudEnvVarsSet=[],cloudEnvVars=await client.agents.env.list({agent_id:deployConfig.agentId});cloudEnvVarsSet=cloudEnvVars.map(env$8=>env$8.key);let prodEnvFile=join(directory,`.env.production`);if(await exists(prodEnvFile)){let prodEnv=(0,import_main.parse)(await readFile$1(prodEnvFile,`utf-8`)),envEntries=Object.entries(prodEnv),totalEnvVars=envEntries.length,updatedCount=0;for(let[key,value]of envEntries){let created=await client.agents.env.create({agent_id:deployConfig.agentId,key,value,target:[`production`,`preview`],secret:!0,upsert:!0});cloudEnvVarsSet.push(created.key),updatedCount+=1,writeInline(`${source_default.dim(`[${updatedCount}/${totalEnvVars}]`)} Updating environment variable: ${key} ${source_default.dim(`(.env.production)`)}`)}writeInline(`${source_default.dim(`[${updatedCount}/${totalEnvVars}]`)} Updated environment variables! ${source_default.dim(`(.env.production)`)}`),process.stdout.write(`
2135
- `)}let missingEnvVars=localEnvVarsSet.filter(v$2=>!cloudEnvVarsSet.includes(v$2));if(missingEnvVars.length>0){console.log(`Warning: The following environment variables are set in .env.local but not in .env.production:`);for(let v$2 of missingEnvVars)console.log(`- ${v$2}`);let confirmed=await ye({message:`Do you want to deploy anyway?`});if(confirmed===!1||pD(confirmed))return}let deployment=await client.agents.deployments.create({agent_id:deployConfig.agentId,target:`production`,entrypoint:basename(outfile),files:uploadedFiles,message:options$1?.message}),inspectUrl=`https://blink.so/${organizationName}/${agentName}/deployments/${deployment.number}`;console.log(`Deployed:`,inspectUrl);let s$3=Y();s$3.start(`Waiting for deployment to be live...`);try{let pollIntervalMs=500;for(;;){let current=await client.agents.deployments.get({agent_id:deployConfig.agentId,deployment_id:deployment.id});if(current.status===`success`){let msg=`Deployment successful.`;current.target===`production`&&(msg+=` All chats will use this deployment!`),s$3.stop(msg);break}if(current.status===`failed`){let msg=`Deployment failed.`;current.error_message&&(msg+=` ${current.error_message}`),s$3.stop(msg),console.log(`Read logs for details:`,inspectUrl);return}await new Promise(r$3=>setTimeout(r$3,500))}}catch{s$3.stop(`Failed to poll for deployment status.`),console.log(`Read logs for details:`,inspectUrl);return}}const exists=async path$38=>{try{return await stat$1(path$38),!0}catch{return!1}};function formatBytes(bytes){if(bytes===0)return`0B`;let k$2=1024,sizes=[`B`,`KB`,`MB`,`GB`,`TB`],i$7=Math.floor(Math.log(bytes)/Math.log(k$2)),value=bytes/k$2**+i$7;return`${value.toFixed(value>=100?0:value>=10?1:2)}${sizes[i$7]}`}function writeInline(message){if(process.stdout.isTTY)try{process.stdout.clearLine(0),process.stdout.cursorTo(0),process.stdout.write(message);return}catch{}console.log(message)}async function login(){await login$1()}var version=`0.1.46`;await init_wrapper(),globalThis.WebSocket||(globalThis.WebSocket=import_websocket$2.default),globalThis.crypto||(globalThis.crypto={}),globalThis.crypto.randomUUID||(globalThis.crypto.randomUUID=()=>randomUUID()),program.name(`blink`).description(`Blink is a runtime for building and deploying AI agents.`).version(version).action(()=>{program.outputHelp()}),program.command(`init [directory]`).description(`Initialize a new Blink agent.`).action(init),program.command(`dev [directory] [options]`).description(`Start a development server for your agent.`).action(dev),program.command(`deploy [directory]`).description(`Deploy your agent to the Blink Cloud.`).option(`-m, --message <message>`,`Message for this deployment`).action(deploy),program.command(`build [directory]`).description(`Build your agent for production.`).action(build),program.command(`telemetry [boolean]`).description(`Enable or disable telemetry.`),program.command(`start [directory]`).description("Starts the Blink runtime in production mode. The agent must be compiled with `blink build` first."),program.command(`serve [entrypoint]`).description(`Serve the Blink agent as an HTTP server.`).action(serve),program.command(`connect`,{hidden:!0}).description(`Connect compute to the Blink Cloud.`).action(connect),program.command(`chat`,{hidden:!0}).description(`Start a Blink chat connected to your machine.`).action(chat),program.command(`login`,{hidden:!0}).description(`Log in to the Blink Cloud.`).action(login),program.parse(process.argv);export{};
2130
+ `)}let missingEnvVars=localEnvVarsSet.filter(v$2=>!cloudEnvVarsSet.includes(v$2));if(missingEnvVars.length>0){console.log(`Warning: The following environment variables are set in .env.local but not in .env.production:`);for(let v$2 of missingEnvVars)console.log(`- ${v$2}`);let confirmed=await ye({message:`Do you want to deploy anyway?`});if(confirmed===!1||pD(confirmed))return}let deployment=await client.agents.deployments.create({agent_id:deployConfig.agentId,target:`production`,entrypoint:basename(outfile),files:uploadedFiles,message:options$1?.message}),inspectUrl=`https://blink.so/${organizationName}/${agentName}/deployments/${deployment.number}`;console.log(`Deployed:`,inspectUrl);let s$3=Y();s$3.start(`Waiting for deployment to be live...`);try{let pollIntervalMs=500;for(;;){let current=await client.agents.deployments.get({agent_id:deployConfig.agentId,deployment_id:deployment.id});if(current.status===`success`){let msg=`Deployment successful.`;current.target===`production`&&(msg+=` All chats will use this deployment!`),s$3.stop(msg);break}if(current.status===`failed`){let msg=`Deployment failed.`;current.error_message&&(msg+=` ${current.error_message}`),s$3.stop(msg),console.log(`Read logs for details:`,inspectUrl);return}await new Promise(r$3=>setTimeout(r$3,500))}}catch{s$3.stop(`Failed to poll for deployment status.`),console.log(`Read logs for details:`,inspectUrl);return}}const exists=async path$38=>{try{return await stat$1(path$38),!0}catch{return!1}};function formatBytes(bytes){if(bytes===0)return`0B`;let k$2=1024,sizes=[`B`,`KB`,`MB`,`GB`,`TB`],i$7=Math.floor(Math.log(bytes)/Math.log(k$2)),value=bytes/k$2**+i$7;return`${value.toFixed(value>=100?0:value>=10?1:2)}${sizes[i$7]}`}function writeInline(message){if(process.stdout.isTTY)try{process.stdout.clearLine(0),process.stdout.cursorTo(0),process.stdout.write(message);return}catch{}console.log(message)}async function login(){await login$1()}var version=`0.1.47`;await init_wrapper(),globalThis.WebSocket||(globalThis.WebSocket=import_websocket$1.default),globalThis.crypto||(globalThis.crypto={}),globalThis.crypto.randomUUID||(globalThis.crypto.randomUUID=()=>randomUUID()),program.name(`blink`).description(`Blink is a runtime for building and deploying AI agents.`).version(version).action(()=>{program.outputHelp()}),program.command(`init [directory]`).description(`Initialize a new Blink agent.`).action(init),program.command(`dev [directory] [options]`).description(`Start a development server for your agent.`).action(dev),program.command(`deploy [directory]`).description(`Deploy your agent to the Blink Cloud.`).option(`-m, --message <message>`,`Message for this deployment`).action(deploy),program.command(`build [directory]`).description(`Build your agent for production.`).action(build),program.command(`telemetry [boolean]`).description(`Enable or disable telemetry.`),program.command(`start [directory]`).description("Starts the Blink runtime in production mode. The agent must be compiled with `blink build` first."),program.command(`serve [entrypoint]`).description(`Serve the Blink agent as an HTTP server.`).action(serve),program.command(`connect`,{hidden:!0}).description(`Connect compute to the Blink Cloud.`).action(connect),program.command(`chat`,{hidden:!0}).description(`Start a Blink chat connected to your machine.`).action(chat),program.command(`login`,{hidden:!0}).description(`Log in to the Blink Cloud.`).action(login),program.parse(process.argv);export{};