factoriomod-debug 2.0.6 → 2.0.8

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.
@@ -2,63 +2,63 @@
2
2
  import {createRequire} from 'module'
3
3
  const require = createRequire(import.meta.url)
4
4
 
5
- import{a as ut,c as I,d as ke,e as ti,g as ni,h as Ko,j as hr,k as gl}from"./chunk-ZLQDNPPN.js";var ri=I(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.Event=Qt.Response=Qt.Message=void 0;var mr=class{constructor(e){this.seq=0,this.type=e}};Qt.Message=mr;var Go=class extends mr{constructor(e,t){super("response"),this.request_seq=e.seq,this.command=e.command,t?(this.success=!1,this.message=t):this.success=!0}};Qt.Response=Go;var Xo=class extends mr{constructor(e,t){super("event"),this.event=e,t&&(this.body=t)}};Qt.Event=Xo});var bl=I(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.ProtocolServer=void 0;var wg=ut("events"),gr=ri(),Jo=class{get event(){return this._event||(this._event=(e,t)=>{this._listener=e,this._this=t;let r;return r={dispose:()=>{this._listener=void 0,this._this=void 0}},r}),this._event}fire(e){if(this._listener)try{this._listener.call(this._this,e)}catch{}}hasListener(){return!!this._listener}dispose(){this._listener=void 0,this._this=void 0}},ii=class n extends wg.EventEmitter{constructor(){super(),this._sendMessage=new Jo,this._sequence=1,this._pendingRequests=new Map,this.onDidSendMessage=this._sendMessage.event}dispose(){}handleMessage(e){if(e.type==="request")this.dispatchRequest(e);else if(e.type==="response"){let t=e,r=this._pendingRequests.get(t.request_seq);r&&(this._pendingRequests.delete(t.request_seq),r(t))}}_isRunningInline(){return this._sendMessage&&this._sendMessage.hasListener()}start(e,t){this._writableStream=t,this._rawData=Buffer.alloc(0),e.on("data",r=>this._handleData(r)),e.on("close",()=>{this._emitEvent(new gr.Event("close"))}),e.on("error",r=>{this._emitEvent(new gr.Event("error","inStream error: "+(r&&r.message)))}),t.on("error",r=>{this._emitEvent(new gr.Event("error","outStream error: "+(r&&r.message)))}),e.resume()}stop(){this._writableStream&&this._writableStream.end()}sendEvent(e){this._send("event",e)}sendResponse(e){e.seq>0?console.error(`attempt to send more than one response for command ${e.command}`):this._send("response",e)}sendRequest(e,t,r,i){let o={command:e};if(t&&Object.keys(t).length>0&&(o.arguments=t),this._send("request",o),i){this._pendingRequests.set(o.seq,i);let s=setTimeout(()=>{clearTimeout(s);let a=this._pendingRequests.get(o.seq);a&&(this._pendingRequests.delete(o.seq),a(new gr.Response(o,"timeout")))},r)}}dispatchRequest(e){}_emitEvent(e){this.emit(e.event,e)}_send(e,t){if(t.type=e,t.seq=this._sequence++,this._writableStream){let r=JSON.stringify(t);this._writableStream.write(`Content-Length: ${Buffer.byteLength(r,"utf8")}\r
5
+ import{a as ut,c as I,d as ke,e as ti,g as ni,h as Ko,j as hr,k as ml}from"./chunk-ZLQDNPPN.js";var ri=I(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.Event=Jt.Response=Jt.Message=void 0;var mr=class{constructor(e){this.seq=0,this.type=e}};Jt.Message=mr;var Go=class extends mr{constructor(e,t){super("response"),this.request_seq=e.seq,this.command=e.command,t?(this.success=!1,this.message=t):this.success=!0}};Jt.Response=Go;var Xo=class extends mr{constructor(e,t){super("event"),this.event=e,t&&(this.body=t)}};Jt.Event=Xo});var _l=I(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.ProtocolServer=void 0;var vg=ut("events"),gr=ri(),Zo=class{get event(){return this._event||(this._event=(e,t)=>{this._listener=e,this._this=t;let r;return r={dispose:()=>{this._listener=void 0,this._this=void 0}},r}),this._event}fire(e){if(this._listener)try{this._listener.call(this._this,e)}catch{}}hasListener(){return!!this._listener}dispose(){this._listener=void 0,this._this=void 0}},ii=class n extends vg.EventEmitter{constructor(){super(),this._sendMessage=new Zo,this._sequence=1,this._pendingRequests=new Map,this.onDidSendMessage=this._sendMessage.event}dispose(){}handleMessage(e){if(e.type==="request")this.dispatchRequest(e);else if(e.type==="response"){let t=e,r=this._pendingRequests.get(t.request_seq);r&&(this._pendingRequests.delete(t.request_seq),r(t))}}_isRunningInline(){return this._sendMessage&&this._sendMessage.hasListener()}start(e,t){this._writableStream=t,this._rawData=Buffer.alloc(0),e.on("data",r=>this._handleData(r)),e.on("close",()=>{this._emitEvent(new gr.Event("close"))}),e.on("error",r=>{this._emitEvent(new gr.Event("error","inStream error: "+(r&&r.message)))}),t.on("error",r=>{this._emitEvent(new gr.Event("error","outStream error: "+(r&&r.message)))}),e.resume()}stop(){this._writableStream&&this._writableStream.end()}sendEvent(e){this._send("event",e)}sendResponse(e){e.seq>0?console.error(`attempt to send more than one response for command ${e.command}`):this._send("response",e)}sendRequest(e,t,r,i){let o={command:e};if(t&&Object.keys(t).length>0&&(o.arguments=t),this._send("request",o),i){this._pendingRequests.set(o.seq,i);let s=setTimeout(()=>{clearTimeout(s);let a=this._pendingRequests.get(o.seq);a&&(this._pendingRequests.delete(o.seq),a(new gr.Response(o,"timeout")))},r)}}dispatchRequest(e){}_emitEvent(e){this.emit(e.event,e)}_send(e,t){if(t.type=e,t.seq=this._sequence++,this._writableStream){let r=JSON.stringify(t);this._writableStream.write(`Content-Length: ${Buffer.byteLength(r,"utf8")}\r
6
6
  \r
7
7
  ${r}`,"utf8")}this._sendMessage.fire(t)}_handleData(e){for(this._rawData=Buffer.concat([this._rawData,e]);;){if(this._contentLength>=0){if(this._rawData.length>=this._contentLength){let t=this._rawData.toString("utf8",0,this._contentLength);if(this._rawData=this._rawData.slice(this._contentLength),this._contentLength=-1,t.length>0)try{let r=JSON.parse(t);this.handleMessage(r)}catch(r){this._emitEvent(new gr.Event("error","Error handling data: "+(r&&r.message)))}continue}}else{let t=this._rawData.indexOf(n.TWO_CRLF);if(t!==-1){let i=this._rawData.toString("utf8",0,t).split(`\r
8
8
  `);for(let o=0;o<i.length;o++){let s=i[o].split(/: +/);s[0]=="Content-Length"&&(this._contentLength=+s[1])}this._rawData=this._rawData.slice(t+n.TWO_CRLF.length);continue}}break}}};oi.ProtocolServer=ii;ii.TWO_CRLF=`\r
9
9
  \r
10
- `});var yl=I(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.runDebugAdapter=void 0;var Pg=ut("net");function Rg(n){let e=0;if(process.argv.slice(2).forEach(function(r,i,o){let s=/^--server=(\d{4,5})$/.exec(r);s&&(e=parseInt(s[1],10))}),e>0)console.error(`waiting for debug protocol on port ${e}`),Pg.createServer(r=>{console.error(">> accepted connection from client"),r.on("end",()=>{console.error(`>> client connection closed
11
- `)});let i=new n(!1,!0);i.setRunAsServer(!0),i.start(r,r)}).listen(e);else{let r=new n(!1);process.on("SIGTERM",()=>{r.shutdown()}),r.start(process.stdin,process.stdout)}}si.runDebugAdapter=Rg});var ci=I(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.DebugSession=Q.ErrorDestination=Q.MemoryEvent=Q.InvalidatedEvent=Q.ProgressEndEvent=Q.ProgressUpdateEvent=Q.ProgressStartEvent=Q.CapabilitiesEvent=Q.LoadedSourceEvent=Q.ModuleEvent=Q.BreakpointEvent=Q.ThreadEvent=Q.OutputEvent=Q.ExitedEvent=Q.TerminatedEvent=Q.InitializedEvent=Q.ContinuedEvent=Q.StoppedEvent=Q.CompletionItem=Q.Module=Q.Breakpoint=Q.Variable=Q.Thread=Q.StackFrame=Q.Scope=Q.Source=void 0;var Eg=bl(),Ue=ri(),Sg=yl(),vl=ut("url"),Qo=class{constructor(e,t,r=0,i,o){this.name=e,this.path=t,this.sourceReference=r,i&&(this.origin=i),o&&(this.adapterData=o)}};Q.Source=Qo;var Zo=class{constructor(e,t,r=!1){this.name=e,this.variablesReference=t,this.expensive=r}};Q.Scope=Zo;var Yo=class{constructor(e,t,r,i=0,o=0){this.id=e,this.source=r,this.line=i,this.column=o,this.name=t}};Q.StackFrame=Yo;var es=class{constructor(e,t){this.id=e,t?this.name=t:this.name="Thread #"+e}};Q.Thread=es;var ts=class{constructor(e,t,r=0,i,o){this.name=e,this.value=t,this.variablesReference=r,typeof o=="number"&&(this.namedVariables=o),typeof i=="number"&&(this.indexedVariables=i)}};Q.Variable=ts;var ns=class{constructor(e,t,r,i){this.verified=e;let o=this;typeof t=="number"&&(o.line=t),typeof r=="number"&&(o.column=r),i&&(o.source=i)}setId(e){this.id=e}};Q.Breakpoint=ns;var rs=class{constructor(e,t){this.id=e,this.name=t}};Q.Module=rs;var is=class{constructor(e,t,r=0){this.label=e,this.start=t,this.length=r}};Q.CompletionItem=is;var os=class extends Ue.Event{constructor(e,t,r){super("stopped"),this.body={reason:e},typeof t=="number"&&(this.body.threadId=t),typeof r=="string"&&(this.body.text=r)}};Q.StoppedEvent=os;var ss=class extends Ue.Event{constructor(e,t){super("continued"),this.body={threadId:e},typeof t=="boolean"&&(this.body.allThreadsContinued=t)}};Q.ContinuedEvent=ss;var as=class extends Ue.Event{constructor(){super("initialized")}};Q.InitializedEvent=as;var cs=class extends Ue.Event{constructor(e){if(super("terminated"),typeof e=="boolean"||e){let t=this;t.body={restart:e}}}};Q.TerminatedEvent=cs;var ls=class extends Ue.Event{constructor(e){super("exited"),this.body={exitCode:e}}};Q.ExitedEvent=ls;var us=class extends Ue.Event{constructor(e,t="console",r){super("output"),this.body={category:t,output:e},r!==void 0&&(this.body.data=r)}};Q.OutputEvent=us;var ds=class extends Ue.Event{constructor(e,t){super("thread"),this.body={reason:e,threadId:t}}};Q.ThreadEvent=ds;var fs=class extends Ue.Event{constructor(e,t){super("breakpoint"),this.body={reason:e,breakpoint:t}}};Q.BreakpointEvent=fs;var ps=class extends Ue.Event{constructor(e,t){super("module"),this.body={reason:e,module:t}}};Q.ModuleEvent=ps;var hs=class extends Ue.Event{constructor(e,t){super("loadedSource"),this.body={reason:e,source:t}}};Q.LoadedSourceEvent=hs;var ms=class extends Ue.Event{constructor(e){super("capabilities"),this.body={capabilities:e}}};Q.CapabilitiesEvent=ms;var gs=class extends Ue.Event{constructor(e,t,r){super("progressStart"),this.body={progressId:e,title:t},typeof r=="string"&&(this.body.message=r)}};Q.ProgressStartEvent=gs;var _s=class extends Ue.Event{constructor(e,t){super("progressUpdate"),this.body={progressId:e},typeof t=="string"&&(this.body.message=t)}};Q.ProgressUpdateEvent=_s;var bs=class extends Ue.Event{constructor(e,t){super("progressEnd"),this.body={progressId:e},typeof t=="string"&&(this.body.message=t)}};Q.ProgressEndEvent=bs;var ys=class extends Ue.Event{constructor(e,t,r){super("invalidated"),this.body={},e&&(this.body.areas=e),t&&(this.body.threadId=t),r&&(this.body.stackFrameId=r)}};Q.InvalidatedEvent=ys;var vs=class extends Ue.Event{constructor(e,t,r){super("memory"),this.body={memoryReference:e,offset:t,count:r}}};Q.MemoryEvent=vs;var bn;(function(n){n[n.User=1]="User",n[n.Telemetry=2]="Telemetry"})(bn=Q.ErrorDestination||(Q.ErrorDestination={}));var ai=class n extends Eg.ProtocolServer{constructor(e,t){super();let r=typeof e=="boolean"?e:!1;this._debuggerLinesStartAt1=r,this._debuggerColumnsStartAt1=r,this._debuggerPathsAreURIs=!1,this._clientLinesStartAt1=!0,this._clientColumnsStartAt1=!0,this._clientPathsAreURIs=!1,this._isServer=typeof t=="boolean"?t:!1,this.on("close",()=>{this.shutdown()}),this.on("error",i=>{this.shutdown()})}setDebuggerPathFormat(e){this._debuggerPathsAreURIs=e!=="path"}setDebuggerLinesStartAt1(e){this._debuggerLinesStartAt1=e}setDebuggerColumnsStartAt1(e){this._debuggerColumnsStartAt1=e}setRunAsServer(e){this._isServer=e}static run(e){(0,Sg.runDebugAdapter)(e)}shutdown(){this._isServer||this._isRunningInline()||setTimeout(()=>{process.exit(0)},100)}sendErrorResponse(e,t,r,i,o=bn.User){let s;typeof t=="number"?(s={id:t,format:r},i&&(s.variables=i),o&bn.User&&(s.showUser=!0),o&bn.Telemetry&&(s.sendTelemetry=!0)):s=t,e.success=!1,e.message=n.formatPII(s.format,!0,s.variables),e.body||(e.body={}),e.body.error=s,this.sendResponse(e)}runInTerminalRequest(e,t,r){this.sendRequest("runInTerminal",e,t,r)}dispatchRequest(e){let t=new Ue.Response(e);try{if(e.command==="initialize"){var r=e.arguments;if(typeof r.linesStartAt1=="boolean"&&(this._clientLinesStartAt1=r.linesStartAt1),typeof r.columnsStartAt1=="boolean"&&(this._clientColumnsStartAt1=r.columnsStartAt1),r.pathFormat!=="path")this.sendErrorResponse(t,2018,"debug adapter only supports native paths",null,bn.Telemetry);else{let i=t;i.body={},this.initializeRequest(i,r)}}else e.command==="launch"?this.launchRequest(t,e.arguments,e):e.command==="attach"?this.attachRequest(t,e.arguments,e):e.command==="disconnect"?this.disconnectRequest(t,e.arguments,e):e.command==="terminate"?this.terminateRequest(t,e.arguments,e):e.command==="restart"?this.restartRequest(t,e.arguments,e):e.command==="setBreakpoints"?this.setBreakPointsRequest(t,e.arguments,e):e.command==="setFunctionBreakpoints"?this.setFunctionBreakPointsRequest(t,e.arguments,e):e.command==="setExceptionBreakpoints"?this.setExceptionBreakPointsRequest(t,e.arguments,e):e.command==="configurationDone"?this.configurationDoneRequest(t,e.arguments,e):e.command==="continue"?this.continueRequest(t,e.arguments,e):e.command==="next"?this.nextRequest(t,e.arguments,e):e.command==="stepIn"?this.stepInRequest(t,e.arguments,e):e.command==="stepOut"?this.stepOutRequest(t,e.arguments,e):e.command==="stepBack"?this.stepBackRequest(t,e.arguments,e):e.command==="reverseContinue"?this.reverseContinueRequest(t,e.arguments,e):e.command==="restartFrame"?this.restartFrameRequest(t,e.arguments,e):e.command==="goto"?this.gotoRequest(t,e.arguments,e):e.command==="pause"?this.pauseRequest(t,e.arguments,e):e.command==="stackTrace"?this.stackTraceRequest(t,e.arguments,e):e.command==="scopes"?this.scopesRequest(t,e.arguments,e):e.command==="variables"?this.variablesRequest(t,e.arguments,e):e.command==="setVariable"?this.setVariableRequest(t,e.arguments,e):e.command==="setExpression"?this.setExpressionRequest(t,e.arguments,e):e.command==="source"?this.sourceRequest(t,e.arguments,e):e.command==="threads"?this.threadsRequest(t,e):e.command==="terminateThreads"?this.terminateThreadsRequest(t,e.arguments,e):e.command==="evaluate"?this.evaluateRequest(t,e.arguments,e):e.command==="stepInTargets"?this.stepInTargetsRequest(t,e.arguments,e):e.command==="gotoTargets"?this.gotoTargetsRequest(t,e.arguments,e):e.command==="completions"?this.completionsRequest(t,e.arguments,e):e.command==="exceptionInfo"?this.exceptionInfoRequest(t,e.arguments,e):e.command==="loadedSources"?this.loadedSourcesRequest(t,e.arguments,e):e.command==="dataBreakpointInfo"?this.dataBreakpointInfoRequest(t,e.arguments,e):e.command==="setDataBreakpoints"?this.setDataBreakpointsRequest(t,e.arguments,e):e.command==="readMemory"?this.readMemoryRequest(t,e.arguments,e):e.command==="writeMemory"?this.writeMemoryRequest(t,e.arguments,e):e.command==="disassemble"?this.disassembleRequest(t,e.arguments,e):e.command==="cancel"?this.cancelRequest(t,e.arguments,e):e.command==="breakpointLocations"?this.breakpointLocationsRequest(t,e.arguments,e):e.command==="setInstructionBreakpoints"?this.setInstructionBreakpointsRequest(t,e.arguments,e):this.customRequest(e.command,t,e.arguments,e)}catch(i){this.sendErrorResponse(t,1104,"{_stack}",{_exception:i.message,_stack:i.stack},bn.Telemetry)}}initializeRequest(e,t){e.body.supportsConditionalBreakpoints=!1,e.body.supportsHitConditionalBreakpoints=!1,e.body.supportsFunctionBreakpoints=!1,e.body.supportsConfigurationDoneRequest=!0,e.body.supportsEvaluateForHovers=!1,e.body.supportsStepBack=!1,e.body.supportsSetVariable=!1,e.body.supportsRestartFrame=!1,e.body.supportsStepInTargetsRequest=!1,e.body.supportsGotoTargetsRequest=!1,e.body.supportsCompletionsRequest=!1,e.body.supportsRestartRequest=!1,e.body.supportsExceptionOptions=!1,e.body.supportsValueFormattingOptions=!1,e.body.supportsExceptionInfoRequest=!1,e.body.supportTerminateDebuggee=!1,e.body.supportsDelayedStackTraceLoading=!1,e.body.supportsLoadedSourcesRequest=!1,e.body.supportsLogPoints=!1,e.body.supportsTerminateThreadsRequest=!1,e.body.supportsSetExpression=!1,e.body.supportsTerminateRequest=!1,e.body.supportsDataBreakpoints=!1,e.body.supportsReadMemoryRequest=!1,e.body.supportsDisassembleRequest=!1,e.body.supportsCancelRequest=!1,e.body.supportsBreakpointLocationsRequest=!1,e.body.supportsClipboardContext=!1,e.body.supportsSteppingGranularity=!1,e.body.supportsInstructionBreakpoints=!1,e.body.supportsExceptionFilterOptions=!1,this.sendResponse(e)}disconnectRequest(e,t,r){this.sendResponse(e),this.shutdown()}launchRequest(e,t,r){this.sendResponse(e)}attachRequest(e,t,r){this.sendResponse(e)}terminateRequest(e,t,r){this.sendResponse(e)}restartRequest(e,t,r){this.sendResponse(e)}setBreakPointsRequest(e,t,r){this.sendResponse(e)}setFunctionBreakPointsRequest(e,t,r){this.sendResponse(e)}setExceptionBreakPointsRequest(e,t,r){this.sendResponse(e)}configurationDoneRequest(e,t,r){this.sendResponse(e)}continueRequest(e,t,r){this.sendResponse(e)}nextRequest(e,t,r){this.sendResponse(e)}stepInRequest(e,t,r){this.sendResponse(e)}stepOutRequest(e,t,r){this.sendResponse(e)}stepBackRequest(e,t,r){this.sendResponse(e)}reverseContinueRequest(e,t,r){this.sendResponse(e)}restartFrameRequest(e,t,r){this.sendResponse(e)}gotoRequest(e,t,r){this.sendResponse(e)}pauseRequest(e,t,r){this.sendResponse(e)}sourceRequest(e,t,r){this.sendResponse(e)}threadsRequest(e,t){this.sendResponse(e)}terminateThreadsRequest(e,t,r){this.sendResponse(e)}stackTraceRequest(e,t,r){this.sendResponse(e)}scopesRequest(e,t,r){this.sendResponse(e)}variablesRequest(e,t,r){this.sendResponse(e)}setVariableRequest(e,t,r){this.sendResponse(e)}setExpressionRequest(e,t,r){this.sendResponse(e)}evaluateRequest(e,t,r){this.sendResponse(e)}stepInTargetsRequest(e,t,r){this.sendResponse(e)}gotoTargetsRequest(e,t,r){this.sendResponse(e)}completionsRequest(e,t,r){this.sendResponse(e)}exceptionInfoRequest(e,t,r){this.sendResponse(e)}loadedSourcesRequest(e,t,r){this.sendResponse(e)}dataBreakpointInfoRequest(e,t,r){this.sendResponse(e)}setDataBreakpointsRequest(e,t,r){this.sendResponse(e)}readMemoryRequest(e,t,r){this.sendResponse(e)}writeMemoryRequest(e,t,r){this.sendResponse(e)}disassembleRequest(e,t,r){this.sendResponse(e)}cancelRequest(e,t,r){this.sendResponse(e)}breakpointLocationsRequest(e,t,r){this.sendResponse(e)}setInstructionBreakpointsRequest(e,t,r){this.sendResponse(e)}customRequest(e,t,r,i){this.sendErrorResponse(t,1014,"unrecognized request",null,bn.Telemetry)}convertClientLineToDebugger(e){return this._debuggerLinesStartAt1?this._clientLinesStartAt1?e:e+1:this._clientLinesStartAt1?e-1:e}convertDebuggerLineToClient(e){return this._debuggerLinesStartAt1?this._clientLinesStartAt1?e:e-1:this._clientLinesStartAt1?e+1:e}convertClientColumnToDebugger(e){return this._debuggerColumnsStartAt1?this._clientColumnsStartAt1?e:e+1:this._clientColumnsStartAt1?e-1:e}convertDebuggerColumnToClient(e){return this._debuggerColumnsStartAt1?this._clientColumnsStartAt1?e:e-1:this._clientColumnsStartAt1?e+1:e}convertClientPathToDebugger(e){return this._clientPathsAreURIs!==this._debuggerPathsAreURIs?this._clientPathsAreURIs?n.uri2path(e):n.path2uri(e):e}convertDebuggerPathToClient(e){return this._debuggerPathsAreURIs!==this._clientPathsAreURIs?this._debuggerPathsAreURIs?n.uri2path(e):n.path2uri(e):e}static path2uri(e){process.platform==="win32"&&(/^[A-Z]:/.test(e)&&(e=e[0].toLowerCase()+e.substr(1)),e=e.replace(/\\/g,"/")),e=encodeURI(e);let t=new vl.URL("file:");return t.pathname=e,t.toString()}static uri2path(e){let t=new vl.URL(e),r=decodeURIComponent(t.pathname);return process.platform==="win32"&&(/^\/[a-zA-Z]:/.test(r)&&(r=r[1].toLowerCase()+r.substr(2)),r=r.replace(/\//g,"\\")),r}static formatPII(e,t,r){return e.replace(n._formatPIIRegexp,function(i,o){return t&&o.length>0&&o[0]!=="_"?i:r[o]&&r.hasOwnProperty(o)?r[o]:i})}};Q.DebugSession=ai;ai._formatPIIRegexp=/{([^}]+)}/g});var El=I(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.InternalLogger=void 0;var wl=ut("fs"),Pl=ut("path"),dt=di(),ws=class{constructor(e,t){this.beforeExitCallback=()=>this.dispose(),this._logCallback=e,this._logToConsole=t,this._minLogLevel=dt.LogLevel.Warn,this.disposeCallback=(r,i)=>{this.dispose(),i=i||2,i+=128,process.exit(i)}}async setup(e){if(this._minLogLevel=e.consoleMinLogLevel,this._prependTimestamp=e.prependTimestamp,e.logFilePath)if(!Pl.isAbsolute(e.logFilePath))this.log(`logFilePath must be an absolute path: ${e.logFilePath}`,dt.LogLevel.Error);else{let t=r=>this.sendLog(`Error creating log file at path: ${e.logFilePath}. Error: ${r.toString()}
12
- `,dt.LogLevel.Error);try{await wl.promises.mkdir(Pl.dirname(e.logFilePath),{recursive:!0}),this.log(`Verbose logs are written to:
10
+ `});var bl=I(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.runDebugAdapter=void 0;var wg=ut("net");function Pg(n){let e=0;if(process.argv.slice(2).forEach(function(r,i,o){let s=/^--server=(\d{4,5})$/.exec(r);s&&(e=parseInt(s[1],10))}),e>0)console.error(`waiting for debug protocol on port ${e}`),wg.createServer(r=>{console.error(">> accepted connection from client"),r.on("end",()=>{console.error(`>> client connection closed
11
+ `)});let i=new n(!1,!0);i.setRunAsServer(!0),i.start(r,r)}).listen(e);else{let r=new n(!1);process.on("SIGTERM",()=>{r.shutdown()}),r.start(process.stdin,process.stdout)}}si.runDebugAdapter=Pg});var ci=I(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});J.DebugSession=J.ErrorDestination=J.MemoryEvent=J.InvalidatedEvent=J.ProgressEndEvent=J.ProgressUpdateEvent=J.ProgressStartEvent=J.CapabilitiesEvent=J.LoadedSourceEvent=J.ModuleEvent=J.BreakpointEvent=J.ThreadEvent=J.OutputEvent=J.ExitedEvent=J.TerminatedEvent=J.InitializedEvent=J.ContinuedEvent=J.StoppedEvent=J.CompletionItem=J.Module=J.Breakpoint=J.Variable=J.Thread=J.StackFrame=J.Scope=J.Source=void 0;var Rg=_l(),Ue=ri(),Eg=bl(),yl=ut("url"),Jo=class{constructor(e,t,r=0,i,o){this.name=e,this.path=t,this.sourceReference=r,i&&(this.origin=i),o&&(this.adapterData=o)}};J.Source=Jo;var Qo=class{constructor(e,t,r=!1){this.name=e,this.variablesReference=t,this.expensive=r}};J.Scope=Qo;var Yo=class{constructor(e,t,r,i=0,o=0){this.id=e,this.source=r,this.line=i,this.column=o,this.name=t}};J.StackFrame=Yo;var es=class{constructor(e,t){this.id=e,t?this.name=t:this.name="Thread #"+e}};J.Thread=es;var ts=class{constructor(e,t,r=0,i,o){this.name=e,this.value=t,this.variablesReference=r,typeof o=="number"&&(this.namedVariables=o),typeof i=="number"&&(this.indexedVariables=i)}};J.Variable=ts;var ns=class{constructor(e,t,r,i){this.verified=e;let o=this;typeof t=="number"&&(o.line=t),typeof r=="number"&&(o.column=r),i&&(o.source=i)}setId(e){this.id=e}};J.Breakpoint=ns;var rs=class{constructor(e,t){this.id=e,this.name=t}};J.Module=rs;var is=class{constructor(e,t,r=0){this.label=e,this.start=t,this.length=r}};J.CompletionItem=is;var os=class extends Ue.Event{constructor(e,t,r){super("stopped"),this.body={reason:e},typeof t=="number"&&(this.body.threadId=t),typeof r=="string"&&(this.body.text=r)}};J.StoppedEvent=os;var ss=class extends Ue.Event{constructor(e,t){super("continued"),this.body={threadId:e},typeof t=="boolean"&&(this.body.allThreadsContinued=t)}};J.ContinuedEvent=ss;var as=class extends Ue.Event{constructor(){super("initialized")}};J.InitializedEvent=as;var cs=class extends Ue.Event{constructor(e){if(super("terminated"),typeof e=="boolean"||e){let t=this;t.body={restart:e}}}};J.TerminatedEvent=cs;var ls=class extends Ue.Event{constructor(e){super("exited"),this.body={exitCode:e}}};J.ExitedEvent=ls;var us=class extends Ue.Event{constructor(e,t="console",r){super("output"),this.body={category:t,output:e},r!==void 0&&(this.body.data=r)}};J.OutputEvent=us;var ds=class extends Ue.Event{constructor(e,t){super("thread"),this.body={reason:e,threadId:t}}};J.ThreadEvent=ds;var fs=class extends Ue.Event{constructor(e,t){super("breakpoint"),this.body={reason:e,breakpoint:t}}};J.BreakpointEvent=fs;var ps=class extends Ue.Event{constructor(e,t){super("module"),this.body={reason:e,module:t}}};J.ModuleEvent=ps;var hs=class extends Ue.Event{constructor(e,t){super("loadedSource"),this.body={reason:e,source:t}}};J.LoadedSourceEvent=hs;var ms=class extends Ue.Event{constructor(e){super("capabilities"),this.body={capabilities:e}}};J.CapabilitiesEvent=ms;var gs=class extends Ue.Event{constructor(e,t,r){super("progressStart"),this.body={progressId:e,title:t},typeof r=="string"&&(this.body.message=r)}};J.ProgressStartEvent=gs;var _s=class extends Ue.Event{constructor(e,t){super("progressUpdate"),this.body={progressId:e},typeof t=="string"&&(this.body.message=t)}};J.ProgressUpdateEvent=_s;var bs=class extends Ue.Event{constructor(e,t){super("progressEnd"),this.body={progressId:e},typeof t=="string"&&(this.body.message=t)}};J.ProgressEndEvent=bs;var ys=class extends Ue.Event{constructor(e,t,r){super("invalidated"),this.body={},e&&(this.body.areas=e),t&&(this.body.threadId=t),r&&(this.body.stackFrameId=r)}};J.InvalidatedEvent=ys;var vs=class extends Ue.Event{constructor(e,t,r){super("memory"),this.body={memoryReference:e,offset:t,count:r}}};J.MemoryEvent=vs;var bn;(function(n){n[n.User=1]="User",n[n.Telemetry=2]="Telemetry"})(bn=J.ErrorDestination||(J.ErrorDestination={}));var ai=class n extends Rg.ProtocolServer{constructor(e,t){super();let r=typeof e=="boolean"?e:!1;this._debuggerLinesStartAt1=r,this._debuggerColumnsStartAt1=r,this._debuggerPathsAreURIs=!1,this._clientLinesStartAt1=!0,this._clientColumnsStartAt1=!0,this._clientPathsAreURIs=!1,this._isServer=typeof t=="boolean"?t:!1,this.on("close",()=>{this.shutdown()}),this.on("error",i=>{this.shutdown()})}setDebuggerPathFormat(e){this._debuggerPathsAreURIs=e!=="path"}setDebuggerLinesStartAt1(e){this._debuggerLinesStartAt1=e}setDebuggerColumnsStartAt1(e){this._debuggerColumnsStartAt1=e}setRunAsServer(e){this._isServer=e}static run(e){(0,Eg.runDebugAdapter)(e)}shutdown(){this._isServer||this._isRunningInline()||setTimeout(()=>{process.exit(0)},100)}sendErrorResponse(e,t,r,i,o=bn.User){let s;typeof t=="number"?(s={id:t,format:r},i&&(s.variables=i),o&bn.User&&(s.showUser=!0),o&bn.Telemetry&&(s.sendTelemetry=!0)):s=t,e.success=!1,e.message=n.formatPII(s.format,!0,s.variables),e.body||(e.body={}),e.body.error=s,this.sendResponse(e)}runInTerminalRequest(e,t,r){this.sendRequest("runInTerminal",e,t,r)}dispatchRequest(e){let t=new Ue.Response(e);try{if(e.command==="initialize"){var r=e.arguments;if(typeof r.linesStartAt1=="boolean"&&(this._clientLinesStartAt1=r.linesStartAt1),typeof r.columnsStartAt1=="boolean"&&(this._clientColumnsStartAt1=r.columnsStartAt1),r.pathFormat!=="path")this.sendErrorResponse(t,2018,"debug adapter only supports native paths",null,bn.Telemetry);else{let i=t;i.body={},this.initializeRequest(i,r)}}else e.command==="launch"?this.launchRequest(t,e.arguments,e):e.command==="attach"?this.attachRequest(t,e.arguments,e):e.command==="disconnect"?this.disconnectRequest(t,e.arguments,e):e.command==="terminate"?this.terminateRequest(t,e.arguments,e):e.command==="restart"?this.restartRequest(t,e.arguments,e):e.command==="setBreakpoints"?this.setBreakPointsRequest(t,e.arguments,e):e.command==="setFunctionBreakpoints"?this.setFunctionBreakPointsRequest(t,e.arguments,e):e.command==="setExceptionBreakpoints"?this.setExceptionBreakPointsRequest(t,e.arguments,e):e.command==="configurationDone"?this.configurationDoneRequest(t,e.arguments,e):e.command==="continue"?this.continueRequest(t,e.arguments,e):e.command==="next"?this.nextRequest(t,e.arguments,e):e.command==="stepIn"?this.stepInRequest(t,e.arguments,e):e.command==="stepOut"?this.stepOutRequest(t,e.arguments,e):e.command==="stepBack"?this.stepBackRequest(t,e.arguments,e):e.command==="reverseContinue"?this.reverseContinueRequest(t,e.arguments,e):e.command==="restartFrame"?this.restartFrameRequest(t,e.arguments,e):e.command==="goto"?this.gotoRequest(t,e.arguments,e):e.command==="pause"?this.pauseRequest(t,e.arguments,e):e.command==="stackTrace"?this.stackTraceRequest(t,e.arguments,e):e.command==="scopes"?this.scopesRequest(t,e.arguments,e):e.command==="variables"?this.variablesRequest(t,e.arguments,e):e.command==="setVariable"?this.setVariableRequest(t,e.arguments,e):e.command==="setExpression"?this.setExpressionRequest(t,e.arguments,e):e.command==="source"?this.sourceRequest(t,e.arguments,e):e.command==="threads"?this.threadsRequest(t,e):e.command==="terminateThreads"?this.terminateThreadsRequest(t,e.arguments,e):e.command==="evaluate"?this.evaluateRequest(t,e.arguments,e):e.command==="stepInTargets"?this.stepInTargetsRequest(t,e.arguments,e):e.command==="gotoTargets"?this.gotoTargetsRequest(t,e.arguments,e):e.command==="completions"?this.completionsRequest(t,e.arguments,e):e.command==="exceptionInfo"?this.exceptionInfoRequest(t,e.arguments,e):e.command==="loadedSources"?this.loadedSourcesRequest(t,e.arguments,e):e.command==="dataBreakpointInfo"?this.dataBreakpointInfoRequest(t,e.arguments,e):e.command==="setDataBreakpoints"?this.setDataBreakpointsRequest(t,e.arguments,e):e.command==="readMemory"?this.readMemoryRequest(t,e.arguments,e):e.command==="writeMemory"?this.writeMemoryRequest(t,e.arguments,e):e.command==="disassemble"?this.disassembleRequest(t,e.arguments,e):e.command==="cancel"?this.cancelRequest(t,e.arguments,e):e.command==="breakpointLocations"?this.breakpointLocationsRequest(t,e.arguments,e):e.command==="setInstructionBreakpoints"?this.setInstructionBreakpointsRequest(t,e.arguments,e):this.customRequest(e.command,t,e.arguments,e)}catch(i){this.sendErrorResponse(t,1104,"{_stack}",{_exception:i.message,_stack:i.stack},bn.Telemetry)}}initializeRequest(e,t){e.body.supportsConditionalBreakpoints=!1,e.body.supportsHitConditionalBreakpoints=!1,e.body.supportsFunctionBreakpoints=!1,e.body.supportsConfigurationDoneRequest=!0,e.body.supportsEvaluateForHovers=!1,e.body.supportsStepBack=!1,e.body.supportsSetVariable=!1,e.body.supportsRestartFrame=!1,e.body.supportsStepInTargetsRequest=!1,e.body.supportsGotoTargetsRequest=!1,e.body.supportsCompletionsRequest=!1,e.body.supportsRestartRequest=!1,e.body.supportsExceptionOptions=!1,e.body.supportsValueFormattingOptions=!1,e.body.supportsExceptionInfoRequest=!1,e.body.supportTerminateDebuggee=!1,e.body.supportsDelayedStackTraceLoading=!1,e.body.supportsLoadedSourcesRequest=!1,e.body.supportsLogPoints=!1,e.body.supportsTerminateThreadsRequest=!1,e.body.supportsSetExpression=!1,e.body.supportsTerminateRequest=!1,e.body.supportsDataBreakpoints=!1,e.body.supportsReadMemoryRequest=!1,e.body.supportsDisassembleRequest=!1,e.body.supportsCancelRequest=!1,e.body.supportsBreakpointLocationsRequest=!1,e.body.supportsClipboardContext=!1,e.body.supportsSteppingGranularity=!1,e.body.supportsInstructionBreakpoints=!1,e.body.supportsExceptionFilterOptions=!1,this.sendResponse(e)}disconnectRequest(e,t,r){this.sendResponse(e),this.shutdown()}launchRequest(e,t,r){this.sendResponse(e)}attachRequest(e,t,r){this.sendResponse(e)}terminateRequest(e,t,r){this.sendResponse(e)}restartRequest(e,t,r){this.sendResponse(e)}setBreakPointsRequest(e,t,r){this.sendResponse(e)}setFunctionBreakPointsRequest(e,t,r){this.sendResponse(e)}setExceptionBreakPointsRequest(e,t,r){this.sendResponse(e)}configurationDoneRequest(e,t,r){this.sendResponse(e)}continueRequest(e,t,r){this.sendResponse(e)}nextRequest(e,t,r){this.sendResponse(e)}stepInRequest(e,t,r){this.sendResponse(e)}stepOutRequest(e,t,r){this.sendResponse(e)}stepBackRequest(e,t,r){this.sendResponse(e)}reverseContinueRequest(e,t,r){this.sendResponse(e)}restartFrameRequest(e,t,r){this.sendResponse(e)}gotoRequest(e,t,r){this.sendResponse(e)}pauseRequest(e,t,r){this.sendResponse(e)}sourceRequest(e,t,r){this.sendResponse(e)}threadsRequest(e,t){this.sendResponse(e)}terminateThreadsRequest(e,t,r){this.sendResponse(e)}stackTraceRequest(e,t,r){this.sendResponse(e)}scopesRequest(e,t,r){this.sendResponse(e)}variablesRequest(e,t,r){this.sendResponse(e)}setVariableRequest(e,t,r){this.sendResponse(e)}setExpressionRequest(e,t,r){this.sendResponse(e)}evaluateRequest(e,t,r){this.sendResponse(e)}stepInTargetsRequest(e,t,r){this.sendResponse(e)}gotoTargetsRequest(e,t,r){this.sendResponse(e)}completionsRequest(e,t,r){this.sendResponse(e)}exceptionInfoRequest(e,t,r){this.sendResponse(e)}loadedSourcesRequest(e,t,r){this.sendResponse(e)}dataBreakpointInfoRequest(e,t,r){this.sendResponse(e)}setDataBreakpointsRequest(e,t,r){this.sendResponse(e)}readMemoryRequest(e,t,r){this.sendResponse(e)}writeMemoryRequest(e,t,r){this.sendResponse(e)}disassembleRequest(e,t,r){this.sendResponse(e)}cancelRequest(e,t,r){this.sendResponse(e)}breakpointLocationsRequest(e,t,r){this.sendResponse(e)}setInstructionBreakpointsRequest(e,t,r){this.sendResponse(e)}customRequest(e,t,r,i){this.sendErrorResponse(t,1014,"unrecognized request",null,bn.Telemetry)}convertClientLineToDebugger(e){return this._debuggerLinesStartAt1?this._clientLinesStartAt1?e:e+1:this._clientLinesStartAt1?e-1:e}convertDebuggerLineToClient(e){return this._debuggerLinesStartAt1?this._clientLinesStartAt1?e:e-1:this._clientLinesStartAt1?e+1:e}convertClientColumnToDebugger(e){return this._debuggerColumnsStartAt1?this._clientColumnsStartAt1?e:e+1:this._clientColumnsStartAt1?e-1:e}convertDebuggerColumnToClient(e){return this._debuggerColumnsStartAt1?this._clientColumnsStartAt1?e:e-1:this._clientColumnsStartAt1?e+1:e}convertClientPathToDebugger(e){return this._clientPathsAreURIs!==this._debuggerPathsAreURIs?this._clientPathsAreURIs?n.uri2path(e):n.path2uri(e):e}convertDebuggerPathToClient(e){return this._debuggerPathsAreURIs!==this._clientPathsAreURIs?this._debuggerPathsAreURIs?n.uri2path(e):n.path2uri(e):e}static path2uri(e){process.platform==="win32"&&(/^[A-Z]:/.test(e)&&(e=e[0].toLowerCase()+e.substr(1)),e=e.replace(/\\/g,"/")),e=encodeURI(e);let t=new yl.URL("file:");return t.pathname=e,t.toString()}static uri2path(e){let t=new yl.URL(e),r=decodeURIComponent(t.pathname);return process.platform==="win32"&&(/^\/[a-zA-Z]:/.test(r)&&(r=r[1].toLowerCase()+r.substr(2)),r=r.replace(/\//g,"\\")),r}static formatPII(e,t,r){return e.replace(n._formatPIIRegexp,function(i,o){return t&&o.length>0&&o[0]!=="_"?i:r[o]&&r.hasOwnProperty(o)?r[o]:i})}};J.DebugSession=ai;ai._formatPIIRegexp=/{([^}]+)}/g});var Rl=I(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.InternalLogger=void 0;var vl=ut("fs"),wl=ut("path"),dt=di(),ws=class{constructor(e,t){this.beforeExitCallback=()=>this.dispose(),this._logCallback=e,this._logToConsole=t,this._minLogLevel=dt.LogLevel.Warn,this.disposeCallback=(r,i)=>{this.dispose(),i=i||2,i+=128,process.exit(i)}}async setup(e){if(this._minLogLevel=e.consoleMinLogLevel,this._prependTimestamp=e.prependTimestamp,e.logFilePath)if(!wl.isAbsolute(e.logFilePath))this.log(`logFilePath must be an absolute path: ${e.logFilePath}`,dt.LogLevel.Error);else{let t=r=>this.sendLog(`Error creating log file at path: ${e.logFilePath}. Error: ${r.toString()}
12
+ `,dt.LogLevel.Error);try{await vl.promises.mkdir(wl.dirname(e.logFilePath),{recursive:!0}),this.log(`Verbose logs are written to:
13
13
  `,dt.LogLevel.Warn),this.log(e.logFilePath+`
14
- `,dt.LogLevel.Warn),this._logFileStream=wl.createWriteStream(e.logFilePath),this.logDateTime(),this.setupShutdownListeners(),this._logFileStream.on("error",r=>{t(r)})}catch(r){t(r)}}}logDateTime(){let e=new Date,r=e.getUTCFullYear()+`-${e.getUTCMonth()+1}-`+e.getUTCDate()+", "+Rl();this.log(r+`
15
- `,dt.LogLevel.Verbose,!1)}setupShutdownListeners(){process.on("beforeExit",this.beforeExitCallback),process.on("SIGTERM",this.disposeCallback),process.on("SIGINT",this.disposeCallback)}removeShutdownListeners(){process.removeListener("beforeExit",this.beforeExitCallback),process.removeListener("SIGTERM",this.disposeCallback),process.removeListener("SIGINT",this.disposeCallback)}dispose(){return new Promise(e=>{this.removeShutdownListeners(),this._logFileStream?(this._logFileStream.end(e),this._logFileStream=null):e()})}log(e,t,r=!0){if(this._minLogLevel!==dt.LogLevel.Stop){if(t>=this._minLogLevel&&this.sendLog(e,t),this._logToConsole){let i=t===dt.LogLevel.Error?console.error:t===dt.LogLevel.Warn?console.warn:null;i&&i((0,dt.trimLastNewline)(e))}t===dt.LogLevel.Error&&(e=`[${dt.LogLevel[t]}] ${e}`),this._prependTimestamp&&r&&(e="["+Rl()+"] "+e),this._logFileStream&&this._logFileStream.write(e)}}sendLog(e,t){if(e.length>1500){let r=!!e.match(/(\n|\r\n)$/);e=e.substr(0,1500)+"[...]",r&&(e=e+`
16
- `)}if(this._logCallback){let r=new dt.LogOutputEvent(e,t);this._logCallback(r)}}};ui.InternalLogger=ws;function Rl(){let n=new Date,e=li(2,String(n.getUTCHours())),t=li(2,String(n.getUTCMinutes())),r=li(2,String(n.getUTCSeconds())),i=li(3,String(n.getUTCMilliseconds()));return e+":"+t+":"+r+"."+i+" UTC"}function li(n,e){return e.length>=n?e:String("0".repeat(n)+e).slice(-n)}});var di=I(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.trimLastNewline=ft.LogOutputEvent=ft.logger=ft.Logger=ft.LogLevel=void 0;var xg=El(),Lg=ci(),Zt;(function(n){n[n.Verbose=0]="Verbose",n[n.Log=1]="Log",n[n.Warn=2]="Warn",n[n.Error=3]="Error",n[n.Stop=4]="Stop"})(Zt=ft.LogLevel||(ft.LogLevel={}));var fi=class{constructor(){this._pendingLogQ=[]}log(e,t=Zt.Log){e=e+`
17
- `,this._write(e,t)}verbose(e){this.log(e,Zt.Verbose)}warn(e){this.log(e,Zt.Warn)}error(e){this.log(e,Zt.Error)}dispose(){if(this._currentLogger){let e=this._currentLogger.dispose();return this._currentLogger=null,e}else return Promise.resolve()}_write(e,t=Zt.Log){e=e+"",this._pendingLogQ?this._pendingLogQ.push({msg:e,level:t}):this._currentLogger&&this._currentLogger.log(e,t)}setup(e,t,r=!0){let i=typeof t=="string"?t:t&&this._logFilePathFromInit;if(this._currentLogger){let o={consoleMinLogLevel:e,logFilePath:i,prependTimestamp:r};this._currentLogger.setup(o).then(()=>{if(this._pendingLogQ){let s=this._pendingLogQ;this._pendingLogQ=null,s.forEach(a=>this._write(a.msg,a.level))}})}}init(e,t,r){this._pendingLogQ=this._pendingLogQ||[],this._currentLogger=new xg.InternalLogger(e,r),this._logFilePathFromInit=t}};ft.Logger=fi;ft.logger=new fi;var Ps=class extends Lg.OutputEvent{constructor(e,t){let r=t===Zt.Error?"stderr":t===Zt.Warn?"console":"stdout";super(e,r)}};ft.LogOutputEvent=Ps;function Dg(n){return n.replace(/(\n|\r\n)$/,"")}ft.trimLastNewline=Dg});var Ll=I(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.LoggingDebugSession=void 0;var xl=di(),$n=xl.logger,Sl=ci(),Rs=class extends Sl.DebugSession{constructor(e,t,r){super(t,r),this.obsolete_logFilePath=e,this.on("error",i=>{$n.error(i.body)})}start(e,t){super.start(e,t),$n.init(r=>this.sendEvent(r),this.obsolete_logFilePath,this._isServer)}sendEvent(e){if(!(e instanceof xl.LogOutputEvent)){let t=e;e instanceof Sl.OutputEvent&&e.body&&e.body.data&&e.body.data.doNotLogOutput&&(delete e.body.data.doNotLogOutput,t={...e},t.body={...e.body,output:"<output not logged>"}),$n.verbose(`To client: ${JSON.stringify(t)}`)}super.sendEvent(e)}sendRequest(e,t,r,i){$n.verbose(`To client: ${JSON.stringify(e)}(${JSON.stringify(t)}), timeout: ${r}`),super.sendRequest(e,t,r,i)}sendResponse(e){$n.verbose(`To client: ${JSON.stringify(e)}`),super.sendResponse(e)}dispatchRequest(e){$n.verbose(`From client: ${e.command}(${JSON.stringify(e.arguments)})`),super.dispatchRequest(e)}};pi.LoggingDebugSession=Rs});var Dl=I(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});hi.Handles=void 0;var Es=class{constructor(e){this.START_HANDLE=1e3,this._handleMap=new Map,this._nextHandle=typeof e=="number"?e:this.START_HANDLE}reset(){this._nextHandle=this.START_HANDLE,this._handleMap=new Map}create(e){var t=this._nextHandle++;return this._handleMap.set(t,e),t}get(e,t){return this._handleMap.get(e)||t}};hi.Handles=Es});var Il=I(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.Handles=W.Response=W.Event=W.ErrorDestination=W.CompletionItem=W.Module=W.Source=W.Breakpoint=W.Variable=W.Scope=W.StackFrame=W.Thread=W.MemoryEvent=W.InvalidatedEvent=W.ProgressEndEvent=W.ProgressUpdateEvent=W.ProgressStartEvent=W.CapabilitiesEvent=W.LoadedSourceEvent=W.ModuleEvent=W.BreakpointEvent=W.ThreadEvent=W.OutputEvent=W.ContinuedEvent=W.StoppedEvent=W.ExitedEvent=W.TerminatedEvent=W.InitializedEvent=W.logger=W.Logger=W.LoggingDebugSession=W.DebugSession=void 0;var Pe=ci();Object.defineProperty(W,"DebugSession",{enumerable:!0,get:function(){return Pe.DebugSession}});Object.defineProperty(W,"InitializedEvent",{enumerable:!0,get:function(){return Pe.InitializedEvent}});Object.defineProperty(W,"TerminatedEvent",{enumerable:!0,get:function(){return Pe.TerminatedEvent}});Object.defineProperty(W,"ExitedEvent",{enumerable:!0,get:function(){return Pe.ExitedEvent}});Object.defineProperty(W,"StoppedEvent",{enumerable:!0,get:function(){return Pe.StoppedEvent}});Object.defineProperty(W,"ContinuedEvent",{enumerable:!0,get:function(){return Pe.ContinuedEvent}});Object.defineProperty(W,"OutputEvent",{enumerable:!0,get:function(){return Pe.OutputEvent}});Object.defineProperty(W,"ThreadEvent",{enumerable:!0,get:function(){return Pe.ThreadEvent}});Object.defineProperty(W,"BreakpointEvent",{enumerable:!0,get:function(){return Pe.BreakpointEvent}});Object.defineProperty(W,"ModuleEvent",{enumerable:!0,get:function(){return Pe.ModuleEvent}});Object.defineProperty(W,"LoadedSourceEvent",{enumerable:!0,get:function(){return Pe.LoadedSourceEvent}});Object.defineProperty(W,"CapabilitiesEvent",{enumerable:!0,get:function(){return Pe.CapabilitiesEvent}});Object.defineProperty(W,"ProgressStartEvent",{enumerable:!0,get:function(){return Pe.ProgressStartEvent}});Object.defineProperty(W,"ProgressUpdateEvent",{enumerable:!0,get:function(){return Pe.ProgressUpdateEvent}});Object.defineProperty(W,"ProgressEndEvent",{enumerable:!0,get:function(){return Pe.ProgressEndEvent}});Object.defineProperty(W,"InvalidatedEvent",{enumerable:!0,get:function(){return Pe.InvalidatedEvent}});Object.defineProperty(W,"MemoryEvent",{enumerable:!0,get:function(){return Pe.MemoryEvent}});Object.defineProperty(W,"Thread",{enumerable:!0,get:function(){return Pe.Thread}});Object.defineProperty(W,"StackFrame",{enumerable:!0,get:function(){return Pe.StackFrame}});Object.defineProperty(W,"Scope",{enumerable:!0,get:function(){return Pe.Scope}});Object.defineProperty(W,"Variable",{enumerable:!0,get:function(){return Pe.Variable}});Object.defineProperty(W,"Breakpoint",{enumerable:!0,get:function(){return Pe.Breakpoint}});Object.defineProperty(W,"Source",{enumerable:!0,get:function(){return Pe.Source}});Object.defineProperty(W,"Module",{enumerable:!0,get:function(){return Pe.Module}});Object.defineProperty(W,"CompletionItem",{enumerable:!0,get:function(){return Pe.CompletionItem}});Object.defineProperty(W,"ErrorDestination",{enumerable:!0,get:function(){return Pe.ErrorDestination}});var kg=Ll();Object.defineProperty(W,"LoggingDebugSession",{enumerable:!0,get:function(){return kg.LoggingDebugSession}});var kl=di();W.Logger=kl;var Tl=ri();Object.defineProperty(W,"Event",{enumerable:!0,get:function(){return Tl.Event}});Object.defineProperty(W,"Response",{enumerable:!0,get:function(){return Tl.Response}});var Tg=Dl();Object.defineProperty(W,"Handles",{enumerable:!0,get:function(){return Tg.Handles}});var Ig=kl.logger;W.logger=Ig});var _r=I((hR,Cl)=>{"use strict";var Cg="2.0.0",Ag=Number.MAX_SAFE_INTEGER||9007199254740991,$g=16,Og=250,Mg=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Cl.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:$g,MAX_SAFE_BUILD_LENGTH:Og,MAX_SAFE_INTEGER:Ag,RELEASE_TYPES:Mg,SEMVER_SPEC_VERSION:Cg,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var br=I((mR,Al)=>{"use strict";var qg=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...n)=>console.error("SEMVER",...n):()=>{};Al.exports=qg});var On=I((At,$l)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Ss,MAX_SAFE_BUILD_LENGTH:Ng,MAX_LENGTH:Fg}=_r(),jg=br();At=$l.exports={};var Bg=At.re=[],Ug=At.safeRe=[],U=At.src=[],Vg=At.safeSrc=[],V=At.t={},Wg=0,xs="[a-zA-Z0-9-]",zg=[["\\s",1],["\\d",Fg],[xs,Ng]],Hg=n=>{for(let[e,t]of zg)n=n.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return n},oe=(n,e,t)=>{let r=Hg(e),i=Wg++;jg(n,i,e),V[n]=i,U[i]=e,Vg[i]=r,Bg[i]=new RegExp(e,t?"g":void 0),Ug[i]=new RegExp(r,t?"g":void 0)};oe("NUMERICIDENTIFIER","0|[1-9]\\d*");oe("NUMERICIDENTIFIERLOOSE","\\d+");oe("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${xs}*`);oe("MAINVERSION",`(${U[V.NUMERICIDENTIFIER]})\\.(${U[V.NUMERICIDENTIFIER]})\\.(${U[V.NUMERICIDENTIFIER]})`);oe("MAINVERSIONLOOSE",`(${U[V.NUMERICIDENTIFIERLOOSE]})\\.(${U[V.NUMERICIDENTIFIERLOOSE]})\\.(${U[V.NUMERICIDENTIFIERLOOSE]})`);oe("PRERELEASEIDENTIFIER",`(?:${U[V.NONNUMERICIDENTIFIER]}|${U[V.NUMERICIDENTIFIER]})`);oe("PRERELEASEIDENTIFIERLOOSE",`(?:${U[V.NONNUMERICIDENTIFIER]}|${U[V.NUMERICIDENTIFIERLOOSE]})`);oe("PRERELEASE",`(?:-(${U[V.PRERELEASEIDENTIFIER]}(?:\\.${U[V.PRERELEASEIDENTIFIER]})*))`);oe("PRERELEASELOOSE",`(?:-?(${U[V.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${U[V.PRERELEASEIDENTIFIERLOOSE]})*))`);oe("BUILDIDENTIFIER",`${xs}+`);oe("BUILD",`(?:\\+(${U[V.BUILDIDENTIFIER]}(?:\\.${U[V.BUILDIDENTIFIER]})*))`);oe("FULLPLAIN",`v?${U[V.MAINVERSION]}${U[V.PRERELEASE]}?${U[V.BUILD]}?`);oe("FULL",`^${U[V.FULLPLAIN]}$`);oe("LOOSEPLAIN",`[v=\\s]*${U[V.MAINVERSIONLOOSE]}${U[V.PRERELEASELOOSE]}?${U[V.BUILD]}?`);oe("LOOSE",`^${U[V.LOOSEPLAIN]}$`);oe("GTLT","((?:<|>)?=?)");oe("XRANGEIDENTIFIERLOOSE",`${U[V.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);oe("XRANGEIDENTIFIER",`${U[V.NUMERICIDENTIFIER]}|x|X|\\*`);oe("XRANGEPLAIN",`[v=\\s]*(${U[V.XRANGEIDENTIFIER]})(?:\\.(${U[V.XRANGEIDENTIFIER]})(?:\\.(${U[V.XRANGEIDENTIFIER]})(?:${U[V.PRERELEASE]})?${U[V.BUILD]}?)?)?`);oe("XRANGEPLAINLOOSE",`[v=\\s]*(${U[V.XRANGEIDENTIFIERLOOSE]})(?:\\.(${U[V.XRANGEIDENTIFIERLOOSE]})(?:\\.(${U[V.XRANGEIDENTIFIERLOOSE]})(?:${U[V.PRERELEASELOOSE]})?${U[V.BUILD]}?)?)?`);oe("XRANGE",`^${U[V.GTLT]}\\s*${U[V.XRANGEPLAIN]}$`);oe("XRANGELOOSE",`^${U[V.GTLT]}\\s*${U[V.XRANGEPLAINLOOSE]}$`);oe("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Ss}})(?:\\.(\\d{1,${Ss}}))?(?:\\.(\\d{1,${Ss}}))?`);oe("COERCE",`${U[V.COERCEPLAIN]}(?:$|[^\\d])`);oe("COERCEFULL",U[V.COERCEPLAIN]+`(?:${U[V.PRERELEASE]})?(?:${U[V.BUILD]})?(?:$|[^\\d])`);oe("COERCERTL",U[V.COERCE],!0);oe("COERCERTLFULL",U[V.COERCEFULL],!0);oe("LONETILDE","(?:~>?)");oe("TILDETRIM",`(\\s*)${U[V.LONETILDE]}\\s+`,!0);At.tildeTrimReplace="$1~";oe("TILDE",`^${U[V.LONETILDE]}${U[V.XRANGEPLAIN]}$`);oe("TILDELOOSE",`^${U[V.LONETILDE]}${U[V.XRANGEPLAINLOOSE]}$`);oe("LONECARET","(?:\\^)");oe("CARETTRIM",`(\\s*)${U[V.LONECARET]}\\s+`,!0);At.caretTrimReplace="$1^";oe("CARET",`^${U[V.LONECARET]}${U[V.XRANGEPLAIN]}$`);oe("CARETLOOSE",`^${U[V.LONECARET]}${U[V.XRANGEPLAINLOOSE]}$`);oe("COMPARATORLOOSE",`^${U[V.GTLT]}\\s*(${U[V.LOOSEPLAIN]})$|^$`);oe("COMPARATOR",`^${U[V.GTLT]}\\s*(${U[V.FULLPLAIN]})$|^$`);oe("COMPARATORTRIM",`(\\s*)${U[V.GTLT]}\\s*(${U[V.LOOSEPLAIN]}|${U[V.XRANGEPLAIN]})`,!0);At.comparatorTrimReplace="$1$2$3";oe("HYPHENRANGE",`^\\s*(${U[V.XRANGEPLAIN]})\\s+-\\s+(${U[V.XRANGEPLAIN]})\\s*$`);oe("HYPHENRANGELOOSE",`^\\s*(${U[V.XRANGEPLAINLOOSE]})\\s+-\\s+(${U[V.XRANGEPLAINLOOSE]})\\s*$`);oe("STAR","(<|>)?=?\\s*\\*");oe("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");oe("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var mi=I((gR,Ol)=>{"use strict";var Kg=Object.freeze({loose:!0}),Gg=Object.freeze({}),Xg=n=>n?typeof n!="object"?Kg:n:Gg;Ol.exports=Xg});var Ls=I((_R,Nl)=>{"use strict";var Ml=/^[0-9]+$/,ql=(n,e)=>{let t=Ml.test(n),r=Ml.test(e);return t&&r&&(n=+n,e=+e),n===e?0:t&&!r?-1:r&&!t?1:n<e?-1:1},Jg=(n,e)=>ql(e,n);Nl.exports={compareIdentifiers:ql,rcompareIdentifiers:Jg}});var We=I((bR,jl)=>{"use strict";var gi=br(),{MAX_LENGTH:Fl,MAX_SAFE_INTEGER:_i}=_r(),{safeRe:bi,t:yi}=On(),Qg=mi(),{compareIdentifiers:Mn}=Ls(),Ds=class n{constructor(e,t){if(t=Qg(t),e instanceof n){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>Fl)throw new TypeError(`version is longer than ${Fl} characters`);gi("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let r=e.trim().match(t.loose?bi[yi.LOOSE]:bi[yi.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>_i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>_i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>_i||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){let o=+i;if(o>=0&&o<_i)return o}return i}):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(gi("SemVer.compare",this.version,this.options,e),!(e instanceof n)){if(typeof e=="string"&&e===this.version)return 0;e=new n(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof n||(e=new n(e,this.options)),Mn(this.major,e.major)||Mn(this.minor,e.minor)||Mn(this.patch,e.patch)}comparePre(e){if(e instanceof n||(e=new n(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let r=this.prerelease[t],i=e.prerelease[t];if(gi("prerelease compare",t,r,i),r===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(r===void 0)return-1;if(r===i)continue;return Mn(r,i)}while(++t)}compareBuild(e){e instanceof n||(e=new n(e,this.options));let t=0;do{let r=this.build[t],i=e.build[t];if(gi("build compare",t,r,i),r===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(r===void 0)return-1;if(r===i)continue;return Mn(r,i)}while(++t)}inc(e,t,r){if(e.startsWith("pre")){if(!t&&r===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let i=`-${t}`.match(this.options.loose?bi[yi.PRERELEASELOOSE]:bi[yi.PRERELEASE]);if(!i||i[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let i=Number(r)?1:0;if(this.prerelease.length===0)this.prerelease=[i];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);if(o===-1){if(t===this.prerelease.join(".")&&r===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(t){let o=[t,i];r===!1&&(o=[t]),Mn(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=o):this.prerelease=o}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};jl.exports=Ds});var yn=I((yR,Ul)=>{"use strict";var Bl=We(),Zg=(n,e,t=!1)=>{if(n instanceof Bl)return n;try{return new Bl(n,e)}catch(r){if(!t)return null;throw r}};Ul.exports=Zg});var Wl=I((vR,Vl)=>{"use strict";var Yg=yn(),e_=(n,e)=>{let t=Yg(n,e);return t?t.version:null};Vl.exports=e_});var Hl=I((wR,zl)=>{"use strict";var t_=yn(),n_=(n,e)=>{let t=t_(n.trim().replace(/^[=v]+/,""),e);return t?t.version:null};zl.exports=n_});var Xl=I((PR,Gl)=>{"use strict";var Kl=We(),r_=(n,e,t,r,i)=>{typeof t=="string"&&(i=r,r=t,t=void 0);try{return new Kl(n instanceof Kl?n.version:n,t).inc(e,r,i).version}catch{return null}};Gl.exports=r_});var Zl=I((RR,Ql)=>{"use strict";var Jl=yn(),i_=(n,e)=>{let t=Jl(n,null,!0),r=Jl(e,null,!0),i=t.compare(r);if(i===0)return null;let o=i>0,s=o?t:r,a=o?r:t,d=!!s.prerelease.length;if(!!a.prerelease.length&&!d){if(!a.patch&&!a.minor)return"major";if(a.compareMain(s)===0)return a.minor&&!a.patch?"minor":"patch"}let h=d?"pre":"";return t.major!==r.major?h+"major":t.minor!==r.minor?h+"minor":t.patch!==r.patch?h+"patch":"prerelease"};Ql.exports=i_});var eu=I((ER,Yl)=>{"use strict";var o_=We(),s_=(n,e)=>new o_(n,e).major;Yl.exports=s_});var nu=I((SR,tu)=>{"use strict";var a_=We(),c_=(n,e)=>new a_(n,e).minor;tu.exports=c_});var iu=I((xR,ru)=>{"use strict";var l_=We(),u_=(n,e)=>new l_(n,e).patch;ru.exports=u_});var su=I((LR,ou)=>{"use strict";var d_=yn(),f_=(n,e)=>{let t=d_(n,e);return t&&t.prerelease.length?t.prerelease:null};ou.exports=f_});var _t=I((DR,cu)=>{"use strict";var au=We(),p_=(n,e,t)=>new au(n,t).compare(new au(e,t));cu.exports=p_});var uu=I((kR,lu)=>{"use strict";var h_=_t(),m_=(n,e,t)=>h_(e,n,t);lu.exports=m_});var fu=I((TR,du)=>{"use strict";var g_=_t(),__=(n,e)=>g_(n,e,!0);du.exports=__});var vi=I((IR,hu)=>{"use strict";var pu=We(),b_=(n,e,t)=>{let r=new pu(n,t),i=new pu(e,t);return r.compare(i)||r.compareBuild(i)};hu.exports=b_});var gu=I((CR,mu)=>{"use strict";var y_=vi(),v_=(n,e)=>n.sort((t,r)=>y_(t,r,e));mu.exports=v_});var bu=I((AR,_u)=>{"use strict";var w_=vi(),P_=(n,e)=>n.sort((t,r)=>w_(r,t,e));_u.exports=P_});var yr=I(($R,yu)=>{"use strict";var R_=_t(),E_=(n,e,t)=>R_(n,e,t)>0;yu.exports=E_});var wi=I((OR,vu)=>{"use strict";var S_=_t(),x_=(n,e,t)=>S_(n,e,t)<0;vu.exports=x_});var ks=I((MR,wu)=>{"use strict";var L_=_t(),D_=(n,e,t)=>L_(n,e,t)===0;wu.exports=D_});var Ts=I((qR,Pu)=>{"use strict";var k_=_t(),T_=(n,e,t)=>k_(n,e,t)!==0;Pu.exports=T_});var Pi=I((NR,Ru)=>{"use strict";var I_=_t(),C_=(n,e,t)=>I_(n,e,t)>=0;Ru.exports=C_});var Ri=I((FR,Eu)=>{"use strict";var A_=_t(),$_=(n,e,t)=>A_(n,e,t)<=0;Eu.exports=$_});var Is=I((jR,Su)=>{"use strict";var O_=ks(),M_=Ts(),q_=yr(),N_=Pi(),F_=wi(),j_=Ri(),B_=(n,e,t,r)=>{switch(e){case"===":return typeof n=="object"&&(n=n.version),typeof t=="object"&&(t=t.version),n===t;case"!==":return typeof n=="object"&&(n=n.version),typeof t=="object"&&(t=t.version),n!==t;case"":case"=":case"==":return O_(n,t,r);case"!=":return M_(n,t,r);case">":return q_(n,t,r);case">=":return N_(n,t,r);case"<":return F_(n,t,r);case"<=":return j_(n,t,r);default:throw new TypeError(`Invalid operator: ${e}`)}};Su.exports=B_});var Lu=I((BR,xu)=>{"use strict";var U_=We(),V_=yn(),{safeRe:Ei,t:Si}=On(),W_=(n,e)=>{if(n instanceof U_)return n;if(typeof n=="number"&&(n=String(n)),typeof n!="string")return null;e=e||{};let t=null;if(!e.rtl)t=n.match(e.includePrerelease?Ei[Si.COERCEFULL]:Ei[Si.COERCE]);else{let d=e.includePrerelease?Ei[Si.COERCERTLFULL]:Ei[Si.COERCERTL],l;for(;(l=d.exec(n))&&(!t||t.index+t[0].length!==n.length);)(!t||l.index+l[0].length!==t.index+t[0].length)&&(t=l),d.lastIndex=l.index+l[1].length+l[2].length;d.lastIndex=-1}if(t===null)return null;let r=t[2],i=t[3]||"0",o=t[4]||"0",s=e.includePrerelease&&t[5]?`-${t[5]}`:"",a=e.includePrerelease&&t[6]?`+${t[6]}`:"";return V_(`${r}.${i}.${o}${s}${a}`,e)};xu.exports=W_});var ku=I((UR,Du)=>{"use strict";var Cs=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let i=this.map.keys().next().value;this.delete(i)}this.map.set(e,t)}return this}};Du.exports=Cs});var bt=I((VR,Au)=>{"use strict";var z_=/\s+/g,As=class n{constructor(e,t){if(t=K_(t),e instanceof n)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new n(e.raw,t);if(e instanceof $s)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(z_," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(r=>r.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let r=this.set[0];if(this.set=this.set.filter(i=>!Iu(i[0])),this.set.length===0)this.set=[r];else if(this.set.length>1){for(let i of this.set)if(i.length===1&&eb(i[0])){this.set=[i];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let t=this.set[e];for(let r=0;r<t.length;r++)r>0&&(this.formatted+=" "),this.formatted+=t[r].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let r=((this.options.includePrerelease&&Z_)|(this.options.loose&&Y_))+":"+e,i=Tu.get(r);if(i)return i;let o=this.options.loose,s=o?et[Xe.HYPHENRANGELOOSE]:et[Xe.HYPHENRANGE];e=e.replace(s,ub(this.options.includePrerelease)),Se("hyphen replace",e),e=e.replace(et[Xe.COMPARATORTRIM],X_),Se("comparator trim",e),e=e.replace(et[Xe.TILDETRIM],J_),Se("tilde trim",e),e=e.replace(et[Xe.CARETTRIM],Q_),Se("caret trim",e);let a=e.split(" ").map(v=>tb(v,this.options)).join(" ").split(/\s+/).map(v=>lb(v,this.options));o&&(a=a.filter(v=>(Se("loose invalid filter",v,this.options),!!v.match(et[Xe.COMPARATORLOOSE])))),Se("range list",a);let d=new Map,l=a.map(v=>new $s(v,this.options));for(let v of l){if(Iu(v))return[v];d.set(v.value,v)}d.size>1&&d.has("")&&d.delete("");let h=[...d.values()];return Tu.set(r,h),h}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Range is required");return this.set.some(r=>Cu(r,t)&&e.set.some(i=>Cu(i,t)&&r.every(o=>i.every(s=>o.intersects(s,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new G_(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(db(this.set[t],e,this.options))return!0;return!1}};Au.exports=As;var H_=ku(),Tu=new H_,K_=mi(),$s=vr(),Se=br(),G_=We(),{safeRe:et,t:Xe,comparatorTrimReplace:X_,tildeTrimReplace:J_,caretTrimReplace:Q_}=On(),{FLAG_INCLUDE_PRERELEASE:Z_,FLAG_LOOSE:Y_}=_r(),Iu=n=>n.value==="<0.0.0-0",eb=n=>n.value==="",Cu=(n,e)=>{let t=!0,r=n.slice(),i=r.pop();for(;t&&r.length;)t=r.every(o=>i.intersects(o,e)),i=r.pop();return t},tb=(n,e)=>(Se("comp",n,e),n=ib(n,e),Se("caret",n),n=nb(n,e),Se("tildes",n),n=sb(n,e),Se("xrange",n),n=cb(n,e),Se("stars",n),n),Je=n=>!n||n.toLowerCase()==="x"||n==="*",nb=(n,e)=>n.trim().split(/\s+/).map(t=>rb(t,e)).join(" "),rb=(n,e)=>{let t=e.loose?et[Xe.TILDELOOSE]:et[Xe.TILDE];return n.replace(t,(r,i,o,s,a)=>{Se("tilde",n,r,i,o,s,a);let d;return Je(i)?d="":Je(o)?d=`>=${i}.0.0 <${+i+1}.0.0-0`:Je(s)?d=`>=${i}.${o}.0 <${i}.${+o+1}.0-0`:a?(Se("replaceTilde pr",a),d=`>=${i}.${o}.${s}-${a} <${i}.${+o+1}.0-0`):d=`>=${i}.${o}.${s} <${i}.${+o+1}.0-0`,Se("tilde return",d),d})},ib=(n,e)=>n.trim().split(/\s+/).map(t=>ob(t,e)).join(" "),ob=(n,e)=>{Se("caret",n,e);let t=e.loose?et[Xe.CARETLOOSE]:et[Xe.CARET],r=e.includePrerelease?"-0":"";return n.replace(t,(i,o,s,a,d)=>{Se("caret",n,i,o,s,a,d);let l;return Je(o)?l="":Je(s)?l=`>=${o}.0.0${r} <${+o+1}.0.0-0`:Je(a)?o==="0"?l=`>=${o}.${s}.0${r} <${o}.${+s+1}.0-0`:l=`>=${o}.${s}.0${r} <${+o+1}.0.0-0`:d?(Se("replaceCaret pr",d),o==="0"?s==="0"?l=`>=${o}.${s}.${a}-${d} <${o}.${s}.${+a+1}-0`:l=`>=${o}.${s}.${a}-${d} <${o}.${+s+1}.0-0`:l=`>=${o}.${s}.${a}-${d} <${+o+1}.0.0-0`):(Se("no pr"),o==="0"?s==="0"?l=`>=${o}.${s}.${a}${r} <${o}.${s}.${+a+1}-0`:l=`>=${o}.${s}.${a}${r} <${o}.${+s+1}.0-0`:l=`>=${o}.${s}.${a} <${+o+1}.0.0-0`),Se("caret return",l),l})},sb=(n,e)=>(Se("replaceXRanges",n,e),n.split(/\s+/).map(t=>ab(t,e)).join(" ")),ab=(n,e)=>{n=n.trim();let t=e.loose?et[Xe.XRANGELOOSE]:et[Xe.XRANGE];return n.replace(t,(r,i,o,s,a,d)=>{Se("xRange",n,r,i,o,s,a,d);let l=Je(o),h=l||Je(s),v=h||Je(a),w=v;return i==="="&&w&&(i=""),d=e.includePrerelease?"-0":"",l?i===">"||i==="<"?r="<0.0.0-0":r="*":i&&w?(h&&(s=0),a=0,i===">"?(i=">=",h?(o=+o+1,s=0,a=0):(s=+s+1,a=0)):i==="<="&&(i="<",h?o=+o+1:s=+s+1),i==="<"&&(d="-0"),r=`${i+o}.${s}.${a}${d}`):h?r=`>=${o}.0.0${d} <${+o+1}.0.0-0`:v&&(r=`>=${o}.${s}.0${d} <${o}.${+s+1}.0-0`),Se("xRange return",r),r})},cb=(n,e)=>(Se("replaceStars",n,e),n.trim().replace(et[Xe.STAR],"")),lb=(n,e)=>(Se("replaceGTE0",n,e),n.trim().replace(et[e.includePrerelease?Xe.GTE0PRE:Xe.GTE0],"")),ub=n=>(e,t,r,i,o,s,a,d,l,h,v,w)=>(Je(r)?t="":Je(i)?t=`>=${r}.0.0${n?"-0":""}`:Je(o)?t=`>=${r}.${i}.0${n?"-0":""}`:s?t=`>=${t}`:t=`>=${t}${n?"-0":""}`,Je(l)?d="":Je(h)?d=`<${+l+1}.0.0-0`:Je(v)?d=`<${l}.${+h+1}.0-0`:w?d=`<=${l}.${h}.${v}-${w}`:n?d=`<${l}.${h}.${+v+1}-0`:d=`<=${d}`,`${t} ${d}`.trim()),db=(n,e,t)=>{for(let r=0;r<n.length;r++)if(!n[r].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let r=0;r<n.length;r++)if(Se(n[r].semver),n[r].semver!==$s.ANY&&n[r].semver.prerelease.length>0){let i=n[r].semver;if(i.major===e.major&&i.minor===e.minor&&i.patch===e.patch)return!0}return!1}return!0}});var vr=I((WR,Fu)=>{"use strict";var wr=Symbol("SemVer ANY"),qs=class n{static get ANY(){return wr}constructor(e,t){if(t=$u(t),e instanceof n){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),Ms("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===wr?this.value="":this.value=this.operator+this.semver.version,Ms("comp",this)}parse(e){let t=this.options.loose?Ou[Mu.COMPARATORLOOSE]:Ou[Mu.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=r[1]!==void 0?r[1]:"",this.operator==="="&&(this.operator=""),r[2]?this.semver=new qu(r[2],this.options.loose):this.semver=wr}toString(){return this.value}test(e){if(Ms("Comparator.test",e,this.options.loose),this.semver===wr||e===wr)return!0;if(typeof e=="string")try{e=new qu(e,this.options)}catch{return!1}return Os(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Nu(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new Nu(this.value,t).test(e.semver):(t=$u(t),t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||Os(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||Os(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};Fu.exports=qs;var $u=mi(),{safeRe:Ou,t:Mu}=On(),Os=Is(),Ms=br(),qu=We(),Nu=bt()});var Pr=I((zR,ju)=>{"use strict";var fb=bt(),pb=(n,e,t)=>{try{e=new fb(e,t)}catch{return!1}return e.test(n)};ju.exports=pb});var Uu=I((HR,Bu)=>{"use strict";var hb=bt(),mb=(n,e)=>new hb(n,e).set.map(t=>t.map(r=>r.value).join(" ").trim().split(" "));Bu.exports=mb});var Wu=I((KR,Vu)=>{"use strict";var gb=We(),_b=bt(),bb=(n,e,t)=>{let r=null,i=null,o=null;try{o=new _b(e,t)}catch{return null}return n.forEach(s=>{o.test(s)&&(!r||i.compare(s)===-1)&&(r=s,i=new gb(r,t))}),r};Vu.exports=bb});var Hu=I((GR,zu)=>{"use strict";var yb=We(),vb=bt(),wb=(n,e,t)=>{let r=null,i=null,o=null;try{o=new vb(e,t)}catch{return null}return n.forEach(s=>{o.test(s)&&(!r||i.compare(s)===1)&&(r=s,i=new yb(r,t))}),r};zu.exports=wb});var Xu=I((XR,Gu)=>{"use strict";var Ns=We(),Pb=bt(),Ku=yr(),Rb=(n,e)=>{n=new Pb(n,e);let t=new Ns("0.0.0");if(n.test(t)||(t=new Ns("0.0.0-0"),n.test(t)))return t;t=null;for(let r=0;r<n.set.length;++r){let i=n.set[r],o=null;i.forEach(s=>{let a=new Ns(s.semver.version);switch(s.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!o||Ku(a,o))&&(o=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${s.operator}`)}}),o&&(!t||Ku(t,o))&&(t=o)}return t&&n.test(t)?t:null};Gu.exports=Rb});var Qu=I((JR,Ju)=>{"use strict";var Eb=bt(),Sb=(n,e)=>{try{return new Eb(n,e).range||"*"}catch{return null}};Ju.exports=Sb});var xi=I((QR,td)=>{"use strict";var xb=We(),ed=vr(),{ANY:Lb}=ed,Db=bt(),kb=Pr(),Zu=yr(),Yu=wi(),Tb=Ri(),Ib=Pi(),Cb=(n,e,t,r)=>{n=new xb(n,r),e=new Db(e,r);let i,o,s,a,d;switch(t){case">":i=Zu,o=Tb,s=Yu,a=">",d=">=";break;case"<":i=Yu,o=Ib,s=Zu,a="<",d="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(kb(n,e,r))return!1;for(let l=0;l<e.set.length;++l){let h=e.set[l],v=null,w=null;if(h.forEach(_=>{_.semver===Lb&&(_=new ed(">=0.0.0")),v=v||_,w=w||_,i(_.semver,v.semver,r)?v=_:s(_.semver,w.semver,r)&&(w=_)}),v.operator===a||v.operator===d||(!w.operator||w.operator===a)&&o(n,w.semver))return!1;if(w.operator===d&&s(n,w.semver))return!1}return!0};td.exports=Cb});var rd=I((ZR,nd)=>{"use strict";var Ab=xi(),$b=(n,e,t)=>Ab(n,e,">",t);nd.exports=$b});var od=I((YR,id)=>{"use strict";var Ob=xi(),Mb=(n,e,t)=>Ob(n,e,"<",t);id.exports=Mb});var cd=I((eE,ad)=>{"use strict";var sd=bt(),qb=(n,e,t)=>(n=new sd(n,t),e=new sd(e,t),n.intersects(e,t));ad.exports=qb});var ud=I((tE,ld)=>{"use strict";var Nb=Pr(),Fb=_t();ld.exports=(n,e,t)=>{let r=[],i=null,o=null,s=n.sort((h,v)=>Fb(h,v,t));for(let h of s)Nb(h,e,t)?(o=h,i||(i=h)):(o&&r.push([i,o]),o=null,i=null);i&&r.push([i,null]);let a=[];for(let[h,v]of r)h===v?a.push(h):!v&&h===s[0]?a.push("*"):v?h===s[0]?a.push(`<=${v}`):a.push(`${h} - ${v}`):a.push(`>=${h}`);let d=a.join(" || "),l=typeof e.raw=="string"?e.raw:String(e);return d.length<l.length?d:e}});var gd=I((nE,md)=>{"use strict";var dd=bt(),js=vr(),{ANY:Fs}=js,Rr=Pr(),Bs=_t(),jb=(n,e,t={})=>{if(n===e)return!0;n=new dd(n,t),e=new dd(e,t);let r=!1;e:for(let i of n.set){for(let o of e.set){let s=Ub(i,o,t);if(r=r||s!==null,s)continue e}if(r)return!1}return!0},Bb=[new js(">=0.0.0-0")],fd=[new js(">=0.0.0")],Ub=(n,e,t)=>{if(n===e)return!0;if(n.length===1&&n[0].semver===Fs){if(e.length===1&&e[0].semver===Fs)return!0;t.includePrerelease?n=Bb:n=fd}if(e.length===1&&e[0].semver===Fs){if(t.includePrerelease)return!0;e=fd}let r=new Set,i,o;for(let _ of n)_.operator===">"||_.operator===">="?i=pd(i,_,t):_.operator==="<"||_.operator==="<="?o=hd(o,_,t):r.add(_.semver);if(r.size>1)return null;let s;if(i&&o){if(s=Bs(i.semver,o.semver,t),s>0)return null;if(s===0&&(i.operator!==">="||o.operator!=="<="))return null}for(let _ of r){if(i&&!Rr(_,String(i),t)||o&&!Rr(_,String(o),t))return null;for(let L of e)if(!Rr(_,String(L),t))return!1;return!0}let a,d,l,h,v=o&&!t.includePrerelease&&o.semver.prerelease.length?o.semver:!1,w=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1;v&&v.prerelease.length===1&&o.operator==="<"&&v.prerelease[0]===0&&(v=!1);for(let _ of e){if(h=h||_.operator===">"||_.operator===">=",l=l||_.operator==="<"||_.operator==="<=",i){if(w&&_.semver.prerelease&&_.semver.prerelease.length&&_.semver.major===w.major&&_.semver.minor===w.minor&&_.semver.patch===w.patch&&(w=!1),_.operator===">"||_.operator===">="){if(a=pd(i,_,t),a===_&&a!==i)return!1}else if(i.operator===">="&&!Rr(i.semver,String(_),t))return!1}if(o){if(v&&_.semver.prerelease&&_.semver.prerelease.length&&_.semver.major===v.major&&_.semver.minor===v.minor&&_.semver.patch===v.patch&&(v=!1),_.operator==="<"||_.operator==="<="){if(d=hd(o,_,t),d===_&&d!==o)return!1}else if(o.operator==="<="&&!Rr(o.semver,String(_),t))return!1}if(!_.operator&&(o||i)&&s!==0)return!1}return!(i&&l&&!o&&s!==0||o&&h&&!i&&s!==0||w||v)},pd=(n,e,t)=>{if(!n)return e;let r=Bs(n.semver,e.semver,t);return r>0?n:r<0||e.operator===">"&&n.operator===">="?e:n},hd=(n,e,t)=>{if(!n)return e;let r=Bs(n.semver,e.semver,t);return r<0?n:r>0||e.operator==="<"&&n.operator==="<="?e:n};md.exports=jb});var vd=I((rE,yd)=>{"use strict";var Us=On(),_d=_r(),Vb=We(),bd=Ls(),Wb=yn(),zb=Wl(),Hb=Hl(),Kb=Xl(),Gb=Zl(),Xb=eu(),Jb=nu(),Qb=iu(),Zb=su(),Yb=_t(),ey=uu(),ty=fu(),ny=vi(),ry=gu(),iy=bu(),oy=yr(),sy=wi(),ay=ks(),cy=Ts(),ly=Pi(),uy=Ri(),dy=Is(),fy=Lu(),py=vr(),hy=bt(),my=Pr(),gy=Uu(),_y=Wu(),by=Hu(),yy=Xu(),vy=Qu(),wy=xi(),Py=rd(),Ry=od(),Ey=cd(),Sy=ud(),xy=gd();yd.exports={parse:Wb,valid:zb,clean:Hb,inc:Kb,diff:Gb,major:Xb,minor:Jb,patch:Qb,prerelease:Zb,compare:Yb,rcompare:ey,compareLoose:ty,compareBuild:ny,sort:ry,rsort:iy,gt:oy,lt:sy,eq:ay,neq:cy,gte:ly,lte:uy,cmp:dy,coerce:fy,Comparator:py,Range:hy,satisfies:my,toComparators:gy,maxSatisfying:_y,minSatisfying:by,minVersion:yy,validRange:vy,outside:wy,gtr:Py,ltr:Ry,intersects:Ey,simplifyRange:Sy,subset:xy,SemVer:Vb,re:Us.re,src:Us.src,tokens:Us.t,SEMVER_SPEC_VERSION:_d.SEMVER_SPEC_VERSION,RELEASE_TYPES:_d.RELEASE_TYPES,compareIdentifiers:bd.compareIdentifiers,rcompareIdentifiers:bd.rcompareIdentifiers}});var kd=I((cE,Dd)=>{"use strict";var Ld=ut("child_process"),Ed=Ld.spawn,Dy=Ld.exec;Dd.exports=function(n,e,t){if(typeof e=="function"&&t===void 0&&(t=e,e=void 0),n=parseInt(n),Number.isNaN(n)){if(t)return t(new Error("pid must be a number"));throw new Error("pid must be a number")}var r={},i={};switch(r[n]=[],i[n]=1,process.platform){case"win32":Dy("taskkill /pid "+n+" /T /F",t);break;case"darwin":Vs(n,r,i,function(o){return Ed("pgrep",["-P",o])},function(){Sd(r,e,t)});break;default:Vs(n,r,i,function(o){return Ed("ps",["-o","pid","--no-headers","--ppid",o])},function(){Sd(r,e,t)});break}};function Sd(n,e,t){var r={};try{Object.keys(n).forEach(function(i){n[i].forEach(function(o){r[o]||(xd(o,e),r[o]=1)}),r[i]||(xd(i,e),r[i]=1)})}catch(i){if(t)return t(i);throw i}if(t)return t()}function xd(n,e){try{process.kill(parseInt(n,10),e)}catch(t){if(t.code!=="ESRCH")throw t}}function Vs(n,e,t,r,i){var o=r(n),s="";o.stdout.on("data",function(l){var l=l.toString("ascii");s+=l});var a=function(d){if(delete t[n],d!=0){Object.keys(t).length==0&&i();return}s.match(/\d+/g).forEach(function(l){l=parseInt(l,10),e[n].push(l),e[l]=[],t[l]=1,Vs(l,e,t,r,i)})};o.on("close",a)}});var ff=I((i0,df)=>{"use strict";var{hasOwnProperty:ka}=Object.prototype,Ta=(n,e={})=>{typeof e=="string"&&(e={section:e}),e.align=e.align===!0,e.newline=e.newline===!0,e.sort=e.sort===!0,e.whitespace=e.whitespace===!0||e.align===!0,e.platform=e.platform||typeof process<"u"&&process.platform,e.bracketedArray=e.bracketedArray!==!1;let t=e.platform==="win32"?`\r
14
+ `,dt.LogLevel.Warn),this._logFileStream=vl.createWriteStream(e.logFilePath),this.logDateTime(),this.setupShutdownListeners(),this._logFileStream.on("error",r=>{t(r)})}catch(r){t(r)}}}logDateTime(){let e=new Date,r=e.getUTCFullYear()+`-${e.getUTCMonth()+1}-`+e.getUTCDate()+", "+Pl();this.log(r+`
15
+ `,dt.LogLevel.Verbose,!1)}setupShutdownListeners(){process.on("beforeExit",this.beforeExitCallback),process.on("SIGTERM",this.disposeCallback),process.on("SIGINT",this.disposeCallback)}removeShutdownListeners(){process.removeListener("beforeExit",this.beforeExitCallback),process.removeListener("SIGTERM",this.disposeCallback),process.removeListener("SIGINT",this.disposeCallback)}dispose(){return new Promise(e=>{this.removeShutdownListeners(),this._logFileStream?(this._logFileStream.end(e),this._logFileStream=null):e()})}log(e,t,r=!0){if(this._minLogLevel!==dt.LogLevel.Stop){if(t>=this._minLogLevel&&this.sendLog(e,t),this._logToConsole){let i=t===dt.LogLevel.Error?console.error:t===dt.LogLevel.Warn?console.warn:null;i&&i((0,dt.trimLastNewline)(e))}t===dt.LogLevel.Error&&(e=`[${dt.LogLevel[t]}] ${e}`),this._prependTimestamp&&r&&(e="["+Pl()+"] "+e),this._logFileStream&&this._logFileStream.write(e)}}sendLog(e,t){if(e.length>1500){let r=!!e.match(/(\n|\r\n)$/);e=e.substr(0,1500)+"[...]",r&&(e=e+`
16
+ `)}if(this._logCallback){let r=new dt.LogOutputEvent(e,t);this._logCallback(r)}}};ui.InternalLogger=ws;function Pl(){let n=new Date,e=li(2,String(n.getUTCHours())),t=li(2,String(n.getUTCMinutes())),r=li(2,String(n.getUTCSeconds())),i=li(3,String(n.getUTCMilliseconds()));return e+":"+t+":"+r+"."+i+" UTC"}function li(n,e){return e.length>=n?e:String("0".repeat(n)+e).slice(-n)}});var di=I(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.trimLastNewline=ft.LogOutputEvent=ft.logger=ft.Logger=ft.LogLevel=void 0;var Sg=Rl(),xg=ci(),Qt;(function(n){n[n.Verbose=0]="Verbose",n[n.Log=1]="Log",n[n.Warn=2]="Warn",n[n.Error=3]="Error",n[n.Stop=4]="Stop"})(Qt=ft.LogLevel||(ft.LogLevel={}));var fi=class{constructor(){this._pendingLogQ=[]}log(e,t=Qt.Log){e=e+`
17
+ `,this._write(e,t)}verbose(e){this.log(e,Qt.Verbose)}warn(e){this.log(e,Qt.Warn)}error(e){this.log(e,Qt.Error)}dispose(){if(this._currentLogger){let e=this._currentLogger.dispose();return this._currentLogger=null,e}else return Promise.resolve()}_write(e,t=Qt.Log){e=e+"",this._pendingLogQ?this._pendingLogQ.push({msg:e,level:t}):this._currentLogger&&this._currentLogger.log(e,t)}setup(e,t,r=!0){let i=typeof t=="string"?t:t&&this._logFilePathFromInit;if(this._currentLogger){let o={consoleMinLogLevel:e,logFilePath:i,prependTimestamp:r};this._currentLogger.setup(o).then(()=>{if(this._pendingLogQ){let s=this._pendingLogQ;this._pendingLogQ=null,s.forEach(a=>this._write(a.msg,a.level))}})}}init(e,t,r){this._pendingLogQ=this._pendingLogQ||[],this._currentLogger=new Sg.InternalLogger(e,r),this._logFilePathFromInit=t}};ft.Logger=fi;ft.logger=new fi;var Ps=class extends xg.OutputEvent{constructor(e,t){let r=t===Qt.Error?"stderr":t===Qt.Warn?"console":"stdout";super(e,r)}};ft.LogOutputEvent=Ps;function Lg(n){return n.replace(/(\n|\r\n)$/,"")}ft.trimLastNewline=Lg});var xl=I(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});pi.LoggingDebugSession=void 0;var Sl=di(),$n=Sl.logger,El=ci(),Rs=class extends El.DebugSession{constructor(e,t,r){super(t,r),this.obsolete_logFilePath=e,this.on("error",i=>{$n.error(i.body)})}start(e,t){super.start(e,t),$n.init(r=>this.sendEvent(r),this.obsolete_logFilePath,this._isServer)}sendEvent(e){if(!(e instanceof Sl.LogOutputEvent)){let t=e;e instanceof El.OutputEvent&&e.body&&e.body.data&&e.body.data.doNotLogOutput&&(delete e.body.data.doNotLogOutput,t={...e},t.body={...e.body,output:"<output not logged>"}),$n.verbose(`To client: ${JSON.stringify(t)}`)}super.sendEvent(e)}sendRequest(e,t,r,i){$n.verbose(`To client: ${JSON.stringify(e)}(${JSON.stringify(t)}), timeout: ${r}`),super.sendRequest(e,t,r,i)}sendResponse(e){$n.verbose(`To client: ${JSON.stringify(e)}`),super.sendResponse(e)}dispatchRequest(e){$n.verbose(`From client: ${e.command}(${JSON.stringify(e.arguments)})`),super.dispatchRequest(e)}};pi.LoggingDebugSession=Rs});var Ll=I(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});hi.Handles=void 0;var Es=class{constructor(e){this.START_HANDLE=1e3,this._handleMap=new Map,this._nextHandle=typeof e=="number"?e:this.START_HANDLE}reset(){this._nextHandle=this.START_HANDLE,this._handleMap=new Map}create(e){var t=this._nextHandle++;return this._handleMap.set(t,e),t}get(e,t){return this._handleMap.get(e)||t}};hi.Handles=Es});var Tl=I(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.Handles=W.Response=W.Event=W.ErrorDestination=W.CompletionItem=W.Module=W.Source=W.Breakpoint=W.Variable=W.Scope=W.StackFrame=W.Thread=W.MemoryEvent=W.InvalidatedEvent=W.ProgressEndEvent=W.ProgressUpdateEvent=W.ProgressStartEvent=W.CapabilitiesEvent=W.LoadedSourceEvent=W.ModuleEvent=W.BreakpointEvent=W.ThreadEvent=W.OutputEvent=W.ContinuedEvent=W.StoppedEvent=W.ExitedEvent=W.TerminatedEvent=W.InitializedEvent=W.logger=W.Logger=W.LoggingDebugSession=W.DebugSession=void 0;var Pe=ci();Object.defineProperty(W,"DebugSession",{enumerable:!0,get:function(){return Pe.DebugSession}});Object.defineProperty(W,"InitializedEvent",{enumerable:!0,get:function(){return Pe.InitializedEvent}});Object.defineProperty(W,"TerminatedEvent",{enumerable:!0,get:function(){return Pe.TerminatedEvent}});Object.defineProperty(W,"ExitedEvent",{enumerable:!0,get:function(){return Pe.ExitedEvent}});Object.defineProperty(W,"StoppedEvent",{enumerable:!0,get:function(){return Pe.StoppedEvent}});Object.defineProperty(W,"ContinuedEvent",{enumerable:!0,get:function(){return Pe.ContinuedEvent}});Object.defineProperty(W,"OutputEvent",{enumerable:!0,get:function(){return Pe.OutputEvent}});Object.defineProperty(W,"ThreadEvent",{enumerable:!0,get:function(){return Pe.ThreadEvent}});Object.defineProperty(W,"BreakpointEvent",{enumerable:!0,get:function(){return Pe.BreakpointEvent}});Object.defineProperty(W,"ModuleEvent",{enumerable:!0,get:function(){return Pe.ModuleEvent}});Object.defineProperty(W,"LoadedSourceEvent",{enumerable:!0,get:function(){return Pe.LoadedSourceEvent}});Object.defineProperty(W,"CapabilitiesEvent",{enumerable:!0,get:function(){return Pe.CapabilitiesEvent}});Object.defineProperty(W,"ProgressStartEvent",{enumerable:!0,get:function(){return Pe.ProgressStartEvent}});Object.defineProperty(W,"ProgressUpdateEvent",{enumerable:!0,get:function(){return Pe.ProgressUpdateEvent}});Object.defineProperty(W,"ProgressEndEvent",{enumerable:!0,get:function(){return Pe.ProgressEndEvent}});Object.defineProperty(W,"InvalidatedEvent",{enumerable:!0,get:function(){return Pe.InvalidatedEvent}});Object.defineProperty(W,"MemoryEvent",{enumerable:!0,get:function(){return Pe.MemoryEvent}});Object.defineProperty(W,"Thread",{enumerable:!0,get:function(){return Pe.Thread}});Object.defineProperty(W,"StackFrame",{enumerable:!0,get:function(){return Pe.StackFrame}});Object.defineProperty(W,"Scope",{enumerable:!0,get:function(){return Pe.Scope}});Object.defineProperty(W,"Variable",{enumerable:!0,get:function(){return Pe.Variable}});Object.defineProperty(W,"Breakpoint",{enumerable:!0,get:function(){return Pe.Breakpoint}});Object.defineProperty(W,"Source",{enumerable:!0,get:function(){return Pe.Source}});Object.defineProperty(W,"Module",{enumerable:!0,get:function(){return Pe.Module}});Object.defineProperty(W,"CompletionItem",{enumerable:!0,get:function(){return Pe.CompletionItem}});Object.defineProperty(W,"ErrorDestination",{enumerable:!0,get:function(){return Pe.ErrorDestination}});var Dg=xl();Object.defineProperty(W,"LoggingDebugSession",{enumerable:!0,get:function(){return Dg.LoggingDebugSession}});var Dl=di();W.Logger=Dl;var kl=ri();Object.defineProperty(W,"Event",{enumerable:!0,get:function(){return kl.Event}});Object.defineProperty(W,"Response",{enumerable:!0,get:function(){return kl.Response}});var kg=Ll();Object.defineProperty(W,"Handles",{enumerable:!0,get:function(){return kg.Handles}});var Tg=Dl.logger;W.logger=Tg});var _r=I((hR,Il)=>{"use strict";var Ig="2.0.0",Ag=Number.MAX_SAFE_INTEGER||9007199254740991,Cg=16,$g=250,Og=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Il.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Cg,MAX_SAFE_BUILD_LENGTH:$g,MAX_SAFE_INTEGER:Ag,RELEASE_TYPES:Og,SEMVER_SPEC_VERSION:Ig,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var br=I((mR,Al)=>{"use strict";var Mg=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...n)=>console.error("SEMVER",...n):()=>{};Al.exports=Mg});var On=I((Ct,Cl)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Ss,MAX_SAFE_BUILD_LENGTH:qg,MAX_LENGTH:Ng}=_r(),Fg=br();Ct=Cl.exports={};var jg=Ct.re=[],Bg=Ct.safeRe=[],U=Ct.src=[],Ug=Ct.safeSrc=[],V=Ct.t={},Vg=0,xs="[a-zA-Z0-9-]",Wg=[["\\s",1],["\\d",Ng],[xs,qg]],zg=n=>{for(let[e,t]of Wg)n=n.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return n},oe=(n,e,t)=>{let r=zg(e),i=Vg++;Fg(n,i,e),V[n]=i,U[i]=e,Ug[i]=r,jg[i]=new RegExp(e,t?"g":void 0),Bg[i]=new RegExp(r,t?"g":void 0)};oe("NUMERICIDENTIFIER","0|[1-9]\\d*");oe("NUMERICIDENTIFIERLOOSE","\\d+");oe("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${xs}*`);oe("MAINVERSION",`(${U[V.NUMERICIDENTIFIER]})\\.(${U[V.NUMERICIDENTIFIER]})\\.(${U[V.NUMERICIDENTIFIER]})`);oe("MAINVERSIONLOOSE",`(${U[V.NUMERICIDENTIFIERLOOSE]})\\.(${U[V.NUMERICIDENTIFIERLOOSE]})\\.(${U[V.NUMERICIDENTIFIERLOOSE]})`);oe("PRERELEASEIDENTIFIER",`(?:${U[V.NONNUMERICIDENTIFIER]}|${U[V.NUMERICIDENTIFIER]})`);oe("PRERELEASEIDENTIFIERLOOSE",`(?:${U[V.NONNUMERICIDENTIFIER]}|${U[V.NUMERICIDENTIFIERLOOSE]})`);oe("PRERELEASE",`(?:-(${U[V.PRERELEASEIDENTIFIER]}(?:\\.${U[V.PRERELEASEIDENTIFIER]})*))`);oe("PRERELEASELOOSE",`(?:-?(${U[V.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${U[V.PRERELEASEIDENTIFIERLOOSE]})*))`);oe("BUILDIDENTIFIER",`${xs}+`);oe("BUILD",`(?:\\+(${U[V.BUILDIDENTIFIER]}(?:\\.${U[V.BUILDIDENTIFIER]})*))`);oe("FULLPLAIN",`v?${U[V.MAINVERSION]}${U[V.PRERELEASE]}?${U[V.BUILD]}?`);oe("FULL",`^${U[V.FULLPLAIN]}$`);oe("LOOSEPLAIN",`[v=\\s]*${U[V.MAINVERSIONLOOSE]}${U[V.PRERELEASELOOSE]}?${U[V.BUILD]}?`);oe("LOOSE",`^${U[V.LOOSEPLAIN]}$`);oe("GTLT","((?:<|>)?=?)");oe("XRANGEIDENTIFIERLOOSE",`${U[V.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);oe("XRANGEIDENTIFIER",`${U[V.NUMERICIDENTIFIER]}|x|X|\\*`);oe("XRANGEPLAIN",`[v=\\s]*(${U[V.XRANGEIDENTIFIER]})(?:\\.(${U[V.XRANGEIDENTIFIER]})(?:\\.(${U[V.XRANGEIDENTIFIER]})(?:${U[V.PRERELEASE]})?${U[V.BUILD]}?)?)?`);oe("XRANGEPLAINLOOSE",`[v=\\s]*(${U[V.XRANGEIDENTIFIERLOOSE]})(?:\\.(${U[V.XRANGEIDENTIFIERLOOSE]})(?:\\.(${U[V.XRANGEIDENTIFIERLOOSE]})(?:${U[V.PRERELEASELOOSE]})?${U[V.BUILD]}?)?)?`);oe("XRANGE",`^${U[V.GTLT]}\\s*${U[V.XRANGEPLAIN]}$`);oe("XRANGELOOSE",`^${U[V.GTLT]}\\s*${U[V.XRANGEPLAINLOOSE]}$`);oe("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Ss}})(?:\\.(\\d{1,${Ss}}))?(?:\\.(\\d{1,${Ss}}))?`);oe("COERCE",`${U[V.COERCEPLAIN]}(?:$|[^\\d])`);oe("COERCEFULL",U[V.COERCEPLAIN]+`(?:${U[V.PRERELEASE]})?(?:${U[V.BUILD]})?(?:$|[^\\d])`);oe("COERCERTL",U[V.COERCE],!0);oe("COERCERTLFULL",U[V.COERCEFULL],!0);oe("LONETILDE","(?:~>?)");oe("TILDETRIM",`(\\s*)${U[V.LONETILDE]}\\s+`,!0);Ct.tildeTrimReplace="$1~";oe("TILDE",`^${U[V.LONETILDE]}${U[V.XRANGEPLAIN]}$`);oe("TILDELOOSE",`^${U[V.LONETILDE]}${U[V.XRANGEPLAINLOOSE]}$`);oe("LONECARET","(?:\\^)");oe("CARETTRIM",`(\\s*)${U[V.LONECARET]}\\s+`,!0);Ct.caretTrimReplace="$1^";oe("CARET",`^${U[V.LONECARET]}${U[V.XRANGEPLAIN]}$`);oe("CARETLOOSE",`^${U[V.LONECARET]}${U[V.XRANGEPLAINLOOSE]}$`);oe("COMPARATORLOOSE",`^${U[V.GTLT]}\\s*(${U[V.LOOSEPLAIN]})$|^$`);oe("COMPARATOR",`^${U[V.GTLT]}\\s*(${U[V.FULLPLAIN]})$|^$`);oe("COMPARATORTRIM",`(\\s*)${U[V.GTLT]}\\s*(${U[V.LOOSEPLAIN]}|${U[V.XRANGEPLAIN]})`,!0);Ct.comparatorTrimReplace="$1$2$3";oe("HYPHENRANGE",`^\\s*(${U[V.XRANGEPLAIN]})\\s+-\\s+(${U[V.XRANGEPLAIN]})\\s*$`);oe("HYPHENRANGELOOSE",`^\\s*(${U[V.XRANGEPLAINLOOSE]})\\s+-\\s+(${U[V.XRANGEPLAINLOOSE]})\\s*$`);oe("STAR","(<|>)?=?\\s*\\*");oe("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");oe("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var mi=I((gR,$l)=>{"use strict";var Hg=Object.freeze({loose:!0}),Kg=Object.freeze({}),Gg=n=>n?typeof n!="object"?Hg:n:Kg;$l.exports=Gg});var Ls=I((_R,ql)=>{"use strict";var Ol=/^[0-9]+$/,Ml=(n,e)=>{let t=Ol.test(n),r=Ol.test(e);return t&&r&&(n=+n,e=+e),n===e?0:t&&!r?-1:r&&!t?1:n<e?-1:1},Xg=(n,e)=>Ml(e,n);ql.exports={compareIdentifiers:Ml,rcompareIdentifiers:Xg}});var We=I((bR,Fl)=>{"use strict";var gi=br(),{MAX_LENGTH:Nl,MAX_SAFE_INTEGER:_i}=_r(),{safeRe:bi,t:yi}=On(),Zg=mi(),{compareIdentifiers:Mn}=Ls(),Ds=class n{constructor(e,t){if(t=Zg(t),e instanceof n){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>Nl)throw new TypeError(`version is longer than ${Nl} characters`);gi("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let r=e.trim().match(t.loose?bi[yi.LOOSE]:bi[yi.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>_i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>_i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>_i||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){let o=+i;if(o>=0&&o<_i)return o}return i}):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(gi("SemVer.compare",this.version,this.options,e),!(e instanceof n)){if(typeof e=="string"&&e===this.version)return 0;e=new n(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof n||(e=new n(e,this.options)),Mn(this.major,e.major)||Mn(this.minor,e.minor)||Mn(this.patch,e.patch)}comparePre(e){if(e instanceof n||(e=new n(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let r=this.prerelease[t],i=e.prerelease[t];if(gi("prerelease compare",t,r,i),r===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(r===void 0)return-1;if(r===i)continue;return Mn(r,i)}while(++t)}compareBuild(e){e instanceof n||(e=new n(e,this.options));let t=0;do{let r=this.build[t],i=e.build[t];if(gi("build compare",t,r,i),r===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(r===void 0)return-1;if(r===i)continue;return Mn(r,i)}while(++t)}inc(e,t,r){if(e.startsWith("pre")){if(!t&&r===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let i=`-${t}`.match(this.options.loose?bi[yi.PRERELEASELOOSE]:bi[yi.PRERELEASE]);if(!i||i[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let i=Number(r)?1:0;if(this.prerelease.length===0)this.prerelease=[i];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);if(o===-1){if(t===this.prerelease.join(".")&&r===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(t){let o=[t,i];r===!1&&(o=[t]),Mn(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=o):this.prerelease=o}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Fl.exports=Ds});var yn=I((yR,Bl)=>{"use strict";var jl=We(),Jg=(n,e,t=!1)=>{if(n instanceof jl)return n;try{return new jl(n,e)}catch(r){if(!t)return null;throw r}};Bl.exports=Jg});var Vl=I((vR,Ul)=>{"use strict";var Qg=yn(),Yg=(n,e)=>{let t=Qg(n,e);return t?t.version:null};Ul.exports=Yg});var zl=I((wR,Wl)=>{"use strict";var e_=yn(),t_=(n,e)=>{let t=e_(n.trim().replace(/^[=v]+/,""),e);return t?t.version:null};Wl.exports=t_});var Gl=I((PR,Kl)=>{"use strict";var Hl=We(),n_=(n,e,t,r,i)=>{typeof t=="string"&&(i=r,r=t,t=void 0);try{return new Hl(n instanceof Hl?n.version:n,t).inc(e,r,i).version}catch{return null}};Kl.exports=n_});var Jl=I((RR,Zl)=>{"use strict";var Xl=yn(),r_=(n,e)=>{let t=Xl(n,null,!0),r=Xl(e,null,!0),i=t.compare(r);if(i===0)return null;let o=i>0,s=o?t:r,a=o?r:t,d=!!s.prerelease.length;if(!!a.prerelease.length&&!d){if(!a.patch&&!a.minor)return"major";if(a.compareMain(s)===0)return a.minor&&!a.patch?"minor":"patch"}let h=d?"pre":"";return t.major!==r.major?h+"major":t.minor!==r.minor?h+"minor":t.patch!==r.patch?h+"patch":"prerelease"};Zl.exports=r_});var Yl=I((ER,Ql)=>{"use strict";var i_=We(),o_=(n,e)=>new i_(n,e).major;Ql.exports=o_});var tu=I((SR,eu)=>{"use strict";var s_=We(),a_=(n,e)=>new s_(n,e).minor;eu.exports=a_});var ru=I((xR,nu)=>{"use strict";var c_=We(),l_=(n,e)=>new c_(n,e).patch;nu.exports=l_});var ou=I((LR,iu)=>{"use strict";var u_=yn(),d_=(n,e)=>{let t=u_(n,e);return t&&t.prerelease.length?t.prerelease:null};iu.exports=d_});var _t=I((DR,au)=>{"use strict";var su=We(),f_=(n,e,t)=>new su(n,t).compare(new su(e,t));au.exports=f_});var lu=I((kR,cu)=>{"use strict";var p_=_t(),h_=(n,e,t)=>p_(e,n,t);cu.exports=h_});var du=I((TR,uu)=>{"use strict";var m_=_t(),g_=(n,e)=>m_(n,e,!0);uu.exports=g_});var vi=I((IR,pu)=>{"use strict";var fu=We(),__=(n,e,t)=>{let r=new fu(n,t),i=new fu(e,t);return r.compare(i)||r.compareBuild(i)};pu.exports=__});var mu=I((AR,hu)=>{"use strict";var b_=vi(),y_=(n,e)=>n.sort((t,r)=>b_(t,r,e));hu.exports=y_});var _u=I((CR,gu)=>{"use strict";var v_=vi(),w_=(n,e)=>n.sort((t,r)=>v_(r,t,e));gu.exports=w_});var yr=I(($R,bu)=>{"use strict";var P_=_t(),R_=(n,e,t)=>P_(n,e,t)>0;bu.exports=R_});var wi=I((OR,yu)=>{"use strict";var E_=_t(),S_=(n,e,t)=>E_(n,e,t)<0;yu.exports=S_});var ks=I((MR,vu)=>{"use strict";var x_=_t(),L_=(n,e,t)=>x_(n,e,t)===0;vu.exports=L_});var Ts=I((qR,wu)=>{"use strict";var D_=_t(),k_=(n,e,t)=>D_(n,e,t)!==0;wu.exports=k_});var Pi=I((NR,Pu)=>{"use strict";var T_=_t(),I_=(n,e,t)=>T_(n,e,t)>=0;Pu.exports=I_});var Ri=I((FR,Ru)=>{"use strict";var A_=_t(),C_=(n,e,t)=>A_(n,e,t)<=0;Ru.exports=C_});var Is=I((jR,Eu)=>{"use strict";var $_=ks(),O_=Ts(),M_=yr(),q_=Pi(),N_=wi(),F_=Ri(),j_=(n,e,t,r)=>{switch(e){case"===":return typeof n=="object"&&(n=n.version),typeof t=="object"&&(t=t.version),n===t;case"!==":return typeof n=="object"&&(n=n.version),typeof t=="object"&&(t=t.version),n!==t;case"":case"=":case"==":return $_(n,t,r);case"!=":return O_(n,t,r);case">":return M_(n,t,r);case">=":return q_(n,t,r);case"<":return N_(n,t,r);case"<=":return F_(n,t,r);default:throw new TypeError(`Invalid operator: ${e}`)}};Eu.exports=j_});var xu=I((BR,Su)=>{"use strict";var B_=We(),U_=yn(),{safeRe:Ei,t:Si}=On(),V_=(n,e)=>{if(n instanceof B_)return n;if(typeof n=="number"&&(n=String(n)),typeof n!="string")return null;e=e||{};let t=null;if(!e.rtl)t=n.match(e.includePrerelease?Ei[Si.COERCEFULL]:Ei[Si.COERCE]);else{let d=e.includePrerelease?Ei[Si.COERCERTLFULL]:Ei[Si.COERCERTL],l;for(;(l=d.exec(n))&&(!t||t.index+t[0].length!==n.length);)(!t||l.index+l[0].length!==t.index+t[0].length)&&(t=l),d.lastIndex=l.index+l[1].length+l[2].length;d.lastIndex=-1}if(t===null)return null;let r=t[2],i=t[3]||"0",o=t[4]||"0",s=e.includePrerelease&&t[5]?`-${t[5]}`:"",a=e.includePrerelease&&t[6]?`+${t[6]}`:"";return U_(`${r}.${i}.${o}${s}${a}`,e)};Su.exports=V_});var Du=I((UR,Lu)=>{"use strict";var As=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let i=this.map.keys().next().value;this.delete(i)}this.map.set(e,t)}return this}};Lu.exports=As});var bt=I((VR,Au)=>{"use strict";var W_=/\s+/g,Cs=class n{constructor(e,t){if(t=H_(t),e instanceof n)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new n(e.raw,t);if(e instanceof $s)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(W_," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(r=>r.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let r=this.set[0];if(this.set=this.set.filter(i=>!Tu(i[0])),this.set.length===0)this.set=[r];else if(this.set.length>1){for(let i of this.set)if(i.length===1&&Y_(i[0])){this.set=[i];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let t=this.set[e];for(let r=0;r<t.length;r++)r>0&&(this.formatted+=" "),this.formatted+=t[r].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let r=((this.options.includePrerelease&&J_)|(this.options.loose&&Q_))+":"+e,i=ku.get(r);if(i)return i;let o=this.options.loose,s=o?et[Xe.HYPHENRANGELOOSE]:et[Xe.HYPHENRANGE];e=e.replace(s,lb(this.options.includePrerelease)),Se("hyphen replace",e),e=e.replace(et[Xe.COMPARATORTRIM],G_),Se("comparator trim",e),e=e.replace(et[Xe.TILDETRIM],X_),Se("tilde trim",e),e=e.replace(et[Xe.CARETTRIM],Z_),Se("caret trim",e);let a=e.split(" ").map(v=>eb(v,this.options)).join(" ").split(/\s+/).map(v=>cb(v,this.options));o&&(a=a.filter(v=>(Se("loose invalid filter",v,this.options),!!v.match(et[Xe.COMPARATORLOOSE])))),Se("range list",a);let d=new Map,l=a.map(v=>new $s(v,this.options));for(let v of l){if(Tu(v))return[v];d.set(v.value,v)}d.size>1&&d.has("")&&d.delete("");let h=[...d.values()];return ku.set(r,h),h}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Range is required");return this.set.some(r=>Iu(r,t)&&e.set.some(i=>Iu(i,t)&&r.every(o=>i.every(s=>o.intersects(s,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new K_(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(ub(this.set[t],e,this.options))return!0;return!1}};Au.exports=Cs;var z_=Du(),ku=new z_,H_=mi(),$s=vr(),Se=br(),K_=We(),{safeRe:et,t:Xe,comparatorTrimReplace:G_,tildeTrimReplace:X_,caretTrimReplace:Z_}=On(),{FLAG_INCLUDE_PRERELEASE:J_,FLAG_LOOSE:Q_}=_r(),Tu=n=>n.value==="<0.0.0-0",Y_=n=>n.value==="",Iu=(n,e)=>{let t=!0,r=n.slice(),i=r.pop();for(;t&&r.length;)t=r.every(o=>i.intersects(o,e)),i=r.pop();return t},eb=(n,e)=>(Se("comp",n,e),n=rb(n,e),Se("caret",n),n=tb(n,e),Se("tildes",n),n=ob(n,e),Se("xrange",n),n=ab(n,e),Se("stars",n),n),Ze=n=>!n||n.toLowerCase()==="x"||n==="*",tb=(n,e)=>n.trim().split(/\s+/).map(t=>nb(t,e)).join(" "),nb=(n,e)=>{let t=e.loose?et[Xe.TILDELOOSE]:et[Xe.TILDE];return n.replace(t,(r,i,o,s,a)=>{Se("tilde",n,r,i,o,s,a);let d;return Ze(i)?d="":Ze(o)?d=`>=${i}.0.0 <${+i+1}.0.0-0`:Ze(s)?d=`>=${i}.${o}.0 <${i}.${+o+1}.0-0`:a?(Se("replaceTilde pr",a),d=`>=${i}.${o}.${s}-${a} <${i}.${+o+1}.0-0`):d=`>=${i}.${o}.${s} <${i}.${+o+1}.0-0`,Se("tilde return",d),d})},rb=(n,e)=>n.trim().split(/\s+/).map(t=>ib(t,e)).join(" "),ib=(n,e)=>{Se("caret",n,e);let t=e.loose?et[Xe.CARETLOOSE]:et[Xe.CARET],r=e.includePrerelease?"-0":"";return n.replace(t,(i,o,s,a,d)=>{Se("caret",n,i,o,s,a,d);let l;return Ze(o)?l="":Ze(s)?l=`>=${o}.0.0${r} <${+o+1}.0.0-0`:Ze(a)?o==="0"?l=`>=${o}.${s}.0${r} <${o}.${+s+1}.0-0`:l=`>=${o}.${s}.0${r} <${+o+1}.0.0-0`:d?(Se("replaceCaret pr",d),o==="0"?s==="0"?l=`>=${o}.${s}.${a}-${d} <${o}.${s}.${+a+1}-0`:l=`>=${o}.${s}.${a}-${d} <${o}.${+s+1}.0-0`:l=`>=${o}.${s}.${a}-${d} <${+o+1}.0.0-0`):(Se("no pr"),o==="0"?s==="0"?l=`>=${o}.${s}.${a}${r} <${o}.${s}.${+a+1}-0`:l=`>=${o}.${s}.${a}${r} <${o}.${+s+1}.0-0`:l=`>=${o}.${s}.${a} <${+o+1}.0.0-0`),Se("caret return",l),l})},ob=(n,e)=>(Se("replaceXRanges",n,e),n.split(/\s+/).map(t=>sb(t,e)).join(" ")),sb=(n,e)=>{n=n.trim();let t=e.loose?et[Xe.XRANGELOOSE]:et[Xe.XRANGE];return n.replace(t,(r,i,o,s,a,d)=>{Se("xRange",n,r,i,o,s,a,d);let l=Ze(o),h=l||Ze(s),v=h||Ze(a),w=v;return i==="="&&w&&(i=""),d=e.includePrerelease?"-0":"",l?i===">"||i==="<"?r="<0.0.0-0":r="*":i&&w?(h&&(s=0),a=0,i===">"?(i=">=",h?(o=+o+1,s=0,a=0):(s=+s+1,a=0)):i==="<="&&(i="<",h?o=+o+1:s=+s+1),i==="<"&&(d="-0"),r=`${i+o}.${s}.${a}${d}`):h?r=`>=${o}.0.0${d} <${+o+1}.0.0-0`:v&&(r=`>=${o}.${s}.0${d} <${o}.${+s+1}.0-0`),Se("xRange return",r),r})},ab=(n,e)=>(Se("replaceStars",n,e),n.trim().replace(et[Xe.STAR],"")),cb=(n,e)=>(Se("replaceGTE0",n,e),n.trim().replace(et[e.includePrerelease?Xe.GTE0PRE:Xe.GTE0],"")),lb=n=>(e,t,r,i,o,s,a,d,l,h,v,w)=>(Ze(r)?t="":Ze(i)?t=`>=${r}.0.0${n?"-0":""}`:Ze(o)?t=`>=${r}.${i}.0${n?"-0":""}`:s?t=`>=${t}`:t=`>=${t}${n?"-0":""}`,Ze(l)?d="":Ze(h)?d=`<${+l+1}.0.0-0`:Ze(v)?d=`<${l}.${+h+1}.0-0`:w?d=`<=${l}.${h}.${v}-${w}`:n?d=`<${l}.${h}.${+v+1}-0`:d=`<=${d}`,`${t} ${d}`.trim()),ub=(n,e,t)=>{for(let r=0;r<n.length;r++)if(!n[r].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let r=0;r<n.length;r++)if(Se(n[r].semver),n[r].semver!==$s.ANY&&n[r].semver.prerelease.length>0){let i=n[r].semver;if(i.major===e.major&&i.minor===e.minor&&i.patch===e.patch)return!0}return!1}return!0}});var vr=I((WR,Nu)=>{"use strict";var wr=Symbol("SemVer ANY"),qs=class n{static get ANY(){return wr}constructor(e,t){if(t=Cu(t),e instanceof n){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),Ms("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===wr?this.value="":this.value=this.operator+this.semver.version,Ms("comp",this)}parse(e){let t=this.options.loose?$u[Ou.COMPARATORLOOSE]:$u[Ou.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=r[1]!==void 0?r[1]:"",this.operator==="="&&(this.operator=""),r[2]?this.semver=new Mu(r[2],this.options.loose):this.semver=wr}toString(){return this.value}test(e){if(Ms("Comparator.test",e,this.options.loose),this.semver===wr||e===wr)return!0;if(typeof e=="string")try{e=new Mu(e,this.options)}catch{return!1}return Os(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new qu(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new qu(this.value,t).test(e.semver):(t=Cu(t),t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||Os(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||Os(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};Nu.exports=qs;var Cu=mi(),{safeRe:$u,t:Ou}=On(),Os=Is(),Ms=br(),Mu=We(),qu=bt()});var Pr=I((zR,Fu)=>{"use strict";var db=bt(),fb=(n,e,t)=>{try{e=new db(e,t)}catch{return!1}return e.test(n)};Fu.exports=fb});var Bu=I((HR,ju)=>{"use strict";var pb=bt(),hb=(n,e)=>new pb(n,e).set.map(t=>t.map(r=>r.value).join(" ").trim().split(" "));ju.exports=hb});var Vu=I((KR,Uu)=>{"use strict";var mb=We(),gb=bt(),_b=(n,e,t)=>{let r=null,i=null,o=null;try{o=new gb(e,t)}catch{return null}return n.forEach(s=>{o.test(s)&&(!r||i.compare(s)===-1)&&(r=s,i=new mb(r,t))}),r};Uu.exports=_b});var zu=I((GR,Wu)=>{"use strict";var bb=We(),yb=bt(),vb=(n,e,t)=>{let r=null,i=null,o=null;try{o=new yb(e,t)}catch{return null}return n.forEach(s=>{o.test(s)&&(!r||i.compare(s)===1)&&(r=s,i=new bb(r,t))}),r};Wu.exports=vb});var Gu=I((XR,Ku)=>{"use strict";var Ns=We(),wb=bt(),Hu=yr(),Pb=(n,e)=>{n=new wb(n,e);let t=new Ns("0.0.0");if(n.test(t)||(t=new Ns("0.0.0-0"),n.test(t)))return t;t=null;for(let r=0;r<n.set.length;++r){let i=n.set[r],o=null;i.forEach(s=>{let a=new Ns(s.semver.version);switch(s.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!o||Hu(a,o))&&(o=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${s.operator}`)}}),o&&(!t||Hu(t,o))&&(t=o)}return t&&n.test(t)?t:null};Ku.exports=Pb});var Zu=I((ZR,Xu)=>{"use strict";var Rb=bt(),Eb=(n,e)=>{try{return new Rb(n,e).range||"*"}catch{return null}};Xu.exports=Eb});var xi=I((JR,ed)=>{"use strict";var Sb=We(),Yu=vr(),{ANY:xb}=Yu,Lb=bt(),Db=Pr(),Ju=yr(),Qu=wi(),kb=Ri(),Tb=Pi(),Ib=(n,e,t,r)=>{n=new Sb(n,r),e=new Lb(e,r);let i,o,s,a,d;switch(t){case">":i=Ju,o=kb,s=Qu,a=">",d=">=";break;case"<":i=Qu,o=Tb,s=Ju,a="<",d="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Db(n,e,r))return!1;for(let l=0;l<e.set.length;++l){let h=e.set[l],v=null,w=null;if(h.forEach(_=>{_.semver===xb&&(_=new Yu(">=0.0.0")),v=v||_,w=w||_,i(_.semver,v.semver,r)?v=_:s(_.semver,w.semver,r)&&(w=_)}),v.operator===a||v.operator===d||(!w.operator||w.operator===a)&&o(n,w.semver))return!1;if(w.operator===d&&s(n,w.semver))return!1}return!0};ed.exports=Ib});var nd=I((QR,td)=>{"use strict";var Ab=xi(),Cb=(n,e,t)=>Ab(n,e,">",t);td.exports=Cb});var id=I((YR,rd)=>{"use strict";var $b=xi(),Ob=(n,e,t)=>$b(n,e,"<",t);rd.exports=Ob});var ad=I((eE,sd)=>{"use strict";var od=bt(),Mb=(n,e,t)=>(n=new od(n,t),e=new od(e,t),n.intersects(e,t));sd.exports=Mb});var ld=I((tE,cd)=>{"use strict";var qb=Pr(),Nb=_t();cd.exports=(n,e,t)=>{let r=[],i=null,o=null,s=n.sort((h,v)=>Nb(h,v,t));for(let h of s)qb(h,e,t)?(o=h,i||(i=h)):(o&&r.push([i,o]),o=null,i=null);i&&r.push([i,null]);let a=[];for(let[h,v]of r)h===v?a.push(h):!v&&h===s[0]?a.push("*"):v?h===s[0]?a.push(`<=${v}`):a.push(`${h} - ${v}`):a.push(`>=${h}`);let d=a.join(" || "),l=typeof e.raw=="string"?e.raw:String(e);return d.length<l.length?d:e}});var md=I((nE,hd)=>{"use strict";var ud=bt(),js=vr(),{ANY:Fs}=js,Rr=Pr(),Bs=_t(),Fb=(n,e,t={})=>{if(n===e)return!0;n=new ud(n,t),e=new ud(e,t);let r=!1;e:for(let i of n.set){for(let o of e.set){let s=Bb(i,o,t);if(r=r||s!==null,s)continue e}if(r)return!1}return!0},jb=[new js(">=0.0.0-0")],dd=[new js(">=0.0.0")],Bb=(n,e,t)=>{if(n===e)return!0;if(n.length===1&&n[0].semver===Fs){if(e.length===1&&e[0].semver===Fs)return!0;t.includePrerelease?n=jb:n=dd}if(e.length===1&&e[0].semver===Fs){if(t.includePrerelease)return!0;e=dd}let r=new Set,i,o;for(let _ of n)_.operator===">"||_.operator===">="?i=fd(i,_,t):_.operator==="<"||_.operator==="<="?o=pd(o,_,t):r.add(_.semver);if(r.size>1)return null;let s;if(i&&o){if(s=Bs(i.semver,o.semver,t),s>0)return null;if(s===0&&(i.operator!==">="||o.operator!=="<="))return null}for(let _ of r){if(i&&!Rr(_,String(i),t)||o&&!Rr(_,String(o),t))return null;for(let L of e)if(!Rr(_,String(L),t))return!1;return!0}let a,d,l,h,v=o&&!t.includePrerelease&&o.semver.prerelease.length?o.semver:!1,w=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1;v&&v.prerelease.length===1&&o.operator==="<"&&v.prerelease[0]===0&&(v=!1);for(let _ of e){if(h=h||_.operator===">"||_.operator===">=",l=l||_.operator==="<"||_.operator==="<=",i){if(w&&_.semver.prerelease&&_.semver.prerelease.length&&_.semver.major===w.major&&_.semver.minor===w.minor&&_.semver.patch===w.patch&&(w=!1),_.operator===">"||_.operator===">="){if(a=fd(i,_,t),a===_&&a!==i)return!1}else if(i.operator===">="&&!Rr(i.semver,String(_),t))return!1}if(o){if(v&&_.semver.prerelease&&_.semver.prerelease.length&&_.semver.major===v.major&&_.semver.minor===v.minor&&_.semver.patch===v.patch&&(v=!1),_.operator==="<"||_.operator==="<="){if(d=pd(o,_,t),d===_&&d!==o)return!1}else if(o.operator==="<="&&!Rr(o.semver,String(_),t))return!1}if(!_.operator&&(o||i)&&s!==0)return!1}return!(i&&l&&!o&&s!==0||o&&h&&!i&&s!==0||w||v)},fd=(n,e,t)=>{if(!n)return e;let r=Bs(n.semver,e.semver,t);return r>0?n:r<0||e.operator===">"&&n.operator===">="?e:n},pd=(n,e,t)=>{if(!n)return e;let r=Bs(n.semver,e.semver,t);return r<0?n:r>0||e.operator==="<"&&n.operator==="<="?e:n};hd.exports=Fb});var yd=I((rE,bd)=>{"use strict";var Us=On(),gd=_r(),Ub=We(),_d=Ls(),Vb=yn(),Wb=Vl(),zb=zl(),Hb=Gl(),Kb=Jl(),Gb=Yl(),Xb=tu(),Zb=ru(),Jb=ou(),Qb=_t(),Yb=lu(),ey=du(),ty=vi(),ny=mu(),ry=_u(),iy=yr(),oy=wi(),sy=ks(),ay=Ts(),cy=Pi(),ly=Ri(),uy=Is(),dy=xu(),fy=vr(),py=bt(),hy=Pr(),my=Bu(),gy=Vu(),_y=zu(),by=Gu(),yy=Zu(),vy=xi(),wy=nd(),Py=id(),Ry=ad(),Ey=ld(),Sy=md();bd.exports={parse:Vb,valid:Wb,clean:zb,inc:Hb,diff:Kb,major:Gb,minor:Xb,patch:Zb,prerelease:Jb,compare:Qb,rcompare:Yb,compareLoose:ey,compareBuild:ty,sort:ny,rsort:ry,gt:iy,lt:oy,eq:sy,neq:ay,gte:cy,lte:ly,cmp:uy,coerce:dy,Comparator:fy,Range:py,satisfies:hy,toComparators:my,maxSatisfying:gy,minSatisfying:_y,minVersion:by,validRange:yy,outside:vy,gtr:wy,ltr:Py,intersects:Ry,simplifyRange:Ey,subset:Sy,SemVer:Ub,re:Us.re,src:Us.src,tokens:Us.t,SEMVER_SPEC_VERSION:gd.SEMVER_SPEC_VERSION,RELEASE_TYPES:gd.RELEASE_TYPES,compareIdentifiers:_d.compareIdentifiers,rcompareIdentifiers:_d.rcompareIdentifiers}});var Dd=I((cE,Ld)=>{"use strict";var xd=ut("child_process"),Rd=xd.spawn,Ly=xd.exec;Ld.exports=function(n,e,t){if(typeof e=="function"&&t===void 0&&(t=e,e=void 0),n=parseInt(n),Number.isNaN(n)){if(t)return t(new Error("pid must be a number"));throw new Error("pid must be a number")}var r={},i={};switch(r[n]=[],i[n]=1,process.platform){case"win32":Ly("taskkill /pid "+n+" /T /F",t);break;case"darwin":Vs(n,r,i,function(o){return Rd("pgrep",["-P",o])},function(){Ed(r,e,t)});break;default:Vs(n,r,i,function(o){return Rd("ps",["-o","pid","--no-headers","--ppid",o])},function(){Ed(r,e,t)});break}};function Ed(n,e,t){var r={};try{Object.keys(n).forEach(function(i){n[i].forEach(function(o){r[o]||(Sd(o,e),r[o]=1)}),r[i]||(Sd(i,e),r[i]=1)})}catch(i){if(t)return t(i);throw i}if(t)return t()}function Sd(n,e){try{process.kill(parseInt(n,10),e)}catch(t){if(t.code!=="ESRCH")throw t}}function Vs(n,e,t,r,i){var o=r(n),s="";o.stdout.on("data",function(l){var l=l.toString("ascii");s+=l});var a=function(d){if(delete t[n],d!=0){Object.keys(t).length==0&&i();return}s.match(/\d+/g).forEach(function(l){l=parseInt(l,10),e[n].push(l),e[l]=[],t[l]=1,Vs(l,e,t,r,i)})};o.on("close",a)}});var uf=I((i0,lf)=>{"use strict";var{hasOwnProperty:ka}=Object.prototype,Ta=(n,e={})=>{typeof e=="string"&&(e={section:e}),e.align=e.align===!0,e.newline=e.newline===!0,e.sort=e.sort===!0,e.whitespace=e.whitespace===!0||e.align===!0,e.platform=e.platform||typeof process<"u"&&process.platform,e.bracketedArray=e.bracketedArray!==!1;let t=e.platform==="win32"?`\r
18
18
  `:`
19
- `,r=e.whitespace?" = ":"=",i=[],o=e.sort?Object.keys(n).sort():Object.keys(n),s=0;e.align&&(s=Kt(o.filter(l=>n[l]===null||Array.isArray(n[l])||typeof n[l]!="object").map(l=>Array.isArray(n[l])?`${l}[]`:l).concat([""]).reduce((l,h)=>Kt(l).length>=Kt(h).length?l:h)).length);let a="",d=e.bracketedArray?"[]":"";for(let l of o){let h=n[l];if(h&&Array.isArray(h))for(let v of h)a+=Kt(`${l}${d}`).padEnd(s," ")+r+Kt(v)+t;else h&&typeof h=="object"?i.push(l):a+=Kt(l).padEnd(s," ")+r+Kt(h)+t}e.section&&a.length&&(a="["+Kt(e.section)+"]"+(e.newline?t+t:t)+a);for(let l of i){let h=lf(l,".").join("\\."),v=(e.section?e.section+".":"")+h,w=Ta(n[l],{...e,section:v});a.length&&w.length&&(a+=t),a+=w}return a};function lf(n,e){var t=0,r=0,i=0,o=[];do if(i=n.indexOf(e,t),i!==-1){if(t=i+e.length,i>0&&n[i-1]==="\\")continue;o.push(n.slice(r,i)),r=i+e.length}while(i!==-1);return o.push(n.slice(r)),o}var cf=(n,e={})=>{e.bracketedArray=e.bracketedArray!==!1;let t=Object.create(null),r=t,i=null,o=/^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i,s=n.split(/[\r\n]+/g),a={};for(let l of s){if(!l||l.match(/^\s*[;#]/)||l.match(/^\s*$/))continue;let h=l.match(o);if(!h)continue;if(h[1]!==void 0){if(i=Xi(h[1]),i==="__proto__"){r=Object.create(null);continue}r=t[i]=t[i]||Object.create(null);continue}let v=Xi(h[2]),w;e.bracketedArray?w=v.length>2&&v.slice(-2)==="[]":(a[v]=(a?.[v]||0)+1,w=a[v]>1);let _=w&&v.endsWith("[]")?v.slice(0,-2):v;if(_==="__proto__")continue;let L=h[3]?Xi(h[4]):!0,k=L==="true"||L==="false"||L==="null"?JSON.parse(L):L;w&&(ka.call(r,_)?Array.isArray(r[_])||(r[_]=[r[_]]):r[_]=[]),Array.isArray(r[_])?r[_].push(k):r[_]=k}let d=[];for(let l of Object.keys(t)){if(!ka.call(t,l)||typeof t[l]!="object"||Array.isArray(t[l]))continue;let h=lf(l,".");r=t;let v=h.pop(),w=v.replace(/\\\./g,".");for(let _ of h)_!=="__proto__"&&((!ka.call(r,_)||typeof r[_]!="object")&&(r[_]=Object.create(null)),r=r[_]);r===t&&w===v||(r[w]=t[l],d.push(l))}for(let l of d)delete t[l];return t},uf=n=>n.startsWith('"')&&n.endsWith('"')||n.startsWith("'")&&n.endsWith("'"),Kt=n=>typeof n!="string"||n.match(/[=\r\n]/)||n.match(/^\[/)||n.length>1&&uf(n)||n!==n.trim()?JSON.stringify(n):n.split(";").join("\\;").split("#").join("\\#"),Xi=n=>{if(n=(n||"").trim(),uf(n)){n.charAt(0)==="'"&&(n=n.slice(1,-1));try{n=JSON.parse(n)}catch{}}else{let e=!1,t="";for(let r=0,i=n.length;r<i;r++){let o=n.charAt(r);if(e)"\\;#".indexOf(o)!==-1?t+=o:t+="\\"+o,e=!1;else{if(";#".indexOf(o)!==-1)break;o==="\\"?e=!0:t+=o}}return e&&(t+="\\"),t.trim()}return n};df.exports={parse:cf,decode:cf,stringify:Ta,encode:Ta,safe:Kt,unsafe:Xi}});var Hn=I(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.stringArray=He.array=He.func=He.error=He.number=He.string=He.boolean=void 0;function Xv(n){return n===!0||n===!1}He.boolean=Xv;function bf(n){return typeof n=="string"||n instanceof String}He.string=bf;function Jv(n){return typeof n=="number"||n instanceof Number}He.number=Jv;function Qv(n){return n instanceof Error}He.error=Qv;function Zv(n){return typeof n=="function"}He.func=Zv;function yf(n){return Array.isArray(n)}He.array=yf;function Yv(n){return yf(n)&&n.every(e=>bf(e))}He.stringArray=Yv});var nc=I(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});J.Message=J.NotificationType9=J.NotificationType8=J.NotificationType7=J.NotificationType6=J.NotificationType5=J.NotificationType4=J.NotificationType3=J.NotificationType2=J.NotificationType1=J.NotificationType0=J.NotificationType=J.RequestType9=J.RequestType8=J.RequestType7=J.RequestType6=J.RequestType5=J.RequestType4=J.RequestType3=J.RequestType2=J.RequestType1=J.RequestType=J.RequestType0=J.AbstractMessageSignature=J.ParameterStructures=J.ResponseError=J.ErrorCodes=void 0;var En=Hn(),Ca;(function(n){n.ParseError=-32700,n.InvalidRequest=-32600,n.MethodNotFound=-32601,n.InvalidParams=-32602,n.InternalError=-32603,n.jsonrpcReservedErrorRangeStart=-32099,n.serverErrorStart=-32099,n.MessageWriteError=-32099,n.MessageReadError=-32098,n.PendingResponseRejected=-32097,n.ConnectionInactive=-32096,n.ServerNotInitialized=-32002,n.UnknownErrorCode=-32001,n.jsonrpcReservedErrorRangeEnd=-32e3,n.serverErrorEnd=-32e3})(Ca||(J.ErrorCodes=Ca={}));var Aa=class n extends Error{constructor(e,t,r){super(t),this.code=En.number(e)?e:Ca.UnknownErrorCode,this.data=r,Object.setPrototypeOf(this,n.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};J.ResponseError=Aa;var ot=class n{constructor(e){this.kind=e}static is(e){return e===n.auto||e===n.byName||e===n.byPosition}toString(){return this.kind}};J.ParameterStructures=ot;ot.auto=new ot("auto");ot.byPosition=new ot("byPosition");ot.byName=new ot("byName");var Le=class{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return ot.auto}};J.AbstractMessageSignature=Le;var $a=class extends Le{constructor(e){super(e,0)}};J.RequestType0=$a;var Oa=class extends Le{constructor(e,t=ot.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};J.RequestType=Oa;var Ma=class extends Le{constructor(e,t=ot.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};J.RequestType1=Ma;var qa=class extends Le{constructor(e){super(e,2)}};J.RequestType2=qa;var Na=class extends Le{constructor(e){super(e,3)}};J.RequestType3=Na;var Fa=class extends Le{constructor(e){super(e,4)}};J.RequestType4=Fa;var ja=class extends Le{constructor(e){super(e,5)}};J.RequestType5=ja;var Ba=class extends Le{constructor(e){super(e,6)}};J.RequestType6=Ba;var Ua=class extends Le{constructor(e){super(e,7)}};J.RequestType7=Ua;var Va=class extends Le{constructor(e){super(e,8)}};J.RequestType8=Va;var Wa=class extends Le{constructor(e){super(e,9)}};J.RequestType9=Wa;var za=class extends Le{constructor(e,t=ot.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};J.NotificationType=za;var Ha=class extends Le{constructor(e){super(e,0)}};J.NotificationType0=Ha;var Ka=class extends Le{constructor(e,t=ot.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};J.NotificationType1=Ka;var Ga=class extends Le{constructor(e){super(e,2)}};J.NotificationType2=Ga;var Xa=class extends Le{constructor(e){super(e,3)}};J.NotificationType3=Xa;var Ja=class extends Le{constructor(e){super(e,4)}};J.NotificationType4=Ja;var Qa=class extends Le{constructor(e){super(e,5)}};J.NotificationType5=Qa;var Za=class extends Le{constructor(e){super(e,6)}};J.NotificationType6=Za;var Ya=class extends Le{constructor(e){super(e,7)}};J.NotificationType7=Ya;var ec=class extends Le{constructor(e){super(e,8)}};J.NotificationType8=ec;var tc=class extends Le{constructor(e){super(e,9)}};J.NotificationType9=tc;var vf;(function(n){function e(i){let o=i;return o&&En.string(o.method)&&(En.string(o.id)||En.number(o.id))}n.isRequest=e;function t(i){let o=i;return o&&En.string(o.method)&&i.id===void 0}n.isNotification=t;function r(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(En.string(o.id)||En.number(o.id)||o.id===null)}n.isResponse=r})(vf||(J.Message=vf={}))});var ic=I(an=>{"use strict";var wf;Object.defineProperty(an,"__esModule",{value:!0});an.LRUCache=an.LinkedMap=an.Touch=void 0;var Ke;(function(n){n.None=0,n.First=1,n.AsOld=n.First,n.Last=2,n.AsNew=n.Last})(Ke||(an.Touch=Ke={}));var Qi=class{constructor(){this[wf]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=Ke.None){let r=this._map.get(e);if(r)return t!==Ke.None&&this.touch(r,t),r.value}set(e,t,r=Ke.None){let i=this._map.get(e);if(i)i.value=t,r!==Ke.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case Ke.None:this.addItemLast(i);break;case Ke.First:this.addItemFirst(i);break;case Ke.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let i={value:t.key,done:!1};return t=t.next,i}else return{value:void 0,done:!0}}};return r}values(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let i={value:t.value,done:!1};return t=t.next,i}else return{value:void 0,done:!0}}};return r}entries(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let i={value:[t.key,t.value],done:!1};return t=t.next,i}else return{value:void 0,done:!0}}};return r}[(wf=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw new Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==Ke.First&&t!==Ke.Last)){if(t===Ke.First){if(e===this._head)return;let r=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===Ke.Last){if(e===this._tail)return;let r=e.next,i=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){this.clear();for(let[t,r]of e)this.set(t,r)}};an.LinkedMap=Qi;var rc=class extends Qi{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=Ke.AsNew){return super.get(e,t)}peek(e){return super.get(e,Ke.None)}set(e,t){return super.set(e,t,Ke.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};an.LRUCache=rc});var Rf=I(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.Disposable=void 0;var Pf;(function(n){function e(t){return{dispose:t}}n.create=e})(Pf||(Zi.Disposable=Pf={}))});var cn=I(ac=>{"use strict";Object.defineProperty(ac,"__esModule",{value:!0});var oc;function sc(){if(oc===void 0)throw new Error("No runtime abstraction layer installed");return oc}(function(n){function e(t){if(t===void 0)throw new Error("No runtime abstraction layer provided");oc=t}n.install=e})(sc||(sc={}));ac.default=sc});var Gn=I(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.Emitter=Kn.Event=void 0;var ew=cn(),Ef;(function(n){let e={dispose(){}};n.None=function(){return e}})(Ef||(Kn.Event=Ef={}));var cc=class{add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===t){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let t=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=r.length;o<s;o++)try{t.push(r[o].apply(i[o],e))}catch(a){(0,ew.default)().console.error(a)}return t}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Yi=class n{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,r)=>{this._callbacks||(this._callbacks=new cc),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};Kn.Emitter=Yi;Yi._noop=function(){}});var no=I(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.CancellationTokenSource=Xn.CancellationToken=void 0;var tw=cn(),nw=Hn(),lc=Gn(),eo;(function(n){n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:lc.Event.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:lc.Event.None});function e(t){let r=t;return r&&(r===n.None||r===n.Cancelled||nw.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}n.is=e})(eo||(Xn.CancellationToken=eo={}));var rw=Object.freeze(function(n,e){let t=(0,tw.default)().timer.setTimeout(n.bind(e),0);return{dispose(){t.dispose()}}}),to=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?rw:(this._emitter||(this._emitter=new lc.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},uc=class{get token(){return this._token||(this._token=new to),this._token}cancel(){this._token?this._token.cancel():this._token=eo.Cancelled}dispose(){this._token?this._token instanceof to&&this._token.dispose():this._token=eo.None}};Xn.CancellationTokenSource=uc});var Sf=I(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.SharedArrayReceiverStrategy=Jn.SharedArraySenderStrategy=void 0;var iw=no(),Cr;(function(n){n.Continue=0,n.Cancelled=1})(Cr||(Cr={}));var dc=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let t=new SharedArrayBuffer(4),r=new Int32Array(t,0,1);r[0]=Cr.Continue,this.buffers.set(e.id,t),e.$cancellationData=t}async sendCancellation(e,t){let r=this.buffers.get(t);if(r===void 0)return;let i=new Int32Array(r,0,1);Atomics.store(i,0,Cr.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Jn.SharedArraySenderStrategy=dc;var fc=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Cr.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},pc=class{constructor(e){this.token=new fc(e)}cancel(){}dispose(){}},hc=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let t=e.$cancellationData;return t===void 0?new iw.CancellationTokenSource:new pc(t)}};Jn.SharedArrayReceiverStrategy=hc});var gc=I(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.Semaphore=void 0;var ow=cn(),mc=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,r)=>{this._waiting.push({thunk:e,resolve:t,reject:r}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,ow.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(r=>{this._active--,e.resolve(r),this.runNext()},r=>{this._active--,e.reject(r),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}};ro.Semaphore=mc});var Lf=I(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.ReadableStreamMessageReader=ln.AbstractMessageReader=ln.MessageReader=void 0;var bc=cn(),Qn=Hn(),_c=Gn(),sw=gc(),xf;(function(n){function e(t){let r=t;return r&&Qn.func(r.listen)&&Qn.func(r.dispose)&&Qn.func(r.onError)&&Qn.func(r.onClose)&&Qn.func(r.onPartialMessage)}n.is=e})(xf||(ln.MessageReader=xf={}));var io=class{constructor(){this.errorEmitter=new _c.Emitter,this.closeEmitter=new _c.Emitter,this.partialMessageEmitter=new _c.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${Qn.string(e.message)?e.message:"unknown"}`)}};ln.AbstractMessageReader=io;var yc;(function(n){function e(t){let r,i,o,s=new Map,a,d=new Map;if(t===void 0||typeof t=="string")r=t??"utf-8";else{if(r=t.charset??"utf-8",t.contentDecoder!==void 0&&(o=t.contentDecoder,s.set(o.name,o)),t.contentDecoders!==void 0)for(let l of t.contentDecoders)s.set(l.name,l);if(t.contentTypeDecoder!==void 0&&(a=t.contentTypeDecoder,d.set(a.name,a)),t.contentTypeDecoders!==void 0)for(let l of t.contentTypeDecoders)d.set(l.name,l)}return a===void 0&&(a=(0,bc.default)().applicationJson.decoder,d.set(a.name,a)),{charset:r,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:d}}n.fromOptions=e})(yc||(yc={}));var vc=class extends io{constructor(e,t){super(),this.readable=e,this.options=yc.fromOptions(t),this.buffer=(0,bc.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new sw.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let t=this.readable.onData(r=>{this.onData(r)});return this.readable.onError(r=>this.fireError(r)),this.readable.onClose(()=>this.fireClose()),t}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let r=this.buffer.tryReadHeaders(!0);if(!r)return;let i=r.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
20
- ${JSON.stringify(Object.fromEntries(r))}`));return}let o=parseInt(i);if(isNaN(o)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=o}let t=this.buffer.tryReadBody(this.nextMessageLength);if(t===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let r=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(t):t,i=await this.options.contentTypeDecoder.decode(r,this.options);this.callback(i)}).catch(r=>{this.fireError(r)})}}catch(t){this.fireError(t)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,bc.default)().timer.setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};ln.ReadableStreamMessageReader=vc});var Cf=I(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.WriteableStreamMessageWriter=un.AbstractMessageWriter=un.MessageWriter=void 0;var Df=cn(),Ar=Hn(),aw=gc(),kf=Gn(),cw="Content-Length: ",Tf=`\r
21
- `,If;(function(n){function e(t){let r=t;return r&&Ar.func(r.dispose)&&Ar.func(r.onClose)&&Ar.func(r.onError)&&Ar.func(r.write)}n.is=e})(If||(un.MessageWriter=If={}));var oo=class{constructor(){this.errorEmitter=new kf.Emitter,this.closeEmitter=new kf.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,r){this.errorEmitter.fire([this.asError(e),t,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Ar.string(e.message)?e.message:"unknown"}`)}};un.AbstractMessageWriter=oo;var wc;(function(n){function e(t){return t===void 0||typeof t=="string"?{charset:t??"utf-8",contentTypeEncoder:(0,Df.default)().applicationJson.encoder}:{charset:t.charset??"utf-8",contentEncoder:t.contentEncoder,contentTypeEncoder:t.contentTypeEncoder??(0,Df.default)().applicationJson.encoder}}n.fromOptions=e})(wc||(wc={}));var Pc=class extends oo{constructor(e,t){super(),this.writable=e,this.options=wc.fromOptions(t),this.errorCount=0,this.writeSemaphore=new aw.Semaphore(1),this.writable.onError(r=>this.fireError(r)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(r=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(r):r).then(r=>{let i=[];return i.push(cw,r.byteLength.toString(),Tf),i.push(Tf),this.doWrite(e,i,r)},r=>{throw this.fireError(r),r}))}async doWrite(e,t,r){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(r)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}};un.WriteableStreamMessageWriter=Pc});var Af=I(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.AbstractMessageBuffer=void 0;var lw=13,uw=10,dw=`\r
22
- `,Rc=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let t=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let t=0,r=0,i=0,o=0;e:for(;r<this._chunks.length;){let l=this._chunks[r];for(i=0;i<l.length;){switch(l[i]){case lw:switch(t){case 0:t=1;break;case 2:t=3;break;default:t=0}break;case uw:switch(t){case 1:t=2;break;case 3:t=4,i++;break e;default:t=0}break;default:t=0}i++}o+=l.byteLength,r++}if(t!==4)return;let s=this._read(o+i),a=new Map,d=this.toString(s,"ascii").split(dw);if(d.length<2)return a;for(let l=0;l<d.length-2;l++){let h=d[l],v=h.indexOf(":");if(v===-1)throw new Error(`Message header must separate key and value using ':'
23
- ${h}`);let w=h.substr(0,v),_=h.substr(v+1).trim();a.set(e?w.toLowerCase():w,_)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let t=this.allocNative(e),r=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);t.set(s,r),r+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else t.set(o,r),r+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return t}};so.AbstractMessageBuffer=Rc});var Nf=I(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.createMessageConnection=se.ConnectionOptions=se.MessageStrategy=se.CancellationStrategy=se.CancellationSenderStrategy=se.CancellationReceiverStrategy=se.RequestCancellationReceiverStrategy=se.IdCancellationReceiverStrategy=se.ConnectionStrategy=se.ConnectionError=se.ConnectionErrors=se.LogTraceNotification=se.SetTraceNotification=se.TraceFormat=se.TraceValues=se.Trace=se.NullLogger=se.ProgressType=se.ProgressToken=void 0;var $f=cn(),Ie=Hn(),Y=nc(),Of=ic(),$r=Gn(),Ec=no(),qr;(function(n){n.type=new Y.NotificationType("$/cancelRequest")})(qr||(qr={}));var Sc;(function(n){function e(t){return typeof t=="string"||typeof t=="number"}n.is=e})(Sc||(se.ProgressToken=Sc={}));var Or;(function(n){n.type=new Y.NotificationType("$/progress")})(Or||(Or={}));var xc=class{constructor(){}};se.ProgressType=xc;var Lc;(function(n){function e(t){return Ie.func(t)}n.is=e})(Lc||(Lc={}));se.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var me;(function(n){n[n.Off=0]="Off",n[n.Messages=1]="Messages",n[n.Compact=2]="Compact",n[n.Verbose=3]="Verbose"})(me||(se.Trace=me={}));var Mf;(function(n){n.Off="off",n.Messages="messages",n.Compact="compact",n.Verbose="verbose"})(Mf||(se.TraceValues=Mf={}));(function(n){function e(r){if(!Ie.string(r))return n.Off;switch(r=r.toLowerCase(),r){case"off":return n.Off;case"messages":return n.Messages;case"compact":return n.Compact;case"verbose":return n.Verbose;default:return n.Off}}n.fromString=e;function t(r){switch(r){case n.Off:return"off";case n.Messages:return"messages";case n.Compact:return"compact";case n.Verbose:return"verbose";default:return"off"}}n.toString=t})(me||(se.Trace=me={}));var mt;(function(n){n.Text="text",n.JSON="json"})(mt||(se.TraceFormat=mt={}));(function(n){function e(t){return Ie.string(t)?(t=t.toLowerCase(),t==="json"?n.JSON:n.Text):n.Text}n.fromString=e})(mt||(se.TraceFormat=mt={}));var Dc;(function(n){n.type=new Y.NotificationType("$/setTrace")})(Dc||(se.SetTraceNotification=Dc={}));var ao;(function(n){n.type=new Y.NotificationType("$/logTrace")})(ao||(se.LogTraceNotification=ao={}));var Mr;(function(n){n[n.Closed=1]="Closed",n[n.Disposed=2]="Disposed",n[n.AlreadyListening=3]="AlreadyListening"})(Mr||(se.ConnectionErrors=Mr={}));var Zn=class n extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,n.prototype)}};se.ConnectionError=Zn;var kc;(function(n){function e(t){let r=t;return r&&Ie.func(r.cancelUndispatched)}n.is=e})(kc||(se.ConnectionStrategy=kc={}));var co;(function(n){function e(t){let r=t;return r&&(r.kind===void 0||r.kind==="id")&&Ie.func(r.createCancellationTokenSource)&&(r.dispose===void 0||Ie.func(r.dispose))}n.is=e})(co||(se.IdCancellationReceiverStrategy=co={}));var Tc;(function(n){function e(t){let r=t;return r&&r.kind==="request"&&Ie.func(r.createCancellationTokenSource)&&(r.dispose===void 0||Ie.func(r.dispose))}n.is=e})(Tc||(se.RequestCancellationReceiverStrategy=Tc={}));var lo;(function(n){n.Message=Object.freeze({createCancellationTokenSource(t){return new Ec.CancellationTokenSource}});function e(t){return co.is(t)||Tc.is(t)}n.is=e})(lo||(se.CancellationReceiverStrategy=lo={}));var uo;(function(n){n.Message=Object.freeze({sendCancellation(t,r){return t.sendNotification(qr.type,{id:r})},cleanup(t){}});function e(t){let r=t;return r&&Ie.func(r.sendCancellation)&&Ie.func(r.cleanup)}n.is=e})(uo||(se.CancellationSenderStrategy=uo={}));var fo;(function(n){n.Message=Object.freeze({receiver:lo.Message,sender:uo.Message});function e(t){let r=t;return r&&lo.is(r.receiver)&&uo.is(r.sender)}n.is=e})(fo||(se.CancellationStrategy=fo={}));var po;(function(n){function e(t){let r=t;return r&&Ie.func(r.handleMessage)}n.is=e})(po||(se.MessageStrategy=po={}));var qf;(function(n){function e(t){let r=t;return r&&(fo.is(r.cancellationStrategy)||kc.is(r.connectionStrategy)||po.is(r.messageStrategy))}n.is=e})(qf||(se.ConnectionOptions=qf={}));var kt;(function(n){n[n.New=1]="New",n[n.Listening=2]="Listening",n[n.Closed=3]="Closed",n[n.Disposed=4]="Disposed"})(kt||(kt={}));function fw(n,e,t,r){let i=t!==void 0?t:se.NullLogger,o=0,s=0,a=0,d="2.0",l,h=new Map,v,w=new Map,_=new Map,L,k=new Of.LinkedMap,X=new Map,fe=new Set,B=new Map,ee=me.Off,ae=mt.Text,Z,te=kt.New,_e=new $r.Emitter,Ce=new $r.Emitter,qe=new $r.Emitter,Ze=new $r.Emitter,O=new $r.Emitter,E=r&&r.cancellationStrategy?r.cancellationStrategy:fo.Message;function F(m){if(m===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+m.toString()}function j(m){return m===null?"res-unknown-"+(++a).toString():"res-"+m.toString()}function x(){return"not-"+(++s).toString()}function C(m,D){Y.Message.isRequest(D)?m.set(F(D.id),D):Y.Message.isResponse(D)?m.set(j(D.id),D):m.set(x(),D)}function A(m){}function N(){return te===kt.Listening}function z(){return te===kt.Closed}function q(){return te===kt.Disposed}function ne(){(te===kt.New||te===kt.Listening)&&(te=kt.Closed,Ce.fire(void 0))}function re(m){_e.fire([m,void 0,void 0])}function Me(m){_e.fire(m)}n.onClose(ne),n.onError(re),e.onClose(ne),e.onError(Me);function he(){L||k.size===0||(L=(0,$f.default)().timer.setImmediate(()=>{L=void 0,It()}))}function Ye(m){Y.Message.isRequest(m)?Wr(m):Y.Message.isNotification(m)?Hr(m):Y.Message.isResponse(m)?zr(m):Tn(m)}function It(){if(k.size===0)return;let m=k.shift();try{let D=r?.messageStrategy;po.is(D)?D.handleMessage(m,Ye):Ye(m)}finally{he()}}let Vr=m=>{try{if(Y.Message.isNotification(m)&&m.method===qr.type.method){let D=m.params.id,M=F(D),H=k.get(M);if(Y.Message.isRequest(H)){let ge=r?.connectionStrategy,Ee=ge&&ge.cancelUndispatched?ge.cancelUndispatched(H,A):void 0;if(Ee&&(Ee.error!==void 0||Ee.result!==void 0)){k.delete(M),B.delete(D),Ee.id=H.id,gn(Ee,m.method,Date.now()),e.write(Ee).catch(()=>i.error("Sending response for canceled message failed."));return}}let be=B.get(D);if(be!==void 0){be.cancel(),In(m);return}else fe.add(D)}C(k,m)}finally{he()}};function Wr(m){if(q())return;function D(le,ve,pe){let Ae={jsonrpc:d,id:m.id};le instanceof Y.ResponseError?Ae.error=le.toJson():Ae.result=le===void 0?null:le,gn(Ae,ve,pe),e.write(Ae).catch(()=>i.error("Sending response failed."))}function M(le,ve,pe){let Ae={jsonrpc:d,id:m.id,error:le.toJson()};gn(Ae,ve,pe),e.write(Ae).catch(()=>i.error("Sending response failed."))}function H(le,ve,pe){le===void 0&&(le=null);let Ae={jsonrpc:d,id:m.id,result:le};gn(Ae,ve,pe),e.write(Ae).catch(()=>i.error("Sending response failed."))}Xr(m);let be=h.get(m.method),ge,Ee;be&&(ge=be.type,Ee=be.handler);let De=Date.now();if(Ee||l){let le=m.id??String(Date.now()),ve=co.is(E.receiver)?E.receiver.createCancellationTokenSource(le):E.receiver.createCancellationTokenSource(m);m.id!==null&&fe.has(m.id)&&ve.cancel(),m.id!==null&&B.set(le,ve);try{let pe;if(Ee)if(m.params===void 0){if(ge!==void 0&&ge.numberOfParams!==0){M(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${m.method} defines ${ge.numberOfParams} params but received none.`),m.method,De);return}pe=Ee(ve.token)}else if(Array.isArray(m.params)){if(ge!==void 0&&ge.parameterStructures===Y.ParameterStructures.byName){M(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${m.method} defines parameters by name but received parameters by position`),m.method,De);return}pe=Ee(...m.params,ve.token)}else{if(ge!==void 0&&ge.parameterStructures===Y.ParameterStructures.byPosition){M(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${m.method} defines parameters by position but received parameters by name`),m.method,De);return}pe=Ee(m.params,ve.token)}else l&&(pe=l(m.method,m.params,ve.token));let Ae=pe;pe?Ae.then?Ae.then(Fe=>{B.delete(le),D(Fe,m.method,De)},Fe=>{B.delete(le),Fe instanceof Y.ResponseError?M(Fe,m.method,De):Fe&&Ie.string(Fe.message)?M(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${m.method} failed with message: ${Fe.message}`),m.method,De):M(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${m.method} failed unexpectedly without providing any details.`),m.method,De)}):(B.delete(le),D(pe,m.method,De)):(B.delete(le),H(pe,m.method,De))}catch(pe){B.delete(le),pe instanceof Y.ResponseError?D(pe,m.method,De):pe&&Ie.string(pe.message)?M(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${m.method} failed with message: ${pe.message}`),m.method,De):M(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${m.method} failed unexpectedly without providing any details.`),m.method,De)}}else M(new Y.ResponseError(Y.ErrorCodes.MethodNotFound,`Unhandled method ${m.method}`),m.method,De)}function zr(m){if(!q())if(m.id===null)m.error?i.error(`Received response message without id: Error is:
24
- ${JSON.stringify(m.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let D=m.id,M=X.get(D);if(Jr(m,M),M!==void 0){X.delete(D);try{if(m.error){let H=m.error;M.reject(new Y.ResponseError(H.code,H.message,H.data))}else if(m.result!==void 0)M.resolve(m.result);else throw new Error("Should never happen.")}catch(H){H.message?i.error(`Response handler '${M.method}' failed with message: ${H.message}`):i.error(`Response handler '${M.method}' failed unexpectedly.`)}}}}function Hr(m){if(q())return;let D,M;if(m.method===qr.type.method){let H=m.params.id;fe.delete(H),In(m);return}else{let H=w.get(m.method);H&&(M=H.handler,D=H.type)}if(M||v)try{if(In(m),M)if(m.params===void 0)D!==void 0&&D.numberOfParams!==0&&D.parameterStructures!==Y.ParameterStructures.byName&&i.error(`Notification ${m.method} defines ${D.numberOfParams} params but received none.`),M();else if(Array.isArray(m.params)){let H=m.params;m.method===Or.type.method&&H.length===2&&Sc.is(H[0])?M({token:H[0],value:H[1]}):(D!==void 0&&(D.parameterStructures===Y.ParameterStructures.byName&&i.error(`Notification ${m.method} defines parameters by name but received parameters by position`),D.numberOfParams!==m.params.length&&i.error(`Notification ${m.method} defines ${D.numberOfParams} params but received ${H.length} arguments`)),M(...H))}else D!==void 0&&D.parameterStructures===Y.ParameterStructures.byPosition&&i.error(`Notification ${m.method} defines parameters by position but received parameters by name`),M(m.params);else v&&v(m.method,m.params)}catch(H){H.message?i.error(`Notification handler '${m.method}' failed with message: ${H.message}`):i.error(`Notification handler '${m.method}' failed unexpectedly.`)}else qe.fire(m)}function Tn(m){if(!m){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
25
- ${JSON.stringify(m,null,4)}`);let D=m;if(Ie.string(D.id)||Ie.number(D.id)){let M=D.id,H=X.get(M);H&&H.reject(new Error("The received response has neither a result nor an error property."))}}function St(m){if(m!=null)switch(ee){case me.Verbose:return JSON.stringify(m,null,4);case me.Compact:return JSON.stringify(m);default:return}}function Kr(m){if(!(ee===me.Off||!Z))if(ae===mt.Text){let D;(ee===me.Verbose||ee===me.Compact)&&m.params&&(D=`Params: ${St(m.params)}
19
+ `,r=e.whitespace?" = ":"=",i=[],o=e.sort?Object.keys(n).sort():Object.keys(n),s=0;e.align&&(s=Kt(o.filter(l=>n[l]===null||Array.isArray(n[l])||typeof n[l]!="object").map(l=>Array.isArray(n[l])?`${l}[]`:l).concat([""]).reduce((l,h)=>Kt(l).length>=Kt(h).length?l:h)).length);let a="",d=e.bracketedArray?"[]":"";for(let l of o){let h=n[l];if(h&&Array.isArray(h))for(let v of h)a+=Kt(`${l}${d}`).padEnd(s," ")+r+Kt(v)+t;else h&&typeof h=="object"?i.push(l):a+=Kt(l).padEnd(s," ")+r+Kt(h)+t}e.section&&a.length&&(a="["+Kt(e.section)+"]"+(e.newline?t+t:t)+a);for(let l of i){let h=af(l,".").join("\\."),v=(e.section?e.section+".":"")+h,w=Ta(n[l],{...e,section:v});a.length&&w.length&&(a+=t),a+=w}return a};function af(n,e){var t=0,r=0,i=0,o=[];do if(i=n.indexOf(e,t),i!==-1){if(t=i+e.length,i>0&&n[i-1]==="\\")continue;o.push(n.slice(r,i)),r=i+e.length}while(i!==-1);return o.push(n.slice(r)),o}var sf=(n,e={})=>{e.bracketedArray=e.bracketedArray!==!1;let t=Object.create(null),r=t,i=null,o=/^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i,s=n.split(/[\r\n]+/g),a={};for(let l of s){if(!l||l.match(/^\s*[;#]/)||l.match(/^\s*$/))continue;let h=l.match(o);if(!h)continue;if(h[1]!==void 0){if(i=Xi(h[1]),i==="__proto__"){r=Object.create(null);continue}r=t[i]=t[i]||Object.create(null);continue}let v=Xi(h[2]),w;e.bracketedArray?w=v.length>2&&v.slice(-2)==="[]":(a[v]=(a?.[v]||0)+1,w=a[v]>1);let _=w&&v.endsWith("[]")?v.slice(0,-2):v;if(_==="__proto__")continue;let L=h[3]?Xi(h[4]):!0,k=L==="true"||L==="false"||L==="null"?JSON.parse(L):L;w&&(ka.call(r,_)?Array.isArray(r[_])||(r[_]=[r[_]]):r[_]=[]),Array.isArray(r[_])?r[_].push(k):r[_]=k}let d=[];for(let l of Object.keys(t)){if(!ka.call(t,l)||typeof t[l]!="object"||Array.isArray(t[l]))continue;let h=af(l,".");r=t;let v=h.pop(),w=v.replace(/\\\./g,".");for(let _ of h)_!=="__proto__"&&((!ka.call(r,_)||typeof r[_]!="object")&&(r[_]=Object.create(null)),r=r[_]);r===t&&w===v||(r[w]=t[l],d.push(l))}for(let l of d)delete t[l];return t},cf=n=>n.startsWith('"')&&n.endsWith('"')||n.startsWith("'")&&n.endsWith("'"),Kt=n=>typeof n!="string"||n.match(/[=\r\n]/)||n.match(/^\[/)||n.length>1&&cf(n)||n!==n.trim()?JSON.stringify(n):n.split(";").join("\\;").split("#").join("\\#"),Xi=n=>{if(n=(n||"").trim(),cf(n)){n.charAt(0)==="'"&&(n=n.slice(1,-1));try{n=JSON.parse(n)}catch{}}else{let e=!1,t="";for(let r=0,i=n.length;r<i;r++){let o=n.charAt(r);if(e)"\\;#".indexOf(o)!==-1?t+=o:t+="\\"+o,e=!1;else{if(";#".indexOf(o)!==-1)break;o==="\\"?e=!0:t+=o}}return e&&(t+="\\"),t.trim()}return n};lf.exports={parse:sf,decode:sf,stringify:Ta,encode:Ta,safe:Kt,unsafe:Xi}});var Hn=I(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.stringArray=He.array=He.func=He.error=He.number=He.string=He.boolean=void 0;function Xv(n){return n===!0||n===!1}He.boolean=Xv;function _f(n){return typeof n=="string"||n instanceof String}He.string=_f;function Zv(n){return typeof n=="number"||n instanceof Number}He.number=Zv;function Jv(n){return n instanceof Error}He.error=Jv;function Qv(n){return typeof n=="function"}He.func=Qv;function bf(n){return Array.isArray(n)}He.array=bf;function Yv(n){return bf(n)&&n.every(e=>_f(e))}He.stringArray=Yv});var tc=I(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.Message=Z.NotificationType9=Z.NotificationType8=Z.NotificationType7=Z.NotificationType6=Z.NotificationType5=Z.NotificationType4=Z.NotificationType3=Z.NotificationType2=Z.NotificationType1=Z.NotificationType0=Z.NotificationType=Z.RequestType9=Z.RequestType8=Z.RequestType7=Z.RequestType6=Z.RequestType5=Z.RequestType4=Z.RequestType3=Z.RequestType2=Z.RequestType1=Z.RequestType=Z.RequestType0=Z.AbstractMessageSignature=Z.ParameterStructures=Z.ResponseError=Z.ErrorCodes=void 0;var En=Hn(),Ia;(function(n){n.ParseError=-32700,n.InvalidRequest=-32600,n.MethodNotFound=-32601,n.InvalidParams=-32602,n.InternalError=-32603,n.jsonrpcReservedErrorRangeStart=-32099,n.serverErrorStart=-32099,n.MessageWriteError=-32099,n.MessageReadError=-32098,n.PendingResponseRejected=-32097,n.ConnectionInactive=-32096,n.ServerNotInitialized=-32002,n.UnknownErrorCode=-32001,n.jsonrpcReservedErrorRangeEnd=-32e3,n.serverErrorEnd=-32e3})(Ia||(Z.ErrorCodes=Ia={}));var Aa=class n extends Error{constructor(e,t,r){super(t),this.code=En.number(e)?e:Ia.UnknownErrorCode,this.data=r,Object.setPrototypeOf(this,n.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};Z.ResponseError=Aa;var ot=class n{constructor(e){this.kind=e}static is(e){return e===n.auto||e===n.byName||e===n.byPosition}toString(){return this.kind}};Z.ParameterStructures=ot;ot.auto=new ot("auto");ot.byPosition=new ot("byPosition");ot.byName=new ot("byName");var Le=class{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return ot.auto}};Z.AbstractMessageSignature=Le;var Ca=class extends Le{constructor(e){super(e,0)}};Z.RequestType0=Ca;var $a=class extends Le{constructor(e,t=ot.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};Z.RequestType=$a;var Oa=class extends Le{constructor(e,t=ot.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};Z.RequestType1=Oa;var Ma=class extends Le{constructor(e){super(e,2)}};Z.RequestType2=Ma;var qa=class extends Le{constructor(e){super(e,3)}};Z.RequestType3=qa;var Na=class extends Le{constructor(e){super(e,4)}};Z.RequestType4=Na;var Fa=class extends Le{constructor(e){super(e,5)}};Z.RequestType5=Fa;var ja=class extends Le{constructor(e){super(e,6)}};Z.RequestType6=ja;var Ba=class extends Le{constructor(e){super(e,7)}};Z.RequestType7=Ba;var Ua=class extends Le{constructor(e){super(e,8)}};Z.RequestType8=Ua;var Va=class extends Le{constructor(e){super(e,9)}};Z.RequestType9=Va;var Wa=class extends Le{constructor(e,t=ot.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};Z.NotificationType=Wa;var za=class extends Le{constructor(e){super(e,0)}};Z.NotificationType0=za;var Ha=class extends Le{constructor(e,t=ot.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};Z.NotificationType1=Ha;var Ka=class extends Le{constructor(e){super(e,2)}};Z.NotificationType2=Ka;var Ga=class extends Le{constructor(e){super(e,3)}};Z.NotificationType3=Ga;var Xa=class extends Le{constructor(e){super(e,4)}};Z.NotificationType4=Xa;var Za=class extends Le{constructor(e){super(e,5)}};Z.NotificationType5=Za;var Ja=class extends Le{constructor(e){super(e,6)}};Z.NotificationType6=Ja;var Qa=class extends Le{constructor(e){super(e,7)}};Z.NotificationType7=Qa;var Ya=class extends Le{constructor(e){super(e,8)}};Z.NotificationType8=Ya;var ec=class extends Le{constructor(e){super(e,9)}};Z.NotificationType9=ec;var yf;(function(n){function e(i){let o=i;return o&&En.string(o.method)&&(En.string(o.id)||En.number(o.id))}n.isRequest=e;function t(i){let o=i;return o&&En.string(o.method)&&i.id===void 0}n.isNotification=t;function r(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(En.string(o.id)||En.number(o.id)||o.id===null)}n.isResponse=r})(yf||(Z.Message=yf={}))});var rc=I(an=>{"use strict";var vf;Object.defineProperty(an,"__esModule",{value:!0});an.LRUCache=an.LinkedMap=an.Touch=void 0;var Ke;(function(n){n.None=0,n.First=1,n.AsOld=n.First,n.Last=2,n.AsNew=n.Last})(Ke||(an.Touch=Ke={}));var Ji=class{constructor(){this[vf]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=Ke.None){let r=this._map.get(e);if(r)return t!==Ke.None&&this.touch(r,t),r.value}set(e,t,r=Ke.None){let i=this._map.get(e);if(i)i.value=t,r!==Ke.None&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case Ke.None:this.addItemLast(i);break;case Ke.First:this.addItemFirst(i);break;case Ke.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let i={value:t.key,done:!1};return t=t.next,i}else return{value:void 0,done:!0}}};return r}values(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let i={value:t.value,done:!1};return t=t.next,i}else return{value:void 0,done:!0}}};return r}entries(){let e=this._state,t=this._head,r={[Symbol.iterator]:()=>r,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let i={value:[t.key,t.value],done:!1};return t=t.next,i}else return{value:void 0,done:!0}}};return r}[(vf=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw new Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==Ke.First&&t!==Ke.Last)){if(t===Ke.First){if(e===this._head)return;let r=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===Ke.Last){if(e===this._tail)return;let r=e.next,i=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){this.clear();for(let[t,r]of e)this.set(t,r)}};an.LinkedMap=Ji;var nc=class extends Ji{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=Ke.AsNew){return super.get(e,t)}peek(e){return super.get(e,Ke.None)}set(e,t){return super.set(e,t,Ke.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};an.LRUCache=nc});var Pf=I(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.Disposable=void 0;var wf;(function(n){function e(t){return{dispose:t}}n.create=e})(wf||(Qi.Disposable=wf={}))});var cn=I(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});var ic;function oc(){if(ic===void 0)throw new Error("No runtime abstraction layer installed");return ic}(function(n){function e(t){if(t===void 0)throw new Error("No runtime abstraction layer provided");ic=t}n.install=e})(oc||(oc={}));sc.default=oc});var Gn=I(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.Emitter=Kn.Event=void 0;var ew=cn(),Rf;(function(n){let e={dispose(){}};n.None=function(){return e}})(Rf||(Kn.Event=Rf={}));var ac=class{add(e,t=null,r){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(r)&&r.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let r=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===t){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else r=!0;if(r)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let t=[],r=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=r.length;o<s;o++)try{t.push(r[o].apply(i[o],e))}catch(a){(0,ew.default)().console.error(a)}return t}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Yi=class n{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,r)=>{this._callbacks||(this._callbacks=new ac),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),i.dispose=n._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(r)&&r.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};Kn.Emitter=Yi;Yi._noop=function(){}});var no=I(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.CancellationTokenSource=Xn.CancellationToken=void 0;var tw=cn(),nw=Hn(),cc=Gn(),eo;(function(n){n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:cc.Event.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:cc.Event.None});function e(t){let r=t;return r&&(r===n.None||r===n.Cancelled||nw.boolean(r.isCancellationRequested)&&!!r.onCancellationRequested)}n.is=e})(eo||(Xn.CancellationToken=eo={}));var rw=Object.freeze(function(n,e){let t=(0,tw.default)().timer.setTimeout(n.bind(e),0);return{dispose(){t.dispose()}}}),to=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?rw:(this._emitter||(this._emitter=new cc.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},lc=class{get token(){return this._token||(this._token=new to),this._token}cancel(){this._token?this._token.cancel():this._token=eo.Cancelled}dispose(){this._token?this._token instanceof to&&this._token.dispose():this._token=eo.None}};Xn.CancellationTokenSource=lc});var Ef=I(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.SharedArrayReceiverStrategy=Zn.SharedArraySenderStrategy=void 0;var iw=no(),Ar;(function(n){n.Continue=0,n.Cancelled=1})(Ar||(Ar={}));var uc=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let t=new SharedArrayBuffer(4),r=new Int32Array(t,0,1);r[0]=Ar.Continue,this.buffers.set(e.id,t),e.$cancellationData=t}async sendCancellation(e,t){let r=this.buffers.get(t);if(r===void 0)return;let i=new Int32Array(r,0,1);Atomics.store(i,0,Ar.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Zn.SharedArraySenderStrategy=uc;var dc=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Ar.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},fc=class{constructor(e){this.token=new dc(e)}cancel(){}dispose(){}},pc=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let t=e.$cancellationData;return t===void 0?new iw.CancellationTokenSource:new fc(t)}};Zn.SharedArrayReceiverStrategy=pc});var mc=I(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.Semaphore=void 0;var ow=cn(),hc=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((t,r)=>{this._waiting.push({thunk:e,resolve:t,reject:r}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,ow.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let t=e.thunk();t instanceof Promise?t.then(r=>{this._active--,e.resolve(r),this.runNext()},r=>{this._active--,e.reject(r),this.runNext()}):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}};ro.Semaphore=hc});var xf=I(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.ReadableStreamMessageReader=ln.AbstractMessageReader=ln.MessageReader=void 0;var _c=cn(),Jn=Hn(),gc=Gn(),sw=mc(),Sf;(function(n){function e(t){let r=t;return r&&Jn.func(r.listen)&&Jn.func(r.dispose)&&Jn.func(r.onError)&&Jn.func(r.onClose)&&Jn.func(r.onPartialMessage)}n.is=e})(Sf||(ln.MessageReader=Sf={}));var io=class{constructor(){this.errorEmitter=new gc.Emitter,this.closeEmitter=new gc.Emitter,this.partialMessageEmitter=new gc.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${Jn.string(e.message)?e.message:"unknown"}`)}};ln.AbstractMessageReader=io;var bc;(function(n){function e(t){let r,i,o,s=new Map,a,d=new Map;if(t===void 0||typeof t=="string")r=t??"utf-8";else{if(r=t.charset??"utf-8",t.contentDecoder!==void 0&&(o=t.contentDecoder,s.set(o.name,o)),t.contentDecoders!==void 0)for(let l of t.contentDecoders)s.set(l.name,l);if(t.contentTypeDecoder!==void 0&&(a=t.contentTypeDecoder,d.set(a.name,a)),t.contentTypeDecoders!==void 0)for(let l of t.contentTypeDecoders)d.set(l.name,l)}return a===void 0&&(a=(0,_c.default)().applicationJson.decoder,d.set(a.name,a)),{charset:r,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:d}}n.fromOptions=e})(bc||(bc={}));var yc=class extends io{constructor(e,t){super(),this.readable=e,this.options=bc.fromOptions(t),this.buffer=(0,_c.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new sw.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let t=this.readable.onData(r=>{this.onData(r)});return this.readable.onError(r=>this.fireError(r)),this.readable.onClose(()=>this.fireClose()),t}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let r=this.buffer.tryReadHeaders(!0);if(!r)return;let i=r.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
20
+ ${JSON.stringify(Object.fromEntries(r))}`));return}let o=parseInt(i);if(isNaN(o)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=o}let t=this.buffer.tryReadBody(this.nextMessageLength);if(t===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let r=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(t):t,i=await this.options.contentTypeDecoder.decode(r,this.options);this.callback(i)}).catch(r=>{this.fireError(r)})}}catch(t){this.fireError(t)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,_c.default)().timer.setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};ln.ReadableStreamMessageReader=yc});var If=I(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.WriteableStreamMessageWriter=un.AbstractMessageWriter=un.MessageWriter=void 0;var Lf=cn(),Cr=Hn(),aw=mc(),Df=Gn(),cw="Content-Length: ",kf=`\r
21
+ `,Tf;(function(n){function e(t){let r=t;return r&&Cr.func(r.dispose)&&Cr.func(r.onClose)&&Cr.func(r.onError)&&Cr.func(r.write)}n.is=e})(Tf||(un.MessageWriter=Tf={}));var oo=class{constructor(){this.errorEmitter=new Df.Emitter,this.closeEmitter=new Df.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,r){this.errorEmitter.fire([this.asError(e),t,r])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Cr.string(e.message)?e.message:"unknown"}`)}};un.AbstractMessageWriter=oo;var vc;(function(n){function e(t){return t===void 0||typeof t=="string"?{charset:t??"utf-8",contentTypeEncoder:(0,Lf.default)().applicationJson.encoder}:{charset:t.charset??"utf-8",contentEncoder:t.contentEncoder,contentTypeEncoder:t.contentTypeEncoder??(0,Lf.default)().applicationJson.encoder}}n.fromOptions=e})(vc||(vc={}));var wc=class extends oo{constructor(e,t){super(),this.writable=e,this.options=vc.fromOptions(t),this.errorCount=0,this.writeSemaphore=new aw.Semaphore(1),this.writable.onError(r=>this.fireError(r)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(r=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(r):r).then(r=>{let i=[];return i.push(cw,r.byteLength.toString(),kf),i.push(kf),this.doWrite(e,i,r)},r=>{throw this.fireError(r),r}))}async doWrite(e,t,r){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(r)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}};un.WriteableStreamMessageWriter=wc});var Af=I(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.AbstractMessageBuffer=void 0;var lw=13,uw=10,dw=`\r
22
+ `,Pc=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let t=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let t=0,r=0,i=0,o=0;e:for(;r<this._chunks.length;){let l=this._chunks[r];for(i=0;i<l.length;){switch(l[i]){case lw:switch(t){case 0:t=1;break;case 2:t=3;break;default:t=0}break;case uw:switch(t){case 1:t=2;break;case 3:t=4,i++;break e;default:t=0}break;default:t=0}i++}o+=l.byteLength,r++}if(t!==4)return;let s=this._read(o+i),a=new Map,d=this.toString(s,"ascii").split(dw);if(d.length<2)return a;for(let l=0;l<d.length-2;l++){let h=d[l],v=h.indexOf(":");if(v===-1)throw new Error(`Message header must separate key and value using ':'
23
+ ${h}`);let w=h.substr(0,v),_=h.substr(v+1).trim();a.set(e?w.toLowerCase():w,_)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let t=this.allocNative(e),r=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);t.set(s,r),r+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else t.set(o,r),r+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return t}};so.AbstractMessageBuffer=Pc});var qf=I(se=>{"use strict";Object.defineProperty(se,"__esModule",{value:!0});se.createMessageConnection=se.ConnectionOptions=se.MessageStrategy=se.CancellationStrategy=se.CancellationSenderStrategy=se.CancellationReceiverStrategy=se.RequestCancellationReceiverStrategy=se.IdCancellationReceiverStrategy=se.ConnectionStrategy=se.ConnectionError=se.ConnectionErrors=se.LogTraceNotification=se.SetTraceNotification=se.TraceFormat=se.TraceValues=se.Trace=se.NullLogger=se.ProgressType=se.ProgressToken=void 0;var Cf=cn(),Ie=Hn(),Y=tc(),$f=rc(),$r=Gn(),Rc=no(),qr;(function(n){n.type=new Y.NotificationType("$/cancelRequest")})(qr||(qr={}));var Ec;(function(n){function e(t){return typeof t=="string"||typeof t=="number"}n.is=e})(Ec||(se.ProgressToken=Ec={}));var Or;(function(n){n.type=new Y.NotificationType("$/progress")})(Or||(Or={}));var Sc=class{constructor(){}};se.ProgressType=Sc;var xc;(function(n){function e(t){return Ie.func(t)}n.is=e})(xc||(xc={}));se.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var me;(function(n){n[n.Off=0]="Off",n[n.Messages=1]="Messages",n[n.Compact=2]="Compact",n[n.Verbose=3]="Verbose"})(me||(se.Trace=me={}));var Of;(function(n){n.Off="off",n.Messages="messages",n.Compact="compact",n.Verbose="verbose"})(Of||(se.TraceValues=Of={}));(function(n){function e(r){if(!Ie.string(r))return n.Off;switch(r=r.toLowerCase(),r){case"off":return n.Off;case"messages":return n.Messages;case"compact":return n.Compact;case"verbose":return n.Verbose;default:return n.Off}}n.fromString=e;function t(r){switch(r){case n.Off:return"off";case n.Messages:return"messages";case n.Compact:return"compact";case n.Verbose:return"verbose";default:return"off"}}n.toString=t})(me||(se.Trace=me={}));var mt;(function(n){n.Text="text",n.JSON="json"})(mt||(se.TraceFormat=mt={}));(function(n){function e(t){return Ie.string(t)?(t=t.toLowerCase(),t==="json"?n.JSON:n.Text):n.Text}n.fromString=e})(mt||(se.TraceFormat=mt={}));var Lc;(function(n){n.type=new Y.NotificationType("$/setTrace")})(Lc||(se.SetTraceNotification=Lc={}));var ao;(function(n){n.type=new Y.NotificationType("$/logTrace")})(ao||(se.LogTraceNotification=ao={}));var Mr;(function(n){n[n.Closed=1]="Closed",n[n.Disposed=2]="Disposed",n[n.AlreadyListening=3]="AlreadyListening"})(Mr||(se.ConnectionErrors=Mr={}));var Qn=class n extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,n.prototype)}};se.ConnectionError=Qn;var Dc;(function(n){function e(t){let r=t;return r&&Ie.func(r.cancelUndispatched)}n.is=e})(Dc||(se.ConnectionStrategy=Dc={}));var co;(function(n){function e(t){let r=t;return r&&(r.kind===void 0||r.kind==="id")&&Ie.func(r.createCancellationTokenSource)&&(r.dispose===void 0||Ie.func(r.dispose))}n.is=e})(co||(se.IdCancellationReceiverStrategy=co={}));var kc;(function(n){function e(t){let r=t;return r&&r.kind==="request"&&Ie.func(r.createCancellationTokenSource)&&(r.dispose===void 0||Ie.func(r.dispose))}n.is=e})(kc||(se.RequestCancellationReceiverStrategy=kc={}));var lo;(function(n){n.Message=Object.freeze({createCancellationTokenSource(t){return new Rc.CancellationTokenSource}});function e(t){return co.is(t)||kc.is(t)}n.is=e})(lo||(se.CancellationReceiverStrategy=lo={}));var uo;(function(n){n.Message=Object.freeze({sendCancellation(t,r){return t.sendNotification(qr.type,{id:r})},cleanup(t){}});function e(t){let r=t;return r&&Ie.func(r.sendCancellation)&&Ie.func(r.cleanup)}n.is=e})(uo||(se.CancellationSenderStrategy=uo={}));var fo;(function(n){n.Message=Object.freeze({receiver:lo.Message,sender:uo.Message});function e(t){let r=t;return r&&lo.is(r.receiver)&&uo.is(r.sender)}n.is=e})(fo||(se.CancellationStrategy=fo={}));var po;(function(n){function e(t){let r=t;return r&&Ie.func(r.handleMessage)}n.is=e})(po||(se.MessageStrategy=po={}));var Mf;(function(n){function e(t){let r=t;return r&&(fo.is(r.cancellationStrategy)||Dc.is(r.connectionStrategy)||po.is(r.messageStrategy))}n.is=e})(Mf||(se.ConnectionOptions=Mf={}));var kt;(function(n){n[n.New=1]="New",n[n.Listening=2]="Listening",n[n.Closed=3]="Closed",n[n.Disposed=4]="Disposed"})(kt||(kt={}));function fw(n,e,t,r){let i=t!==void 0?t:se.NullLogger,o=0,s=0,a=0,d="2.0",l,h=new Map,v,w=new Map,_=new Map,L,k=new $f.LinkedMap,X=new Map,fe=new Set,B=new Map,ee=me.Off,ae=mt.Text,Q,te=kt.New,_e=new $r.Emitter,Ae=new $r.Emitter,qe=new $r.Emitter,Qe=new $r.Emitter,O=new $r.Emitter,E=r&&r.cancellationStrategy?r.cancellationStrategy:fo.Message;function F(m){if(m===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+m.toString()}function j(m){return m===null?"res-unknown-"+(++a).toString():"res-"+m.toString()}function x(){return"not-"+(++s).toString()}function A(m,D){Y.Message.isRequest(D)?m.set(F(D.id),D):Y.Message.isResponse(D)?m.set(j(D.id),D):m.set(x(),D)}function C(m){}function N(){return te===kt.Listening}function z(){return te===kt.Closed}function q(){return te===kt.Disposed}function ne(){(te===kt.New||te===kt.Listening)&&(te=kt.Closed,Ae.fire(void 0))}function re(m){_e.fire([m,void 0,void 0])}function Me(m){_e.fire(m)}n.onClose(ne),n.onError(re),e.onClose(ne),e.onError(Me);function he(){L||k.size===0||(L=(0,Cf.default)().timer.setImmediate(()=>{L=void 0,It()}))}function Ye(m){Y.Message.isRequest(m)?Wr(m):Y.Message.isNotification(m)?Hr(m):Y.Message.isResponse(m)?zr(m):Tn(m)}function It(){if(k.size===0)return;let m=k.shift();try{let D=r?.messageStrategy;po.is(D)?D.handleMessage(m,Ye):Ye(m)}finally{he()}}let Vr=m=>{try{if(Y.Message.isNotification(m)&&m.method===qr.type.method){let D=m.params.id,M=F(D),H=k.get(M);if(Y.Message.isRequest(H)){let ge=r?.connectionStrategy,Ee=ge&&ge.cancelUndispatched?ge.cancelUndispatched(H,C):void 0;if(Ee&&(Ee.error!==void 0||Ee.result!==void 0)){k.delete(M),B.delete(D),Ee.id=H.id,gn(Ee,m.method,Date.now()),e.write(Ee).catch(()=>i.error("Sending response for canceled message failed."));return}}let be=B.get(D);if(be!==void 0){be.cancel(),In(m);return}else fe.add(D)}A(k,m)}finally{he()}};function Wr(m){if(q())return;function D(le,ve,pe){let Ce={jsonrpc:d,id:m.id};le instanceof Y.ResponseError?Ce.error=le.toJson():Ce.result=le===void 0?null:le,gn(Ce,ve,pe),e.write(Ce).catch(()=>i.error("Sending response failed."))}function M(le,ve,pe){let Ce={jsonrpc:d,id:m.id,error:le.toJson()};gn(Ce,ve,pe),e.write(Ce).catch(()=>i.error("Sending response failed."))}function H(le,ve,pe){le===void 0&&(le=null);let Ce={jsonrpc:d,id:m.id,result:le};gn(Ce,ve,pe),e.write(Ce).catch(()=>i.error("Sending response failed."))}Xr(m);let be=h.get(m.method),ge,Ee;be&&(ge=be.type,Ee=be.handler);let De=Date.now();if(Ee||l){let le=m.id??String(Date.now()),ve=co.is(E.receiver)?E.receiver.createCancellationTokenSource(le):E.receiver.createCancellationTokenSource(m);m.id!==null&&fe.has(m.id)&&ve.cancel(),m.id!==null&&B.set(le,ve);try{let pe;if(Ee)if(m.params===void 0){if(ge!==void 0&&ge.numberOfParams!==0){M(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${m.method} defines ${ge.numberOfParams} params but received none.`),m.method,De);return}pe=Ee(ve.token)}else if(Array.isArray(m.params)){if(ge!==void 0&&ge.parameterStructures===Y.ParameterStructures.byName){M(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${m.method} defines parameters by name but received parameters by position`),m.method,De);return}pe=Ee(...m.params,ve.token)}else{if(ge!==void 0&&ge.parameterStructures===Y.ParameterStructures.byPosition){M(new Y.ResponseError(Y.ErrorCodes.InvalidParams,`Request ${m.method} defines parameters by position but received parameters by name`),m.method,De);return}pe=Ee(m.params,ve.token)}else l&&(pe=l(m.method,m.params,ve.token));let Ce=pe;pe?Ce.then?Ce.then(Fe=>{B.delete(le),D(Fe,m.method,De)},Fe=>{B.delete(le),Fe instanceof Y.ResponseError?M(Fe,m.method,De):Fe&&Ie.string(Fe.message)?M(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${m.method} failed with message: ${Fe.message}`),m.method,De):M(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${m.method} failed unexpectedly without providing any details.`),m.method,De)}):(B.delete(le),D(pe,m.method,De)):(B.delete(le),H(pe,m.method,De))}catch(pe){B.delete(le),pe instanceof Y.ResponseError?D(pe,m.method,De):pe&&Ie.string(pe.message)?M(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${m.method} failed with message: ${pe.message}`),m.method,De):M(new Y.ResponseError(Y.ErrorCodes.InternalError,`Request ${m.method} failed unexpectedly without providing any details.`),m.method,De)}}else M(new Y.ResponseError(Y.ErrorCodes.MethodNotFound,`Unhandled method ${m.method}`),m.method,De)}function zr(m){if(!q())if(m.id===null)m.error?i.error(`Received response message without id: Error is:
24
+ ${JSON.stringify(m.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let D=m.id,M=X.get(D);if(Zr(m,M),M!==void 0){X.delete(D);try{if(m.error){let H=m.error;M.reject(new Y.ResponseError(H.code,H.message,H.data))}else if(m.result!==void 0)M.resolve(m.result);else throw new Error("Should never happen.")}catch(H){H.message?i.error(`Response handler '${M.method}' failed with message: ${H.message}`):i.error(`Response handler '${M.method}' failed unexpectedly.`)}}}}function Hr(m){if(q())return;let D,M;if(m.method===qr.type.method){let H=m.params.id;fe.delete(H),In(m);return}else{let H=w.get(m.method);H&&(M=H.handler,D=H.type)}if(M||v)try{if(In(m),M)if(m.params===void 0)D!==void 0&&D.numberOfParams!==0&&D.parameterStructures!==Y.ParameterStructures.byName&&i.error(`Notification ${m.method} defines ${D.numberOfParams} params but received none.`),M();else if(Array.isArray(m.params)){let H=m.params;m.method===Or.type.method&&H.length===2&&Ec.is(H[0])?M({token:H[0],value:H[1]}):(D!==void 0&&(D.parameterStructures===Y.ParameterStructures.byName&&i.error(`Notification ${m.method} defines parameters by name but received parameters by position`),D.numberOfParams!==m.params.length&&i.error(`Notification ${m.method} defines ${D.numberOfParams} params but received ${H.length} arguments`)),M(...H))}else D!==void 0&&D.parameterStructures===Y.ParameterStructures.byPosition&&i.error(`Notification ${m.method} defines parameters by position but received parameters by name`),M(m.params);else v&&v(m.method,m.params)}catch(H){H.message?i.error(`Notification handler '${m.method}' failed with message: ${H.message}`):i.error(`Notification handler '${m.method}' failed unexpectedly.`)}else qe.fire(m)}function Tn(m){if(!m){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
25
+ ${JSON.stringify(m,null,4)}`);let D=m;if(Ie.string(D.id)||Ie.number(D.id)){let M=D.id,H=X.get(M);H&&H.reject(new Error("The received response has neither a result nor an error property."))}}function St(m){if(m!=null)switch(ee){case me.Verbose:return JSON.stringify(m,null,4);case me.Compact:return JSON.stringify(m);default:return}}function Kr(m){if(!(ee===me.Off||!Q))if(ae===mt.Text){let D;(ee===me.Verbose||ee===me.Compact)&&m.params&&(D=`Params: ${St(m.params)}
26
26
 
27
- `),Z.log(`Sending request '${m.method} - (${m.id})'.`,D)}else jt("send-request",m)}function Gr(m){if(!(ee===me.Off||!Z))if(ae===mt.Text){let D;(ee===me.Verbose||ee===me.Compact)&&(m.params?D=`Params: ${St(m.params)}
27
+ `),Q.log(`Sending request '${m.method} - (${m.id})'.`,D)}else jt("send-request",m)}function Gr(m){if(!(ee===me.Off||!Q))if(ae===mt.Text){let D;(ee===me.Verbose||ee===me.Compact)&&(m.params?D=`Params: ${St(m.params)}
28
28
 
29
29
  `:D=`No parameters provided.
30
30
 
31
- `),Z.log(`Sending notification '${m.method}'.`,D)}else jt("send-notification",m)}function gn(m,D,M){if(!(ee===me.Off||!Z))if(ae===mt.Text){let H;(ee===me.Verbose||ee===me.Compact)&&(m.error&&m.error.data?H=`Error data: ${St(m.error.data)}
31
+ `),Q.log(`Sending notification '${m.method}'.`,D)}else jt("send-notification",m)}function gn(m,D,M){if(!(ee===me.Off||!Q))if(ae===mt.Text){let H;(ee===me.Verbose||ee===me.Compact)&&(m.error&&m.error.data?H=`Error data: ${St(m.error.data)}
32
32
 
33
33
  `:m.result?H=`Result: ${St(m.result)}
34
34
 
35
35
  `:m.error===void 0&&(H=`No result returned.
36
36
 
37
- `)),Z.log(`Sending response '${D} - (${m.id})'. Processing request took ${Date.now()-M}ms`,H)}else jt("send-response",m)}function Xr(m){if(!(ee===me.Off||!Z))if(ae===mt.Text){let D;(ee===me.Verbose||ee===me.Compact)&&m.params&&(D=`Params: ${St(m.params)}
37
+ `)),Q.log(`Sending response '${D} - (${m.id})'. Processing request took ${Date.now()-M}ms`,H)}else jt("send-response",m)}function Xr(m){if(!(ee===me.Off||!Q))if(ae===mt.Text){let D;(ee===me.Verbose||ee===me.Compact)&&m.params&&(D=`Params: ${St(m.params)}
38
38
 
39
- `),Z.log(`Received request '${m.method} - (${m.id})'.`,D)}else jt("receive-request",m)}function In(m){if(!(ee===me.Off||!Z||m.method===ao.type.method))if(ae===mt.Text){let D;(ee===me.Verbose||ee===me.Compact)&&(m.params?D=`Params: ${St(m.params)}
39
+ `),Q.log(`Received request '${m.method} - (${m.id})'.`,D)}else jt("receive-request",m)}function In(m){if(!(ee===me.Off||!Q||m.method===ao.type.method))if(ae===mt.Text){let D;(ee===me.Verbose||ee===me.Compact)&&(m.params?D=`Params: ${St(m.params)}
40
40
 
41
41
  `:D=`No parameters provided.
42
42
 
43
- `),Z.log(`Received notification '${m.method}'.`,D)}else jt("receive-notification",m)}function Jr(m,D){if(!(ee===me.Off||!Z))if(ae===mt.Text){let M;if((ee===me.Verbose||ee===me.Compact)&&(m.error&&m.error.data?M=`Error data: ${St(m.error.data)}
43
+ `),Q.log(`Received notification '${m.method}'.`,D)}else jt("receive-notification",m)}function Zr(m,D){if(!(ee===me.Off||!Q))if(ae===mt.Text){let M;if((ee===me.Verbose||ee===me.Compact)&&(m.error&&m.error.data?M=`Error data: ${St(m.error.data)}
44
44
 
45
45
  `:m.result?M=`Result: ${St(m.result)}
46
46
 
47
47
  `:m.error===void 0&&(M=`No result returned.
48
48
 
49
- `)),D){let H=m.error?` Request failed: ${m.error.message} (${m.error.code}).`:"";Z.log(`Received response '${D.method} - (${m.id})' in ${Date.now()-D.timerStart}ms.${H}`,M)}else Z.log(`Received response ${m.id} without active response promise.`,M)}else jt("receive-response",m)}function jt(m,D){if(!Z||ee===me.Off)return;let M={isLSPMessage:!0,type:m,message:D,timestamp:Date.now()};Z.log(M)}function Jt(){if(z())throw new Zn(Mr.Closed,"Connection is closed.");if(q())throw new Zn(Mr.Disposed,"Connection is disposed.")}function Qr(){if(N())throw new Zn(Mr.AlreadyListening,"Connection is already listening")}function Zr(){if(!N())throw new Error("Call listen() first.")}function Ct(m){return m===void 0?null:m}function dr(m){if(m!==null)return m}function fr(m){return m!=null&&!Array.isArray(m)&&typeof m=="object"}function Cn(m,D){switch(m){case Y.ParameterStructures.auto:return fr(D)?dr(D):[Ct(D)];case Y.ParameterStructures.byName:if(!fr(D))throw new Error("Received parameters by name but param is not an object literal.");return dr(D);case Y.ParameterStructures.byPosition:return[Ct(D)];default:throw new Error(`Unknown parameter structure ${m.toString()}`)}}function pr(m,D){let M,H=m.numberOfParams;switch(H){case 0:M=void 0;break;case 1:M=Cn(m.parameterStructures,D[0]);break;default:M=[];for(let be=0;be<D.length&&be<H;be++)M.push(Ct(D[be]));if(D.length<H)for(let be=D.length;be<H;be++)M.push(null);break}return M}let Bt={sendNotification:(m,...D)=>{Jt();let M,H;if(Ie.string(m)){M=m;let ge=D[0],Ee=0,De=Y.ParameterStructures.auto;Y.ParameterStructures.is(ge)&&(Ee=1,De=ge);let le=D.length,ve=le-Ee;switch(ve){case 0:H=void 0;break;case 1:H=Cn(De,D[Ee]);break;default:if(De===Y.ParameterStructures.byName)throw new Error(`Received ${ve} parameters for 'by Name' notification parameter structure.`);H=D.slice(Ee,le).map(pe=>Ct(pe));break}}else{let ge=D;M=m.method,H=pr(m,ge)}let be={jsonrpc:d,method:M,params:H};return Gr(be),e.write(be).catch(ge=>{throw i.error("Sending notification failed."),ge})},onNotification:(m,D)=>{Jt();let M;return Ie.func(m)?v=m:D&&(Ie.string(m)?(M=m,w.set(m,{type:void 0,handler:D})):(M=m.method,w.set(m.method,{type:m,handler:D}))),{dispose:()=>{M!==void 0?w.delete(M):v=void 0}}},onProgress:(m,D,M)=>{if(_.has(D))throw new Error(`Progress handler for token ${D} already registered`);return _.set(D,M),{dispose:()=>{_.delete(D)}}},sendProgress:(m,D,M)=>Bt.sendNotification(Or.type,{token:D,value:M}),onUnhandledProgress:Ze.event,sendRequest:(m,...D)=>{Jt(),Zr();let M,H,be;if(Ie.string(m)){M=m;let le=D[0],ve=D[D.length-1],pe=0,Ae=Y.ParameterStructures.auto;Y.ParameterStructures.is(le)&&(pe=1,Ae=le);let Fe=D.length;Ec.CancellationToken.is(ve)&&(Fe=Fe-1,be=ve);let lt=Fe-pe;switch(lt){case 0:H=void 0;break;case 1:H=Cn(Ae,D[pe]);break;default:if(Ae===Y.ParameterStructures.byName)throw new Error(`Received ${lt} parameters for 'by Name' request parameter structure.`);H=D.slice(pe,Fe).map(Yr=>Ct(Yr));break}}else{let le=D;M=m.method,H=pr(m,le);let ve=m.numberOfParams;be=Ec.CancellationToken.is(le[ve])?le[ve]:void 0}let ge=o++,Ee;be&&(Ee=be.onCancellationRequested(()=>{let le=E.sender.sendCancellation(Bt,ge);return le===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${ge}`),Promise.resolve()):le.catch(()=>{i.log(`Sending cancellation messages for id ${ge} failed`)})}));let De={jsonrpc:d,id:ge,method:M,params:H};return Kr(De),typeof E.sender.enableCancellation=="function"&&E.sender.enableCancellation(De),new Promise(async(le,ve)=>{let pe=lt=>{le(lt),E.sender.cleanup(ge),Ee?.dispose()},Ae=lt=>{ve(lt),E.sender.cleanup(ge),Ee?.dispose()},Fe={method:M,timerStart:Date.now(),resolve:pe,reject:Ae};try{await e.write(De),X.set(ge,Fe)}catch(lt){throw i.error("Sending request failed."),Fe.reject(new Y.ResponseError(Y.ErrorCodes.MessageWriteError,lt.message?lt.message:"Unknown reason")),lt}})},onRequest:(m,D)=>{Jt();let M=null;return Lc.is(m)?(M=void 0,l=m):Ie.string(m)?(M=null,D!==void 0&&(M=m,h.set(m,{handler:D,type:void 0}))):D!==void 0&&(M=m.method,h.set(m.method,{type:m,handler:D})),{dispose:()=>{M!==null&&(M!==void 0?h.delete(M):l=void 0)}}},hasPendingResponse:()=>X.size>0,trace:async(m,D,M)=>{let H=!1,be=mt.Text;M!==void 0&&(Ie.boolean(M)?H=M:(H=M.sendNotification||!1,be=M.traceFormat||mt.Text)),ee=m,ae=be,ee===me.Off?Z=void 0:Z=D,H&&!z()&&!q()&&await Bt.sendNotification(Dc.type,{value:me.toString(m)})},onError:_e.event,onClose:Ce.event,onUnhandledNotification:qe.event,onDispose:O.event,end:()=>{e.end()},dispose:()=>{if(q())return;te=kt.Disposed,O.fire(void 0);let m=new Y.ResponseError(Y.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let D of X.values())D.reject(m);X=new Map,B=new Map,fe=new Set,k=new Of.LinkedMap,Ie.func(e.dispose)&&e.dispose(),Ie.func(n.dispose)&&n.dispose()},listen:()=>{Jt(),Qr(),te=kt.Listening,n.listen(Vr)},inspect:()=>{(0,$f.default)().console.log("inspect")}};return Bt.onNotification(ao.type,m=>{if(ee===me.Off||!Z)return;let D=ee===me.Verbose||ee===me.Compact;Z.log(m.message,D?m.verbose:void 0)}),Bt.onNotification(Or.type,m=>{let D=_.get(m.token);D?D(m.value):Ze.fire(m)}),Bt}se.createMessageConnection=fw});var ho=I(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.ProgressType=S.ProgressToken=S.createMessageConnection=S.NullLogger=S.ConnectionOptions=S.ConnectionStrategy=S.AbstractMessageBuffer=S.WriteableStreamMessageWriter=S.AbstractMessageWriter=S.MessageWriter=S.ReadableStreamMessageReader=S.AbstractMessageReader=S.MessageReader=S.SharedArrayReceiverStrategy=S.SharedArraySenderStrategy=S.CancellationToken=S.CancellationTokenSource=S.Emitter=S.Event=S.Disposable=S.LRUCache=S.Touch=S.LinkedMap=S.ParameterStructures=S.NotificationType9=S.NotificationType8=S.NotificationType7=S.NotificationType6=S.NotificationType5=S.NotificationType4=S.NotificationType3=S.NotificationType2=S.NotificationType1=S.NotificationType0=S.NotificationType=S.ErrorCodes=S.ResponseError=S.RequestType9=S.RequestType8=S.RequestType7=S.RequestType6=S.RequestType5=S.RequestType4=S.RequestType3=S.RequestType2=S.RequestType1=S.RequestType0=S.RequestType=S.Message=S.RAL=void 0;S.MessageStrategy=S.CancellationStrategy=S.CancellationSenderStrategy=S.CancellationReceiverStrategy=S.ConnectionError=S.ConnectionErrors=S.LogTraceNotification=S.SetTraceNotification=S.TraceFormat=S.TraceValues=S.Trace=void 0;var Re=nc();Object.defineProperty(S,"Message",{enumerable:!0,get:function(){return Re.Message}});Object.defineProperty(S,"RequestType",{enumerable:!0,get:function(){return Re.RequestType}});Object.defineProperty(S,"RequestType0",{enumerable:!0,get:function(){return Re.RequestType0}});Object.defineProperty(S,"RequestType1",{enumerable:!0,get:function(){return Re.RequestType1}});Object.defineProperty(S,"RequestType2",{enumerable:!0,get:function(){return Re.RequestType2}});Object.defineProperty(S,"RequestType3",{enumerable:!0,get:function(){return Re.RequestType3}});Object.defineProperty(S,"RequestType4",{enumerable:!0,get:function(){return Re.RequestType4}});Object.defineProperty(S,"RequestType5",{enumerable:!0,get:function(){return Re.RequestType5}});Object.defineProperty(S,"RequestType6",{enumerable:!0,get:function(){return Re.RequestType6}});Object.defineProperty(S,"RequestType7",{enumerable:!0,get:function(){return Re.RequestType7}});Object.defineProperty(S,"RequestType8",{enumerable:!0,get:function(){return Re.RequestType8}});Object.defineProperty(S,"RequestType9",{enumerable:!0,get:function(){return Re.RequestType9}});Object.defineProperty(S,"ResponseError",{enumerable:!0,get:function(){return Re.ResponseError}});Object.defineProperty(S,"ErrorCodes",{enumerable:!0,get:function(){return Re.ErrorCodes}});Object.defineProperty(S,"NotificationType",{enumerable:!0,get:function(){return Re.NotificationType}});Object.defineProperty(S,"NotificationType0",{enumerable:!0,get:function(){return Re.NotificationType0}});Object.defineProperty(S,"NotificationType1",{enumerable:!0,get:function(){return Re.NotificationType1}});Object.defineProperty(S,"NotificationType2",{enumerable:!0,get:function(){return Re.NotificationType2}});Object.defineProperty(S,"NotificationType3",{enumerable:!0,get:function(){return Re.NotificationType3}});Object.defineProperty(S,"NotificationType4",{enumerable:!0,get:function(){return Re.NotificationType4}});Object.defineProperty(S,"NotificationType5",{enumerable:!0,get:function(){return Re.NotificationType5}});Object.defineProperty(S,"NotificationType6",{enumerable:!0,get:function(){return Re.NotificationType6}});Object.defineProperty(S,"NotificationType7",{enumerable:!0,get:function(){return Re.NotificationType7}});Object.defineProperty(S,"NotificationType8",{enumerable:!0,get:function(){return Re.NotificationType8}});Object.defineProperty(S,"NotificationType9",{enumerable:!0,get:function(){return Re.NotificationType9}});Object.defineProperty(S,"ParameterStructures",{enumerable:!0,get:function(){return Re.ParameterStructures}});var Ic=ic();Object.defineProperty(S,"LinkedMap",{enumerable:!0,get:function(){return Ic.LinkedMap}});Object.defineProperty(S,"LRUCache",{enumerable:!0,get:function(){return Ic.LRUCache}});Object.defineProperty(S,"Touch",{enumerable:!0,get:function(){return Ic.Touch}});var pw=Rf();Object.defineProperty(S,"Disposable",{enumerable:!0,get:function(){return pw.Disposable}});var Ff=Gn();Object.defineProperty(S,"Event",{enumerable:!0,get:function(){return Ff.Event}});Object.defineProperty(S,"Emitter",{enumerable:!0,get:function(){return Ff.Emitter}});var jf=no();Object.defineProperty(S,"CancellationTokenSource",{enumerable:!0,get:function(){return jf.CancellationTokenSource}});Object.defineProperty(S,"CancellationToken",{enumerable:!0,get:function(){return jf.CancellationToken}});var Bf=Sf();Object.defineProperty(S,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return Bf.SharedArraySenderStrategy}});Object.defineProperty(S,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return Bf.SharedArrayReceiverStrategy}});var Cc=Lf();Object.defineProperty(S,"MessageReader",{enumerable:!0,get:function(){return Cc.MessageReader}});Object.defineProperty(S,"AbstractMessageReader",{enumerable:!0,get:function(){return Cc.AbstractMessageReader}});Object.defineProperty(S,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return Cc.ReadableStreamMessageReader}});var Ac=Cf();Object.defineProperty(S,"MessageWriter",{enumerable:!0,get:function(){return Ac.MessageWriter}});Object.defineProperty(S,"AbstractMessageWriter",{enumerable:!0,get:function(){return Ac.AbstractMessageWriter}});Object.defineProperty(S,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return Ac.WriteableStreamMessageWriter}});var hw=Af();Object.defineProperty(S,"AbstractMessageBuffer",{enumerable:!0,get:function(){return hw.AbstractMessageBuffer}});var Ve=Nf();Object.defineProperty(S,"ConnectionStrategy",{enumerable:!0,get:function(){return Ve.ConnectionStrategy}});Object.defineProperty(S,"ConnectionOptions",{enumerable:!0,get:function(){return Ve.ConnectionOptions}});Object.defineProperty(S,"NullLogger",{enumerable:!0,get:function(){return Ve.NullLogger}});Object.defineProperty(S,"createMessageConnection",{enumerable:!0,get:function(){return Ve.createMessageConnection}});Object.defineProperty(S,"ProgressToken",{enumerable:!0,get:function(){return Ve.ProgressToken}});Object.defineProperty(S,"ProgressType",{enumerable:!0,get:function(){return Ve.ProgressType}});Object.defineProperty(S,"Trace",{enumerable:!0,get:function(){return Ve.Trace}});Object.defineProperty(S,"TraceValues",{enumerable:!0,get:function(){return Ve.TraceValues}});Object.defineProperty(S,"TraceFormat",{enumerable:!0,get:function(){return Ve.TraceFormat}});Object.defineProperty(S,"SetTraceNotification",{enumerable:!0,get:function(){return Ve.SetTraceNotification}});Object.defineProperty(S,"LogTraceNotification",{enumerable:!0,get:function(){return Ve.LogTraceNotification}});Object.defineProperty(S,"ConnectionErrors",{enumerable:!0,get:function(){return Ve.ConnectionErrors}});Object.defineProperty(S,"ConnectionError",{enumerable:!0,get:function(){return Ve.ConnectionError}});Object.defineProperty(S,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Ve.CancellationReceiverStrategy}});Object.defineProperty(S,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Ve.CancellationSenderStrategy}});Object.defineProperty(S,"CancellationStrategy",{enumerable:!0,get:function(){return Ve.CancellationStrategy}});Object.defineProperty(S,"MessageStrategy",{enumerable:!0,get:function(){return Ve.MessageStrategy}});var mw=cn();S.RAL=mw.default});var Wf=I(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});var Uf=ut("util"),Gt=ho(),mo=class n extends Gt.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return n.emptyBuffer}fromString(e,t){return Buffer.from(e,t)}toString(e,t){return e instanceof Buffer?e.toString(t):new Uf.TextDecoder(t).decode(e)}asNative(e,t){return t===void 0?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,t):Buffer.from(e,0,t)}allocNative(e){return Buffer.allocUnsafe(e)}};mo.emptyBuffer=Buffer.allocUnsafe(0);var $c=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Gt.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Gt.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Gt.Disposable.create(()=>this.stream.off("end",e))}onData(e){return this.stream.on("data",e),Gt.Disposable.create(()=>this.stream.off("data",e))}},Oc=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Gt.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Gt.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Gt.Disposable.create(()=>this.stream.off("end",e))}write(e,t){return new Promise((r,i)=>{let o=s=>{s==null?r():i(s)};typeof e=="string"?this.stream.write(e,t,o):this.stream.write(e,o)})}end(){this.stream.end()}},Vf=Object.freeze({messageBuffer:Object.freeze({create:n=>new mo(n)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(n,e)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(n,void 0,0),e.charset))}catch(t){return Promise.reject(t)}}}),decoder:Object.freeze({name:"application/json",decode:(n,e)=>{try{return n instanceof Buffer?Promise.resolve(JSON.parse(n.toString(e.charset))):Promise.resolve(JSON.parse(new Uf.TextDecoder(e.charset).decode(n)))}catch(t){return Promise.reject(t)}}})}),stream:Object.freeze({asReadableStream:n=>new $c(n),asWritableStream:n=>new Oc(n)}),console,timer:Object.freeze({setTimeout(n,e,...t){let r=setTimeout(n,e,...t);return{dispose:()=>clearTimeout(r)}},setImmediate(n,...e){let t=setImmediate(n,...e);return{dispose:()=>clearImmediate(t)}},setInterval(n,e,...t){let r=setInterval(n,e,...t);return{dispose:()=>clearInterval(r)}}})});function Mc(){return Vf}(function(n){function e(){Gt.RAL.install(Vf)}n.install=e})(Mc||(Mc={}));qc.default=Mc});var Ln=I(de=>{"use strict";var gw=de&&de.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),_w=de&&de.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&gw(e,n,t)};Object.defineProperty(de,"__esModule",{value:!0});de.createMessageConnection=de.createServerSocketTransport=de.createClientSocketTransport=de.createServerPipeTransport=de.createClientPipeTransport=de.generateRandomPipeName=de.StreamMessageWriter=de.StreamMessageReader=de.SocketMessageWriter=de.SocketMessageReader=de.PortMessageWriter=de.PortMessageReader=de.IPCMessageWriter=de.IPCMessageReader=void 0;var Yn=Wf();Yn.default.install();var zf=ut("path"),bw=ut("os"),yw=ut("crypto"),bo=ut("net"),gt=ho();_w(ho(),de);var Nc=class extends gt.AbstractMessageReader{constructor(e){super(),this.process=e;let t=this.process;t.on("error",r=>this.fireError(r)),t.on("close",()=>this.fireClose())}listen(e){return this.process.on("message",e),gt.Disposable.create(()=>this.process.off("message",e))}};de.IPCMessageReader=Nc;var Fc=class extends gt.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let t=this.process;t.on("error",r=>this.fireError(r)),t.on("close",()=>this.fireClose)}write(e){try{return typeof this.process.send=="function"&&this.process.send(e,void 0,void 0,t=>{t?(this.errorCount++,this.handleError(t,e)):this.errorCount=0}),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}};de.IPCMessageWriter=Fc;var jc=class extends gt.AbstractMessageReader{constructor(e){super(),this.onData=new gt.Emitter,e.on("close",()=>this.fireClose),e.on("error",t=>this.fireError(t)),e.on("message",t=>{this.onData.fire(t)})}listen(e){return this.onData.event(e)}};de.PortMessageReader=jc;var Bc=class extends gt.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.on("close",()=>this.fireClose()),e.on("error",t=>this.fireError(t))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}};de.PortMessageWriter=Bc;var Sn=class extends gt.ReadableStreamMessageReader{constructor(e,t="utf-8"){super((0,Yn.default)().stream.asReadableStream(e),t)}};de.SocketMessageReader=Sn;var xn=class extends gt.WriteableStreamMessageWriter{constructor(e,t){super((0,Yn.default)().stream.asWritableStream(e),t),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}};de.SocketMessageWriter=xn;var go=class extends gt.ReadableStreamMessageReader{constructor(e,t){super((0,Yn.default)().stream.asReadableStream(e),t)}};de.StreamMessageReader=go;var _o=class extends gt.WriteableStreamMessageWriter{constructor(e,t){super((0,Yn.default)().stream.asWritableStream(e),t)}};de.StreamMessageWriter=_o;var Hf=process.env.XDG_RUNTIME_DIR,vw=new Map([["linux",107],["darwin",103]]);function ww(){let n=(0,yw.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${n}-sock`;let e;Hf?e=zf.join(Hf,`vscode-ipc-${n}.sock`):e=zf.join(bw.tmpdir(),`vscode-${n}.sock`);let t=vw.get(process.platform);return t!==void 0&&e.length>t&&(0,Yn.default)().console.warn(`WARNING: IPC handle "${e}" is longer than ${t} characters.`),e}de.generateRandomPipeName=ww;function Pw(n,e="utf-8"){let t,r=new Promise((i,o)=>{t=i});return new Promise((i,o)=>{let s=(0,bo.createServer)(a=>{s.close(),t([new Sn(a,e),new xn(a,e)])});s.on("error",o),s.listen(n,()=>{s.removeListener("error",o),i({onConnected:()=>r})})})}de.createClientPipeTransport=Pw;function Rw(n,e="utf-8"){let t=(0,bo.createConnection)(n);return[new Sn(t,e),new xn(t,e)]}de.createServerPipeTransport=Rw;function Ew(n,e="utf-8"){let t,r=new Promise((i,o)=>{t=i});return new Promise((i,o)=>{let s=(0,bo.createServer)(a=>{s.close(),t([new Sn(a,e),new xn(a,e)])});s.on("error",o),s.listen(n,"127.0.0.1",()=>{s.removeListener("error",o),i({onConnected:()=>r})})})}de.createClientSocketTransport=Ew;function Sw(n,e="utf-8"){let t=(0,bo.createConnection)(n,"127.0.0.1");return[new Sn(t,e),new xn(t,e)]}de.createServerSocketTransport=Sw;function xw(n){let e=n;return e.read!==void 0&&e.addListener!==void 0}function Lw(n){let e=n;return e.write!==void 0&&e.addListener!==void 0}function Dw(n,e,t,r){t||(t=gt.NullLogger);let i=xw(n)?new go(n):n,o=Lw(e)?new _o(e):e;return gt.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,gt.createMessageConnection)(i,o,t,r)}de.createMessageConnection=Dw});var Uc=I((L0,Kf)=>{"use strict";Kf.exports=Ln()});var vo=I((Gf,yo)=>{"use strict";(function(n){if(typeof yo=="object"&&typeof yo.exports=="object"){var e=n(ut,Gf);e!==void 0&&(yo.exports=e)}else typeof define=="function"&&define.amd&&define(["require","exports"],n)})(function(n,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextDocument=e.EOL=e.WorkspaceFolder=e.InlineCompletionContext=e.SelectedCompletionInfo=e.InlineCompletionTriggerKind=e.InlineCompletionList=e.InlineCompletionItem=e.StringValue=e.InlayHint=e.InlayHintLabelPart=e.InlayHintKind=e.InlineValueContext=e.InlineValueEvaluatableExpression=e.InlineValueVariableLookup=e.InlineValueText=e.SemanticTokens=e.SemanticTokenModifiers=e.SemanticTokenTypes=e.SelectionRange=e.DocumentLink=e.FormattingOptions=e.CodeLens=e.CodeAction=e.CodeActionContext=e.CodeActionTriggerKind=e.CodeActionKind=e.DocumentSymbol=e.WorkspaceSymbol=e.SymbolInformation=e.SymbolTag=e.SymbolKind=e.DocumentHighlight=e.DocumentHighlightKind=e.SignatureInformation=e.ParameterInformation=e.Hover=e.MarkedString=e.CompletionList=e.CompletionItem=e.CompletionItemLabelDetails=e.InsertTextMode=e.InsertReplaceEdit=e.CompletionItemTag=e.InsertTextFormat=e.CompletionItemKind=e.MarkupContent=e.MarkupKind=e.TextDocumentItem=e.OptionalVersionedTextDocumentIdentifier=e.VersionedTextDocumentIdentifier=e.TextDocumentIdentifier=e.WorkspaceChange=e.WorkspaceEdit=e.DeleteFile=e.RenameFile=e.CreateFile=e.TextDocumentEdit=e.AnnotatedTextEdit=e.ChangeAnnotationIdentifier=e.ChangeAnnotation=e.TextEdit=e.Command=e.Diagnostic=e.CodeDescription=e.DiagnosticTag=e.DiagnosticSeverity=e.DiagnosticRelatedInformation=e.FoldingRange=e.FoldingRangeKind=e.ColorPresentation=e.ColorInformation=e.Color=e.LocationLink=e.Location=e.Range=e.Position=e.uinteger=e.integer=e.URI=e.DocumentUri=void 0;var t;(function(u){function g(y){return typeof y=="string"}u.is=g})(t||(e.DocumentUri=t={}));var r;(function(u){function g(y){return typeof y=="string"}u.is=g})(r||(e.URI=r={}));var i;(function(u){u.MIN_VALUE=-2147483648,u.MAX_VALUE=2147483647;function g(y){return typeof y=="number"&&u.MIN_VALUE<=y&&y<=u.MAX_VALUE}u.is=g})(i||(e.integer=i={}));var o;(function(u){u.MIN_VALUE=0,u.MAX_VALUE=2147483647;function g(y){return typeof y=="number"&&u.MIN_VALUE<=y&&y<=u.MAX_VALUE}u.is=g})(o||(e.uinteger=o={}));var s;(function(u){function g(f,c){return f===Number.MAX_VALUE&&(f=o.MAX_VALUE),c===Number.MAX_VALUE&&(c=o.MAX_VALUE),{line:f,character:c}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&R.uinteger(c.line)&&R.uinteger(c.character)}u.is=y})(s||(e.Position=s={}));var a;(function(u){function g(f,c,P,T){if(R.uinteger(f)&&R.uinteger(c)&&R.uinteger(P)&&R.uinteger(T))return{start:s.create(f,c),end:s.create(P,T)};if(s.is(f)&&s.is(c))return{start:f,end:c};throw new Error("Range#create called with invalid arguments[".concat(f,", ").concat(c,", ").concat(P,", ").concat(T,"]"))}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&s.is(c.start)&&s.is(c.end)}u.is=y})(a||(e.Range=a={}));var d;(function(u){function g(f,c){return{uri:f,range:c}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&a.is(c.range)&&(R.string(c.uri)||R.undefined(c.uri))}u.is=y})(d||(e.Location=d={}));var l;(function(u){function g(f,c,P,T){return{targetUri:f,targetRange:c,targetSelectionRange:P,originSelectionRange:T}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&a.is(c.targetRange)&&R.string(c.targetUri)&&a.is(c.targetSelectionRange)&&(a.is(c.originSelectionRange)||R.undefined(c.originSelectionRange))}u.is=y})(l||(e.LocationLink=l={}));var h;(function(u){function g(f,c,P,T){return{red:f,green:c,blue:P,alpha:T}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&R.numberRange(c.red,0,1)&&R.numberRange(c.green,0,1)&&R.numberRange(c.blue,0,1)&&R.numberRange(c.alpha,0,1)}u.is=y})(h||(e.Color=h={}));var v;(function(u){function g(f,c){return{range:f,color:c}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&a.is(c.range)&&h.is(c.color)}u.is=y})(v||(e.ColorInformation=v={}));var w;(function(u){function g(f,c,P){return{label:f,textEdit:c,additionalTextEdits:P}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&R.string(c.label)&&(R.undefined(c.textEdit)||Z.is(c))&&(R.undefined(c.additionalTextEdits)||R.typedArray(c.additionalTextEdits,Z.is))}u.is=y})(w||(e.ColorPresentation=w={}));var _;(function(u){u.Comment="comment",u.Imports="imports",u.Region="region"})(_||(e.FoldingRangeKind=_={}));var L;(function(u){function g(f,c,P,T,ie,$e){var we={startLine:f,endLine:c};return R.defined(P)&&(we.startCharacter=P),R.defined(T)&&(we.endCharacter=T),R.defined(ie)&&(we.kind=ie),R.defined($e)&&(we.collapsedText=$e),we}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&R.uinteger(c.startLine)&&R.uinteger(c.startLine)&&(R.undefined(c.startCharacter)||R.uinteger(c.startCharacter))&&(R.undefined(c.endCharacter)||R.uinteger(c.endCharacter))&&(R.undefined(c.kind)||R.string(c.kind))}u.is=y})(L||(e.FoldingRange=L={}));var k;(function(u){function g(f,c){return{location:f,message:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&d.is(c.location)&&R.string(c.message)}u.is=y})(k||(e.DiagnosticRelatedInformation=k={}));var X;(function(u){u.Error=1,u.Warning=2,u.Information=3,u.Hint=4})(X||(e.DiagnosticSeverity=X={}));var fe;(function(u){u.Unnecessary=1,u.Deprecated=2})(fe||(e.DiagnosticTag=fe={}));var B;(function(u){function g(y){var f=y;return R.objectLiteral(f)&&R.string(f.href)}u.is=g})(B||(e.CodeDescription=B={}));var ee;(function(u){function g(f,c,P,T,ie,$e){var we={range:f,message:c};return R.defined(P)&&(we.severity=P),R.defined(T)&&(we.code=T),R.defined(ie)&&(we.source=ie),R.defined($e)&&(we.relatedInformation=$e),we}u.create=g;function y(f){var c,P=f;return R.defined(P)&&a.is(P.range)&&R.string(P.message)&&(R.number(P.severity)||R.undefined(P.severity))&&(R.integer(P.code)||R.string(P.code)||R.undefined(P.code))&&(R.undefined(P.codeDescription)||R.string((c=P.codeDescription)===null||c===void 0?void 0:c.href))&&(R.string(P.source)||R.undefined(P.source))&&(R.undefined(P.relatedInformation)||R.typedArray(P.relatedInformation,k.is))}u.is=y})(ee||(e.Diagnostic=ee={}));var ae;(function(u){function g(f,c){for(var P=[],T=2;T<arguments.length;T++)P[T-2]=arguments[T];var ie={title:f,command:c};return R.defined(P)&&P.length>0&&(ie.arguments=P),ie}u.create=g;function y(f){var c=f;return R.defined(c)&&R.string(c.title)&&R.string(c.command)}u.is=y})(ae||(e.Command=ae={}));var Z;(function(u){function g(P,T){return{range:P,newText:T}}u.replace=g;function y(P,T){return{range:{start:P,end:P},newText:T}}u.insert=y;function f(P){return{range:P,newText:""}}u.del=f;function c(P){var T=P;return R.objectLiteral(T)&&R.string(T.newText)&&a.is(T.range)}u.is=c})(Z||(e.TextEdit=Z={}));var te;(function(u){function g(f,c,P){var T={label:f};return c!==void 0&&(T.needsConfirmation=c),P!==void 0&&(T.description=P),T}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&R.string(c.label)&&(R.boolean(c.needsConfirmation)||c.needsConfirmation===void 0)&&(R.string(c.description)||c.description===void 0)}u.is=y})(te||(e.ChangeAnnotation=te={}));var _e;(function(u){function g(y){var f=y;return R.string(f)}u.is=g})(_e||(e.ChangeAnnotationIdentifier=_e={}));var Ce;(function(u){function g(P,T,ie){return{range:P,newText:T,annotationId:ie}}u.replace=g;function y(P,T,ie){return{range:{start:P,end:P},newText:T,annotationId:ie}}u.insert=y;function f(P,T){return{range:P,newText:"",annotationId:T}}u.del=f;function c(P){var T=P;return Z.is(T)&&(te.is(T.annotationId)||_e.is(T.annotationId))}u.is=c})(Ce||(e.AnnotatedTextEdit=Ce={}));var qe;(function(u){function g(f,c){return{textDocument:f,edits:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&z.is(c.textDocument)&&Array.isArray(c.edits)}u.is=y})(qe||(e.TextDocumentEdit=qe={}));var Ze;(function(u){function g(f,c,P){var T={kind:"create",uri:f};return c!==void 0&&(c.overwrite!==void 0||c.ignoreIfExists!==void 0)&&(T.options=c),P!==void 0&&(T.annotationId=P),T}u.create=g;function y(f){var c=f;return c&&c.kind==="create"&&R.string(c.uri)&&(c.options===void 0||(c.options.overwrite===void 0||R.boolean(c.options.overwrite))&&(c.options.ignoreIfExists===void 0||R.boolean(c.options.ignoreIfExists)))&&(c.annotationId===void 0||_e.is(c.annotationId))}u.is=y})(Ze||(e.CreateFile=Ze={}));var O;(function(u){function g(f,c,P,T){var ie={kind:"rename",oldUri:f,newUri:c};return P!==void 0&&(P.overwrite!==void 0||P.ignoreIfExists!==void 0)&&(ie.options=P),T!==void 0&&(ie.annotationId=T),ie}u.create=g;function y(f){var c=f;return c&&c.kind==="rename"&&R.string(c.oldUri)&&R.string(c.newUri)&&(c.options===void 0||(c.options.overwrite===void 0||R.boolean(c.options.overwrite))&&(c.options.ignoreIfExists===void 0||R.boolean(c.options.ignoreIfExists)))&&(c.annotationId===void 0||_e.is(c.annotationId))}u.is=y})(O||(e.RenameFile=O={}));var E;(function(u){function g(f,c,P){var T={kind:"delete",uri:f};return c!==void 0&&(c.recursive!==void 0||c.ignoreIfNotExists!==void 0)&&(T.options=c),P!==void 0&&(T.annotationId=P),T}u.create=g;function y(f){var c=f;return c&&c.kind==="delete"&&R.string(c.uri)&&(c.options===void 0||(c.options.recursive===void 0||R.boolean(c.options.recursive))&&(c.options.ignoreIfNotExists===void 0||R.boolean(c.options.ignoreIfNotExists)))&&(c.annotationId===void 0||_e.is(c.annotationId))}u.is=y})(E||(e.DeleteFile=E={}));var F;(function(u){function g(y){var f=y;return f&&(f.changes!==void 0||f.documentChanges!==void 0)&&(f.documentChanges===void 0||f.documentChanges.every(function(c){return R.string(c.kind)?Ze.is(c)||O.is(c)||E.is(c):qe.is(c)}))}u.is=g})(F||(e.WorkspaceEdit=F={}));var j=function(){function u(g,y){this.edits=g,this.changeAnnotations=y}return u.prototype.insert=function(g,y,f){var c,P;if(f===void 0?c=Z.insert(g,y):_e.is(f)?(P=f,c=Ce.insert(g,y,f)):(this.assertChangeAnnotations(this.changeAnnotations),P=this.changeAnnotations.manage(f),c=Ce.insert(g,y,P)),this.edits.push(c),P!==void 0)return P},u.prototype.replace=function(g,y,f){var c,P;if(f===void 0?c=Z.replace(g,y):_e.is(f)?(P=f,c=Ce.replace(g,y,f)):(this.assertChangeAnnotations(this.changeAnnotations),P=this.changeAnnotations.manage(f),c=Ce.replace(g,y,P)),this.edits.push(c),P!==void 0)return P},u.prototype.delete=function(g,y){var f,c;if(y===void 0?f=Z.del(g):_e.is(y)?(c=y,f=Ce.del(g,y)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(y),f=Ce.del(g,c)),this.edits.push(f),c!==void 0)return c},u.prototype.add=function(g){this.edits.push(g)},u.prototype.all=function(){return this.edits},u.prototype.clear=function(){this.edits.splice(0,this.edits.length)},u.prototype.assertChangeAnnotations=function(g){if(g===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},u}(),x=function(){function u(g){this._annotations=g===void 0?Object.create(null):g,this._counter=0,this._size=0}return u.prototype.all=function(){return this._annotations},Object.defineProperty(u.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),u.prototype.manage=function(g,y){var f;if(_e.is(g)?f=g:(f=this.nextId(),y=g),this._annotations[f]!==void 0)throw new Error("Id ".concat(f," is already in use."));if(y===void 0)throw new Error("No annotation provided for id ".concat(f));return this._annotations[f]=y,this._size++,f},u.prototype.nextId=function(){return this._counter++,this._counter.toString()},u}(),C=function(){function u(g){var y=this;this._textEditChanges=Object.create(null),g!==void 0?(this._workspaceEdit=g,g.documentChanges?(this._changeAnnotations=new x(g.changeAnnotations),g.changeAnnotations=this._changeAnnotations.all(),g.documentChanges.forEach(function(f){if(qe.is(f)){var c=new j(f.edits,y._changeAnnotations);y._textEditChanges[f.textDocument.uri]=c}})):g.changes&&Object.keys(g.changes).forEach(function(f){var c=new j(g.changes[f]);y._textEditChanges[f]=c})):this._workspaceEdit={}}return Object.defineProperty(u.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),u.prototype.getTextEditChange=function(g){if(z.is(g)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var y={uri:g.uri,version:g.version},f=this._textEditChanges[y.uri];if(!f){var c=[],P={textDocument:y,edits:c};this._workspaceEdit.documentChanges.push(P),f=new j(c,this._changeAnnotations),this._textEditChanges[y.uri]=f}return f}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var f=this._textEditChanges[g];if(!f){var c=[];this._workspaceEdit.changes[g]=c,f=new j(c),this._textEditChanges[g]=f}return f}},u.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new x,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},u.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},u.prototype.createFile=function(g,y,f){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var c;te.is(y)||_e.is(y)?c=y:f=y;var P,T;if(c===void 0?P=Ze.create(g,f):(T=_e.is(c)?c:this._changeAnnotations.manage(c),P=Ze.create(g,f,T)),this._workspaceEdit.documentChanges.push(P),T!==void 0)return T},u.prototype.renameFile=function(g,y,f,c){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var P;te.is(f)||_e.is(f)?P=f:c=f;var T,ie;if(P===void 0?T=O.create(g,y,c):(ie=_e.is(P)?P:this._changeAnnotations.manage(P),T=O.create(g,y,c,ie)),this._workspaceEdit.documentChanges.push(T),ie!==void 0)return ie},u.prototype.deleteFile=function(g,y,f){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var c;te.is(y)||_e.is(y)?c=y:f=y;var P,T;if(c===void 0?P=E.create(g,f):(T=_e.is(c)?c:this._changeAnnotations.manage(c),P=E.create(g,f,T)),this._workspaceEdit.documentChanges.push(P),T!==void 0)return T},u}();e.WorkspaceChange=C;var A;(function(u){function g(f){return{uri:f}}u.create=g;function y(f){var c=f;return R.defined(c)&&R.string(c.uri)}u.is=y})(A||(e.TextDocumentIdentifier=A={}));var N;(function(u){function g(f,c){return{uri:f,version:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&R.string(c.uri)&&R.integer(c.version)}u.is=y})(N||(e.VersionedTextDocumentIdentifier=N={}));var z;(function(u){function g(f,c){return{uri:f,version:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&R.string(c.uri)&&(c.version===null||R.integer(c.version))}u.is=y})(z||(e.OptionalVersionedTextDocumentIdentifier=z={}));var q;(function(u){function g(f,c,P,T){return{uri:f,languageId:c,version:P,text:T}}u.create=g;function y(f){var c=f;return R.defined(c)&&R.string(c.uri)&&R.string(c.languageId)&&R.integer(c.version)&&R.string(c.text)}u.is=y})(q||(e.TextDocumentItem=q={}));var ne;(function(u){u.PlainText="plaintext",u.Markdown="markdown";function g(y){var f=y;return f===u.PlainText||f===u.Markdown}u.is=g})(ne||(e.MarkupKind=ne={}));var re;(function(u){function g(y){var f=y;return R.objectLiteral(y)&&ne.is(f.kind)&&R.string(f.value)}u.is=g})(re||(e.MarkupContent=re={}));var Me;(function(u){u.Text=1,u.Method=2,u.Function=3,u.Constructor=4,u.Field=5,u.Variable=6,u.Class=7,u.Interface=8,u.Module=9,u.Property=10,u.Unit=11,u.Value=12,u.Enum=13,u.Keyword=14,u.Snippet=15,u.Color=16,u.File=17,u.Reference=18,u.Folder=19,u.EnumMember=20,u.Constant=21,u.Struct=22,u.Event=23,u.Operator=24,u.TypeParameter=25})(Me||(e.CompletionItemKind=Me={}));var he;(function(u){u.PlainText=1,u.Snippet=2})(he||(e.InsertTextFormat=he={}));var Ye;(function(u){u.Deprecated=1})(Ye||(e.CompletionItemTag=Ye={}));var It;(function(u){function g(f,c,P){return{newText:f,insert:c,replace:P}}u.create=g;function y(f){var c=f;return c&&R.string(c.newText)&&a.is(c.insert)&&a.is(c.replace)}u.is=y})(It||(e.InsertReplaceEdit=It={}));var Vr;(function(u){u.asIs=1,u.adjustIndentation=2})(Vr||(e.InsertTextMode=Vr={}));var Wr;(function(u){function g(y){var f=y;return f&&(R.string(f.detail)||f.detail===void 0)&&(R.string(f.description)||f.description===void 0)}u.is=g})(Wr||(e.CompletionItemLabelDetails=Wr={}));var zr;(function(u){function g(y){return{label:y}}u.create=g})(zr||(e.CompletionItem=zr={}));var Hr;(function(u){function g(y,f){return{items:y||[],isIncomplete:!!f}}u.create=g})(Hr||(e.CompletionList=Hr={}));var Tn;(function(u){function g(f){return f.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}u.fromPlainText=g;function y(f){var c=f;return R.string(c)||R.objectLiteral(c)&&R.string(c.language)&&R.string(c.value)}u.is=y})(Tn||(e.MarkedString=Tn={}));var St;(function(u){function g(y){var f=y;return!!f&&R.objectLiteral(f)&&(re.is(f.contents)||Tn.is(f.contents)||R.typedArray(f.contents,Tn.is))&&(y.range===void 0||a.is(y.range))}u.is=g})(St||(e.Hover=St={}));var Kr;(function(u){function g(y,f){return f?{label:y,documentation:f}:{label:y}}u.create=g})(Kr||(e.ParameterInformation=Kr={}));var Gr;(function(u){function g(y,f){for(var c=[],P=2;P<arguments.length;P++)c[P-2]=arguments[P];var T={label:y};return R.defined(f)&&(T.documentation=f),R.defined(c)?T.parameters=c:T.parameters=[],T}u.create=g})(Gr||(e.SignatureInformation=Gr={}));var gn;(function(u){u.Text=1,u.Read=2,u.Write=3})(gn||(e.DocumentHighlightKind=gn={}));var Xr;(function(u){function g(y,f){var c={range:y};return R.number(f)&&(c.kind=f),c}u.create=g})(Xr||(e.DocumentHighlight=Xr={}));var In;(function(u){u.File=1,u.Module=2,u.Namespace=3,u.Package=4,u.Class=5,u.Method=6,u.Property=7,u.Field=8,u.Constructor=9,u.Enum=10,u.Interface=11,u.Function=12,u.Variable=13,u.Constant=14,u.String=15,u.Number=16,u.Boolean=17,u.Array=18,u.Object=19,u.Key=20,u.Null=21,u.EnumMember=22,u.Struct=23,u.Event=24,u.Operator=25,u.TypeParameter=26})(In||(e.SymbolKind=In={}));var Jr;(function(u){u.Deprecated=1})(Jr||(e.SymbolTag=Jr={}));var jt;(function(u){function g(y,f,c,P,T){var ie={name:y,kind:f,location:{uri:P,range:c}};return T&&(ie.containerName=T),ie}u.create=g})(jt||(e.SymbolInformation=jt={}));var Jt;(function(u){function g(y,f,c,P){return P!==void 0?{name:y,kind:f,location:{uri:c,range:P}}:{name:y,kind:f,location:{uri:c}}}u.create=g})(Jt||(e.WorkspaceSymbol=Jt={}));var Qr;(function(u){function g(f,c,P,T,ie,$e){var we={name:f,detail:c,kind:P,range:T,selectionRange:ie};return $e!==void 0&&(we.children=$e),we}u.create=g;function y(f){var c=f;return c&&R.string(c.name)&&R.number(c.kind)&&a.is(c.range)&&a.is(c.selectionRange)&&(c.detail===void 0||R.string(c.detail))&&(c.deprecated===void 0||R.boolean(c.deprecated))&&(c.children===void 0||Array.isArray(c.children))&&(c.tags===void 0||Array.isArray(c.tags))}u.is=y})(Qr||(e.DocumentSymbol=Qr={}));var Zr;(function(u){u.Empty="",u.QuickFix="quickfix",u.Refactor="refactor",u.RefactorExtract="refactor.extract",u.RefactorInline="refactor.inline",u.RefactorRewrite="refactor.rewrite",u.Source="source",u.SourceOrganizeImports="source.organizeImports",u.SourceFixAll="source.fixAll"})(Zr||(e.CodeActionKind=Zr={}));var Ct;(function(u){u.Invoked=1,u.Automatic=2})(Ct||(e.CodeActionTriggerKind=Ct={}));var dr;(function(u){function g(f,c,P){var T={diagnostics:f};return c!=null&&(T.only=c),P!=null&&(T.triggerKind=P),T}u.create=g;function y(f){var c=f;return R.defined(c)&&R.typedArray(c.diagnostics,ee.is)&&(c.only===void 0||R.typedArray(c.only,R.string))&&(c.triggerKind===void 0||c.triggerKind===Ct.Invoked||c.triggerKind===Ct.Automatic)}u.is=y})(dr||(e.CodeActionContext=dr={}));var fr;(function(u){function g(f,c,P){var T={title:f},ie=!0;return typeof c=="string"?(ie=!1,T.kind=c):ae.is(c)?T.command=c:T.edit=c,ie&&P!==void 0&&(T.kind=P),T}u.create=g;function y(f){var c=f;return c&&R.string(c.title)&&(c.diagnostics===void 0||R.typedArray(c.diagnostics,ee.is))&&(c.kind===void 0||R.string(c.kind))&&(c.edit!==void 0||c.command!==void 0)&&(c.command===void 0||ae.is(c.command))&&(c.isPreferred===void 0||R.boolean(c.isPreferred))&&(c.edit===void 0||F.is(c.edit))}u.is=y})(fr||(e.CodeAction=fr={}));var Cn;(function(u){function g(f,c){var P={range:f};return R.defined(c)&&(P.data=c),P}u.create=g;function y(f){var c=f;return R.defined(c)&&a.is(c.range)&&(R.undefined(c.command)||ae.is(c.command))}u.is=y})(Cn||(e.CodeLens=Cn={}));var pr;(function(u){function g(f,c){return{tabSize:f,insertSpaces:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&R.uinteger(c.tabSize)&&R.boolean(c.insertSpaces)}u.is=y})(pr||(e.FormattingOptions=pr={}));var Bt;(function(u){function g(f,c,P){return{range:f,target:c,data:P}}u.create=g;function y(f){var c=f;return R.defined(c)&&a.is(c.range)&&(R.undefined(c.target)||R.string(c.target))}u.is=y})(Bt||(e.DocumentLink=Bt={}));var m;(function(u){function g(f,c){return{range:f,parent:c}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&a.is(c.range)&&(c.parent===void 0||u.is(c.parent))}u.is=y})(m||(e.SelectionRange=m={}));var D;(function(u){u.namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",u.decorator="decorator"})(D||(e.SemanticTokenTypes=D={}));var M;(function(u){u.declaration="declaration",u.definition="definition",u.readonly="readonly",u.static="static",u.deprecated="deprecated",u.abstract="abstract",u.async="async",u.modification="modification",u.documentation="documentation",u.defaultLibrary="defaultLibrary"})(M||(e.SemanticTokenModifiers=M={}));var H;(function(u){function g(y){var f=y;return R.objectLiteral(f)&&(f.resultId===void 0||typeof f.resultId=="string")&&Array.isArray(f.data)&&(f.data.length===0||typeof f.data[0]=="number")}u.is=g})(H||(e.SemanticTokens=H={}));var be;(function(u){function g(f,c){return{range:f,text:c}}u.create=g;function y(f){var c=f;return c!=null&&a.is(c.range)&&R.string(c.text)}u.is=y})(be||(e.InlineValueText=be={}));var ge;(function(u){function g(f,c,P){return{range:f,variableName:c,caseSensitiveLookup:P}}u.create=g;function y(f){var c=f;return c!=null&&a.is(c.range)&&R.boolean(c.caseSensitiveLookup)&&(R.string(c.variableName)||c.variableName===void 0)}u.is=y})(ge||(e.InlineValueVariableLookup=ge={}));var Ee;(function(u){function g(f,c){return{range:f,expression:c}}u.create=g;function y(f){var c=f;return c!=null&&a.is(c.range)&&(R.string(c.expression)||c.expression===void 0)}u.is=y})(Ee||(e.InlineValueEvaluatableExpression=Ee={}));var De;(function(u){function g(f,c){return{frameId:f,stoppedLocation:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&a.is(f.stoppedLocation)}u.is=y})(De||(e.InlineValueContext=De={}));var le;(function(u){u.Type=1,u.Parameter=2;function g(y){return y===1||y===2}u.is=g})(le||(e.InlayHintKind=le={}));var ve;(function(u){function g(f){return{value:f}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&(c.tooltip===void 0||R.string(c.tooltip)||re.is(c.tooltip))&&(c.location===void 0||d.is(c.location))&&(c.command===void 0||ae.is(c.command))}u.is=y})(ve||(e.InlayHintLabelPart=ve={}));var pe;(function(u){function g(f,c,P){var T={position:f,label:c};return P!==void 0&&(T.kind=P),T}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&s.is(c.position)&&(R.string(c.label)||R.typedArray(c.label,ve.is))&&(c.kind===void 0||le.is(c.kind))&&c.textEdits===void 0||R.typedArray(c.textEdits,Z.is)&&(c.tooltip===void 0||R.string(c.tooltip)||re.is(c.tooltip))&&(c.paddingLeft===void 0||R.boolean(c.paddingLeft))&&(c.paddingRight===void 0||R.boolean(c.paddingRight))}u.is=y})(pe||(e.InlayHint=pe={}));var Ae;(function(u){function g(y){return{kind:"snippet",value:y}}u.createSnippet=g})(Ae||(e.StringValue=Ae={}));var Fe;(function(u){function g(y,f,c,P){return{insertText:y,filterText:f,range:c,command:P}}u.create=g})(Fe||(e.InlineCompletionItem=Fe={}));var lt;(function(u){function g(y){return{items:y}}u.create=g})(lt||(e.InlineCompletionList=lt={}));var Yr;(function(u){u.Invoked=0,u.Automatic=1})(Yr||(e.InlineCompletionTriggerKind=Yr={}));var dl;(function(u){function g(y,f){return{range:y,text:f}}u.create=g})(dl||(e.SelectedCompletionInfo=dl={}));var fl;(function(u){function g(y,f){return{triggerKind:y,selectedCompletionInfo:f}}u.create=g})(fl||(e.InlineCompletionContext=fl={}));var pl;(function(u){function g(y){var f=y;return R.objectLiteral(f)&&r.is(f.uri)&&R.string(f.name)}u.is=g})(pl||(e.WorkspaceFolder=pl={})),e.EOL=[`
49
+ `)),D){let H=m.error?` Request failed: ${m.error.message} (${m.error.code}).`:"";Q.log(`Received response '${D.method} - (${m.id})' in ${Date.now()-D.timerStart}ms.${H}`,M)}else Q.log(`Received response ${m.id} without active response promise.`,M)}else jt("receive-response",m)}function jt(m,D){if(!Q||ee===me.Off)return;let M={isLSPMessage:!0,type:m,message:D,timestamp:Date.now()};Q.log(M)}function Zt(){if(z())throw new Qn(Mr.Closed,"Connection is closed.");if(q())throw new Qn(Mr.Disposed,"Connection is disposed.")}function Jr(){if(N())throw new Qn(Mr.AlreadyListening,"Connection is already listening")}function Qr(){if(!N())throw new Error("Call listen() first.")}function At(m){return m===void 0?null:m}function dr(m){if(m!==null)return m}function fr(m){return m!=null&&!Array.isArray(m)&&typeof m=="object"}function An(m,D){switch(m){case Y.ParameterStructures.auto:return fr(D)?dr(D):[At(D)];case Y.ParameterStructures.byName:if(!fr(D))throw new Error("Received parameters by name but param is not an object literal.");return dr(D);case Y.ParameterStructures.byPosition:return[At(D)];default:throw new Error(`Unknown parameter structure ${m.toString()}`)}}function pr(m,D){let M,H=m.numberOfParams;switch(H){case 0:M=void 0;break;case 1:M=An(m.parameterStructures,D[0]);break;default:M=[];for(let be=0;be<D.length&&be<H;be++)M.push(At(D[be]));if(D.length<H)for(let be=D.length;be<H;be++)M.push(null);break}return M}let Bt={sendNotification:(m,...D)=>{Zt();let M,H;if(Ie.string(m)){M=m;let ge=D[0],Ee=0,De=Y.ParameterStructures.auto;Y.ParameterStructures.is(ge)&&(Ee=1,De=ge);let le=D.length,ve=le-Ee;switch(ve){case 0:H=void 0;break;case 1:H=An(De,D[Ee]);break;default:if(De===Y.ParameterStructures.byName)throw new Error(`Received ${ve} parameters for 'by Name' notification parameter structure.`);H=D.slice(Ee,le).map(pe=>At(pe));break}}else{let ge=D;M=m.method,H=pr(m,ge)}let be={jsonrpc:d,method:M,params:H};return Gr(be),e.write(be).catch(ge=>{throw i.error("Sending notification failed."),ge})},onNotification:(m,D)=>{Zt();let M;return Ie.func(m)?v=m:D&&(Ie.string(m)?(M=m,w.set(m,{type:void 0,handler:D})):(M=m.method,w.set(m.method,{type:m,handler:D}))),{dispose:()=>{M!==void 0?w.delete(M):v=void 0}}},onProgress:(m,D,M)=>{if(_.has(D))throw new Error(`Progress handler for token ${D} already registered`);return _.set(D,M),{dispose:()=>{_.delete(D)}}},sendProgress:(m,D,M)=>Bt.sendNotification(Or.type,{token:D,value:M}),onUnhandledProgress:Qe.event,sendRequest:(m,...D)=>{Zt(),Qr();let M,H,be;if(Ie.string(m)){M=m;let le=D[0],ve=D[D.length-1],pe=0,Ce=Y.ParameterStructures.auto;Y.ParameterStructures.is(le)&&(pe=1,Ce=le);let Fe=D.length;Rc.CancellationToken.is(ve)&&(Fe=Fe-1,be=ve);let lt=Fe-pe;switch(lt){case 0:H=void 0;break;case 1:H=An(Ce,D[pe]);break;default:if(Ce===Y.ParameterStructures.byName)throw new Error(`Received ${lt} parameters for 'by Name' request parameter structure.`);H=D.slice(pe,Fe).map(Yr=>At(Yr));break}}else{let le=D;M=m.method,H=pr(m,le);let ve=m.numberOfParams;be=Rc.CancellationToken.is(le[ve])?le[ve]:void 0}let ge=o++,Ee;be&&(Ee=be.onCancellationRequested(()=>{let le=E.sender.sendCancellation(Bt,ge);return le===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${ge}`),Promise.resolve()):le.catch(()=>{i.log(`Sending cancellation messages for id ${ge} failed`)})}));let De={jsonrpc:d,id:ge,method:M,params:H};return Kr(De),typeof E.sender.enableCancellation=="function"&&E.sender.enableCancellation(De),new Promise(async(le,ve)=>{let pe=lt=>{le(lt),E.sender.cleanup(ge),Ee?.dispose()},Ce=lt=>{ve(lt),E.sender.cleanup(ge),Ee?.dispose()},Fe={method:M,timerStart:Date.now(),resolve:pe,reject:Ce};try{await e.write(De),X.set(ge,Fe)}catch(lt){throw i.error("Sending request failed."),Fe.reject(new Y.ResponseError(Y.ErrorCodes.MessageWriteError,lt.message?lt.message:"Unknown reason")),lt}})},onRequest:(m,D)=>{Zt();let M=null;return xc.is(m)?(M=void 0,l=m):Ie.string(m)?(M=null,D!==void 0&&(M=m,h.set(m,{handler:D,type:void 0}))):D!==void 0&&(M=m.method,h.set(m.method,{type:m,handler:D})),{dispose:()=>{M!==null&&(M!==void 0?h.delete(M):l=void 0)}}},hasPendingResponse:()=>X.size>0,trace:async(m,D,M)=>{let H=!1,be=mt.Text;M!==void 0&&(Ie.boolean(M)?H=M:(H=M.sendNotification||!1,be=M.traceFormat||mt.Text)),ee=m,ae=be,ee===me.Off?Q=void 0:Q=D,H&&!z()&&!q()&&await Bt.sendNotification(Lc.type,{value:me.toString(m)})},onError:_e.event,onClose:Ae.event,onUnhandledNotification:qe.event,onDispose:O.event,end:()=>{e.end()},dispose:()=>{if(q())return;te=kt.Disposed,O.fire(void 0);let m=new Y.ResponseError(Y.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let D of X.values())D.reject(m);X=new Map,B=new Map,fe=new Set,k=new $f.LinkedMap,Ie.func(e.dispose)&&e.dispose(),Ie.func(n.dispose)&&n.dispose()},listen:()=>{Zt(),Jr(),te=kt.Listening,n.listen(Vr)},inspect:()=>{(0,Cf.default)().console.log("inspect")}};return Bt.onNotification(ao.type,m=>{if(ee===me.Off||!Q)return;let D=ee===me.Verbose||ee===me.Compact;Q.log(m.message,D?m.verbose:void 0)}),Bt.onNotification(Or.type,m=>{let D=_.get(m.token);D?D(m.value):Qe.fire(m)}),Bt}se.createMessageConnection=fw});var ho=I(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.ProgressType=S.ProgressToken=S.createMessageConnection=S.NullLogger=S.ConnectionOptions=S.ConnectionStrategy=S.AbstractMessageBuffer=S.WriteableStreamMessageWriter=S.AbstractMessageWriter=S.MessageWriter=S.ReadableStreamMessageReader=S.AbstractMessageReader=S.MessageReader=S.SharedArrayReceiverStrategy=S.SharedArraySenderStrategy=S.CancellationToken=S.CancellationTokenSource=S.Emitter=S.Event=S.Disposable=S.LRUCache=S.Touch=S.LinkedMap=S.ParameterStructures=S.NotificationType9=S.NotificationType8=S.NotificationType7=S.NotificationType6=S.NotificationType5=S.NotificationType4=S.NotificationType3=S.NotificationType2=S.NotificationType1=S.NotificationType0=S.NotificationType=S.ErrorCodes=S.ResponseError=S.RequestType9=S.RequestType8=S.RequestType7=S.RequestType6=S.RequestType5=S.RequestType4=S.RequestType3=S.RequestType2=S.RequestType1=S.RequestType0=S.RequestType=S.Message=S.RAL=void 0;S.MessageStrategy=S.CancellationStrategy=S.CancellationSenderStrategy=S.CancellationReceiverStrategy=S.ConnectionError=S.ConnectionErrors=S.LogTraceNotification=S.SetTraceNotification=S.TraceFormat=S.TraceValues=S.Trace=void 0;var Re=tc();Object.defineProperty(S,"Message",{enumerable:!0,get:function(){return Re.Message}});Object.defineProperty(S,"RequestType",{enumerable:!0,get:function(){return Re.RequestType}});Object.defineProperty(S,"RequestType0",{enumerable:!0,get:function(){return Re.RequestType0}});Object.defineProperty(S,"RequestType1",{enumerable:!0,get:function(){return Re.RequestType1}});Object.defineProperty(S,"RequestType2",{enumerable:!0,get:function(){return Re.RequestType2}});Object.defineProperty(S,"RequestType3",{enumerable:!0,get:function(){return Re.RequestType3}});Object.defineProperty(S,"RequestType4",{enumerable:!0,get:function(){return Re.RequestType4}});Object.defineProperty(S,"RequestType5",{enumerable:!0,get:function(){return Re.RequestType5}});Object.defineProperty(S,"RequestType6",{enumerable:!0,get:function(){return Re.RequestType6}});Object.defineProperty(S,"RequestType7",{enumerable:!0,get:function(){return Re.RequestType7}});Object.defineProperty(S,"RequestType8",{enumerable:!0,get:function(){return Re.RequestType8}});Object.defineProperty(S,"RequestType9",{enumerable:!0,get:function(){return Re.RequestType9}});Object.defineProperty(S,"ResponseError",{enumerable:!0,get:function(){return Re.ResponseError}});Object.defineProperty(S,"ErrorCodes",{enumerable:!0,get:function(){return Re.ErrorCodes}});Object.defineProperty(S,"NotificationType",{enumerable:!0,get:function(){return Re.NotificationType}});Object.defineProperty(S,"NotificationType0",{enumerable:!0,get:function(){return Re.NotificationType0}});Object.defineProperty(S,"NotificationType1",{enumerable:!0,get:function(){return Re.NotificationType1}});Object.defineProperty(S,"NotificationType2",{enumerable:!0,get:function(){return Re.NotificationType2}});Object.defineProperty(S,"NotificationType3",{enumerable:!0,get:function(){return Re.NotificationType3}});Object.defineProperty(S,"NotificationType4",{enumerable:!0,get:function(){return Re.NotificationType4}});Object.defineProperty(S,"NotificationType5",{enumerable:!0,get:function(){return Re.NotificationType5}});Object.defineProperty(S,"NotificationType6",{enumerable:!0,get:function(){return Re.NotificationType6}});Object.defineProperty(S,"NotificationType7",{enumerable:!0,get:function(){return Re.NotificationType7}});Object.defineProperty(S,"NotificationType8",{enumerable:!0,get:function(){return Re.NotificationType8}});Object.defineProperty(S,"NotificationType9",{enumerable:!0,get:function(){return Re.NotificationType9}});Object.defineProperty(S,"ParameterStructures",{enumerable:!0,get:function(){return Re.ParameterStructures}});var Tc=rc();Object.defineProperty(S,"LinkedMap",{enumerable:!0,get:function(){return Tc.LinkedMap}});Object.defineProperty(S,"LRUCache",{enumerable:!0,get:function(){return Tc.LRUCache}});Object.defineProperty(S,"Touch",{enumerable:!0,get:function(){return Tc.Touch}});var pw=Pf();Object.defineProperty(S,"Disposable",{enumerable:!0,get:function(){return pw.Disposable}});var Nf=Gn();Object.defineProperty(S,"Event",{enumerable:!0,get:function(){return Nf.Event}});Object.defineProperty(S,"Emitter",{enumerable:!0,get:function(){return Nf.Emitter}});var Ff=no();Object.defineProperty(S,"CancellationTokenSource",{enumerable:!0,get:function(){return Ff.CancellationTokenSource}});Object.defineProperty(S,"CancellationToken",{enumerable:!0,get:function(){return Ff.CancellationToken}});var jf=Ef();Object.defineProperty(S,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return jf.SharedArraySenderStrategy}});Object.defineProperty(S,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return jf.SharedArrayReceiverStrategy}});var Ic=xf();Object.defineProperty(S,"MessageReader",{enumerable:!0,get:function(){return Ic.MessageReader}});Object.defineProperty(S,"AbstractMessageReader",{enumerable:!0,get:function(){return Ic.AbstractMessageReader}});Object.defineProperty(S,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return Ic.ReadableStreamMessageReader}});var Ac=If();Object.defineProperty(S,"MessageWriter",{enumerable:!0,get:function(){return Ac.MessageWriter}});Object.defineProperty(S,"AbstractMessageWriter",{enumerable:!0,get:function(){return Ac.AbstractMessageWriter}});Object.defineProperty(S,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return Ac.WriteableStreamMessageWriter}});var hw=Af();Object.defineProperty(S,"AbstractMessageBuffer",{enumerable:!0,get:function(){return hw.AbstractMessageBuffer}});var Ve=qf();Object.defineProperty(S,"ConnectionStrategy",{enumerable:!0,get:function(){return Ve.ConnectionStrategy}});Object.defineProperty(S,"ConnectionOptions",{enumerable:!0,get:function(){return Ve.ConnectionOptions}});Object.defineProperty(S,"NullLogger",{enumerable:!0,get:function(){return Ve.NullLogger}});Object.defineProperty(S,"createMessageConnection",{enumerable:!0,get:function(){return Ve.createMessageConnection}});Object.defineProperty(S,"ProgressToken",{enumerable:!0,get:function(){return Ve.ProgressToken}});Object.defineProperty(S,"ProgressType",{enumerable:!0,get:function(){return Ve.ProgressType}});Object.defineProperty(S,"Trace",{enumerable:!0,get:function(){return Ve.Trace}});Object.defineProperty(S,"TraceValues",{enumerable:!0,get:function(){return Ve.TraceValues}});Object.defineProperty(S,"TraceFormat",{enumerable:!0,get:function(){return Ve.TraceFormat}});Object.defineProperty(S,"SetTraceNotification",{enumerable:!0,get:function(){return Ve.SetTraceNotification}});Object.defineProperty(S,"LogTraceNotification",{enumerable:!0,get:function(){return Ve.LogTraceNotification}});Object.defineProperty(S,"ConnectionErrors",{enumerable:!0,get:function(){return Ve.ConnectionErrors}});Object.defineProperty(S,"ConnectionError",{enumerable:!0,get:function(){return Ve.ConnectionError}});Object.defineProperty(S,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Ve.CancellationReceiverStrategy}});Object.defineProperty(S,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Ve.CancellationSenderStrategy}});Object.defineProperty(S,"CancellationStrategy",{enumerable:!0,get:function(){return Ve.CancellationStrategy}});Object.defineProperty(S,"MessageStrategy",{enumerable:!0,get:function(){return Ve.MessageStrategy}});var mw=cn();S.RAL=mw.default});var Vf=I(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});var Bf=ut("util"),Gt=ho(),mo=class n extends Gt.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return n.emptyBuffer}fromString(e,t){return Buffer.from(e,t)}toString(e,t){return e instanceof Buffer?e.toString(t):new Bf.TextDecoder(t).decode(e)}asNative(e,t){return t===void 0?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,t):Buffer.from(e,0,t)}allocNative(e){return Buffer.allocUnsafe(e)}};mo.emptyBuffer=Buffer.allocUnsafe(0);var Cc=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Gt.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Gt.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Gt.Disposable.create(()=>this.stream.off("end",e))}onData(e){return this.stream.on("data",e),Gt.Disposable.create(()=>this.stream.off("data",e))}},$c=class{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),Gt.Disposable.create(()=>this.stream.off("close",e))}onError(e){return this.stream.on("error",e),Gt.Disposable.create(()=>this.stream.off("error",e))}onEnd(e){return this.stream.on("end",e),Gt.Disposable.create(()=>this.stream.off("end",e))}write(e,t){return new Promise((r,i)=>{let o=s=>{s==null?r():i(s)};typeof e=="string"?this.stream.write(e,t,o):this.stream.write(e,o)})}end(){this.stream.end()}},Uf=Object.freeze({messageBuffer:Object.freeze({create:n=>new mo(n)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(n,e)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(n,void 0,0),e.charset))}catch(t){return Promise.reject(t)}}}),decoder:Object.freeze({name:"application/json",decode:(n,e)=>{try{return n instanceof Buffer?Promise.resolve(JSON.parse(n.toString(e.charset))):Promise.resolve(JSON.parse(new Bf.TextDecoder(e.charset).decode(n)))}catch(t){return Promise.reject(t)}}})}),stream:Object.freeze({asReadableStream:n=>new Cc(n),asWritableStream:n=>new $c(n)}),console,timer:Object.freeze({setTimeout(n,e,...t){let r=setTimeout(n,e,...t);return{dispose:()=>clearTimeout(r)}},setImmediate(n,...e){let t=setImmediate(n,...e);return{dispose:()=>clearImmediate(t)}},setInterval(n,e,...t){let r=setInterval(n,e,...t);return{dispose:()=>clearInterval(r)}}})});function Oc(){return Uf}(function(n){function e(){Gt.RAL.install(Uf)}n.install=e})(Oc||(Oc={}));Mc.default=Oc});var Ln=I(de=>{"use strict";var gw=de&&de.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),_w=de&&de.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&gw(e,n,t)};Object.defineProperty(de,"__esModule",{value:!0});de.createMessageConnection=de.createServerSocketTransport=de.createClientSocketTransport=de.createServerPipeTransport=de.createClientPipeTransport=de.generateRandomPipeName=de.StreamMessageWriter=de.StreamMessageReader=de.SocketMessageWriter=de.SocketMessageReader=de.PortMessageWriter=de.PortMessageReader=de.IPCMessageWriter=de.IPCMessageReader=void 0;var Yn=Vf();Yn.default.install();var Wf=ut("path"),bw=ut("os"),yw=ut("crypto"),bo=ut("net"),gt=ho();_w(ho(),de);var qc=class extends gt.AbstractMessageReader{constructor(e){super(),this.process=e;let t=this.process;t.on("error",r=>this.fireError(r)),t.on("close",()=>this.fireClose())}listen(e){return this.process.on("message",e),gt.Disposable.create(()=>this.process.off("message",e))}};de.IPCMessageReader=qc;var Nc=class extends gt.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let t=this.process;t.on("error",r=>this.fireError(r)),t.on("close",()=>this.fireClose)}write(e){try{return typeof this.process.send=="function"&&this.process.send(e,void 0,void 0,t=>{t?(this.errorCount++,this.handleError(t,e)):this.errorCount=0}),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}};de.IPCMessageWriter=Nc;var Fc=class extends gt.AbstractMessageReader{constructor(e){super(),this.onData=new gt.Emitter,e.on("close",()=>this.fireClose),e.on("error",t=>this.fireError(t)),e.on("message",t=>{this.onData.fire(t)})}listen(e){return this.onData.event(e)}};de.PortMessageReader=Fc;var jc=class extends gt.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.on("close",()=>this.fireClose()),e.on("error",t=>this.fireError(t))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}};de.PortMessageWriter=jc;var Sn=class extends gt.ReadableStreamMessageReader{constructor(e,t="utf-8"){super((0,Yn.default)().stream.asReadableStream(e),t)}};de.SocketMessageReader=Sn;var xn=class extends gt.WriteableStreamMessageWriter{constructor(e,t){super((0,Yn.default)().stream.asWritableStream(e),t),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}};de.SocketMessageWriter=xn;var go=class extends gt.ReadableStreamMessageReader{constructor(e,t){super((0,Yn.default)().stream.asReadableStream(e),t)}};de.StreamMessageReader=go;var _o=class extends gt.WriteableStreamMessageWriter{constructor(e,t){super((0,Yn.default)().stream.asWritableStream(e),t)}};de.StreamMessageWriter=_o;var zf=process.env.XDG_RUNTIME_DIR,vw=new Map([["linux",107],["darwin",103]]);function ww(){let n=(0,yw.randomBytes)(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${n}-sock`;let e;zf?e=Wf.join(zf,`vscode-ipc-${n}.sock`):e=Wf.join(bw.tmpdir(),`vscode-${n}.sock`);let t=vw.get(process.platform);return t!==void 0&&e.length>t&&(0,Yn.default)().console.warn(`WARNING: IPC handle "${e}" is longer than ${t} characters.`),e}de.generateRandomPipeName=ww;function Pw(n,e="utf-8"){let t,r=new Promise((i,o)=>{t=i});return new Promise((i,o)=>{let s=(0,bo.createServer)(a=>{s.close(),t([new Sn(a,e),new xn(a,e)])});s.on("error",o),s.listen(n,()=>{s.removeListener("error",o),i({onConnected:()=>r})})})}de.createClientPipeTransport=Pw;function Rw(n,e="utf-8"){let t=(0,bo.createConnection)(n);return[new Sn(t,e),new xn(t,e)]}de.createServerPipeTransport=Rw;function Ew(n,e="utf-8"){let t,r=new Promise((i,o)=>{t=i});return new Promise((i,o)=>{let s=(0,bo.createServer)(a=>{s.close(),t([new Sn(a,e),new xn(a,e)])});s.on("error",o),s.listen(n,"127.0.0.1",()=>{s.removeListener("error",o),i({onConnected:()=>r})})})}de.createClientSocketTransport=Ew;function Sw(n,e="utf-8"){let t=(0,bo.createConnection)(n,"127.0.0.1");return[new Sn(t,e),new xn(t,e)]}de.createServerSocketTransport=Sw;function xw(n){let e=n;return e.read!==void 0&&e.addListener!==void 0}function Lw(n){let e=n;return e.write!==void 0&&e.addListener!==void 0}function Dw(n,e,t,r){t||(t=gt.NullLogger);let i=xw(n)?new go(n):n,o=Lw(e)?new _o(e):e;return gt.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,gt.createMessageConnection)(i,o,t,r)}de.createMessageConnection=Dw});var Bc=I((L0,Hf)=>{"use strict";Hf.exports=Ln()});var vo=I((Kf,yo)=>{"use strict";(function(n){if(typeof yo=="object"&&typeof yo.exports=="object"){var e=n(ut,Kf);e!==void 0&&(yo.exports=e)}else typeof define=="function"&&define.amd&&define(["require","exports"],n)})(function(n,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextDocument=e.EOL=e.WorkspaceFolder=e.InlineCompletionContext=e.SelectedCompletionInfo=e.InlineCompletionTriggerKind=e.InlineCompletionList=e.InlineCompletionItem=e.StringValue=e.InlayHint=e.InlayHintLabelPart=e.InlayHintKind=e.InlineValueContext=e.InlineValueEvaluatableExpression=e.InlineValueVariableLookup=e.InlineValueText=e.SemanticTokens=e.SemanticTokenModifiers=e.SemanticTokenTypes=e.SelectionRange=e.DocumentLink=e.FormattingOptions=e.CodeLens=e.CodeAction=e.CodeActionContext=e.CodeActionTriggerKind=e.CodeActionKind=e.DocumentSymbol=e.WorkspaceSymbol=e.SymbolInformation=e.SymbolTag=e.SymbolKind=e.DocumentHighlight=e.DocumentHighlightKind=e.SignatureInformation=e.ParameterInformation=e.Hover=e.MarkedString=e.CompletionList=e.CompletionItem=e.CompletionItemLabelDetails=e.InsertTextMode=e.InsertReplaceEdit=e.CompletionItemTag=e.InsertTextFormat=e.CompletionItemKind=e.MarkupContent=e.MarkupKind=e.TextDocumentItem=e.OptionalVersionedTextDocumentIdentifier=e.VersionedTextDocumentIdentifier=e.TextDocumentIdentifier=e.WorkspaceChange=e.WorkspaceEdit=e.DeleteFile=e.RenameFile=e.CreateFile=e.TextDocumentEdit=e.AnnotatedTextEdit=e.ChangeAnnotationIdentifier=e.ChangeAnnotation=e.TextEdit=e.Command=e.Diagnostic=e.CodeDescription=e.DiagnosticTag=e.DiagnosticSeverity=e.DiagnosticRelatedInformation=e.FoldingRange=e.FoldingRangeKind=e.ColorPresentation=e.ColorInformation=e.Color=e.LocationLink=e.Location=e.Range=e.Position=e.uinteger=e.integer=e.URI=e.DocumentUri=void 0;var t;(function(u){function g(y){return typeof y=="string"}u.is=g})(t||(e.DocumentUri=t={}));var r;(function(u){function g(y){return typeof y=="string"}u.is=g})(r||(e.URI=r={}));var i;(function(u){u.MIN_VALUE=-2147483648,u.MAX_VALUE=2147483647;function g(y){return typeof y=="number"&&u.MIN_VALUE<=y&&y<=u.MAX_VALUE}u.is=g})(i||(e.integer=i={}));var o;(function(u){u.MIN_VALUE=0,u.MAX_VALUE=2147483647;function g(y){return typeof y=="number"&&u.MIN_VALUE<=y&&y<=u.MAX_VALUE}u.is=g})(o||(e.uinteger=o={}));var s;(function(u){function g(f,c){return f===Number.MAX_VALUE&&(f=o.MAX_VALUE),c===Number.MAX_VALUE&&(c=o.MAX_VALUE),{line:f,character:c}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&R.uinteger(c.line)&&R.uinteger(c.character)}u.is=y})(s||(e.Position=s={}));var a;(function(u){function g(f,c,P,T){if(R.uinteger(f)&&R.uinteger(c)&&R.uinteger(P)&&R.uinteger(T))return{start:s.create(f,c),end:s.create(P,T)};if(s.is(f)&&s.is(c))return{start:f,end:c};throw new Error("Range#create called with invalid arguments[".concat(f,", ").concat(c,", ").concat(P,", ").concat(T,"]"))}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&s.is(c.start)&&s.is(c.end)}u.is=y})(a||(e.Range=a={}));var d;(function(u){function g(f,c){return{uri:f,range:c}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&a.is(c.range)&&(R.string(c.uri)||R.undefined(c.uri))}u.is=y})(d||(e.Location=d={}));var l;(function(u){function g(f,c,P,T){return{targetUri:f,targetRange:c,targetSelectionRange:P,originSelectionRange:T}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&a.is(c.targetRange)&&R.string(c.targetUri)&&a.is(c.targetSelectionRange)&&(a.is(c.originSelectionRange)||R.undefined(c.originSelectionRange))}u.is=y})(l||(e.LocationLink=l={}));var h;(function(u){function g(f,c,P,T){return{red:f,green:c,blue:P,alpha:T}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&R.numberRange(c.red,0,1)&&R.numberRange(c.green,0,1)&&R.numberRange(c.blue,0,1)&&R.numberRange(c.alpha,0,1)}u.is=y})(h||(e.Color=h={}));var v;(function(u){function g(f,c){return{range:f,color:c}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&a.is(c.range)&&h.is(c.color)}u.is=y})(v||(e.ColorInformation=v={}));var w;(function(u){function g(f,c,P){return{label:f,textEdit:c,additionalTextEdits:P}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&R.string(c.label)&&(R.undefined(c.textEdit)||Q.is(c))&&(R.undefined(c.additionalTextEdits)||R.typedArray(c.additionalTextEdits,Q.is))}u.is=y})(w||(e.ColorPresentation=w={}));var _;(function(u){u.Comment="comment",u.Imports="imports",u.Region="region"})(_||(e.FoldingRangeKind=_={}));var L;(function(u){function g(f,c,P,T,ie,$e){var we={startLine:f,endLine:c};return R.defined(P)&&(we.startCharacter=P),R.defined(T)&&(we.endCharacter=T),R.defined(ie)&&(we.kind=ie),R.defined($e)&&(we.collapsedText=$e),we}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&R.uinteger(c.startLine)&&R.uinteger(c.startLine)&&(R.undefined(c.startCharacter)||R.uinteger(c.startCharacter))&&(R.undefined(c.endCharacter)||R.uinteger(c.endCharacter))&&(R.undefined(c.kind)||R.string(c.kind))}u.is=y})(L||(e.FoldingRange=L={}));var k;(function(u){function g(f,c){return{location:f,message:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&d.is(c.location)&&R.string(c.message)}u.is=y})(k||(e.DiagnosticRelatedInformation=k={}));var X;(function(u){u.Error=1,u.Warning=2,u.Information=3,u.Hint=4})(X||(e.DiagnosticSeverity=X={}));var fe;(function(u){u.Unnecessary=1,u.Deprecated=2})(fe||(e.DiagnosticTag=fe={}));var B;(function(u){function g(y){var f=y;return R.objectLiteral(f)&&R.string(f.href)}u.is=g})(B||(e.CodeDescription=B={}));var ee;(function(u){function g(f,c,P,T,ie,$e){var we={range:f,message:c};return R.defined(P)&&(we.severity=P),R.defined(T)&&(we.code=T),R.defined(ie)&&(we.source=ie),R.defined($e)&&(we.relatedInformation=$e),we}u.create=g;function y(f){var c,P=f;return R.defined(P)&&a.is(P.range)&&R.string(P.message)&&(R.number(P.severity)||R.undefined(P.severity))&&(R.integer(P.code)||R.string(P.code)||R.undefined(P.code))&&(R.undefined(P.codeDescription)||R.string((c=P.codeDescription)===null||c===void 0?void 0:c.href))&&(R.string(P.source)||R.undefined(P.source))&&(R.undefined(P.relatedInformation)||R.typedArray(P.relatedInformation,k.is))}u.is=y})(ee||(e.Diagnostic=ee={}));var ae;(function(u){function g(f,c){for(var P=[],T=2;T<arguments.length;T++)P[T-2]=arguments[T];var ie={title:f,command:c};return R.defined(P)&&P.length>0&&(ie.arguments=P),ie}u.create=g;function y(f){var c=f;return R.defined(c)&&R.string(c.title)&&R.string(c.command)}u.is=y})(ae||(e.Command=ae={}));var Q;(function(u){function g(P,T){return{range:P,newText:T}}u.replace=g;function y(P,T){return{range:{start:P,end:P},newText:T}}u.insert=y;function f(P){return{range:P,newText:""}}u.del=f;function c(P){var T=P;return R.objectLiteral(T)&&R.string(T.newText)&&a.is(T.range)}u.is=c})(Q||(e.TextEdit=Q={}));var te;(function(u){function g(f,c,P){var T={label:f};return c!==void 0&&(T.needsConfirmation=c),P!==void 0&&(T.description=P),T}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&R.string(c.label)&&(R.boolean(c.needsConfirmation)||c.needsConfirmation===void 0)&&(R.string(c.description)||c.description===void 0)}u.is=y})(te||(e.ChangeAnnotation=te={}));var _e;(function(u){function g(y){var f=y;return R.string(f)}u.is=g})(_e||(e.ChangeAnnotationIdentifier=_e={}));var Ae;(function(u){function g(P,T,ie){return{range:P,newText:T,annotationId:ie}}u.replace=g;function y(P,T,ie){return{range:{start:P,end:P},newText:T,annotationId:ie}}u.insert=y;function f(P,T){return{range:P,newText:"",annotationId:T}}u.del=f;function c(P){var T=P;return Q.is(T)&&(te.is(T.annotationId)||_e.is(T.annotationId))}u.is=c})(Ae||(e.AnnotatedTextEdit=Ae={}));var qe;(function(u){function g(f,c){return{textDocument:f,edits:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&z.is(c.textDocument)&&Array.isArray(c.edits)}u.is=y})(qe||(e.TextDocumentEdit=qe={}));var Qe;(function(u){function g(f,c,P){var T={kind:"create",uri:f};return c!==void 0&&(c.overwrite!==void 0||c.ignoreIfExists!==void 0)&&(T.options=c),P!==void 0&&(T.annotationId=P),T}u.create=g;function y(f){var c=f;return c&&c.kind==="create"&&R.string(c.uri)&&(c.options===void 0||(c.options.overwrite===void 0||R.boolean(c.options.overwrite))&&(c.options.ignoreIfExists===void 0||R.boolean(c.options.ignoreIfExists)))&&(c.annotationId===void 0||_e.is(c.annotationId))}u.is=y})(Qe||(e.CreateFile=Qe={}));var O;(function(u){function g(f,c,P,T){var ie={kind:"rename",oldUri:f,newUri:c};return P!==void 0&&(P.overwrite!==void 0||P.ignoreIfExists!==void 0)&&(ie.options=P),T!==void 0&&(ie.annotationId=T),ie}u.create=g;function y(f){var c=f;return c&&c.kind==="rename"&&R.string(c.oldUri)&&R.string(c.newUri)&&(c.options===void 0||(c.options.overwrite===void 0||R.boolean(c.options.overwrite))&&(c.options.ignoreIfExists===void 0||R.boolean(c.options.ignoreIfExists)))&&(c.annotationId===void 0||_e.is(c.annotationId))}u.is=y})(O||(e.RenameFile=O={}));var E;(function(u){function g(f,c,P){var T={kind:"delete",uri:f};return c!==void 0&&(c.recursive!==void 0||c.ignoreIfNotExists!==void 0)&&(T.options=c),P!==void 0&&(T.annotationId=P),T}u.create=g;function y(f){var c=f;return c&&c.kind==="delete"&&R.string(c.uri)&&(c.options===void 0||(c.options.recursive===void 0||R.boolean(c.options.recursive))&&(c.options.ignoreIfNotExists===void 0||R.boolean(c.options.ignoreIfNotExists)))&&(c.annotationId===void 0||_e.is(c.annotationId))}u.is=y})(E||(e.DeleteFile=E={}));var F;(function(u){function g(y){var f=y;return f&&(f.changes!==void 0||f.documentChanges!==void 0)&&(f.documentChanges===void 0||f.documentChanges.every(function(c){return R.string(c.kind)?Qe.is(c)||O.is(c)||E.is(c):qe.is(c)}))}u.is=g})(F||(e.WorkspaceEdit=F={}));var j=function(){function u(g,y){this.edits=g,this.changeAnnotations=y}return u.prototype.insert=function(g,y,f){var c,P;if(f===void 0?c=Q.insert(g,y):_e.is(f)?(P=f,c=Ae.insert(g,y,f)):(this.assertChangeAnnotations(this.changeAnnotations),P=this.changeAnnotations.manage(f),c=Ae.insert(g,y,P)),this.edits.push(c),P!==void 0)return P},u.prototype.replace=function(g,y,f){var c,P;if(f===void 0?c=Q.replace(g,y):_e.is(f)?(P=f,c=Ae.replace(g,y,f)):(this.assertChangeAnnotations(this.changeAnnotations),P=this.changeAnnotations.manage(f),c=Ae.replace(g,y,P)),this.edits.push(c),P!==void 0)return P},u.prototype.delete=function(g,y){var f,c;if(y===void 0?f=Q.del(g):_e.is(y)?(c=y,f=Ae.del(g,y)):(this.assertChangeAnnotations(this.changeAnnotations),c=this.changeAnnotations.manage(y),f=Ae.del(g,c)),this.edits.push(f),c!==void 0)return c},u.prototype.add=function(g){this.edits.push(g)},u.prototype.all=function(){return this.edits},u.prototype.clear=function(){this.edits.splice(0,this.edits.length)},u.prototype.assertChangeAnnotations=function(g){if(g===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},u}(),x=function(){function u(g){this._annotations=g===void 0?Object.create(null):g,this._counter=0,this._size=0}return u.prototype.all=function(){return this._annotations},Object.defineProperty(u.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),u.prototype.manage=function(g,y){var f;if(_e.is(g)?f=g:(f=this.nextId(),y=g),this._annotations[f]!==void 0)throw new Error("Id ".concat(f," is already in use."));if(y===void 0)throw new Error("No annotation provided for id ".concat(f));return this._annotations[f]=y,this._size++,f},u.prototype.nextId=function(){return this._counter++,this._counter.toString()},u}(),A=function(){function u(g){var y=this;this._textEditChanges=Object.create(null),g!==void 0?(this._workspaceEdit=g,g.documentChanges?(this._changeAnnotations=new x(g.changeAnnotations),g.changeAnnotations=this._changeAnnotations.all(),g.documentChanges.forEach(function(f){if(qe.is(f)){var c=new j(f.edits,y._changeAnnotations);y._textEditChanges[f.textDocument.uri]=c}})):g.changes&&Object.keys(g.changes).forEach(function(f){var c=new j(g.changes[f]);y._textEditChanges[f]=c})):this._workspaceEdit={}}return Object.defineProperty(u.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),u.prototype.getTextEditChange=function(g){if(z.is(g)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var y={uri:g.uri,version:g.version},f=this._textEditChanges[y.uri];if(!f){var c=[],P={textDocument:y,edits:c};this._workspaceEdit.documentChanges.push(P),f=new j(c,this._changeAnnotations),this._textEditChanges[y.uri]=f}return f}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var f=this._textEditChanges[g];if(!f){var c=[];this._workspaceEdit.changes[g]=c,f=new j(c),this._textEditChanges[g]=f}return f}},u.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new x,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},u.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},u.prototype.createFile=function(g,y,f){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var c;te.is(y)||_e.is(y)?c=y:f=y;var P,T;if(c===void 0?P=Qe.create(g,f):(T=_e.is(c)?c:this._changeAnnotations.manage(c),P=Qe.create(g,f,T)),this._workspaceEdit.documentChanges.push(P),T!==void 0)return T},u.prototype.renameFile=function(g,y,f,c){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var P;te.is(f)||_e.is(f)?P=f:c=f;var T,ie;if(P===void 0?T=O.create(g,y,c):(ie=_e.is(P)?P:this._changeAnnotations.manage(P),T=O.create(g,y,c,ie)),this._workspaceEdit.documentChanges.push(T),ie!==void 0)return ie},u.prototype.deleteFile=function(g,y,f){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var c;te.is(y)||_e.is(y)?c=y:f=y;var P,T;if(c===void 0?P=E.create(g,f):(T=_e.is(c)?c:this._changeAnnotations.manage(c),P=E.create(g,f,T)),this._workspaceEdit.documentChanges.push(P),T!==void 0)return T},u}();e.WorkspaceChange=A;var C;(function(u){function g(f){return{uri:f}}u.create=g;function y(f){var c=f;return R.defined(c)&&R.string(c.uri)}u.is=y})(C||(e.TextDocumentIdentifier=C={}));var N;(function(u){function g(f,c){return{uri:f,version:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&R.string(c.uri)&&R.integer(c.version)}u.is=y})(N||(e.VersionedTextDocumentIdentifier=N={}));var z;(function(u){function g(f,c){return{uri:f,version:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&R.string(c.uri)&&(c.version===null||R.integer(c.version))}u.is=y})(z||(e.OptionalVersionedTextDocumentIdentifier=z={}));var q;(function(u){function g(f,c,P,T){return{uri:f,languageId:c,version:P,text:T}}u.create=g;function y(f){var c=f;return R.defined(c)&&R.string(c.uri)&&R.string(c.languageId)&&R.integer(c.version)&&R.string(c.text)}u.is=y})(q||(e.TextDocumentItem=q={}));var ne;(function(u){u.PlainText="plaintext",u.Markdown="markdown";function g(y){var f=y;return f===u.PlainText||f===u.Markdown}u.is=g})(ne||(e.MarkupKind=ne={}));var re;(function(u){function g(y){var f=y;return R.objectLiteral(y)&&ne.is(f.kind)&&R.string(f.value)}u.is=g})(re||(e.MarkupContent=re={}));var Me;(function(u){u.Text=1,u.Method=2,u.Function=3,u.Constructor=4,u.Field=5,u.Variable=6,u.Class=7,u.Interface=8,u.Module=9,u.Property=10,u.Unit=11,u.Value=12,u.Enum=13,u.Keyword=14,u.Snippet=15,u.Color=16,u.File=17,u.Reference=18,u.Folder=19,u.EnumMember=20,u.Constant=21,u.Struct=22,u.Event=23,u.Operator=24,u.TypeParameter=25})(Me||(e.CompletionItemKind=Me={}));var he;(function(u){u.PlainText=1,u.Snippet=2})(he||(e.InsertTextFormat=he={}));var Ye;(function(u){u.Deprecated=1})(Ye||(e.CompletionItemTag=Ye={}));var It;(function(u){function g(f,c,P){return{newText:f,insert:c,replace:P}}u.create=g;function y(f){var c=f;return c&&R.string(c.newText)&&a.is(c.insert)&&a.is(c.replace)}u.is=y})(It||(e.InsertReplaceEdit=It={}));var Vr;(function(u){u.asIs=1,u.adjustIndentation=2})(Vr||(e.InsertTextMode=Vr={}));var Wr;(function(u){function g(y){var f=y;return f&&(R.string(f.detail)||f.detail===void 0)&&(R.string(f.description)||f.description===void 0)}u.is=g})(Wr||(e.CompletionItemLabelDetails=Wr={}));var zr;(function(u){function g(y){return{label:y}}u.create=g})(zr||(e.CompletionItem=zr={}));var Hr;(function(u){function g(y,f){return{items:y||[],isIncomplete:!!f}}u.create=g})(Hr||(e.CompletionList=Hr={}));var Tn;(function(u){function g(f){return f.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}u.fromPlainText=g;function y(f){var c=f;return R.string(c)||R.objectLiteral(c)&&R.string(c.language)&&R.string(c.value)}u.is=y})(Tn||(e.MarkedString=Tn={}));var St;(function(u){function g(y){var f=y;return!!f&&R.objectLiteral(f)&&(re.is(f.contents)||Tn.is(f.contents)||R.typedArray(f.contents,Tn.is))&&(y.range===void 0||a.is(y.range))}u.is=g})(St||(e.Hover=St={}));var Kr;(function(u){function g(y,f){return f?{label:y,documentation:f}:{label:y}}u.create=g})(Kr||(e.ParameterInformation=Kr={}));var Gr;(function(u){function g(y,f){for(var c=[],P=2;P<arguments.length;P++)c[P-2]=arguments[P];var T={label:y};return R.defined(f)&&(T.documentation=f),R.defined(c)?T.parameters=c:T.parameters=[],T}u.create=g})(Gr||(e.SignatureInformation=Gr={}));var gn;(function(u){u.Text=1,u.Read=2,u.Write=3})(gn||(e.DocumentHighlightKind=gn={}));var Xr;(function(u){function g(y,f){var c={range:y};return R.number(f)&&(c.kind=f),c}u.create=g})(Xr||(e.DocumentHighlight=Xr={}));var In;(function(u){u.File=1,u.Module=2,u.Namespace=3,u.Package=4,u.Class=5,u.Method=6,u.Property=7,u.Field=8,u.Constructor=9,u.Enum=10,u.Interface=11,u.Function=12,u.Variable=13,u.Constant=14,u.String=15,u.Number=16,u.Boolean=17,u.Array=18,u.Object=19,u.Key=20,u.Null=21,u.EnumMember=22,u.Struct=23,u.Event=24,u.Operator=25,u.TypeParameter=26})(In||(e.SymbolKind=In={}));var Zr;(function(u){u.Deprecated=1})(Zr||(e.SymbolTag=Zr={}));var jt;(function(u){function g(y,f,c,P,T){var ie={name:y,kind:f,location:{uri:P,range:c}};return T&&(ie.containerName=T),ie}u.create=g})(jt||(e.SymbolInformation=jt={}));var Zt;(function(u){function g(y,f,c,P){return P!==void 0?{name:y,kind:f,location:{uri:c,range:P}}:{name:y,kind:f,location:{uri:c}}}u.create=g})(Zt||(e.WorkspaceSymbol=Zt={}));var Jr;(function(u){function g(f,c,P,T,ie,$e){var we={name:f,detail:c,kind:P,range:T,selectionRange:ie};return $e!==void 0&&(we.children=$e),we}u.create=g;function y(f){var c=f;return c&&R.string(c.name)&&R.number(c.kind)&&a.is(c.range)&&a.is(c.selectionRange)&&(c.detail===void 0||R.string(c.detail))&&(c.deprecated===void 0||R.boolean(c.deprecated))&&(c.children===void 0||Array.isArray(c.children))&&(c.tags===void 0||Array.isArray(c.tags))}u.is=y})(Jr||(e.DocumentSymbol=Jr={}));var Qr;(function(u){u.Empty="",u.QuickFix="quickfix",u.Refactor="refactor",u.RefactorExtract="refactor.extract",u.RefactorInline="refactor.inline",u.RefactorRewrite="refactor.rewrite",u.Source="source",u.SourceOrganizeImports="source.organizeImports",u.SourceFixAll="source.fixAll"})(Qr||(e.CodeActionKind=Qr={}));var At;(function(u){u.Invoked=1,u.Automatic=2})(At||(e.CodeActionTriggerKind=At={}));var dr;(function(u){function g(f,c,P){var T={diagnostics:f};return c!=null&&(T.only=c),P!=null&&(T.triggerKind=P),T}u.create=g;function y(f){var c=f;return R.defined(c)&&R.typedArray(c.diagnostics,ee.is)&&(c.only===void 0||R.typedArray(c.only,R.string))&&(c.triggerKind===void 0||c.triggerKind===At.Invoked||c.triggerKind===At.Automatic)}u.is=y})(dr||(e.CodeActionContext=dr={}));var fr;(function(u){function g(f,c,P){var T={title:f},ie=!0;return typeof c=="string"?(ie=!1,T.kind=c):ae.is(c)?T.command=c:T.edit=c,ie&&P!==void 0&&(T.kind=P),T}u.create=g;function y(f){var c=f;return c&&R.string(c.title)&&(c.diagnostics===void 0||R.typedArray(c.diagnostics,ee.is))&&(c.kind===void 0||R.string(c.kind))&&(c.edit!==void 0||c.command!==void 0)&&(c.command===void 0||ae.is(c.command))&&(c.isPreferred===void 0||R.boolean(c.isPreferred))&&(c.edit===void 0||F.is(c.edit))}u.is=y})(fr||(e.CodeAction=fr={}));var An;(function(u){function g(f,c){var P={range:f};return R.defined(c)&&(P.data=c),P}u.create=g;function y(f){var c=f;return R.defined(c)&&a.is(c.range)&&(R.undefined(c.command)||ae.is(c.command))}u.is=y})(An||(e.CodeLens=An={}));var pr;(function(u){function g(f,c){return{tabSize:f,insertSpaces:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&R.uinteger(c.tabSize)&&R.boolean(c.insertSpaces)}u.is=y})(pr||(e.FormattingOptions=pr={}));var Bt;(function(u){function g(f,c,P){return{range:f,target:c,data:P}}u.create=g;function y(f){var c=f;return R.defined(c)&&a.is(c.range)&&(R.undefined(c.target)||R.string(c.target))}u.is=y})(Bt||(e.DocumentLink=Bt={}));var m;(function(u){function g(f,c){return{range:f,parent:c}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&a.is(c.range)&&(c.parent===void 0||u.is(c.parent))}u.is=y})(m||(e.SelectionRange=m={}));var D;(function(u){u.namespace="namespace",u.type="type",u.class="class",u.enum="enum",u.interface="interface",u.struct="struct",u.typeParameter="typeParameter",u.parameter="parameter",u.variable="variable",u.property="property",u.enumMember="enumMember",u.event="event",u.function="function",u.method="method",u.macro="macro",u.keyword="keyword",u.modifier="modifier",u.comment="comment",u.string="string",u.number="number",u.regexp="regexp",u.operator="operator",u.decorator="decorator"})(D||(e.SemanticTokenTypes=D={}));var M;(function(u){u.declaration="declaration",u.definition="definition",u.readonly="readonly",u.static="static",u.deprecated="deprecated",u.abstract="abstract",u.async="async",u.modification="modification",u.documentation="documentation",u.defaultLibrary="defaultLibrary"})(M||(e.SemanticTokenModifiers=M={}));var H;(function(u){function g(y){var f=y;return R.objectLiteral(f)&&(f.resultId===void 0||typeof f.resultId=="string")&&Array.isArray(f.data)&&(f.data.length===0||typeof f.data[0]=="number")}u.is=g})(H||(e.SemanticTokens=H={}));var be;(function(u){function g(f,c){return{range:f,text:c}}u.create=g;function y(f){var c=f;return c!=null&&a.is(c.range)&&R.string(c.text)}u.is=y})(be||(e.InlineValueText=be={}));var ge;(function(u){function g(f,c,P){return{range:f,variableName:c,caseSensitiveLookup:P}}u.create=g;function y(f){var c=f;return c!=null&&a.is(c.range)&&R.boolean(c.caseSensitiveLookup)&&(R.string(c.variableName)||c.variableName===void 0)}u.is=y})(ge||(e.InlineValueVariableLookup=ge={}));var Ee;(function(u){function g(f,c){return{range:f,expression:c}}u.create=g;function y(f){var c=f;return c!=null&&a.is(c.range)&&(R.string(c.expression)||c.expression===void 0)}u.is=y})(Ee||(e.InlineValueEvaluatableExpression=Ee={}));var De;(function(u){function g(f,c){return{frameId:f,stoppedLocation:c}}u.create=g;function y(f){var c=f;return R.defined(c)&&a.is(f.stoppedLocation)}u.is=y})(De||(e.InlineValueContext=De={}));var le;(function(u){u.Type=1,u.Parameter=2;function g(y){return y===1||y===2}u.is=g})(le||(e.InlayHintKind=le={}));var ve;(function(u){function g(f){return{value:f}}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&(c.tooltip===void 0||R.string(c.tooltip)||re.is(c.tooltip))&&(c.location===void 0||d.is(c.location))&&(c.command===void 0||ae.is(c.command))}u.is=y})(ve||(e.InlayHintLabelPart=ve={}));var pe;(function(u){function g(f,c,P){var T={position:f,label:c};return P!==void 0&&(T.kind=P),T}u.create=g;function y(f){var c=f;return R.objectLiteral(c)&&s.is(c.position)&&(R.string(c.label)||R.typedArray(c.label,ve.is))&&(c.kind===void 0||le.is(c.kind))&&c.textEdits===void 0||R.typedArray(c.textEdits,Q.is)&&(c.tooltip===void 0||R.string(c.tooltip)||re.is(c.tooltip))&&(c.paddingLeft===void 0||R.boolean(c.paddingLeft))&&(c.paddingRight===void 0||R.boolean(c.paddingRight))}u.is=y})(pe||(e.InlayHint=pe={}));var Ce;(function(u){function g(y){return{kind:"snippet",value:y}}u.createSnippet=g})(Ce||(e.StringValue=Ce={}));var Fe;(function(u){function g(y,f,c,P){return{insertText:y,filterText:f,range:c,command:P}}u.create=g})(Fe||(e.InlineCompletionItem=Fe={}));var lt;(function(u){function g(y){return{items:y}}u.create=g})(lt||(e.InlineCompletionList=lt={}));var Yr;(function(u){u.Invoked=0,u.Automatic=1})(Yr||(e.InlineCompletionTriggerKind=Yr={}));var ul;(function(u){function g(y,f){return{range:y,text:f}}u.create=g})(ul||(e.SelectedCompletionInfo=ul={}));var dl;(function(u){function g(y,f){return{triggerKind:y,selectedCompletionInfo:f}}u.create=g})(dl||(e.InlineCompletionContext=dl={}));var fl;(function(u){function g(y){var f=y;return R.objectLiteral(f)&&r.is(f.uri)&&R.string(f.name)}u.is=g})(fl||(e.WorkspaceFolder=fl={})),e.EOL=[`
50
50
  `,`\r
51
- `,"\r"];var hl;(function(u){function g(P,T,ie,$e){return new vg(P,T,ie,$e)}u.create=g;function y(P){var T=P;return!!(R.defined(T)&&R.string(T.uri)&&(R.undefined(T.languageId)||R.string(T.languageId))&&R.uinteger(T.lineCount)&&R.func(T.getText)&&R.func(T.positionAt)&&R.func(T.offsetAt))}u.is=y;function f(P,T){for(var ie=P.getText(),$e=c(T,function(An,ei){var ml=An.range.start.line-ei.range.start.line;return ml===0?An.range.start.character-ei.range.start.character:ml}),we=ie.length,xt=$e.length-1;xt>=0;xt--){var b=$e[xt],Ut=P.offsetAt(b.range.start),ue=P.offsetAt(b.range.end);if(ue<=we)ie=ie.substring(0,Ut)+b.newText+ie.substring(ue,ie.length);else throw new Error("Overlapping edit");we=Ut}return ie}u.applyEdits=f;function c(P,T){if(P.length<=1)return P;var ie=P.length/2|0,$e=P.slice(0,ie),we=P.slice(ie);c($e,T),c(we,T);for(var xt=0,b=0,Ut=0;xt<$e.length&&b<we.length;){var ue=T($e[xt],we[b]);ue<=0?P[Ut++]=$e[xt++]:P[Ut++]=we[b++]}for(;xt<$e.length;)P[Ut++]=$e[xt++];for(;b<we.length;)P[Ut++]=we[b++];return P}})(hl||(e.TextDocument=hl={}));var vg=function(){function u(g,y,f,c){this._uri=g,this._languageId=y,this._version=f,this._content=c,this._lineOffsets=void 0}return Object.defineProperty(u.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(u.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(u.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),u.prototype.getText=function(g){if(g){var y=this.offsetAt(g.start),f=this.offsetAt(g.end);return this._content.substring(y,f)}return this._content},u.prototype.update=function(g,y){this._content=g.text,this._version=y,this._lineOffsets=void 0},u.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var g=[],y=this._content,f=!0,c=0;c<y.length;c++){f&&(g.push(c),f=!1);var P=y.charAt(c);f=P==="\r"||P===`
51
+ `,"\r"];var pl;(function(u){function g(P,T,ie,$e){return new yg(P,T,ie,$e)}u.create=g;function y(P){var T=P;return!!(R.defined(T)&&R.string(T.uri)&&(R.undefined(T.languageId)||R.string(T.languageId))&&R.uinteger(T.lineCount)&&R.func(T.getText)&&R.func(T.positionAt)&&R.func(T.offsetAt))}u.is=y;function f(P,T){for(var ie=P.getText(),$e=c(T,function(Cn,ei){var hl=Cn.range.start.line-ei.range.start.line;return hl===0?Cn.range.start.character-ei.range.start.character:hl}),we=ie.length,xt=$e.length-1;xt>=0;xt--){var b=$e[xt],Ut=P.offsetAt(b.range.start),ue=P.offsetAt(b.range.end);if(ue<=we)ie=ie.substring(0,Ut)+b.newText+ie.substring(ue,ie.length);else throw new Error("Overlapping edit");we=Ut}return ie}u.applyEdits=f;function c(P,T){if(P.length<=1)return P;var ie=P.length/2|0,$e=P.slice(0,ie),we=P.slice(ie);c($e,T),c(we,T);for(var xt=0,b=0,Ut=0;xt<$e.length&&b<we.length;){var ue=T($e[xt],we[b]);ue<=0?P[Ut++]=$e[xt++]:P[Ut++]=we[b++]}for(;xt<$e.length;)P[Ut++]=$e[xt++];for(;b<we.length;)P[Ut++]=we[b++];return P}})(pl||(e.TextDocument=pl={}));var yg=function(){function u(g,y,f,c){this._uri=g,this._languageId=y,this._version=f,this._content=c,this._lineOffsets=void 0}return Object.defineProperty(u.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(u.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(u.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),u.prototype.getText=function(g){if(g){var y=this.offsetAt(g.start),f=this.offsetAt(g.end);return this._content.substring(y,f)}return this._content},u.prototype.update=function(g,y){this._content=g.text,this._version=y,this._lineOffsets=void 0},u.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var g=[],y=this._content,f=!0,c=0;c<y.length;c++){f&&(g.push(c),f=!1);var P=y.charAt(c);f=P==="\r"||P===`
52
52
  `,P==="\r"&&c+1<y.length&&y.charAt(c+1)===`
53
- `&&c++}f&&y.length>0&&g.push(y.length),this._lineOffsets=g}return this._lineOffsets},u.prototype.positionAt=function(g){g=Math.max(Math.min(g,this._content.length),0);var y=this.getLineOffsets(),f=0,c=y.length;if(c===0)return s.create(0,g);for(;f<c;){var P=Math.floor((f+c)/2);y[P]>g?c=P:f=P+1}var T=f-1;return s.create(T,g-y[T])},u.prototype.offsetAt=function(g){var y=this.getLineOffsets();if(g.line>=y.length)return this._content.length;if(g.line<0)return 0;var f=y[g.line],c=g.line+1<y.length?y[g.line+1]:this._content.length;return Math.max(Math.min(f+g.character,c),f)},Object.defineProperty(u.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),u}(),R;(function(u){var g=Object.prototype.toString;function y(ue){return typeof ue<"u"}u.defined=y;function f(ue){return typeof ue>"u"}u.undefined=f;function c(ue){return ue===!0||ue===!1}u.boolean=c;function P(ue){return g.call(ue)==="[object String]"}u.string=P;function T(ue){return g.call(ue)==="[object Number]"}u.number=T;function ie(ue,An,ei){return g.call(ue)==="[object Number]"&&An<=ue&&ue<=ei}u.numberRange=ie;function $e(ue){return g.call(ue)==="[object Number]"&&-2147483648<=ue&&ue<=2147483647}u.integer=$e;function we(ue){return g.call(ue)==="[object Number]"&&0<=ue&&ue<=2147483647}u.uinteger=we;function xt(ue){return g.call(ue)==="[object Function]"}u.func=xt;function b(ue){return ue!==null&&typeof ue=="object"}u.objectLiteral=b;function Ut(ue,An){return Array.isArray(ue)&&ue.every(An)}u.typedArray=Ut})(R||(R={}))})});var Te=I(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.ProtocolNotificationType=st.ProtocolNotificationType0=st.ProtocolRequestType=st.ProtocolRequestType0=st.RegistrationType=st.MessageDirection=void 0;var er=Ln(),Xf;(function(n){n.clientToServer="clientToServer",n.serverToClient="serverToClient",n.both="both"})(Xf||(st.MessageDirection=Xf={}));var Vc=class{constructor(e){this.method=e}};st.RegistrationType=Vc;var Wc=class extends er.RequestType0{constructor(e){super(e)}};st.ProtocolRequestType0=Wc;var zc=class extends er.RequestType{constructor(e){super(e,er.ParameterStructures.byName)}};st.ProtocolRequestType=zc;var Hc=class extends er.NotificationType0{constructor(e){super(e)}};st.ProtocolNotificationType0=Hc;var Kc=class extends er.NotificationType{constructor(e){super(e,er.ParameterStructures.byName)}};st.ProtocolNotificationType=Kc});var wo=I(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.objectLiteral=Ne.typedArray=Ne.stringArray=Ne.array=Ne.func=Ne.error=Ne.number=Ne.string=Ne.boolean=void 0;function kw(n){return n===!0||n===!1}Ne.boolean=kw;function Jf(n){return typeof n=="string"||n instanceof String}Ne.string=Jf;function Tw(n){return typeof n=="number"||n instanceof Number}Ne.number=Tw;function Iw(n){return n instanceof Error}Ne.error=Iw;function Cw(n){return typeof n=="function"}Ne.func=Cw;function Qf(n){return Array.isArray(n)}Ne.array=Qf;function Aw(n){return Qf(n)&&n.every(e=>Jf(e))}Ne.stringArray=Aw;function $w(n,e){return Array.isArray(n)&&n.every(e)}Ne.typedArray=$w;function Ow(n){return n!==null&&typeof n=="object"}Ne.objectLiteral=Ow});var ep=I(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.ImplementationRequest=void 0;var Zf=Te(),Yf;(function(n){n.method="textDocument/implementation",n.messageDirection=Zf.MessageDirection.clientToServer,n.type=new Zf.ProtocolRequestType(n.method)})(Yf||(Po.ImplementationRequest=Yf={}))});var rp=I(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.TypeDefinitionRequest=void 0;var tp=Te(),np;(function(n){n.method="textDocument/typeDefinition",n.messageDirection=tp.MessageDirection.clientToServer,n.type=new tp.ProtocolRequestType(n.method)})(np||(Ro.TypeDefinitionRequest=np={}))});var sp=I(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.DidChangeWorkspaceFoldersNotification=tr.WorkspaceFoldersRequest=void 0;var Eo=Te(),ip;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=Eo.MessageDirection.serverToClient,n.type=new Eo.ProtocolRequestType0(n.method)})(ip||(tr.WorkspaceFoldersRequest=ip={}));var op;(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=Eo.MessageDirection.clientToServer,n.type=new Eo.ProtocolNotificationType(n.method)})(op||(tr.DidChangeWorkspaceFoldersNotification=op={}))});var lp=I(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.ConfigurationRequest=void 0;var ap=Te(),cp;(function(n){n.method="workspace/configuration",n.messageDirection=ap.MessageDirection.serverToClient,n.type=new ap.ProtocolRequestType(n.method)})(cp||(So.ConfigurationRequest=cp={}))});var fp=I(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.ColorPresentationRequest=nr.DocumentColorRequest=void 0;var xo=Te(),up;(function(n){n.method="textDocument/documentColor",n.messageDirection=xo.MessageDirection.clientToServer,n.type=new xo.ProtocolRequestType(n.method)})(up||(nr.DocumentColorRequest=up={}));var dp;(function(n){n.method="textDocument/colorPresentation",n.messageDirection=xo.MessageDirection.clientToServer,n.type=new xo.ProtocolRequestType(n.method)})(dp||(nr.ColorPresentationRequest=dp={}))});var mp=I(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.FoldingRangeRefreshRequest=rr.FoldingRangeRequest=void 0;var Lo=Te(),pp;(function(n){n.method="textDocument/foldingRange",n.messageDirection=Lo.MessageDirection.clientToServer,n.type=new Lo.ProtocolRequestType(n.method)})(pp||(rr.FoldingRangeRequest=pp={}));var hp;(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=Lo.MessageDirection.serverToClient,n.type=new Lo.ProtocolRequestType0(n.method)})(hp||(rr.FoldingRangeRefreshRequest=hp={}))});var bp=I(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.DeclarationRequest=void 0;var gp=Te(),_p;(function(n){n.method="textDocument/declaration",n.messageDirection=gp.MessageDirection.clientToServer,n.type=new gp.ProtocolRequestType(n.method)})(_p||(Do.DeclarationRequest=_p={}))});var wp=I(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.SelectionRangeRequest=void 0;var yp=Te(),vp;(function(n){n.method="textDocument/selectionRange",n.messageDirection=yp.MessageDirection.clientToServer,n.type=new yp.ProtocolRequestType(n.method)})(vp||(ko.SelectionRangeRequest=vp={}))});var Sp=I(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.WorkDoneProgressCancelNotification=dn.WorkDoneProgressCreateRequest=dn.WorkDoneProgress=void 0;var Mw=Ln(),To=Te(),Pp;(function(n){n.type=new Mw.ProgressType;function e(t){return t===n.type}n.is=e})(Pp||(dn.WorkDoneProgress=Pp={}));var Rp;(function(n){n.method="window/workDoneProgress/create",n.messageDirection=To.MessageDirection.serverToClient,n.type=new To.ProtocolRequestType(n.method)})(Rp||(dn.WorkDoneProgressCreateRequest=Rp={}));var Ep;(function(n){n.method="window/workDoneProgress/cancel",n.messageDirection=To.MessageDirection.clientToServer,n.type=new To.ProtocolNotificationType(n.method)})(Ep||(dn.WorkDoneProgressCancelNotification=Ep={}))});var kp=I(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.CallHierarchyOutgoingCallsRequest=fn.CallHierarchyIncomingCallsRequest=fn.CallHierarchyPrepareRequest=void 0;var ir=Te(),xp;(function(n){n.method="textDocument/prepareCallHierarchy",n.messageDirection=ir.MessageDirection.clientToServer,n.type=new ir.ProtocolRequestType(n.method)})(xp||(fn.CallHierarchyPrepareRequest=xp={}));var Lp;(function(n){n.method="callHierarchy/incomingCalls",n.messageDirection=ir.MessageDirection.clientToServer,n.type=new ir.ProtocolRequestType(n.method)})(Lp||(fn.CallHierarchyIncomingCallsRequest=Lp={}));var Dp;(function(n){n.method="callHierarchy/outgoingCalls",n.messageDirection=ir.MessageDirection.clientToServer,n.type=new ir.ProtocolRequestType(n.method)})(Dp||(fn.CallHierarchyOutgoingCallsRequest=Dp={}))});var Op=I(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.SemanticTokensRefreshRequest=at.SemanticTokensRangeRequest=at.SemanticTokensDeltaRequest=at.SemanticTokensRequest=at.SemanticTokensRegistrationType=at.TokenFormat=void 0;var Xt=Te(),Tp;(function(n){n.Relative="relative"})(Tp||(at.TokenFormat=Tp={}));var Nr;(function(n){n.method="textDocument/semanticTokens",n.type=new Xt.RegistrationType(n.method)})(Nr||(at.SemanticTokensRegistrationType=Nr={}));var Ip;(function(n){n.method="textDocument/semanticTokens/full",n.messageDirection=Xt.MessageDirection.clientToServer,n.type=new Xt.ProtocolRequestType(n.method),n.registrationMethod=Nr.method})(Ip||(at.SemanticTokensRequest=Ip={}));var Cp;(function(n){n.method="textDocument/semanticTokens/full/delta",n.messageDirection=Xt.MessageDirection.clientToServer,n.type=new Xt.ProtocolRequestType(n.method),n.registrationMethod=Nr.method})(Cp||(at.SemanticTokensDeltaRequest=Cp={}));var Ap;(function(n){n.method="textDocument/semanticTokens/range",n.messageDirection=Xt.MessageDirection.clientToServer,n.type=new Xt.ProtocolRequestType(n.method),n.registrationMethod=Nr.method})(Ap||(at.SemanticTokensRangeRequest=Ap={}));var $p;(function(n){n.method="workspace/semanticTokens/refresh",n.messageDirection=Xt.MessageDirection.serverToClient,n.type=new Xt.ProtocolRequestType0(n.method)})($p||(at.SemanticTokensRefreshRequest=$p={}))});var Np=I(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.ShowDocumentRequest=void 0;var Mp=Te(),qp;(function(n){n.method="window/showDocument",n.messageDirection=Mp.MessageDirection.serverToClient,n.type=new Mp.ProtocolRequestType(n.method)})(qp||(Io.ShowDocumentRequest=qp={}))});var Bp=I(Co=>{"use strict";Object.defineProperty(Co,"__esModule",{value:!0});Co.LinkedEditingRangeRequest=void 0;var Fp=Te(),jp;(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=Fp.MessageDirection.clientToServer,n.type=new Fp.ProtocolRequestType(n.method)})(jp||(Co.LinkedEditingRangeRequest=jp={}))});var Xp=I(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.WillDeleteFilesRequest=Ge.DidDeleteFilesNotification=Ge.DidRenameFilesNotification=Ge.WillRenameFilesRequest=Ge.DidCreateFilesNotification=Ge.WillCreateFilesRequest=Ge.FileOperationPatternKind=void 0;var Pt=Te(),Up;(function(n){n.file="file",n.folder="folder"})(Up||(Ge.FileOperationPatternKind=Up={}));var Vp;(function(n){n.method="workspace/willCreateFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolRequestType(n.method)})(Vp||(Ge.WillCreateFilesRequest=Vp={}));var Wp;(function(n){n.method="workspace/didCreateFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolNotificationType(n.method)})(Wp||(Ge.DidCreateFilesNotification=Wp={}));var zp;(function(n){n.method="workspace/willRenameFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolRequestType(n.method)})(zp||(Ge.WillRenameFilesRequest=zp={}));var Hp;(function(n){n.method="workspace/didRenameFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolNotificationType(n.method)})(Hp||(Ge.DidRenameFilesNotification=Hp={}));var Kp;(function(n){n.method="workspace/didDeleteFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolNotificationType(n.method)})(Kp||(Ge.DidDeleteFilesNotification=Kp={}));var Gp;(function(n){n.method="workspace/willDeleteFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolRequestType(n.method)})(Gp||(Ge.WillDeleteFilesRequest=Gp={}))});var eh=I(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.MonikerRequest=pn.MonikerKind=pn.UniquenessLevel=void 0;var Jp=Te(),Qp;(function(n){n.document="document",n.project="project",n.group="group",n.scheme="scheme",n.global="global"})(Qp||(pn.UniquenessLevel=Qp={}));var Zp;(function(n){n.$import="import",n.$export="export",n.local="local"})(Zp||(pn.MonikerKind=Zp={}));var Yp;(function(n){n.method="textDocument/moniker",n.messageDirection=Jp.MessageDirection.clientToServer,n.type=new Jp.ProtocolRequestType(n.method)})(Yp||(pn.MonikerRequest=Yp={}))});var ih=I(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.TypeHierarchySubtypesRequest=hn.TypeHierarchySupertypesRequest=hn.TypeHierarchyPrepareRequest=void 0;var or=Te(),th;(function(n){n.method="textDocument/prepareTypeHierarchy",n.messageDirection=or.MessageDirection.clientToServer,n.type=new or.ProtocolRequestType(n.method)})(th||(hn.TypeHierarchyPrepareRequest=th={}));var nh;(function(n){n.method="typeHierarchy/supertypes",n.messageDirection=or.MessageDirection.clientToServer,n.type=new or.ProtocolRequestType(n.method)})(nh||(hn.TypeHierarchySupertypesRequest=nh={}));var rh;(function(n){n.method="typeHierarchy/subtypes",n.messageDirection=or.MessageDirection.clientToServer,n.type=new or.ProtocolRequestType(n.method)})(rh||(hn.TypeHierarchySubtypesRequest=rh={}))});var ah=I(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.InlineValueRefreshRequest=sr.InlineValueRequest=void 0;var Ao=Te(),oh;(function(n){n.method="textDocument/inlineValue",n.messageDirection=Ao.MessageDirection.clientToServer,n.type=new Ao.ProtocolRequestType(n.method)})(oh||(sr.InlineValueRequest=oh={}));var sh;(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=Ao.MessageDirection.serverToClient,n.type=new Ao.ProtocolRequestType0(n.method)})(sh||(sr.InlineValueRefreshRequest=sh={}))});var dh=I(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.InlayHintRefreshRequest=mn.InlayHintResolveRequest=mn.InlayHintRequest=void 0;var ar=Te(),ch;(function(n){n.method="textDocument/inlayHint",n.messageDirection=ar.MessageDirection.clientToServer,n.type=new ar.ProtocolRequestType(n.method)})(ch||(mn.InlayHintRequest=ch={}));var lh;(function(n){n.method="inlayHint/resolve",n.messageDirection=ar.MessageDirection.clientToServer,n.type=new ar.ProtocolRequestType(n.method)})(lh||(mn.InlayHintResolveRequest=lh={}));var uh;(function(n){n.method="workspace/inlayHint/refresh",n.messageDirection=ar.MessageDirection.serverToClient,n.type=new ar.ProtocolRequestType0(n.method)})(uh||(mn.InlayHintRefreshRequest=uh={}))});var bh=I(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.DiagnosticRefreshRequest=Rt.WorkspaceDiagnosticRequest=Rt.DocumentDiagnosticRequest=Rt.DocumentDiagnosticReportKind=Rt.DiagnosticServerCancellationData=void 0;var _h=Ln(),qw=wo(),cr=Te(),fh;(function(n){function e(t){let r=t;return r&&qw.boolean(r.retriggerRequest)}n.is=e})(fh||(Rt.DiagnosticServerCancellationData=fh={}));var ph;(function(n){n.Full="full",n.Unchanged="unchanged"})(ph||(Rt.DocumentDiagnosticReportKind=ph={}));var hh;(function(n){n.method="textDocument/diagnostic",n.messageDirection=cr.MessageDirection.clientToServer,n.type=new cr.ProtocolRequestType(n.method),n.partialResult=new _h.ProgressType})(hh||(Rt.DocumentDiagnosticRequest=hh={}));var mh;(function(n){n.method="workspace/diagnostic",n.messageDirection=cr.MessageDirection.clientToServer,n.type=new cr.ProtocolRequestType(n.method),n.partialResult=new _h.ProgressType})(mh||(Rt.WorkspaceDiagnosticRequest=mh={}));var gh;(function(n){n.method="workspace/diagnostic/refresh",n.messageDirection=cr.MessageDirection.serverToClient,n.type=new cr.ProtocolRequestType0(n.method)})(gh||(Rt.DiagnosticRefreshRequest=gh={}))});var Sh=I(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.DidCloseNotebookDocumentNotification=Oe.DidSaveNotebookDocumentNotification=Oe.DidChangeNotebookDocumentNotification=Oe.NotebookCellArrayChange=Oe.DidOpenNotebookDocumentNotification=Oe.NotebookDocumentSyncRegistrationType=Oe.NotebookDocument=Oe.NotebookCell=Oe.ExecutionSummary=Oe.NotebookCellKind=void 0;var Fr=vo(),Tt=wo(),qt=Te(),Gc;(function(n){n.Markup=1,n.Code=2;function e(t){return t===1||t===2}n.is=e})(Gc||(Oe.NotebookCellKind=Gc={}));var Xc;(function(n){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}n.create=e;function t(i){let o=i;return Tt.objectLiteral(o)&&Fr.uinteger.is(o.executionOrder)&&(o.success===void 0||Tt.boolean(o.success))}n.is=t;function r(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}n.equals=r})(Xc||(Oe.ExecutionSummary=Xc={}));var $o;(function(n){function e(o,s){return{kind:o,document:s}}n.create=e;function t(o){let s=o;return Tt.objectLiteral(s)&&Gc.is(s.kind)&&Fr.DocumentUri.is(s.document)&&(s.metadata===void 0||Tt.objectLiteral(s.metadata))}n.is=t;function r(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!Xc.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}n.diff=r;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),d=Array.isArray(s);if(a!==d)return!1;if(a&&d){if(o.length!==s.length)return!1;for(let l=0;l<o.length;l++)if(!i(o[l],s[l]))return!1}if(Tt.objectLiteral(o)&&Tt.objectLiteral(s)){let l=Object.keys(o),h=Object.keys(s);if(l.length!==h.length||(l.sort(),h.sort(),!i(l,h)))return!1;for(let v=0;v<l.length;v++){let w=l[v];if(!i(o[w],s[w]))return!1}}return!0}})($o||(Oe.NotebookCell=$o={}));var yh;(function(n){function e(r,i,o,s){return{uri:r,notebookType:i,version:o,cells:s}}n.create=e;function t(r){let i=r;return Tt.objectLiteral(i)&&Tt.string(i.uri)&&Fr.integer.is(i.version)&&Tt.typedArray(i.cells,$o.is)}n.is=t})(yh||(Oe.NotebookDocument=yh={}));var lr;(function(n){n.method="notebookDocument/sync",n.messageDirection=qt.MessageDirection.clientToServer,n.type=new qt.RegistrationType(n.method)})(lr||(Oe.NotebookDocumentSyncRegistrationType=lr={}));var vh;(function(n){n.method="notebookDocument/didOpen",n.messageDirection=qt.MessageDirection.clientToServer,n.type=new qt.ProtocolNotificationType(n.method),n.registrationMethod=lr.method})(vh||(Oe.DidOpenNotebookDocumentNotification=vh={}));var wh;(function(n){function e(r){let i=r;return Tt.objectLiteral(i)&&Fr.uinteger.is(i.start)&&Fr.uinteger.is(i.deleteCount)&&(i.cells===void 0||Tt.typedArray(i.cells,$o.is))}n.is=e;function t(r,i,o){let s={start:r,deleteCount:i};return o!==void 0&&(s.cells=o),s}n.create=t})(wh||(Oe.NotebookCellArrayChange=wh={}));var Ph;(function(n){n.method="notebookDocument/didChange",n.messageDirection=qt.MessageDirection.clientToServer,n.type=new qt.ProtocolNotificationType(n.method),n.registrationMethod=lr.method})(Ph||(Oe.DidChangeNotebookDocumentNotification=Ph={}));var Rh;(function(n){n.method="notebookDocument/didSave",n.messageDirection=qt.MessageDirection.clientToServer,n.type=new qt.ProtocolNotificationType(n.method),n.registrationMethod=lr.method})(Rh||(Oe.DidSaveNotebookDocumentNotification=Rh={}));var Eh;(function(n){n.method="notebookDocument/didClose",n.messageDirection=qt.MessageDirection.clientToServer,n.type=new qt.ProtocolNotificationType(n.method),n.registrationMethod=lr.method})(Eh||(Oe.DidCloseNotebookDocumentNotification=Eh={}))});var Dh=I(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.InlineCompletionRequest=void 0;var xh=Te(),Lh;(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=xh.MessageDirection.clientToServer,n.type=new xh.ProtocolRequestType(n.method)})(Lh||(Oo.InlineCompletionRequest=Lh={}))});var Bm=I(p=>{"use strict";Object.defineProperty(p,"__esModule",{value:!0});p.WorkspaceSymbolRequest=p.CodeActionResolveRequest=p.CodeActionRequest=p.DocumentSymbolRequest=p.DocumentHighlightRequest=p.ReferencesRequest=p.DefinitionRequest=p.SignatureHelpRequest=p.SignatureHelpTriggerKind=p.HoverRequest=p.CompletionResolveRequest=p.CompletionRequest=p.CompletionTriggerKind=p.PublishDiagnosticsNotification=p.WatchKind=p.RelativePattern=p.FileChangeType=p.DidChangeWatchedFilesNotification=p.WillSaveTextDocumentWaitUntilRequest=p.WillSaveTextDocumentNotification=p.TextDocumentSaveReason=p.DidSaveTextDocumentNotification=p.DidCloseTextDocumentNotification=p.DidChangeTextDocumentNotification=p.TextDocumentContentChangeEvent=p.DidOpenTextDocumentNotification=p.TextDocumentSyncKind=p.TelemetryEventNotification=p.LogMessageNotification=p.ShowMessageRequest=p.ShowMessageNotification=p.MessageType=p.DidChangeConfigurationNotification=p.ExitNotification=p.ShutdownRequest=p.InitializedNotification=p.InitializeErrorCodes=p.InitializeRequest=p.WorkDoneProgressOptions=p.TextDocumentRegistrationOptions=p.StaticRegistrationOptions=p.PositionEncodingKind=p.FailureHandlingKind=p.ResourceOperationKind=p.UnregistrationRequest=p.RegistrationRequest=p.DocumentSelector=p.NotebookCellTextDocumentFilter=p.NotebookDocumentFilter=p.TextDocumentFilter=void 0;p.MonikerRequest=p.MonikerKind=p.UniquenessLevel=p.WillDeleteFilesRequest=p.DidDeleteFilesNotification=p.WillRenameFilesRequest=p.DidRenameFilesNotification=p.WillCreateFilesRequest=p.DidCreateFilesNotification=p.FileOperationPatternKind=p.LinkedEditingRangeRequest=p.ShowDocumentRequest=p.SemanticTokensRegistrationType=p.SemanticTokensRefreshRequest=p.SemanticTokensRangeRequest=p.SemanticTokensDeltaRequest=p.SemanticTokensRequest=p.TokenFormat=p.CallHierarchyPrepareRequest=p.CallHierarchyOutgoingCallsRequest=p.CallHierarchyIncomingCallsRequest=p.WorkDoneProgressCancelNotification=p.WorkDoneProgressCreateRequest=p.WorkDoneProgress=p.SelectionRangeRequest=p.DeclarationRequest=p.FoldingRangeRefreshRequest=p.FoldingRangeRequest=p.ColorPresentationRequest=p.DocumentColorRequest=p.ConfigurationRequest=p.DidChangeWorkspaceFoldersNotification=p.WorkspaceFoldersRequest=p.TypeDefinitionRequest=p.ImplementationRequest=p.ApplyWorkspaceEditRequest=p.ExecuteCommandRequest=p.PrepareRenameRequest=p.RenameRequest=p.PrepareSupportDefaultBehavior=p.DocumentOnTypeFormattingRequest=p.DocumentRangesFormattingRequest=p.DocumentRangeFormattingRequest=p.DocumentFormattingRequest=p.DocumentLinkResolveRequest=p.DocumentLinkRequest=p.CodeLensRefreshRequest=p.CodeLensResolveRequest=p.CodeLensRequest=p.WorkspaceSymbolResolveRequest=void 0;p.InlineCompletionRequest=p.DidCloseNotebookDocumentNotification=p.DidSaveNotebookDocumentNotification=p.DidChangeNotebookDocumentNotification=p.NotebookCellArrayChange=p.DidOpenNotebookDocumentNotification=p.NotebookDocumentSyncRegistrationType=p.NotebookDocument=p.NotebookCell=p.ExecutionSummary=p.NotebookCellKind=p.DiagnosticRefreshRequest=p.WorkspaceDiagnosticRequest=p.DocumentDiagnosticRequest=p.DocumentDiagnosticReportKind=p.DiagnosticServerCancellationData=p.InlayHintRefreshRequest=p.InlayHintResolveRequest=p.InlayHintRequest=p.InlineValueRefreshRequest=p.InlineValueRequest=p.TypeHierarchySupertypesRequest=p.TypeHierarchySubtypesRequest=p.TypeHierarchyPrepareRequest=void 0;var $=Te(),kh=vo(),Be=wo(),Nw=ep();Object.defineProperty(p,"ImplementationRequest",{enumerable:!0,get:function(){return Nw.ImplementationRequest}});var Fw=rp();Object.defineProperty(p,"TypeDefinitionRequest",{enumerable:!0,get:function(){return Fw.TypeDefinitionRequest}});var qm=sp();Object.defineProperty(p,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return qm.WorkspaceFoldersRequest}});Object.defineProperty(p,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return qm.DidChangeWorkspaceFoldersNotification}});var jw=lp();Object.defineProperty(p,"ConfigurationRequest",{enumerable:!0,get:function(){return jw.ConfigurationRequest}});var Nm=fp();Object.defineProperty(p,"DocumentColorRequest",{enumerable:!0,get:function(){return Nm.DocumentColorRequest}});Object.defineProperty(p,"ColorPresentationRequest",{enumerable:!0,get:function(){return Nm.ColorPresentationRequest}});var Fm=mp();Object.defineProperty(p,"FoldingRangeRequest",{enumerable:!0,get:function(){return Fm.FoldingRangeRequest}});Object.defineProperty(p,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return Fm.FoldingRangeRefreshRequest}});var Bw=bp();Object.defineProperty(p,"DeclarationRequest",{enumerable:!0,get:function(){return Bw.DeclarationRequest}});var Uw=wp();Object.defineProperty(p,"SelectionRangeRequest",{enumerable:!0,get:function(){return Uw.SelectionRangeRequest}});var el=Sp();Object.defineProperty(p,"WorkDoneProgress",{enumerable:!0,get:function(){return el.WorkDoneProgress}});Object.defineProperty(p,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return el.WorkDoneProgressCreateRequest}});Object.defineProperty(p,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return el.WorkDoneProgressCancelNotification}});var tl=kp();Object.defineProperty(p,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return tl.CallHierarchyIncomingCallsRequest}});Object.defineProperty(p,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return tl.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(p,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return tl.CallHierarchyPrepareRequest}});var ur=Op();Object.defineProperty(p,"TokenFormat",{enumerable:!0,get:function(){return ur.TokenFormat}});Object.defineProperty(p,"SemanticTokensRequest",{enumerable:!0,get:function(){return ur.SemanticTokensRequest}});Object.defineProperty(p,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return ur.SemanticTokensDeltaRequest}});Object.defineProperty(p,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return ur.SemanticTokensRangeRequest}});Object.defineProperty(p,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return ur.SemanticTokensRefreshRequest}});Object.defineProperty(p,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return ur.SemanticTokensRegistrationType}});var Vw=Np();Object.defineProperty(p,"ShowDocumentRequest",{enumerable:!0,get:function(){return Vw.ShowDocumentRequest}});var Ww=Bp();Object.defineProperty(p,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return Ww.LinkedEditingRangeRequest}});var Dn=Xp();Object.defineProperty(p,"FileOperationPatternKind",{enumerable:!0,get:function(){return Dn.FileOperationPatternKind}});Object.defineProperty(p,"DidCreateFilesNotification",{enumerable:!0,get:function(){return Dn.DidCreateFilesNotification}});Object.defineProperty(p,"WillCreateFilesRequest",{enumerable:!0,get:function(){return Dn.WillCreateFilesRequest}});Object.defineProperty(p,"DidRenameFilesNotification",{enumerable:!0,get:function(){return Dn.DidRenameFilesNotification}});Object.defineProperty(p,"WillRenameFilesRequest",{enumerable:!0,get:function(){return Dn.WillRenameFilesRequest}});Object.defineProperty(p,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return Dn.DidDeleteFilesNotification}});Object.defineProperty(p,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return Dn.WillDeleteFilesRequest}});var nl=eh();Object.defineProperty(p,"UniquenessLevel",{enumerable:!0,get:function(){return nl.UniquenessLevel}});Object.defineProperty(p,"MonikerKind",{enumerable:!0,get:function(){return nl.MonikerKind}});Object.defineProperty(p,"MonikerRequest",{enumerable:!0,get:function(){return nl.MonikerRequest}});var rl=ih();Object.defineProperty(p,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return rl.TypeHierarchyPrepareRequest}});Object.defineProperty(p,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return rl.TypeHierarchySubtypesRequest}});Object.defineProperty(p,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return rl.TypeHierarchySupertypesRequest}});var jm=ah();Object.defineProperty(p,"InlineValueRequest",{enumerable:!0,get:function(){return jm.InlineValueRequest}});Object.defineProperty(p,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return jm.InlineValueRefreshRequest}});var il=dh();Object.defineProperty(p,"InlayHintRequest",{enumerable:!0,get:function(){return il.InlayHintRequest}});Object.defineProperty(p,"InlayHintResolveRequest",{enumerable:!0,get:function(){return il.InlayHintResolveRequest}});Object.defineProperty(p,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return il.InlayHintRefreshRequest}});var jr=bh();Object.defineProperty(p,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return jr.DiagnosticServerCancellationData}});Object.defineProperty(p,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return jr.DocumentDiagnosticReportKind}});Object.defineProperty(p,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return jr.DocumentDiagnosticRequest}});Object.defineProperty(p,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return jr.WorkspaceDiagnosticRequest}});Object.defineProperty(p,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return jr.DiagnosticRefreshRequest}});var Nt=Sh();Object.defineProperty(p,"NotebookCellKind",{enumerable:!0,get:function(){return Nt.NotebookCellKind}});Object.defineProperty(p,"ExecutionSummary",{enumerable:!0,get:function(){return Nt.ExecutionSummary}});Object.defineProperty(p,"NotebookCell",{enumerable:!0,get:function(){return Nt.NotebookCell}});Object.defineProperty(p,"NotebookDocument",{enumerable:!0,get:function(){return Nt.NotebookDocument}});Object.defineProperty(p,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return Nt.NotebookDocumentSyncRegistrationType}});Object.defineProperty(p,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return Nt.DidOpenNotebookDocumentNotification}});Object.defineProperty(p,"NotebookCellArrayChange",{enumerable:!0,get:function(){return Nt.NotebookCellArrayChange}});Object.defineProperty(p,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return Nt.DidChangeNotebookDocumentNotification}});Object.defineProperty(p,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return Nt.DidSaveNotebookDocumentNotification}});Object.defineProperty(p,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return Nt.DidCloseNotebookDocumentNotification}});var zw=Dh();Object.defineProperty(p,"InlineCompletionRequest",{enumerable:!0,get:function(){return zw.InlineCompletionRequest}});var Jc;(function(n){function e(t){let r=t;return Be.string(r)||Be.string(r.language)||Be.string(r.scheme)||Be.string(r.pattern)}n.is=e})(Jc||(p.TextDocumentFilter=Jc={}));var Qc;(function(n){function e(t){let r=t;return Be.objectLiteral(r)&&(Be.string(r.notebookType)||Be.string(r.scheme)||Be.string(r.pattern))}n.is=e})(Qc||(p.NotebookDocumentFilter=Qc={}));var Zc;(function(n){function e(t){let r=t;return Be.objectLiteral(r)&&(Be.string(r.notebook)||Qc.is(r.notebook))&&(r.language===void 0||Be.string(r.language))}n.is=e})(Zc||(p.NotebookCellTextDocumentFilter=Zc={}));var Yc;(function(n){function e(t){if(!Array.isArray(t))return!1;for(let r of t)if(!Be.string(r)&&!Jc.is(r)&&!Zc.is(r))return!1;return!0}n.is=e})(Yc||(p.DocumentSelector=Yc={}));var Th;(function(n){n.method="client/registerCapability",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolRequestType(n.method)})(Th||(p.RegistrationRequest=Th={}));var Ih;(function(n){n.method="client/unregisterCapability",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolRequestType(n.method)})(Ih||(p.UnregistrationRequest=Ih={}));var Ch;(function(n){n.Create="create",n.Rename="rename",n.Delete="delete"})(Ch||(p.ResourceOperationKind=Ch={}));var Ah;(function(n){n.Abort="abort",n.Transactional="transactional",n.TextOnlyTransactional="textOnlyTransactional",n.Undo="undo"})(Ah||(p.FailureHandlingKind=Ah={}));var $h;(function(n){n.UTF8="utf-8",n.UTF16="utf-16",n.UTF32="utf-32"})($h||(p.PositionEncodingKind=$h={}));var Oh;(function(n){function e(t){let r=t;return r&&Be.string(r.id)&&r.id.length>0}n.hasId=e})(Oh||(p.StaticRegistrationOptions=Oh={}));var Mh;(function(n){function e(t){let r=t;return r&&(r.documentSelector===null||Yc.is(r.documentSelector))}n.is=e})(Mh||(p.TextDocumentRegistrationOptions=Mh={}));var qh;(function(n){function e(r){let i=r;return Be.objectLiteral(i)&&(i.workDoneProgress===void 0||Be.boolean(i.workDoneProgress))}n.is=e;function t(r){let i=r;return i&&Be.boolean(i.workDoneProgress)}n.hasWorkDoneProgress=t})(qh||(p.WorkDoneProgressOptions=qh={}));var Nh;(function(n){n.method="initialize",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Nh||(p.InitializeRequest=Nh={}));var Fh;(function(n){n.unknownProtocolVersion=1})(Fh||(p.InitializeErrorCodes=Fh={}));var jh;(function(n){n.method="initialized",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(jh||(p.InitializedNotification=jh={}));var Bh;(function(n){n.method="shutdown",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType0(n.method)})(Bh||(p.ShutdownRequest=Bh={}));var Uh;(function(n){n.method="exit",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType0(n.method)})(Uh||(p.ExitNotification=Uh={}));var Vh;(function(n){n.method="workspace/didChangeConfiguration",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(Vh||(p.DidChangeConfigurationNotification=Vh={}));var Wh;(function(n){n.Error=1,n.Warning=2,n.Info=3,n.Log=4,n.Debug=5})(Wh||(p.MessageType=Wh={}));var zh;(function(n){n.method="window/showMessage",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolNotificationType(n.method)})(zh||(p.ShowMessageNotification=zh={}));var Hh;(function(n){n.method="window/showMessageRequest",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolRequestType(n.method)})(Hh||(p.ShowMessageRequest=Hh={}));var Kh;(function(n){n.method="window/logMessage",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolNotificationType(n.method)})(Kh||(p.LogMessageNotification=Kh={}));var Gh;(function(n){n.method="telemetry/event",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolNotificationType(n.method)})(Gh||(p.TelemetryEventNotification=Gh={}));var Xh;(function(n){n.None=0,n.Full=1,n.Incremental=2})(Xh||(p.TextDocumentSyncKind=Xh={}));var Jh;(function(n){n.method="textDocument/didOpen",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(Jh||(p.DidOpenTextDocumentNotification=Jh={}));var Qh;(function(n){function e(r){let i=r;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}n.isIncremental=e;function t(r){let i=r;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}n.isFull=t})(Qh||(p.TextDocumentContentChangeEvent=Qh={}));var Zh;(function(n){n.method="textDocument/didChange",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(Zh||(p.DidChangeTextDocumentNotification=Zh={}));var Yh;(function(n){n.method="textDocument/didClose",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(Yh||(p.DidCloseTextDocumentNotification=Yh={}));var em;(function(n){n.method="textDocument/didSave",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(em||(p.DidSaveTextDocumentNotification=em={}));var tm;(function(n){n.Manual=1,n.AfterDelay=2,n.FocusOut=3})(tm||(p.TextDocumentSaveReason=tm={}));var nm;(function(n){n.method="textDocument/willSave",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(nm||(p.WillSaveTextDocumentNotification=nm={}));var rm;(function(n){n.method="textDocument/willSaveWaitUntil",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(rm||(p.WillSaveTextDocumentWaitUntilRequest=rm={}));var im;(function(n){n.method="workspace/didChangeWatchedFiles",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(im||(p.DidChangeWatchedFilesNotification=im={}));var om;(function(n){n.Created=1,n.Changed=2,n.Deleted=3})(om||(p.FileChangeType=om={}));var sm;(function(n){function e(t){let r=t;return Be.objectLiteral(r)&&(kh.URI.is(r.baseUri)||kh.WorkspaceFolder.is(r.baseUri))&&Be.string(r.pattern)}n.is=e})(sm||(p.RelativePattern=sm={}));var am;(function(n){n.Create=1,n.Change=2,n.Delete=4})(am||(p.WatchKind=am={}));var cm;(function(n){n.method="textDocument/publishDiagnostics",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolNotificationType(n.method)})(cm||(p.PublishDiagnosticsNotification=cm={}));var lm;(function(n){n.Invoked=1,n.TriggerCharacter=2,n.TriggerForIncompleteCompletions=3})(lm||(p.CompletionTriggerKind=lm={}));var um;(function(n){n.method="textDocument/completion",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(um||(p.CompletionRequest=um={}));var dm;(function(n){n.method="completionItem/resolve",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(dm||(p.CompletionResolveRequest=dm={}));var fm;(function(n){n.method="textDocument/hover",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(fm||(p.HoverRequest=fm={}));var pm;(function(n){n.Invoked=1,n.TriggerCharacter=2,n.ContentChange=3})(pm||(p.SignatureHelpTriggerKind=pm={}));var hm;(function(n){n.method="textDocument/signatureHelp",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(hm||(p.SignatureHelpRequest=hm={}));var mm;(function(n){n.method="textDocument/definition",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(mm||(p.DefinitionRequest=mm={}));var gm;(function(n){n.method="textDocument/references",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(gm||(p.ReferencesRequest=gm={}));var _m;(function(n){n.method="textDocument/documentHighlight",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(_m||(p.DocumentHighlightRequest=_m={}));var bm;(function(n){n.method="textDocument/documentSymbol",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(bm||(p.DocumentSymbolRequest=bm={}));var ym;(function(n){n.method="textDocument/codeAction",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(ym||(p.CodeActionRequest=ym={}));var vm;(function(n){n.method="codeAction/resolve",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(vm||(p.CodeActionResolveRequest=vm={}));var wm;(function(n){n.method="workspace/symbol",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(wm||(p.WorkspaceSymbolRequest=wm={}));var Pm;(function(n){n.method="workspaceSymbol/resolve",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Pm||(p.WorkspaceSymbolResolveRequest=Pm={}));var Rm;(function(n){n.method="textDocument/codeLens",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Rm||(p.CodeLensRequest=Rm={}));var Em;(function(n){n.method="codeLens/resolve",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Em||(p.CodeLensResolveRequest=Em={}));var Sm;(function(n){n.method="workspace/codeLens/refresh",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolRequestType0(n.method)})(Sm||(p.CodeLensRefreshRequest=Sm={}));var xm;(function(n){n.method="textDocument/documentLink",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(xm||(p.DocumentLinkRequest=xm={}));var Lm;(function(n){n.method="documentLink/resolve",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Lm||(p.DocumentLinkResolveRequest=Lm={}));var Dm;(function(n){n.method="textDocument/formatting",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Dm||(p.DocumentFormattingRequest=Dm={}));var km;(function(n){n.method="textDocument/rangeFormatting",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(km||(p.DocumentRangeFormattingRequest=km={}));var Tm;(function(n){n.method="textDocument/rangesFormatting",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Tm||(p.DocumentRangesFormattingRequest=Tm={}));var Im;(function(n){n.method="textDocument/onTypeFormatting",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Im||(p.DocumentOnTypeFormattingRequest=Im={}));var Cm;(function(n){n.Identifier=1})(Cm||(p.PrepareSupportDefaultBehavior=Cm={}));var Am;(function(n){n.method="textDocument/rename",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Am||(p.RenameRequest=Am={}));var $m;(function(n){n.method="textDocument/prepareRename",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})($m||(p.PrepareRenameRequest=$m={}));var Om;(function(n){n.method="workspace/executeCommand",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Om||(p.ExecuteCommandRequest=Om={}));var Mm;(function(n){n.method="workspace/applyEdit",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolRequestType("workspace/applyEdit")})(Mm||(p.ApplyWorkspaceEditRequest=Mm={}))});var Vm=I(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.createProtocolConnection=void 0;var Um=Ln();function Hw(n,e,t,r){return Um.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,Um.createMessageConnection)(n,e,t,r)}Mo.createProtocolConnection=Hw});var zm=I(ct=>{"use strict";var Kw=ct&&ct.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),qo=ct&&ct.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Kw(e,n,t)};Object.defineProperty(ct,"__esModule",{value:!0});ct.LSPErrorCodes=ct.createProtocolConnection=void 0;qo(Ln(),ct);qo(vo(),ct);qo(Te(),ct);qo(Bm(),ct);var Gw=Vm();Object.defineProperty(ct,"createProtocolConnection",{enumerable:!0,get:function(){return Gw.createProtocolConnection}});var Wm;(function(n){n.lspReservedErrorRangeStart=-32899,n.RequestFailed=-32803,n.ServerCancelled=-32802,n.ContentModified=-32801,n.RequestCancelled=-32800,n.lspReservedErrorRangeEnd=-32800})(Wm||(ct.LSPErrorCodes=Wm={}))});var Km=I(Ft=>{"use strict";var Xw=Ft&&Ft.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),Hm=Ft&&Ft.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Xw(e,n,t)};Object.defineProperty(Ft,"__esModule",{value:!0});Ft.createProtocolConnection=void 0;var Jw=Uc();Hm(Uc(),Ft);Hm(zm(),Ft);function Qw(n,e,t,r){return(0,Jw.createMessageConnection)(n,e,t,r)}Ft.createProtocolConnection=Qw});var Zw=I((nx,Gm)=>{"use strict";Gm.exports=Km()});var Ym=I((rx,Zm)=>{"use strict";Zm.exports=Jm;function Jm(n,e,t){n instanceof RegExp&&(n=Xm(n,t)),e instanceof RegExp&&(e=Xm(e,t));var r=Qm(n,e,t);return r&&{start:r[0],end:r[1],pre:t.slice(0,r[0]),body:t.slice(r[0]+n.length,r[1]),post:t.slice(r[1]+e.length)}}function Xm(n,e){var t=e.match(n);return t?t[0]:null}Jm.range=Qm;function Qm(n,e,t){var r,i,o,s,a,d=t.indexOf(n),l=t.indexOf(e,d+1),h=d;if(d>=0&&l>0){if(n===e)return[d,l];for(r=[],o=t.length;h>=0&&!a;)h==d?(r.push(h),d=t.indexOf(n,h+1)):r.length==1?a=[r.pop(),l]:(i=r.pop(),i<o&&(o=i,s=l),l=t.indexOf(e,h+1)),h=d<l&&d>=0?d:l;r.length&&(a=[o,s])}return a}});var ag=I((ix,sg)=>{"use strict";var eg=Ym();sg.exports=tP;var tg="\0SLASH"+Math.random()+"\0",ng="\0OPEN"+Math.random()+"\0",sl="\0CLOSE"+Math.random()+"\0",rg="\0COMMA"+Math.random()+"\0",ig="\0PERIOD"+Math.random()+"\0";function ol(n){return parseInt(n,10)==n?parseInt(n,10):n.charCodeAt(0)}function Yw(n){return n.split("\\\\").join(tg).split("\\{").join(ng).split("\\}").join(sl).split("\\,").join(rg).split("\\.").join(ig)}function eP(n){return n.split(tg).join("\\").split(ng).join("{").split(sl).join("}").split(rg).join(",").split(ig).join(".")}function og(n){if(!n)return[""];var e=[],t=eg("{","}",n);if(!t)return n.split(",");var r=t.pre,i=t.body,o=t.post,s=r.split(",");s[s.length-1]+="{"+i+"}";var a=og(o);return o.length&&(s[s.length-1]+=a.shift(),s.push.apply(s,a)),e.push.apply(e,s),e}function tP(n){return n?(n.substr(0,2)==="{}"&&(n="\\{\\}"+n.substr(2)),Br(Yw(n),!0).map(eP)):[]}function nP(n){return"{"+n+"}"}function rP(n){return/^-?0\d/.test(n)}function iP(n,e){return n<=e}function oP(n,e){return n>=e}function Br(n,e){var t=[],r=eg("{","}",n);if(!r)return[n];var i=r.pre,o=r.post.length?Br(r.post,!1):[""];if(/\$$/.test(r.pre))for(var s=0;s<o.length;s++){var a=i+"{"+r.body+"}"+o[s];t.push(a)}else{var d=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(r.body),l=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(r.body),h=d||l,v=r.body.indexOf(",")>=0;if(!h&&!v)return r.post.match(/,.*\}/)?(n=r.pre+"{"+r.body+sl+r.post,Br(n)):[n];var w;if(h)w=r.body.split(/\.\./);else if(w=og(r.body),w.length===1&&(w=Br(w[0],!1).map(nP),w.length===1))return o.map(function(Ze){return r.pre+w[0]+Ze});var _;if(h){var L=ol(w[0]),k=ol(w[1]),X=Math.max(w[0].length,w[1].length),fe=w.length==3?Math.abs(ol(w[2])):1,B=iP,ee=k<L;ee&&(fe*=-1,B=oP);var ae=w.some(rP);_=[];for(var Z=L;B(Z,k);Z+=fe){var te;if(l)te=String.fromCharCode(Z),te==="\\"&&(te="");else if(te=String(Z),ae){var _e=X-te.length;if(_e>0){var Ce=new Array(_e+1).join("0");Z<0?te="-"+Ce+te.slice(1):te=Ce+te}}_.push(te)}}else{_=[];for(var qe=0;qe<w.length;qe++)_.push.apply(_,Br(w[qe],!1))}for(var qe=0;qe<_.length;qe++)for(var s=0;s<o.length;s++){var a=i+_[qe]+o[s];(!e||h||a)&&t.push(a)}}return t}});var cg=I(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.assertValidPattern=void 0;var sP=1024*64,aP=n=>{if(typeof n!="string")throw new TypeError("invalid pattern");if(n.length>sP)throw new TypeError("pattern is too long")};No.assertValidPattern=aP});var ug=I(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.parseClass=void 0;var cP={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},Ur=n=>n.replace(/[[\]\\-]/g,"\\$&"),lP=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),lg=n=>n.join(""),uP=(n,e)=>{let t=e;if(n.charAt(t)!=="[")throw new Error("not in a brace expression");let r=[],i=[],o=t+1,s=!1,a=!1,d=!1,l=!1,h=t,v="";e:for(;o<n.length;){let k=n.charAt(o);if((k==="!"||k==="^")&&o===t+1){l=!0,o++;continue}if(k==="]"&&s&&!d){h=o+1;break}if(s=!0,k==="\\"&&!d){d=!0,o++;continue}if(k==="["&&!d){for(let[X,[fe,B,ee]]of Object.entries(cP))if(n.startsWith(X,o)){if(v)return["$.",!1,n.length-t,!0];o+=X.length,ee?i.push(fe):r.push(fe),a=a||B;continue e}}if(d=!1,v){k>v?r.push(Ur(v)+"-"+Ur(k)):k===v&&r.push(Ur(k)),v="",o++;continue}if(n.startsWith("-]",o+1)){r.push(Ur(k+"-")),o+=2;continue}if(n.startsWith("-",o+1)){v=k,o+=2;continue}r.push(Ur(k)),o++}if(h<o)return["",!1,0,!1];if(!r.length&&!i.length)return["$.",!1,n.length-t,!0];if(i.length===0&&r.length===1&&/^\\?.$/.test(r[0])&&!l){let k=r[0].length===2?r[0].slice(-1):r[0];return[lP(k),!1,h-t,!1]}let w="["+(l?"^":"")+lg(r)+"]",_="["+(l?"":"^")+lg(i)+"]";return[r.length&&i.length?"("+w+"|"+_+")":r.length?w:_,a,h-t,!0]};Fo.parseClass=uP});var Bo=I(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.unescape=void 0;var dP=(n,{windowsPathsNoEscape:e=!1}={})=>e?n.replace(/\[([^\/\\])\]/g,"$1"):n.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");jo.unescape=dP});var ll=I(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.AST=void 0;var fP=ug(),Uo=Bo(),pP=new Set(["!","?","+","*","@"]),dg=n=>pP.has(n),hP="(?!(?:^|/)\\.\\.?(?:$|/))",Vo="(?!\\.)",mP=new Set(["[","."]),gP=new Set(["..","."]),_P=new Set("().*{}+?[]^$\\!"),bP=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),cl="[^/]",fg=cl+"*?",pg=cl+"+?",al=class n{type;#n;#r;#o=!1;#e=[];#t;#s;#c;#a=!1;#i;#l;#d=!1;constructor(e,t,r={}){this.type=e,e&&(this.#r=!0),this.#t=t,this.#n=this.#t?this.#t.#n:this,this.#i=this.#n===this?r:this.#n.#i,this.#c=this.#n===this?[]:this.#n.#c,e==="!"&&!this.#n.#a&&this.#c.push(this),this.#s=this.#t?this.#t.#e.length:0}get hasMagic(){if(this.#r!==void 0)return this.#r;for(let e of this.#e)if(typeof e!="string"&&(e.type||e.hasMagic))return this.#r=!0;return this.#r}toString(){return this.#l!==void 0?this.#l:this.type?this.#l=this.type+"("+this.#e.map(e=>String(e)).join("|")+")":this.#l=this.#e.map(e=>String(e)).join("")}#p(){if(this!==this.#n)throw new Error("should only call on root");if(this.#a)return this;this.toString(),this.#a=!0;let e;for(;e=this.#c.pop();){if(e.type!=="!")continue;let t=e,r=t.#t;for(;r;){for(let i=t.#s+1;!r.type&&i<r.#e.length;i++)for(let o of e.#e){if(typeof o=="string")throw new Error("string part in extglob AST??");o.copyIn(r.#e[i])}t=r,r=t.#t}}return this}push(...e){for(let t of e)if(t!==""){if(typeof t!="string"&&!(t instanceof n&&t.#t===this))throw new Error("invalid part: "+t);this.#e.push(t)}}toJSON(){let e=this.type===null?this.#e.slice().map(t=>typeof t=="string"?t:t.toJSON()):[this.type,...this.#e.map(t=>t.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===this.#n||this.#n.#a&&this.#t?.type==="!")&&e.push({}),e}isStart(){if(this.#n===this)return!0;if(!this.#t?.isStart())return!1;if(this.#s===0)return!0;let e=this.#t;for(let t=0;t<this.#s;t++){let r=e.#e[t];if(!(r instanceof n&&r.type==="!"))return!1}return!0}isEnd(){if(this.#n===this||this.#t?.type==="!")return!0;if(!this.#t?.isEnd())return!1;if(!this.type)return this.#t?.isEnd();let e=this.#t?this.#t.#e.length:0;return this.#s===e-1}copyIn(e){typeof e=="string"?this.push(e):this.push(e.clone(this))}clone(e){let t=new n(this.type,e);for(let r of this.#e)t.copyIn(r);return t}static#u(e,t,r,i){let o=!1,s=!1,a=-1,d=!1;if(t.type===null){let _=r,L="";for(;_<e.length;){let k=e.charAt(_++);if(o||k==="\\"){o=!o,L+=k;continue}if(s){_===a+1?(k==="^"||k==="!")&&(d=!0):k==="]"&&!(_===a+2&&d)&&(s=!1),L+=k;continue}else if(k==="["){s=!0,a=_,d=!1,L+=k;continue}if(!i.noext&&dg(k)&&e.charAt(_)==="("){t.push(L),L="";let X=new n(k,t);_=n.#u(e,X,_,i),t.push(X);continue}L+=k}return t.push(L),_}let l=r+1,h=new n(null,t),v=[],w="";for(;l<e.length;){let _=e.charAt(l++);if(o||_==="\\"){o=!o,w+=_;continue}if(s){l===a+1?(_==="^"||_==="!")&&(d=!0):_==="]"&&!(l===a+2&&d)&&(s=!1),w+=_;continue}else if(_==="["){s=!0,a=l,d=!1,w+=_;continue}if(dg(_)&&e.charAt(l)==="("){h.push(w),w="";let L=new n(_,h);h.push(L),l=n.#u(e,L,l,i);continue}if(_==="|"){h.push(w),w="",v.push(h),h=new n(null,t);continue}if(_===")")return w===""&&t.#e.length===0&&(t.#d=!0),h.push(w),w="",t.push(...v,h),l;w+=_}return t.type=null,t.#r=void 0,t.#e=[e.substring(r-1)],l}static fromGlob(e,t={}){let r=new n(null,void 0,t);return n.#u(e,r,0,t),r}toMMPattern(){if(this!==this.#n)return this.#n.toMMPattern();let e=this.toString(),[t,r,i,o]=this.toRegExpSource();if(!(i||this.#r||this.#i.nocase&&!this.#i.nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase()))return r;let a=(this.#i.nocase?"i":"")+(o?"u":"");return Object.assign(new RegExp(`^${t}$`,a),{_src:t,_glob:e})}get options(){return this.#i}toRegExpSource(e){let t=e??!!this.#i.dot;if(this.#n===this&&this.#p(),!this.type){let d=this.isStart()&&this.isEnd(),l=this.#e.map(_=>{let[L,k,X,fe]=typeof _=="string"?n.#h(_,this.#r,d):_.toRegExpSource(e);return this.#r=this.#r||X,this.#o=this.#o||fe,L}).join(""),h="";if(this.isStart()&&typeof this.#e[0]=="string"&&!(this.#e.length===1&&gP.has(this.#e[0]))){let L=mP,k=t&&L.has(l.charAt(0))||l.startsWith("\\.")&&L.has(l.charAt(2))||l.startsWith("\\.\\.")&&L.has(l.charAt(4)),X=!t&&!e&&L.has(l.charAt(0));h=k?hP:X?Vo:""}let v="";return this.isEnd()&&this.#n.#a&&this.#t?.type==="!"&&(v="(?:$|\\/)"),[h+l+v,(0,Uo.unescape)(l),this.#r=!!this.#r,this.#o]}let r=this.type==="*"||this.type==="+",i=this.type==="!"?"(?:(?!(?:":"(?:",o=this.#f(t);if(this.isStart()&&this.isEnd()&&!o&&this.type!=="!"){let d=this.toString();return this.#e=[d],this.type=null,this.#r=void 0,[d,(0,Uo.unescape)(this.toString()),!1,!1]}let s=!r||e||t||!Vo?"":this.#f(!0);s===o&&(s=""),s&&(o=`(?:${o})(?:${s})*?`);let a="";if(this.type==="!"&&this.#d)a=(this.isStart()&&!t?Vo:"")+pg;else{let d=this.type==="!"?"))"+(this.isStart()&&!t&&!e?Vo:"")+fg+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&s?")":this.type==="*"&&s?")?":`)${this.type}`;a=i+o+d}return[a,(0,Uo.unescape)(o),this.#r=!!this.#r,this.#o]}#f(e){return this.#e.map(t=>{if(typeof t=="string")throw new Error("string type in extglob ast??");let[r,i,o,s]=t.toRegExpSource(e);return this.#o=this.#o||s,r}).filter(t=>!(this.isStart()&&this.isEnd())||!!t).join("|")}static#h(e,t,r=!1){let i=!1,o="",s=!1;for(let a=0;a<e.length;a++){let d=e.charAt(a);if(i){i=!1,o+=(_P.has(d)?"\\":"")+d;continue}if(d==="\\"){a===e.length-1?o+="\\\\":i=!0;continue}if(d==="["){let[l,h,v,w]=(0,fP.parseClass)(e,a);if(v){o+=l,s=s||h,a+=v-1,t=t||w;continue}}if(d==="*"){r&&e==="*"?o+=pg:o+=fg,t=!0;continue}if(d==="?"){o+=cl,t=!0;continue}o+=bP(d)}return[o,(0,Uo.unescape)(e),!!t,s]}};Wo.AST=al});var ul=I(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.escape=void 0;var yP=(n,{windowsPathsNoEscape:e=!1}={})=>e?n.replace(/[?*()[\]]/g,"[$&]"):n.replace(/[?*()[\]\\]/g,"\\$&");zo.escape=yP});var nR=I(K=>{"use strict";var vP=K&&K.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(K,"__esModule",{value:!0});K.unescape=K.escape=K.AST=K.Minimatch=K.match=K.makeRe=K.braceExpand=K.defaults=K.filter=K.GLOBSTAR=K.sep=K.minimatch=void 0;var wP=vP(ag()),Ho=cg(),gg=ll(),PP=ul(),RP=Bo(),EP=(n,e,t={})=>((0,Ho.assertValidPattern)(e),!t.nocomment&&e.charAt(0)==="#"?!1:new kn(e,t).match(n));K.minimatch=EP;var SP=/^\*+([^+@!?\*\[\(]*)$/,xP=n=>e=>!e.startsWith(".")&&e.endsWith(n),LP=n=>e=>e.endsWith(n),DP=n=>(n=n.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(n)),kP=n=>(n=n.toLowerCase(),e=>e.toLowerCase().endsWith(n)),TP=/^\*+\.\*+$/,IP=n=>!n.startsWith(".")&&n.includes("."),CP=n=>n!=="."&&n!==".."&&n.includes("."),AP=/^\.\*+$/,$P=n=>n!=="."&&n!==".."&&n.startsWith("."),OP=/^\*+$/,MP=n=>n.length!==0&&!n.startsWith("."),qP=n=>n.length!==0&&n!=="."&&n!=="..",NP=/^\?+([^+@!?\*\[\(]*)?$/,FP=([n,e=""])=>{let t=_g([n]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},jP=([n,e=""])=>{let t=bg([n]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},BP=([n,e=""])=>{let t=bg([n]);return e?r=>t(r)&&r.endsWith(e):t},UP=([n,e=""])=>{let t=_g([n]);return e?r=>t(r)&&r.endsWith(e):t},_g=([n])=>{let e=n.length;return t=>t.length===e&&!t.startsWith(".")},bg=([n])=>{let e=n.length;return t=>t.length===e&&t!=="."&&t!==".."},yg=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",hg={win32:{sep:"\\"},posix:{sep:"/"}};K.sep=yg==="win32"?hg.win32.sep:hg.posix.sep;K.minimatch.sep=K.sep;K.GLOBSTAR=Symbol("globstar **");K.minimatch.GLOBSTAR=K.GLOBSTAR;var VP="[^/]",WP=VP+"*?",zP="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",HP="(?:(?!(?:\\/|^)\\.).)*?",KP=(n,e={})=>t=>(0,K.minimatch)(t,n,e);K.filter=KP;K.minimatch.filter=K.filter;var Et=(n,e={})=>Object.assign({},n,e),GP=n=>{if(!n||typeof n!="object"||!Object.keys(n).length)return K.minimatch;let e=K.minimatch;return Object.assign((r,i,o={})=>e(r,i,Et(n,o)),{Minimatch:class extends e.Minimatch{constructor(i,o={}){super(i,Et(n,o))}static defaults(i){return e.defaults(Et(n,i)).Minimatch}},AST:class extends e.AST{constructor(i,o,s={}){super(i,o,Et(n,s))}static fromGlob(i,o={}){return e.AST.fromGlob(i,Et(n,o))}},unescape:(r,i={})=>e.unescape(r,Et(n,i)),escape:(r,i={})=>e.escape(r,Et(n,i)),filter:(r,i={})=>e.filter(r,Et(n,i)),defaults:r=>e.defaults(Et(n,r)),makeRe:(r,i={})=>e.makeRe(r,Et(n,i)),braceExpand:(r,i={})=>e.braceExpand(r,Et(n,i)),match:(r,i,o={})=>e.match(r,i,Et(n,o)),sep:e.sep,GLOBSTAR:K.GLOBSTAR})};K.defaults=GP;K.minimatch.defaults=K.defaults;var XP=(n,e={})=>((0,Ho.assertValidPattern)(n),e.nobrace||!/\{(?:(?!\{).)*\}/.test(n)?[n]:(0,wP.default)(n));K.braceExpand=XP;K.minimatch.braceExpand=K.braceExpand;var JP=(n,e={})=>new kn(n,e).makeRe();K.makeRe=JP;K.minimatch.makeRe=K.makeRe;var QP=(n,e,t={})=>{let r=new kn(e,t);return n=n.filter(i=>r.match(i)),r.options.nonull&&!n.length&&n.push(e),n};K.match=QP;K.minimatch.match=K.match;var mg=/[?*]|[+@!]\(.*?\)|\[|\]/,ZP=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),kn=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(e,t={}){(0,Ho.assertValidPattern)(e),t=t||{},this.options=t,this.pattern=e,this.platform=t.platform||yg,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!t.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!t.nonegate,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=t.windowsNoMagicRoot!==void 0?t.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let t of e)if(typeof t!="string")return!0;return!1}debug(...e){}make(){let e=this.pattern,t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],t.debug&&(this.debug=(...o)=>console.error(...o)),this.debug(this.pattern,this.globSet);let r=this.globSet.map(o=>this.slashSplit(o));this.globParts=this.preprocess(r),this.debug(this.pattern,this.globParts);let i=this.globParts.map((o,s,a)=>{if(this.isWindows&&this.windowsNoMagicRoot){let d=o[0]===""&&o[1]===""&&(o[2]==="?"||!mg.test(o[2]))&&!mg.test(o[3]),l=/^[a-z]:/i.test(o[0]);if(d)return[...o.slice(0,4),...o.slice(4).map(h=>this.parse(h))];if(l)return[o[0],...o.slice(1).map(h=>this.parse(h))]}return o.map(d=>this.parse(d))});if(this.debug(this.pattern,i),this.set=i.filter(o=>o.indexOf(!1)===-1),this.isWindows)for(let o=0;o<this.set.length;o++){let s=this.set[o];s[0]===""&&s[1]===""&&this.globParts[o][2]==="?"&&typeof s[3]=="string"&&/^[a-z]:$/i.test(s[3])&&(s[2]="?")}this.debug(this.pattern,this.set)}preprocess(e){if(this.options.noglobstar)for(let r=0;r<e.length;r++)for(let i=0;i<e[r].length;i++)e[r][i]==="**"&&(e[r][i]="*");let{optimizationLevel:t=1}=this.options;return t>=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):t>=1?e=this.levelOneOptimize(e):e=this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(t=>{let r=-1;for(;(r=t.indexOf("**",r+1))!==-1;){let i=r;for(;t[i+1]==="**";)i++;i!==r&&t.splice(r,i-r)}return t})}levelOneOptimize(e){return e.map(t=>(t=t.reduce((r,i)=>{let o=r[r.length-1];return i==="**"&&o==="**"?r:i===".."&&o&&o!==".."&&o!=="."&&o!=="**"?(r.pop(),r):(r.push(i),r)},[]),t.length===0?[""]:t))}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let t=!1;do{if(t=!1,!this.preserveMultipleSlashes){for(let i=1;i<e.length-1;i++){let o=e[i];i===1&&o===""&&e[0]===""||(o==="."||o==="")&&(t=!0,e.splice(i,1),i--)}e[0]==="."&&e.length===2&&(e[1]==="."||e[1]==="")&&(t=!0,e.pop())}let r=0;for(;(r=e.indexOf("..",r+1))!==-1;){let i=e[r-1];i&&i!=="."&&i!==".."&&i!=="**"&&(t=!0,e.splice(r-1,2),r-=2)}}while(t);return e.length===0?[""]:e}firstPhasePreProcess(e){let t=!1;do{t=!1;for(let r of e){let i=-1;for(;(i=r.indexOf("**",i+1))!==-1;){let s=i;for(;r[s+1]==="**";)s++;s>i&&r.splice(i+1,s-i);let a=r[i+1],d=r[i+2],l=r[i+3];if(a!==".."||!d||d==="."||d===".."||!l||l==="."||l==="..")continue;t=!0,r.splice(i,1);let h=r.slice(0);h[i]="**",e.push(h),i--}if(!this.preserveMultipleSlashes){for(let s=1;s<r.length-1;s++){let a=r[s];s===1&&a===""&&r[0]===""||(a==="."||a==="")&&(t=!0,r.splice(s,1),s--)}r[0]==="."&&r.length===2&&(r[1]==="."||r[1]==="")&&(t=!0,r.pop())}let o=0;for(;(o=r.indexOf("..",o+1))!==-1;){let s=r[o-1];if(s&&s!=="."&&s!==".."&&s!=="**"){t=!0;let d=o===1&&r[o+1]==="**"?["."]:[];r.splice(o-1,2,...d),r.length===0&&r.push(""),o-=2}}}}while(t);return e}secondPhasePreProcess(e){for(let t=0;t<e.length-1;t++)for(let r=t+1;r<e.length;r++){let i=this.partsMatch(e[t],e[r],!this.preserveMultipleSlashes);if(i){e[t]=[],e[r]=i;break}}return e.filter(t=>t.length)}partsMatch(e,t,r=!1){let i=0,o=0,s=[],a="";for(;i<e.length&&o<t.length;)if(e[i]===t[o])s.push(a==="b"?t[o]:e[i]),i++,o++;else if(r&&e[i]==="**"&&t[o]===e[i+1])s.push(e[i]),i++;else if(r&&t[o]==="**"&&e[i]===t[o+1])s.push(t[o]),o++;else if(e[i]==="*"&&t[o]&&(this.options.dot||!t[o].startsWith("."))&&t[o]!=="**"){if(a==="b")return!1;a="a",s.push(e[i]),i++,o++}else if(t[o]==="*"&&e[i]&&(this.options.dot||!e[i].startsWith("."))&&e[i]!=="**"){if(a==="a")return!1;a="b",s.push(t[o]),i++,o++}else return!1;return e.length===t.length&&s}parseNegate(){if(this.nonegate)return;let e=this.pattern,t=!1,r=0;for(let i=0;i<e.length&&e.charAt(i)==="!";i++)t=!t,r++;r&&(this.pattern=e.slice(r)),this.negate=t}matchOne(e,t,r=!1){let i=this.options;if(this.isWindows){let k=typeof e[0]=="string"&&/^[a-z]:$/i.test(e[0]),X=!k&&e[0]===""&&e[1]===""&&e[2]==="?"&&/^[a-z]:$/i.test(e[3]),fe=typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0]),B=!fe&&t[0]===""&&t[1]===""&&t[2]==="?"&&typeof t[3]=="string"&&/^[a-z]:$/i.test(t[3]),ee=X?3:k?0:void 0,ae=B?3:fe?0:void 0;if(typeof ee=="number"&&typeof ae=="number"){let[Z,te]=[e[ee],t[ae]];Z.toLowerCase()===te.toLowerCase()&&(t[ae]=Z,ae>ee?t=t.slice(ae):ee>ae&&(e=e.slice(ee)))}}let{optimizationLevel:o=1}=this.options;o>=2&&(e=this.levelTwoFileOptimize(e)),this.debug("matchOne",this,{file:e,pattern:t}),this.debug("matchOne",e.length,t.length);for(var s=0,a=0,d=e.length,l=t.length;s<d&&a<l;s++,a++){this.debug("matchOne loop");var h=t[a],v=e[s];if(this.debug(t,h,v),h===!1)return!1;if(h===K.GLOBSTAR){this.debug("GLOBSTAR",[t,h,v]);var w=s,_=a+1;if(_===l){for(this.debug("** at the end");s<d;s++)if(e[s]==="."||e[s]===".."||!i.dot&&e[s].charAt(0)===".")return!1;return!0}for(;w<d;){var L=e[w];if(this.debug(`
53
+ `&&c++}f&&y.length>0&&g.push(y.length),this._lineOffsets=g}return this._lineOffsets},u.prototype.positionAt=function(g){g=Math.max(Math.min(g,this._content.length),0);var y=this.getLineOffsets(),f=0,c=y.length;if(c===0)return s.create(0,g);for(;f<c;){var P=Math.floor((f+c)/2);y[P]>g?c=P:f=P+1}var T=f-1;return s.create(T,g-y[T])},u.prototype.offsetAt=function(g){var y=this.getLineOffsets();if(g.line>=y.length)return this._content.length;if(g.line<0)return 0;var f=y[g.line],c=g.line+1<y.length?y[g.line+1]:this._content.length;return Math.max(Math.min(f+g.character,c),f)},Object.defineProperty(u.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),u}(),R;(function(u){var g=Object.prototype.toString;function y(ue){return typeof ue<"u"}u.defined=y;function f(ue){return typeof ue>"u"}u.undefined=f;function c(ue){return ue===!0||ue===!1}u.boolean=c;function P(ue){return g.call(ue)==="[object String]"}u.string=P;function T(ue){return g.call(ue)==="[object Number]"}u.number=T;function ie(ue,Cn,ei){return g.call(ue)==="[object Number]"&&Cn<=ue&&ue<=ei}u.numberRange=ie;function $e(ue){return g.call(ue)==="[object Number]"&&-2147483648<=ue&&ue<=2147483647}u.integer=$e;function we(ue){return g.call(ue)==="[object Number]"&&0<=ue&&ue<=2147483647}u.uinteger=we;function xt(ue){return g.call(ue)==="[object Function]"}u.func=xt;function b(ue){return ue!==null&&typeof ue=="object"}u.objectLiteral=b;function Ut(ue,Cn){return Array.isArray(ue)&&ue.every(Cn)}u.typedArray=Ut})(R||(R={}))})});var Te=I(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.ProtocolNotificationType=st.ProtocolNotificationType0=st.ProtocolRequestType=st.ProtocolRequestType0=st.RegistrationType=st.MessageDirection=void 0;var er=Ln(),Gf;(function(n){n.clientToServer="clientToServer",n.serverToClient="serverToClient",n.both="both"})(Gf||(st.MessageDirection=Gf={}));var Uc=class{constructor(e){this.method=e}};st.RegistrationType=Uc;var Vc=class extends er.RequestType0{constructor(e){super(e)}};st.ProtocolRequestType0=Vc;var Wc=class extends er.RequestType{constructor(e){super(e,er.ParameterStructures.byName)}};st.ProtocolRequestType=Wc;var zc=class extends er.NotificationType0{constructor(e){super(e)}};st.ProtocolNotificationType0=zc;var Hc=class extends er.NotificationType{constructor(e){super(e,er.ParameterStructures.byName)}};st.ProtocolNotificationType=Hc});var wo=I(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.objectLiteral=Ne.typedArray=Ne.stringArray=Ne.array=Ne.func=Ne.error=Ne.number=Ne.string=Ne.boolean=void 0;function kw(n){return n===!0||n===!1}Ne.boolean=kw;function Xf(n){return typeof n=="string"||n instanceof String}Ne.string=Xf;function Tw(n){return typeof n=="number"||n instanceof Number}Ne.number=Tw;function Iw(n){return n instanceof Error}Ne.error=Iw;function Aw(n){return typeof n=="function"}Ne.func=Aw;function Zf(n){return Array.isArray(n)}Ne.array=Zf;function Cw(n){return Zf(n)&&n.every(e=>Xf(e))}Ne.stringArray=Cw;function $w(n,e){return Array.isArray(n)&&n.every(e)}Ne.typedArray=$w;function Ow(n){return n!==null&&typeof n=="object"}Ne.objectLiteral=Ow});var Yf=I(Po=>{"use strict";Object.defineProperty(Po,"__esModule",{value:!0});Po.ImplementationRequest=void 0;var Jf=Te(),Qf;(function(n){n.method="textDocument/implementation",n.messageDirection=Jf.MessageDirection.clientToServer,n.type=new Jf.ProtocolRequestType(n.method)})(Qf||(Po.ImplementationRequest=Qf={}))});var np=I(Ro=>{"use strict";Object.defineProperty(Ro,"__esModule",{value:!0});Ro.TypeDefinitionRequest=void 0;var ep=Te(),tp;(function(n){n.method="textDocument/typeDefinition",n.messageDirection=ep.MessageDirection.clientToServer,n.type=new ep.ProtocolRequestType(n.method)})(tp||(Ro.TypeDefinitionRequest=tp={}))});var op=I(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.DidChangeWorkspaceFoldersNotification=tr.WorkspaceFoldersRequest=void 0;var Eo=Te(),rp;(function(n){n.method="workspace/workspaceFolders",n.messageDirection=Eo.MessageDirection.serverToClient,n.type=new Eo.ProtocolRequestType0(n.method)})(rp||(tr.WorkspaceFoldersRequest=rp={}));var ip;(function(n){n.method="workspace/didChangeWorkspaceFolders",n.messageDirection=Eo.MessageDirection.clientToServer,n.type=new Eo.ProtocolNotificationType(n.method)})(ip||(tr.DidChangeWorkspaceFoldersNotification=ip={}))});var cp=I(So=>{"use strict";Object.defineProperty(So,"__esModule",{value:!0});So.ConfigurationRequest=void 0;var sp=Te(),ap;(function(n){n.method="workspace/configuration",n.messageDirection=sp.MessageDirection.serverToClient,n.type=new sp.ProtocolRequestType(n.method)})(ap||(So.ConfigurationRequest=ap={}))});var dp=I(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.ColorPresentationRequest=nr.DocumentColorRequest=void 0;var xo=Te(),lp;(function(n){n.method="textDocument/documentColor",n.messageDirection=xo.MessageDirection.clientToServer,n.type=new xo.ProtocolRequestType(n.method)})(lp||(nr.DocumentColorRequest=lp={}));var up;(function(n){n.method="textDocument/colorPresentation",n.messageDirection=xo.MessageDirection.clientToServer,n.type=new xo.ProtocolRequestType(n.method)})(up||(nr.ColorPresentationRequest=up={}))});var hp=I(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.FoldingRangeRefreshRequest=rr.FoldingRangeRequest=void 0;var Lo=Te(),fp;(function(n){n.method="textDocument/foldingRange",n.messageDirection=Lo.MessageDirection.clientToServer,n.type=new Lo.ProtocolRequestType(n.method)})(fp||(rr.FoldingRangeRequest=fp={}));var pp;(function(n){n.method="workspace/foldingRange/refresh",n.messageDirection=Lo.MessageDirection.serverToClient,n.type=new Lo.ProtocolRequestType0(n.method)})(pp||(rr.FoldingRangeRefreshRequest=pp={}))});var _p=I(Do=>{"use strict";Object.defineProperty(Do,"__esModule",{value:!0});Do.DeclarationRequest=void 0;var mp=Te(),gp;(function(n){n.method="textDocument/declaration",n.messageDirection=mp.MessageDirection.clientToServer,n.type=new mp.ProtocolRequestType(n.method)})(gp||(Do.DeclarationRequest=gp={}))});var vp=I(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.SelectionRangeRequest=void 0;var bp=Te(),yp;(function(n){n.method="textDocument/selectionRange",n.messageDirection=bp.MessageDirection.clientToServer,n.type=new bp.ProtocolRequestType(n.method)})(yp||(ko.SelectionRangeRequest=yp={}))});var Ep=I(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.WorkDoneProgressCancelNotification=dn.WorkDoneProgressCreateRequest=dn.WorkDoneProgress=void 0;var Mw=Ln(),To=Te(),wp;(function(n){n.type=new Mw.ProgressType;function e(t){return t===n.type}n.is=e})(wp||(dn.WorkDoneProgress=wp={}));var Pp;(function(n){n.method="window/workDoneProgress/create",n.messageDirection=To.MessageDirection.serverToClient,n.type=new To.ProtocolRequestType(n.method)})(Pp||(dn.WorkDoneProgressCreateRequest=Pp={}));var Rp;(function(n){n.method="window/workDoneProgress/cancel",n.messageDirection=To.MessageDirection.clientToServer,n.type=new To.ProtocolNotificationType(n.method)})(Rp||(dn.WorkDoneProgressCancelNotification=Rp={}))});var Dp=I(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.CallHierarchyOutgoingCallsRequest=fn.CallHierarchyIncomingCallsRequest=fn.CallHierarchyPrepareRequest=void 0;var ir=Te(),Sp;(function(n){n.method="textDocument/prepareCallHierarchy",n.messageDirection=ir.MessageDirection.clientToServer,n.type=new ir.ProtocolRequestType(n.method)})(Sp||(fn.CallHierarchyPrepareRequest=Sp={}));var xp;(function(n){n.method="callHierarchy/incomingCalls",n.messageDirection=ir.MessageDirection.clientToServer,n.type=new ir.ProtocolRequestType(n.method)})(xp||(fn.CallHierarchyIncomingCallsRequest=xp={}));var Lp;(function(n){n.method="callHierarchy/outgoingCalls",n.messageDirection=ir.MessageDirection.clientToServer,n.type=new ir.ProtocolRequestType(n.method)})(Lp||(fn.CallHierarchyOutgoingCallsRequest=Lp={}))});var $p=I(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.SemanticTokensRefreshRequest=at.SemanticTokensRangeRequest=at.SemanticTokensDeltaRequest=at.SemanticTokensRequest=at.SemanticTokensRegistrationType=at.TokenFormat=void 0;var Xt=Te(),kp;(function(n){n.Relative="relative"})(kp||(at.TokenFormat=kp={}));var Nr;(function(n){n.method="textDocument/semanticTokens",n.type=new Xt.RegistrationType(n.method)})(Nr||(at.SemanticTokensRegistrationType=Nr={}));var Tp;(function(n){n.method="textDocument/semanticTokens/full",n.messageDirection=Xt.MessageDirection.clientToServer,n.type=new Xt.ProtocolRequestType(n.method),n.registrationMethod=Nr.method})(Tp||(at.SemanticTokensRequest=Tp={}));var Ip;(function(n){n.method="textDocument/semanticTokens/full/delta",n.messageDirection=Xt.MessageDirection.clientToServer,n.type=new Xt.ProtocolRequestType(n.method),n.registrationMethod=Nr.method})(Ip||(at.SemanticTokensDeltaRequest=Ip={}));var Ap;(function(n){n.method="textDocument/semanticTokens/range",n.messageDirection=Xt.MessageDirection.clientToServer,n.type=new Xt.ProtocolRequestType(n.method),n.registrationMethod=Nr.method})(Ap||(at.SemanticTokensRangeRequest=Ap={}));var Cp;(function(n){n.method="workspace/semanticTokens/refresh",n.messageDirection=Xt.MessageDirection.serverToClient,n.type=new Xt.ProtocolRequestType0(n.method)})(Cp||(at.SemanticTokensRefreshRequest=Cp={}))});var qp=I(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.ShowDocumentRequest=void 0;var Op=Te(),Mp;(function(n){n.method="window/showDocument",n.messageDirection=Op.MessageDirection.serverToClient,n.type=new Op.ProtocolRequestType(n.method)})(Mp||(Io.ShowDocumentRequest=Mp={}))});var jp=I(Ao=>{"use strict";Object.defineProperty(Ao,"__esModule",{value:!0});Ao.LinkedEditingRangeRequest=void 0;var Np=Te(),Fp;(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=Np.MessageDirection.clientToServer,n.type=new Np.ProtocolRequestType(n.method)})(Fp||(Ao.LinkedEditingRangeRequest=Fp={}))});var Gp=I(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.WillDeleteFilesRequest=Ge.DidDeleteFilesNotification=Ge.DidRenameFilesNotification=Ge.WillRenameFilesRequest=Ge.DidCreateFilesNotification=Ge.WillCreateFilesRequest=Ge.FileOperationPatternKind=void 0;var Pt=Te(),Bp;(function(n){n.file="file",n.folder="folder"})(Bp||(Ge.FileOperationPatternKind=Bp={}));var Up;(function(n){n.method="workspace/willCreateFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolRequestType(n.method)})(Up||(Ge.WillCreateFilesRequest=Up={}));var Vp;(function(n){n.method="workspace/didCreateFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolNotificationType(n.method)})(Vp||(Ge.DidCreateFilesNotification=Vp={}));var Wp;(function(n){n.method="workspace/willRenameFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolRequestType(n.method)})(Wp||(Ge.WillRenameFilesRequest=Wp={}));var zp;(function(n){n.method="workspace/didRenameFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolNotificationType(n.method)})(zp||(Ge.DidRenameFilesNotification=zp={}));var Hp;(function(n){n.method="workspace/didDeleteFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolNotificationType(n.method)})(Hp||(Ge.DidDeleteFilesNotification=Hp={}));var Kp;(function(n){n.method="workspace/willDeleteFiles",n.messageDirection=Pt.MessageDirection.clientToServer,n.type=new Pt.ProtocolRequestType(n.method)})(Kp||(Ge.WillDeleteFilesRequest=Kp={}))});var Yp=I(pn=>{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});pn.MonikerRequest=pn.MonikerKind=pn.UniquenessLevel=void 0;var Xp=Te(),Zp;(function(n){n.document="document",n.project="project",n.group="group",n.scheme="scheme",n.global="global"})(Zp||(pn.UniquenessLevel=Zp={}));var Jp;(function(n){n.$import="import",n.$export="export",n.local="local"})(Jp||(pn.MonikerKind=Jp={}));var Qp;(function(n){n.method="textDocument/moniker",n.messageDirection=Xp.MessageDirection.clientToServer,n.type=new Xp.ProtocolRequestType(n.method)})(Qp||(pn.MonikerRequest=Qp={}))});var rh=I(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.TypeHierarchySubtypesRequest=hn.TypeHierarchySupertypesRequest=hn.TypeHierarchyPrepareRequest=void 0;var or=Te(),eh;(function(n){n.method="textDocument/prepareTypeHierarchy",n.messageDirection=or.MessageDirection.clientToServer,n.type=new or.ProtocolRequestType(n.method)})(eh||(hn.TypeHierarchyPrepareRequest=eh={}));var th;(function(n){n.method="typeHierarchy/supertypes",n.messageDirection=or.MessageDirection.clientToServer,n.type=new or.ProtocolRequestType(n.method)})(th||(hn.TypeHierarchySupertypesRequest=th={}));var nh;(function(n){n.method="typeHierarchy/subtypes",n.messageDirection=or.MessageDirection.clientToServer,n.type=new or.ProtocolRequestType(n.method)})(nh||(hn.TypeHierarchySubtypesRequest=nh={}))});var sh=I(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.InlineValueRefreshRequest=sr.InlineValueRequest=void 0;var Co=Te(),ih;(function(n){n.method="textDocument/inlineValue",n.messageDirection=Co.MessageDirection.clientToServer,n.type=new Co.ProtocolRequestType(n.method)})(ih||(sr.InlineValueRequest=ih={}));var oh;(function(n){n.method="workspace/inlineValue/refresh",n.messageDirection=Co.MessageDirection.serverToClient,n.type=new Co.ProtocolRequestType0(n.method)})(oh||(sr.InlineValueRefreshRequest=oh={}))});var uh=I(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.InlayHintRefreshRequest=mn.InlayHintResolveRequest=mn.InlayHintRequest=void 0;var ar=Te(),ah;(function(n){n.method="textDocument/inlayHint",n.messageDirection=ar.MessageDirection.clientToServer,n.type=new ar.ProtocolRequestType(n.method)})(ah||(mn.InlayHintRequest=ah={}));var ch;(function(n){n.method="inlayHint/resolve",n.messageDirection=ar.MessageDirection.clientToServer,n.type=new ar.ProtocolRequestType(n.method)})(ch||(mn.InlayHintResolveRequest=ch={}));var lh;(function(n){n.method="workspace/inlayHint/refresh",n.messageDirection=ar.MessageDirection.serverToClient,n.type=new ar.ProtocolRequestType0(n.method)})(lh||(mn.InlayHintRefreshRequest=lh={}))});var _h=I(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.DiagnosticRefreshRequest=Rt.WorkspaceDiagnosticRequest=Rt.DocumentDiagnosticRequest=Rt.DocumentDiagnosticReportKind=Rt.DiagnosticServerCancellationData=void 0;var gh=Ln(),qw=wo(),cr=Te(),dh;(function(n){function e(t){let r=t;return r&&qw.boolean(r.retriggerRequest)}n.is=e})(dh||(Rt.DiagnosticServerCancellationData=dh={}));var fh;(function(n){n.Full="full",n.Unchanged="unchanged"})(fh||(Rt.DocumentDiagnosticReportKind=fh={}));var ph;(function(n){n.method="textDocument/diagnostic",n.messageDirection=cr.MessageDirection.clientToServer,n.type=new cr.ProtocolRequestType(n.method),n.partialResult=new gh.ProgressType})(ph||(Rt.DocumentDiagnosticRequest=ph={}));var hh;(function(n){n.method="workspace/diagnostic",n.messageDirection=cr.MessageDirection.clientToServer,n.type=new cr.ProtocolRequestType(n.method),n.partialResult=new gh.ProgressType})(hh||(Rt.WorkspaceDiagnosticRequest=hh={}));var mh;(function(n){n.method="workspace/diagnostic/refresh",n.messageDirection=cr.MessageDirection.serverToClient,n.type=new cr.ProtocolRequestType0(n.method)})(mh||(Rt.DiagnosticRefreshRequest=mh={}))});var Eh=I(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.DidCloseNotebookDocumentNotification=Oe.DidSaveNotebookDocumentNotification=Oe.DidChangeNotebookDocumentNotification=Oe.NotebookCellArrayChange=Oe.DidOpenNotebookDocumentNotification=Oe.NotebookDocumentSyncRegistrationType=Oe.NotebookDocument=Oe.NotebookCell=Oe.ExecutionSummary=Oe.NotebookCellKind=void 0;var Fr=vo(),Tt=wo(),qt=Te(),Kc;(function(n){n.Markup=1,n.Code=2;function e(t){return t===1||t===2}n.is=e})(Kc||(Oe.NotebookCellKind=Kc={}));var Gc;(function(n){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}n.create=e;function t(i){let o=i;return Tt.objectLiteral(o)&&Fr.uinteger.is(o.executionOrder)&&(o.success===void 0||Tt.boolean(o.success))}n.is=t;function r(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}n.equals=r})(Gc||(Oe.ExecutionSummary=Gc={}));var $o;(function(n){function e(o,s){return{kind:o,document:s}}n.create=e;function t(o){let s=o;return Tt.objectLiteral(s)&&Kc.is(s.kind)&&Fr.DocumentUri.is(s.document)&&(s.metadata===void 0||Tt.objectLiteral(s.metadata))}n.is=t;function r(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!Gc.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}n.diff=r;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),d=Array.isArray(s);if(a!==d)return!1;if(a&&d){if(o.length!==s.length)return!1;for(let l=0;l<o.length;l++)if(!i(o[l],s[l]))return!1}if(Tt.objectLiteral(o)&&Tt.objectLiteral(s)){let l=Object.keys(o),h=Object.keys(s);if(l.length!==h.length||(l.sort(),h.sort(),!i(l,h)))return!1;for(let v=0;v<l.length;v++){let w=l[v];if(!i(o[w],s[w]))return!1}}return!0}})($o||(Oe.NotebookCell=$o={}));var bh;(function(n){function e(r,i,o,s){return{uri:r,notebookType:i,version:o,cells:s}}n.create=e;function t(r){let i=r;return Tt.objectLiteral(i)&&Tt.string(i.uri)&&Fr.integer.is(i.version)&&Tt.typedArray(i.cells,$o.is)}n.is=t})(bh||(Oe.NotebookDocument=bh={}));var lr;(function(n){n.method="notebookDocument/sync",n.messageDirection=qt.MessageDirection.clientToServer,n.type=new qt.RegistrationType(n.method)})(lr||(Oe.NotebookDocumentSyncRegistrationType=lr={}));var yh;(function(n){n.method="notebookDocument/didOpen",n.messageDirection=qt.MessageDirection.clientToServer,n.type=new qt.ProtocolNotificationType(n.method),n.registrationMethod=lr.method})(yh||(Oe.DidOpenNotebookDocumentNotification=yh={}));var vh;(function(n){function e(r){let i=r;return Tt.objectLiteral(i)&&Fr.uinteger.is(i.start)&&Fr.uinteger.is(i.deleteCount)&&(i.cells===void 0||Tt.typedArray(i.cells,$o.is))}n.is=e;function t(r,i,o){let s={start:r,deleteCount:i};return o!==void 0&&(s.cells=o),s}n.create=t})(vh||(Oe.NotebookCellArrayChange=vh={}));var wh;(function(n){n.method="notebookDocument/didChange",n.messageDirection=qt.MessageDirection.clientToServer,n.type=new qt.ProtocolNotificationType(n.method),n.registrationMethod=lr.method})(wh||(Oe.DidChangeNotebookDocumentNotification=wh={}));var Ph;(function(n){n.method="notebookDocument/didSave",n.messageDirection=qt.MessageDirection.clientToServer,n.type=new qt.ProtocolNotificationType(n.method),n.registrationMethod=lr.method})(Ph||(Oe.DidSaveNotebookDocumentNotification=Ph={}));var Rh;(function(n){n.method="notebookDocument/didClose",n.messageDirection=qt.MessageDirection.clientToServer,n.type=new qt.ProtocolNotificationType(n.method),n.registrationMethod=lr.method})(Rh||(Oe.DidCloseNotebookDocumentNotification=Rh={}))});var Lh=I(Oo=>{"use strict";Object.defineProperty(Oo,"__esModule",{value:!0});Oo.InlineCompletionRequest=void 0;var Sh=Te(),xh;(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=Sh.MessageDirection.clientToServer,n.type=new Sh.ProtocolRequestType(n.method)})(xh||(Oo.InlineCompletionRequest=xh={}))});var jm=I(p=>{"use strict";Object.defineProperty(p,"__esModule",{value:!0});p.WorkspaceSymbolRequest=p.CodeActionResolveRequest=p.CodeActionRequest=p.DocumentSymbolRequest=p.DocumentHighlightRequest=p.ReferencesRequest=p.DefinitionRequest=p.SignatureHelpRequest=p.SignatureHelpTriggerKind=p.HoverRequest=p.CompletionResolveRequest=p.CompletionRequest=p.CompletionTriggerKind=p.PublishDiagnosticsNotification=p.WatchKind=p.RelativePattern=p.FileChangeType=p.DidChangeWatchedFilesNotification=p.WillSaveTextDocumentWaitUntilRequest=p.WillSaveTextDocumentNotification=p.TextDocumentSaveReason=p.DidSaveTextDocumentNotification=p.DidCloseTextDocumentNotification=p.DidChangeTextDocumentNotification=p.TextDocumentContentChangeEvent=p.DidOpenTextDocumentNotification=p.TextDocumentSyncKind=p.TelemetryEventNotification=p.LogMessageNotification=p.ShowMessageRequest=p.ShowMessageNotification=p.MessageType=p.DidChangeConfigurationNotification=p.ExitNotification=p.ShutdownRequest=p.InitializedNotification=p.InitializeErrorCodes=p.InitializeRequest=p.WorkDoneProgressOptions=p.TextDocumentRegistrationOptions=p.StaticRegistrationOptions=p.PositionEncodingKind=p.FailureHandlingKind=p.ResourceOperationKind=p.UnregistrationRequest=p.RegistrationRequest=p.DocumentSelector=p.NotebookCellTextDocumentFilter=p.NotebookDocumentFilter=p.TextDocumentFilter=void 0;p.MonikerRequest=p.MonikerKind=p.UniquenessLevel=p.WillDeleteFilesRequest=p.DidDeleteFilesNotification=p.WillRenameFilesRequest=p.DidRenameFilesNotification=p.WillCreateFilesRequest=p.DidCreateFilesNotification=p.FileOperationPatternKind=p.LinkedEditingRangeRequest=p.ShowDocumentRequest=p.SemanticTokensRegistrationType=p.SemanticTokensRefreshRequest=p.SemanticTokensRangeRequest=p.SemanticTokensDeltaRequest=p.SemanticTokensRequest=p.TokenFormat=p.CallHierarchyPrepareRequest=p.CallHierarchyOutgoingCallsRequest=p.CallHierarchyIncomingCallsRequest=p.WorkDoneProgressCancelNotification=p.WorkDoneProgressCreateRequest=p.WorkDoneProgress=p.SelectionRangeRequest=p.DeclarationRequest=p.FoldingRangeRefreshRequest=p.FoldingRangeRequest=p.ColorPresentationRequest=p.DocumentColorRequest=p.ConfigurationRequest=p.DidChangeWorkspaceFoldersNotification=p.WorkspaceFoldersRequest=p.TypeDefinitionRequest=p.ImplementationRequest=p.ApplyWorkspaceEditRequest=p.ExecuteCommandRequest=p.PrepareRenameRequest=p.RenameRequest=p.PrepareSupportDefaultBehavior=p.DocumentOnTypeFormattingRequest=p.DocumentRangesFormattingRequest=p.DocumentRangeFormattingRequest=p.DocumentFormattingRequest=p.DocumentLinkResolveRequest=p.DocumentLinkRequest=p.CodeLensRefreshRequest=p.CodeLensResolveRequest=p.CodeLensRequest=p.WorkspaceSymbolResolveRequest=void 0;p.InlineCompletionRequest=p.DidCloseNotebookDocumentNotification=p.DidSaveNotebookDocumentNotification=p.DidChangeNotebookDocumentNotification=p.NotebookCellArrayChange=p.DidOpenNotebookDocumentNotification=p.NotebookDocumentSyncRegistrationType=p.NotebookDocument=p.NotebookCell=p.ExecutionSummary=p.NotebookCellKind=p.DiagnosticRefreshRequest=p.WorkspaceDiagnosticRequest=p.DocumentDiagnosticRequest=p.DocumentDiagnosticReportKind=p.DiagnosticServerCancellationData=p.InlayHintRefreshRequest=p.InlayHintResolveRequest=p.InlayHintRequest=p.InlineValueRefreshRequest=p.InlineValueRequest=p.TypeHierarchySupertypesRequest=p.TypeHierarchySubtypesRequest=p.TypeHierarchyPrepareRequest=void 0;var $=Te(),Dh=vo(),Be=wo(),Nw=Yf();Object.defineProperty(p,"ImplementationRequest",{enumerable:!0,get:function(){return Nw.ImplementationRequest}});var Fw=np();Object.defineProperty(p,"TypeDefinitionRequest",{enumerable:!0,get:function(){return Fw.TypeDefinitionRequest}});var Mm=op();Object.defineProperty(p,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return Mm.WorkspaceFoldersRequest}});Object.defineProperty(p,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return Mm.DidChangeWorkspaceFoldersNotification}});var jw=cp();Object.defineProperty(p,"ConfigurationRequest",{enumerable:!0,get:function(){return jw.ConfigurationRequest}});var qm=dp();Object.defineProperty(p,"DocumentColorRequest",{enumerable:!0,get:function(){return qm.DocumentColorRequest}});Object.defineProperty(p,"ColorPresentationRequest",{enumerable:!0,get:function(){return qm.ColorPresentationRequest}});var Nm=hp();Object.defineProperty(p,"FoldingRangeRequest",{enumerable:!0,get:function(){return Nm.FoldingRangeRequest}});Object.defineProperty(p,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return Nm.FoldingRangeRefreshRequest}});var Bw=_p();Object.defineProperty(p,"DeclarationRequest",{enumerable:!0,get:function(){return Bw.DeclarationRequest}});var Uw=vp();Object.defineProperty(p,"SelectionRangeRequest",{enumerable:!0,get:function(){return Uw.SelectionRangeRequest}});var Yc=Ep();Object.defineProperty(p,"WorkDoneProgress",{enumerable:!0,get:function(){return Yc.WorkDoneProgress}});Object.defineProperty(p,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return Yc.WorkDoneProgressCreateRequest}});Object.defineProperty(p,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return Yc.WorkDoneProgressCancelNotification}});var el=Dp();Object.defineProperty(p,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return el.CallHierarchyIncomingCallsRequest}});Object.defineProperty(p,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return el.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(p,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return el.CallHierarchyPrepareRequest}});var ur=$p();Object.defineProperty(p,"TokenFormat",{enumerable:!0,get:function(){return ur.TokenFormat}});Object.defineProperty(p,"SemanticTokensRequest",{enumerable:!0,get:function(){return ur.SemanticTokensRequest}});Object.defineProperty(p,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return ur.SemanticTokensDeltaRequest}});Object.defineProperty(p,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return ur.SemanticTokensRangeRequest}});Object.defineProperty(p,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return ur.SemanticTokensRefreshRequest}});Object.defineProperty(p,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return ur.SemanticTokensRegistrationType}});var Vw=qp();Object.defineProperty(p,"ShowDocumentRequest",{enumerable:!0,get:function(){return Vw.ShowDocumentRequest}});var Ww=jp();Object.defineProperty(p,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return Ww.LinkedEditingRangeRequest}});var Dn=Gp();Object.defineProperty(p,"FileOperationPatternKind",{enumerable:!0,get:function(){return Dn.FileOperationPatternKind}});Object.defineProperty(p,"DidCreateFilesNotification",{enumerable:!0,get:function(){return Dn.DidCreateFilesNotification}});Object.defineProperty(p,"WillCreateFilesRequest",{enumerable:!0,get:function(){return Dn.WillCreateFilesRequest}});Object.defineProperty(p,"DidRenameFilesNotification",{enumerable:!0,get:function(){return Dn.DidRenameFilesNotification}});Object.defineProperty(p,"WillRenameFilesRequest",{enumerable:!0,get:function(){return Dn.WillRenameFilesRequest}});Object.defineProperty(p,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return Dn.DidDeleteFilesNotification}});Object.defineProperty(p,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return Dn.WillDeleteFilesRequest}});var tl=Yp();Object.defineProperty(p,"UniquenessLevel",{enumerable:!0,get:function(){return tl.UniquenessLevel}});Object.defineProperty(p,"MonikerKind",{enumerable:!0,get:function(){return tl.MonikerKind}});Object.defineProperty(p,"MonikerRequest",{enumerable:!0,get:function(){return tl.MonikerRequest}});var nl=rh();Object.defineProperty(p,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return nl.TypeHierarchyPrepareRequest}});Object.defineProperty(p,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return nl.TypeHierarchySubtypesRequest}});Object.defineProperty(p,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return nl.TypeHierarchySupertypesRequest}});var Fm=sh();Object.defineProperty(p,"InlineValueRequest",{enumerable:!0,get:function(){return Fm.InlineValueRequest}});Object.defineProperty(p,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return Fm.InlineValueRefreshRequest}});var rl=uh();Object.defineProperty(p,"InlayHintRequest",{enumerable:!0,get:function(){return rl.InlayHintRequest}});Object.defineProperty(p,"InlayHintResolveRequest",{enumerable:!0,get:function(){return rl.InlayHintResolveRequest}});Object.defineProperty(p,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return rl.InlayHintRefreshRequest}});var jr=_h();Object.defineProperty(p,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return jr.DiagnosticServerCancellationData}});Object.defineProperty(p,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return jr.DocumentDiagnosticReportKind}});Object.defineProperty(p,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return jr.DocumentDiagnosticRequest}});Object.defineProperty(p,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return jr.WorkspaceDiagnosticRequest}});Object.defineProperty(p,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return jr.DiagnosticRefreshRequest}});var Nt=Eh();Object.defineProperty(p,"NotebookCellKind",{enumerable:!0,get:function(){return Nt.NotebookCellKind}});Object.defineProperty(p,"ExecutionSummary",{enumerable:!0,get:function(){return Nt.ExecutionSummary}});Object.defineProperty(p,"NotebookCell",{enumerable:!0,get:function(){return Nt.NotebookCell}});Object.defineProperty(p,"NotebookDocument",{enumerable:!0,get:function(){return Nt.NotebookDocument}});Object.defineProperty(p,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return Nt.NotebookDocumentSyncRegistrationType}});Object.defineProperty(p,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return Nt.DidOpenNotebookDocumentNotification}});Object.defineProperty(p,"NotebookCellArrayChange",{enumerable:!0,get:function(){return Nt.NotebookCellArrayChange}});Object.defineProperty(p,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return Nt.DidChangeNotebookDocumentNotification}});Object.defineProperty(p,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return Nt.DidSaveNotebookDocumentNotification}});Object.defineProperty(p,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return Nt.DidCloseNotebookDocumentNotification}});var zw=Lh();Object.defineProperty(p,"InlineCompletionRequest",{enumerable:!0,get:function(){return zw.InlineCompletionRequest}});var Xc;(function(n){function e(t){let r=t;return Be.string(r)||Be.string(r.language)||Be.string(r.scheme)||Be.string(r.pattern)}n.is=e})(Xc||(p.TextDocumentFilter=Xc={}));var Zc;(function(n){function e(t){let r=t;return Be.objectLiteral(r)&&(Be.string(r.notebookType)||Be.string(r.scheme)||Be.string(r.pattern))}n.is=e})(Zc||(p.NotebookDocumentFilter=Zc={}));var Jc;(function(n){function e(t){let r=t;return Be.objectLiteral(r)&&(Be.string(r.notebook)||Zc.is(r.notebook))&&(r.language===void 0||Be.string(r.language))}n.is=e})(Jc||(p.NotebookCellTextDocumentFilter=Jc={}));var Qc;(function(n){function e(t){if(!Array.isArray(t))return!1;for(let r of t)if(!Be.string(r)&&!Xc.is(r)&&!Jc.is(r))return!1;return!0}n.is=e})(Qc||(p.DocumentSelector=Qc={}));var kh;(function(n){n.method="client/registerCapability",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolRequestType(n.method)})(kh||(p.RegistrationRequest=kh={}));var Th;(function(n){n.method="client/unregisterCapability",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolRequestType(n.method)})(Th||(p.UnregistrationRequest=Th={}));var Ih;(function(n){n.Create="create",n.Rename="rename",n.Delete="delete"})(Ih||(p.ResourceOperationKind=Ih={}));var Ah;(function(n){n.Abort="abort",n.Transactional="transactional",n.TextOnlyTransactional="textOnlyTransactional",n.Undo="undo"})(Ah||(p.FailureHandlingKind=Ah={}));var Ch;(function(n){n.UTF8="utf-8",n.UTF16="utf-16",n.UTF32="utf-32"})(Ch||(p.PositionEncodingKind=Ch={}));var $h;(function(n){function e(t){let r=t;return r&&Be.string(r.id)&&r.id.length>0}n.hasId=e})($h||(p.StaticRegistrationOptions=$h={}));var Oh;(function(n){function e(t){let r=t;return r&&(r.documentSelector===null||Qc.is(r.documentSelector))}n.is=e})(Oh||(p.TextDocumentRegistrationOptions=Oh={}));var Mh;(function(n){function e(r){let i=r;return Be.objectLiteral(i)&&(i.workDoneProgress===void 0||Be.boolean(i.workDoneProgress))}n.is=e;function t(r){let i=r;return i&&Be.boolean(i.workDoneProgress)}n.hasWorkDoneProgress=t})(Mh||(p.WorkDoneProgressOptions=Mh={}));var qh;(function(n){n.method="initialize",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(qh||(p.InitializeRequest=qh={}));var Nh;(function(n){n.unknownProtocolVersion=1})(Nh||(p.InitializeErrorCodes=Nh={}));var Fh;(function(n){n.method="initialized",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(Fh||(p.InitializedNotification=Fh={}));var jh;(function(n){n.method="shutdown",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType0(n.method)})(jh||(p.ShutdownRequest=jh={}));var Bh;(function(n){n.method="exit",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType0(n.method)})(Bh||(p.ExitNotification=Bh={}));var Uh;(function(n){n.method="workspace/didChangeConfiguration",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(Uh||(p.DidChangeConfigurationNotification=Uh={}));var Vh;(function(n){n.Error=1,n.Warning=2,n.Info=3,n.Log=4,n.Debug=5})(Vh||(p.MessageType=Vh={}));var Wh;(function(n){n.method="window/showMessage",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolNotificationType(n.method)})(Wh||(p.ShowMessageNotification=Wh={}));var zh;(function(n){n.method="window/showMessageRequest",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolRequestType(n.method)})(zh||(p.ShowMessageRequest=zh={}));var Hh;(function(n){n.method="window/logMessage",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolNotificationType(n.method)})(Hh||(p.LogMessageNotification=Hh={}));var Kh;(function(n){n.method="telemetry/event",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolNotificationType(n.method)})(Kh||(p.TelemetryEventNotification=Kh={}));var Gh;(function(n){n.None=0,n.Full=1,n.Incremental=2})(Gh||(p.TextDocumentSyncKind=Gh={}));var Xh;(function(n){n.method="textDocument/didOpen",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(Xh||(p.DidOpenTextDocumentNotification=Xh={}));var Zh;(function(n){function e(r){let i=r;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}n.isIncremental=e;function t(r){let i=r;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}n.isFull=t})(Zh||(p.TextDocumentContentChangeEvent=Zh={}));var Jh;(function(n){n.method="textDocument/didChange",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(Jh||(p.DidChangeTextDocumentNotification=Jh={}));var Qh;(function(n){n.method="textDocument/didClose",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(Qh||(p.DidCloseTextDocumentNotification=Qh={}));var Yh;(function(n){n.method="textDocument/didSave",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(Yh||(p.DidSaveTextDocumentNotification=Yh={}));var em;(function(n){n.Manual=1,n.AfterDelay=2,n.FocusOut=3})(em||(p.TextDocumentSaveReason=em={}));var tm;(function(n){n.method="textDocument/willSave",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(tm||(p.WillSaveTextDocumentNotification=tm={}));var nm;(function(n){n.method="textDocument/willSaveWaitUntil",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(nm||(p.WillSaveTextDocumentWaitUntilRequest=nm={}));var rm;(function(n){n.method="workspace/didChangeWatchedFiles",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolNotificationType(n.method)})(rm||(p.DidChangeWatchedFilesNotification=rm={}));var im;(function(n){n.Created=1,n.Changed=2,n.Deleted=3})(im||(p.FileChangeType=im={}));var om;(function(n){function e(t){let r=t;return Be.objectLiteral(r)&&(Dh.URI.is(r.baseUri)||Dh.WorkspaceFolder.is(r.baseUri))&&Be.string(r.pattern)}n.is=e})(om||(p.RelativePattern=om={}));var sm;(function(n){n.Create=1,n.Change=2,n.Delete=4})(sm||(p.WatchKind=sm={}));var am;(function(n){n.method="textDocument/publishDiagnostics",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolNotificationType(n.method)})(am||(p.PublishDiagnosticsNotification=am={}));var cm;(function(n){n.Invoked=1,n.TriggerCharacter=2,n.TriggerForIncompleteCompletions=3})(cm||(p.CompletionTriggerKind=cm={}));var lm;(function(n){n.method="textDocument/completion",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(lm||(p.CompletionRequest=lm={}));var um;(function(n){n.method="completionItem/resolve",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(um||(p.CompletionResolveRequest=um={}));var dm;(function(n){n.method="textDocument/hover",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(dm||(p.HoverRequest=dm={}));var fm;(function(n){n.Invoked=1,n.TriggerCharacter=2,n.ContentChange=3})(fm||(p.SignatureHelpTriggerKind=fm={}));var pm;(function(n){n.method="textDocument/signatureHelp",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(pm||(p.SignatureHelpRequest=pm={}));var hm;(function(n){n.method="textDocument/definition",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(hm||(p.DefinitionRequest=hm={}));var mm;(function(n){n.method="textDocument/references",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(mm||(p.ReferencesRequest=mm={}));var gm;(function(n){n.method="textDocument/documentHighlight",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(gm||(p.DocumentHighlightRequest=gm={}));var _m;(function(n){n.method="textDocument/documentSymbol",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(_m||(p.DocumentSymbolRequest=_m={}));var bm;(function(n){n.method="textDocument/codeAction",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(bm||(p.CodeActionRequest=bm={}));var ym;(function(n){n.method="codeAction/resolve",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(ym||(p.CodeActionResolveRequest=ym={}));var vm;(function(n){n.method="workspace/symbol",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(vm||(p.WorkspaceSymbolRequest=vm={}));var wm;(function(n){n.method="workspaceSymbol/resolve",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(wm||(p.WorkspaceSymbolResolveRequest=wm={}));var Pm;(function(n){n.method="textDocument/codeLens",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Pm||(p.CodeLensRequest=Pm={}));var Rm;(function(n){n.method="codeLens/resolve",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Rm||(p.CodeLensResolveRequest=Rm={}));var Em;(function(n){n.method="workspace/codeLens/refresh",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolRequestType0(n.method)})(Em||(p.CodeLensRefreshRequest=Em={}));var Sm;(function(n){n.method="textDocument/documentLink",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Sm||(p.DocumentLinkRequest=Sm={}));var xm;(function(n){n.method="documentLink/resolve",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(xm||(p.DocumentLinkResolveRequest=xm={}));var Lm;(function(n){n.method="textDocument/formatting",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Lm||(p.DocumentFormattingRequest=Lm={}));var Dm;(function(n){n.method="textDocument/rangeFormatting",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Dm||(p.DocumentRangeFormattingRequest=Dm={}));var km;(function(n){n.method="textDocument/rangesFormatting",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(km||(p.DocumentRangesFormattingRequest=km={}));var Tm;(function(n){n.method="textDocument/onTypeFormatting",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Tm||(p.DocumentOnTypeFormattingRequest=Tm={}));var Im;(function(n){n.Identifier=1})(Im||(p.PrepareSupportDefaultBehavior=Im={}));var Am;(function(n){n.method="textDocument/rename",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Am||(p.RenameRequest=Am={}));var Cm;(function(n){n.method="textDocument/prepareRename",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})(Cm||(p.PrepareRenameRequest=Cm={}));var $m;(function(n){n.method="workspace/executeCommand",n.messageDirection=$.MessageDirection.clientToServer,n.type=new $.ProtocolRequestType(n.method)})($m||(p.ExecuteCommandRequest=$m={}));var Om;(function(n){n.method="workspace/applyEdit",n.messageDirection=$.MessageDirection.serverToClient,n.type=new $.ProtocolRequestType("workspace/applyEdit")})(Om||(p.ApplyWorkspaceEditRequest=Om={}))});var Um=I(Mo=>{"use strict";Object.defineProperty(Mo,"__esModule",{value:!0});Mo.createProtocolConnection=void 0;var Bm=Ln();function Hw(n,e,t,r){return Bm.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,Bm.createMessageConnection)(n,e,t,r)}Mo.createProtocolConnection=Hw});var Wm=I(ct=>{"use strict";var Kw=ct&&ct.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),qo=ct&&ct.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Kw(e,n,t)};Object.defineProperty(ct,"__esModule",{value:!0});ct.LSPErrorCodes=ct.createProtocolConnection=void 0;qo(Ln(),ct);qo(vo(),ct);qo(Te(),ct);qo(jm(),ct);var Gw=Um();Object.defineProperty(ct,"createProtocolConnection",{enumerable:!0,get:function(){return Gw.createProtocolConnection}});var Vm;(function(n){n.lspReservedErrorRangeStart=-32899,n.RequestFailed=-32803,n.ServerCancelled=-32802,n.ContentModified=-32801,n.RequestCancelled=-32800,n.lspReservedErrorRangeEnd=-32800})(Vm||(ct.LSPErrorCodes=Vm={}))});var Hm=I(Ft=>{"use strict";var Xw=Ft&&Ft.__createBinding||(Object.create?function(n,e,t,r){r===void 0&&(r=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(n,r,i)}:function(n,e,t,r){r===void 0&&(r=t),n[r]=e[t]}),zm=Ft&&Ft.__exportStar||function(n,e){for(var t in n)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Xw(e,n,t)};Object.defineProperty(Ft,"__esModule",{value:!0});Ft.createProtocolConnection=void 0;var Zw=Bc();zm(Bc(),Ft);zm(Wm(),Ft);function Jw(n,e,t,r){return(0,Zw.createMessageConnection)(n,e,t,r)}Ft.createProtocolConnection=Jw});var Qw=I((nx,Km)=>{"use strict";Km.exports=Hm()});var Qm=I((rx,Jm)=>{"use strict";Jm.exports=Xm;function Xm(n,e,t){n instanceof RegExp&&(n=Gm(n,t)),e instanceof RegExp&&(e=Gm(e,t));var r=Zm(n,e,t);return r&&{start:r[0],end:r[1],pre:t.slice(0,r[0]),body:t.slice(r[0]+n.length,r[1]),post:t.slice(r[1]+e.length)}}function Gm(n,e){var t=e.match(n);return t?t[0]:null}Xm.range=Zm;function Zm(n,e,t){var r,i,o,s,a,d=t.indexOf(n),l=t.indexOf(e,d+1),h=d;if(d>=0&&l>0){if(n===e)return[d,l];for(r=[],o=t.length;h>=0&&!a;)h==d?(r.push(h),d=t.indexOf(n,h+1)):r.length==1?a=[r.pop(),l]:(i=r.pop(),i<o&&(o=i,s=l),l=t.indexOf(e,h+1)),h=d<l&&d>=0?d:l;r.length&&(a=[o,s])}return a}});var sg=I((ix,og)=>{"use strict";var Ym=Qm();og.exports=tP;var eg="\0SLASH"+Math.random()+"\0",tg="\0OPEN"+Math.random()+"\0",ol="\0CLOSE"+Math.random()+"\0",ng="\0COMMA"+Math.random()+"\0",rg="\0PERIOD"+Math.random()+"\0";function il(n){return parseInt(n,10)==n?parseInt(n,10):n.charCodeAt(0)}function Yw(n){return n.split("\\\\").join(eg).split("\\{").join(tg).split("\\}").join(ol).split("\\,").join(ng).split("\\.").join(rg)}function eP(n){return n.split(eg).join("\\").split(tg).join("{").split(ol).join("}").split(ng).join(",").split(rg).join(".")}function ig(n){if(!n)return[""];var e=[],t=Ym("{","}",n);if(!t)return n.split(",");var r=t.pre,i=t.body,o=t.post,s=r.split(",");s[s.length-1]+="{"+i+"}";var a=ig(o);return o.length&&(s[s.length-1]+=a.shift(),s.push.apply(s,a)),e.push.apply(e,s),e}function tP(n){return n?(n.substr(0,2)==="{}"&&(n="\\{\\}"+n.substr(2)),Br(Yw(n),!0).map(eP)):[]}function nP(n){return"{"+n+"}"}function rP(n){return/^-?0\d/.test(n)}function iP(n,e){return n<=e}function oP(n,e){return n>=e}function Br(n,e){var t=[],r=Ym("{","}",n);if(!r)return[n];var i=r.pre,o=r.post.length?Br(r.post,!1):[""];if(/\$$/.test(r.pre))for(var s=0;s<o.length;s++){var a=i+"{"+r.body+"}"+o[s];t.push(a)}else{var d=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(r.body),l=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(r.body),h=d||l,v=r.body.indexOf(",")>=0;if(!h&&!v)return r.post.match(/,(?!,).*\}/)?(n=r.pre+"{"+r.body+ol+r.post,Br(n)):[n];var w;if(h)w=r.body.split(/\.\./);else if(w=ig(r.body),w.length===1&&(w=Br(w[0],!1).map(nP),w.length===1))return o.map(function(Qe){return r.pre+w[0]+Qe});var _;if(h){var L=il(w[0]),k=il(w[1]),X=Math.max(w[0].length,w[1].length),fe=w.length==3?Math.abs(il(w[2])):1,B=iP,ee=k<L;ee&&(fe*=-1,B=oP);var ae=w.some(rP);_=[];for(var Q=L;B(Q,k);Q+=fe){var te;if(l)te=String.fromCharCode(Q),te==="\\"&&(te="");else if(te=String(Q),ae){var _e=X-te.length;if(_e>0){var Ae=new Array(_e+1).join("0");Q<0?te="-"+Ae+te.slice(1):te=Ae+te}}_.push(te)}}else{_=[];for(var qe=0;qe<w.length;qe++)_.push.apply(_,Br(w[qe],!1))}for(var qe=0;qe<_.length;qe++)for(var s=0;s<o.length;s++){var a=i+_[qe]+o[s];(!e||h||a)&&t.push(a)}}return t}});var ag=I(No=>{"use strict";Object.defineProperty(No,"__esModule",{value:!0});No.assertValidPattern=void 0;var sP=1024*64,aP=n=>{if(typeof n!="string")throw new TypeError("invalid pattern");if(n.length>sP)throw new TypeError("pattern is too long")};No.assertValidPattern=aP});var lg=I(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.parseClass=void 0;var cP={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},Ur=n=>n.replace(/[[\]\\-]/g,"\\$&"),lP=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),cg=n=>n.join(""),uP=(n,e)=>{let t=e;if(n.charAt(t)!=="[")throw new Error("not in a brace expression");let r=[],i=[],o=t+1,s=!1,a=!1,d=!1,l=!1,h=t,v="";e:for(;o<n.length;){let k=n.charAt(o);if((k==="!"||k==="^")&&o===t+1){l=!0,o++;continue}if(k==="]"&&s&&!d){h=o+1;break}if(s=!0,k==="\\"&&!d){d=!0,o++;continue}if(k==="["&&!d){for(let[X,[fe,B,ee]]of Object.entries(cP))if(n.startsWith(X,o)){if(v)return["$.",!1,n.length-t,!0];o+=X.length,ee?i.push(fe):r.push(fe),a=a||B;continue e}}if(d=!1,v){k>v?r.push(Ur(v)+"-"+Ur(k)):k===v&&r.push(Ur(k)),v="",o++;continue}if(n.startsWith("-]",o+1)){r.push(Ur(k+"-")),o+=2;continue}if(n.startsWith("-",o+1)){v=k,o+=2;continue}r.push(Ur(k)),o++}if(h<o)return["",!1,0,!1];if(!r.length&&!i.length)return["$.",!1,n.length-t,!0];if(i.length===0&&r.length===1&&/^\\?.$/.test(r[0])&&!l){let k=r[0].length===2?r[0].slice(-1):r[0];return[lP(k),!1,h-t,!1]}let w="["+(l?"^":"")+cg(r)+"]",_="["+(l?"":"^")+cg(i)+"]";return[r.length&&i.length?"("+w+"|"+_+")":r.length?w:_,a,h-t,!0]};Fo.parseClass=uP});var Bo=I(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});jo.unescape=void 0;var dP=(n,{windowsPathsNoEscape:e=!1}={})=>e?n.replace(/\[([^\/\\])\]/g,"$1"):n.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");jo.unescape=dP});var cl=I(Wo=>{"use strict";Object.defineProperty(Wo,"__esModule",{value:!0});Wo.AST=void 0;var fP=lg(),Uo=Bo(),pP=new Set(["!","?","+","*","@"]),ug=n=>pP.has(n),hP="(?!(?:^|/)\\.\\.?(?:$|/))",Vo="(?!\\.)",mP=new Set(["[","."]),gP=new Set(["..","."]),_P=new Set("().*{}+?[]^$\\!"),bP=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),al="[^/]",dg=al+"*?",fg=al+"+?",sl=class n{type;#n;#r;#o=!1;#e=[];#t;#s;#c;#a=!1;#i;#l;#d=!1;constructor(e,t,r={}){this.type=e,e&&(this.#r=!0),this.#t=t,this.#n=this.#t?this.#t.#n:this,this.#i=this.#n===this?r:this.#n.#i,this.#c=this.#n===this?[]:this.#n.#c,e==="!"&&!this.#n.#a&&this.#c.push(this),this.#s=this.#t?this.#t.#e.length:0}get hasMagic(){if(this.#r!==void 0)return this.#r;for(let e of this.#e)if(typeof e!="string"&&(e.type||e.hasMagic))return this.#r=!0;return this.#r}toString(){return this.#l!==void 0?this.#l:this.type?this.#l=this.type+"("+this.#e.map(e=>String(e)).join("|")+")":this.#l=this.#e.map(e=>String(e)).join("")}#p(){if(this!==this.#n)throw new Error("should only call on root");if(this.#a)return this;this.toString(),this.#a=!0;let e;for(;e=this.#c.pop();){if(e.type!=="!")continue;let t=e,r=t.#t;for(;r;){for(let i=t.#s+1;!r.type&&i<r.#e.length;i++)for(let o of e.#e){if(typeof o=="string")throw new Error("string part in extglob AST??");o.copyIn(r.#e[i])}t=r,r=t.#t}}return this}push(...e){for(let t of e)if(t!==""){if(typeof t!="string"&&!(t instanceof n&&t.#t===this))throw new Error("invalid part: "+t);this.#e.push(t)}}toJSON(){let e=this.type===null?this.#e.slice().map(t=>typeof t=="string"?t:t.toJSON()):[this.type,...this.#e.map(t=>t.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===this.#n||this.#n.#a&&this.#t?.type==="!")&&e.push({}),e}isStart(){if(this.#n===this)return!0;if(!this.#t?.isStart())return!1;if(this.#s===0)return!0;let e=this.#t;for(let t=0;t<this.#s;t++){let r=e.#e[t];if(!(r instanceof n&&r.type==="!"))return!1}return!0}isEnd(){if(this.#n===this||this.#t?.type==="!")return!0;if(!this.#t?.isEnd())return!1;if(!this.type)return this.#t?.isEnd();let e=this.#t?this.#t.#e.length:0;return this.#s===e-1}copyIn(e){typeof e=="string"?this.push(e):this.push(e.clone(this))}clone(e){let t=new n(this.type,e);for(let r of this.#e)t.copyIn(r);return t}static#u(e,t,r,i){let o=!1,s=!1,a=-1,d=!1;if(t.type===null){let _=r,L="";for(;_<e.length;){let k=e.charAt(_++);if(o||k==="\\"){o=!o,L+=k;continue}if(s){_===a+1?(k==="^"||k==="!")&&(d=!0):k==="]"&&!(_===a+2&&d)&&(s=!1),L+=k;continue}else if(k==="["){s=!0,a=_,d=!1,L+=k;continue}if(!i.noext&&ug(k)&&e.charAt(_)==="("){t.push(L),L="";let X=new n(k,t);_=n.#u(e,X,_,i),t.push(X);continue}L+=k}return t.push(L),_}let l=r+1,h=new n(null,t),v=[],w="";for(;l<e.length;){let _=e.charAt(l++);if(o||_==="\\"){o=!o,w+=_;continue}if(s){l===a+1?(_==="^"||_==="!")&&(d=!0):_==="]"&&!(l===a+2&&d)&&(s=!1),w+=_;continue}else if(_==="["){s=!0,a=l,d=!1,w+=_;continue}if(ug(_)&&e.charAt(l)==="("){h.push(w),w="";let L=new n(_,h);h.push(L),l=n.#u(e,L,l,i);continue}if(_==="|"){h.push(w),w="",v.push(h),h=new n(null,t);continue}if(_===")")return w===""&&t.#e.length===0&&(t.#d=!0),h.push(w),w="",t.push(...v,h),l;w+=_}return t.type=null,t.#r=void 0,t.#e=[e.substring(r-1)],l}static fromGlob(e,t={}){let r=new n(null,void 0,t);return n.#u(e,r,0,t),r}toMMPattern(){if(this!==this.#n)return this.#n.toMMPattern();let e=this.toString(),[t,r,i,o]=this.toRegExpSource();if(!(i||this.#r||this.#i.nocase&&!this.#i.nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase()))return r;let a=(this.#i.nocase?"i":"")+(o?"u":"");return Object.assign(new RegExp(`^${t}$`,a),{_src:t,_glob:e})}get options(){return this.#i}toRegExpSource(e){let t=e??!!this.#i.dot;if(this.#n===this&&this.#p(),!this.type){let d=this.isStart()&&this.isEnd(),l=this.#e.map(_=>{let[L,k,X,fe]=typeof _=="string"?n.#h(_,this.#r,d):_.toRegExpSource(e);return this.#r=this.#r||X,this.#o=this.#o||fe,L}).join(""),h="";if(this.isStart()&&typeof this.#e[0]=="string"&&!(this.#e.length===1&&gP.has(this.#e[0]))){let L=mP,k=t&&L.has(l.charAt(0))||l.startsWith("\\.")&&L.has(l.charAt(2))||l.startsWith("\\.\\.")&&L.has(l.charAt(4)),X=!t&&!e&&L.has(l.charAt(0));h=k?hP:X?Vo:""}let v="";return this.isEnd()&&this.#n.#a&&this.#t?.type==="!"&&(v="(?:$|\\/)"),[h+l+v,(0,Uo.unescape)(l),this.#r=!!this.#r,this.#o]}let r=this.type==="*"||this.type==="+",i=this.type==="!"?"(?:(?!(?:":"(?:",o=this.#f(t);if(this.isStart()&&this.isEnd()&&!o&&this.type!=="!"){let d=this.toString();return this.#e=[d],this.type=null,this.#r=void 0,[d,(0,Uo.unescape)(this.toString()),!1,!1]}let s=!r||e||t||!Vo?"":this.#f(!0);s===o&&(s=""),s&&(o=`(?:${o})(?:${s})*?`);let a="";if(this.type==="!"&&this.#d)a=(this.isStart()&&!t?Vo:"")+fg;else{let d=this.type==="!"?"))"+(this.isStart()&&!t&&!e?Vo:"")+dg+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&s?")":this.type==="*"&&s?")?":`)${this.type}`;a=i+o+d}return[a,(0,Uo.unescape)(o),this.#r=!!this.#r,this.#o]}#f(e){return this.#e.map(t=>{if(typeof t=="string")throw new Error("string type in extglob ast??");let[r,i,o,s]=t.toRegExpSource(e);return this.#o=this.#o||s,r}).filter(t=>!(this.isStart()&&this.isEnd())||!!t).join("|")}static#h(e,t,r=!1){let i=!1,o="",s=!1;for(let a=0;a<e.length;a++){let d=e.charAt(a);if(i){i=!1,o+=(_P.has(d)?"\\":"")+d;continue}if(d==="\\"){a===e.length-1?o+="\\\\":i=!0;continue}if(d==="["){let[l,h,v,w]=(0,fP.parseClass)(e,a);if(v){o+=l,s=s||h,a+=v-1,t=t||w;continue}}if(d==="*"){r&&e==="*"?o+=fg:o+=dg,t=!0;continue}if(d==="?"){o+=al,t=!0;continue}o+=bP(d)}return[o,(0,Uo.unescape)(e),!!t,s]}};Wo.AST=sl});var ll=I(zo=>{"use strict";Object.defineProperty(zo,"__esModule",{value:!0});zo.escape=void 0;var yP=(n,{windowsPathsNoEscape:e=!1}={})=>e?n.replace(/[?*()[\]]/g,"[$&]"):n.replace(/[?*()[\]\\]/g,"\\$&");zo.escape=yP});var nR=I(K=>{"use strict";var vP=K&&K.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(K,"__esModule",{value:!0});K.unescape=K.escape=K.AST=K.Minimatch=K.match=K.makeRe=K.braceExpand=K.defaults=K.filter=K.GLOBSTAR=K.sep=K.minimatch=void 0;var wP=vP(sg()),Ho=ag(),mg=cl(),PP=ll(),RP=Bo(),EP=(n,e,t={})=>((0,Ho.assertValidPattern)(e),!t.nocomment&&e.charAt(0)==="#"?!1:new kn(e,t).match(n));K.minimatch=EP;var SP=/^\*+([^+@!?\*\[\(]*)$/,xP=n=>e=>!e.startsWith(".")&&e.endsWith(n),LP=n=>e=>e.endsWith(n),DP=n=>(n=n.toLowerCase(),e=>!e.startsWith(".")&&e.toLowerCase().endsWith(n)),kP=n=>(n=n.toLowerCase(),e=>e.toLowerCase().endsWith(n)),TP=/^\*+\.\*+$/,IP=n=>!n.startsWith(".")&&n.includes("."),AP=n=>n!=="."&&n!==".."&&n.includes("."),CP=/^\.\*+$/,$P=n=>n!=="."&&n!==".."&&n.startsWith("."),OP=/^\*+$/,MP=n=>n.length!==0&&!n.startsWith("."),qP=n=>n.length!==0&&n!=="."&&n!=="..",NP=/^\?+([^+@!?\*\[\(]*)?$/,FP=([n,e=""])=>{let t=gg([n]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},jP=([n,e=""])=>{let t=_g([n]);return e?(e=e.toLowerCase(),r=>t(r)&&r.toLowerCase().endsWith(e)):t},BP=([n,e=""])=>{let t=_g([n]);return e?r=>t(r)&&r.endsWith(e):t},UP=([n,e=""])=>{let t=gg([n]);return e?r=>t(r)&&r.endsWith(e):t},gg=([n])=>{let e=n.length;return t=>t.length===e&&!t.startsWith(".")},_g=([n])=>{let e=n.length;return t=>t.length===e&&t!=="."&&t!==".."},bg=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",pg={win32:{sep:"\\"},posix:{sep:"/"}};K.sep=bg==="win32"?pg.win32.sep:pg.posix.sep;K.minimatch.sep=K.sep;K.GLOBSTAR=Symbol("globstar **");K.minimatch.GLOBSTAR=K.GLOBSTAR;var VP="[^/]",WP=VP+"*?",zP="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",HP="(?:(?!(?:\\/|^)\\.).)*?",KP=(n,e={})=>t=>(0,K.minimatch)(t,n,e);K.filter=KP;K.minimatch.filter=K.filter;var Et=(n,e={})=>Object.assign({},n,e),GP=n=>{if(!n||typeof n!="object"||!Object.keys(n).length)return K.minimatch;let e=K.minimatch;return Object.assign((r,i,o={})=>e(r,i,Et(n,o)),{Minimatch:class extends e.Minimatch{constructor(i,o={}){super(i,Et(n,o))}static defaults(i){return e.defaults(Et(n,i)).Minimatch}},AST:class extends e.AST{constructor(i,o,s={}){super(i,o,Et(n,s))}static fromGlob(i,o={}){return e.AST.fromGlob(i,Et(n,o))}},unescape:(r,i={})=>e.unescape(r,Et(n,i)),escape:(r,i={})=>e.escape(r,Et(n,i)),filter:(r,i={})=>e.filter(r,Et(n,i)),defaults:r=>e.defaults(Et(n,r)),makeRe:(r,i={})=>e.makeRe(r,Et(n,i)),braceExpand:(r,i={})=>e.braceExpand(r,Et(n,i)),match:(r,i,o={})=>e.match(r,i,Et(n,o)),sep:e.sep,GLOBSTAR:K.GLOBSTAR})};K.defaults=GP;K.minimatch.defaults=K.defaults;var XP=(n,e={})=>((0,Ho.assertValidPattern)(n),e.nobrace||!/\{(?:(?!\{).)*\}/.test(n)?[n]:(0,wP.default)(n));K.braceExpand=XP;K.minimatch.braceExpand=K.braceExpand;var ZP=(n,e={})=>new kn(n,e).makeRe();K.makeRe=ZP;K.minimatch.makeRe=K.makeRe;var JP=(n,e,t={})=>{let r=new kn(e,t);return n=n.filter(i=>r.match(i)),r.options.nonull&&!n.length&&n.push(e),n};K.match=JP;K.minimatch.match=K.match;var hg=/[?*]|[+@!]\(.*?\)|\[|\]/,QP=n=>n.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),kn=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(e,t={}){(0,Ho.assertValidPattern)(e),t=t||{},this.options=t,this.pattern=e,this.platform=t.platform||bg,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!t.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!t.nonegate,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=t.windowsNoMagicRoot!==void 0?t.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let t of e)if(typeof t!="string")return!0;return!1}debug(...e){}make(){let e=this.pattern,t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],t.debug&&(this.debug=(...o)=>console.error(...o)),this.debug(this.pattern,this.globSet);let r=this.globSet.map(o=>this.slashSplit(o));this.globParts=this.preprocess(r),this.debug(this.pattern,this.globParts);let i=this.globParts.map((o,s,a)=>{if(this.isWindows&&this.windowsNoMagicRoot){let d=o[0]===""&&o[1]===""&&(o[2]==="?"||!hg.test(o[2]))&&!hg.test(o[3]),l=/^[a-z]:/i.test(o[0]);if(d)return[...o.slice(0,4),...o.slice(4).map(h=>this.parse(h))];if(l)return[o[0],...o.slice(1).map(h=>this.parse(h))]}return o.map(d=>this.parse(d))});if(this.debug(this.pattern,i),this.set=i.filter(o=>o.indexOf(!1)===-1),this.isWindows)for(let o=0;o<this.set.length;o++){let s=this.set[o];s[0]===""&&s[1]===""&&this.globParts[o][2]==="?"&&typeof s[3]=="string"&&/^[a-z]:$/i.test(s[3])&&(s[2]="?")}this.debug(this.pattern,this.set)}preprocess(e){if(this.options.noglobstar)for(let r=0;r<e.length;r++)for(let i=0;i<e[r].length;i++)e[r][i]==="**"&&(e[r][i]="*");let{optimizationLevel:t=1}=this.options;return t>=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):t>=1?e=this.levelOneOptimize(e):e=this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(t=>{let r=-1;for(;(r=t.indexOf("**",r+1))!==-1;){let i=r;for(;t[i+1]==="**";)i++;i!==r&&t.splice(r,i-r)}return t})}levelOneOptimize(e){return e.map(t=>(t=t.reduce((r,i)=>{let o=r[r.length-1];return i==="**"&&o==="**"?r:i===".."&&o&&o!==".."&&o!=="."&&o!=="**"?(r.pop(),r):(r.push(i),r)},[]),t.length===0?[""]:t))}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let t=!1;do{if(t=!1,!this.preserveMultipleSlashes){for(let i=1;i<e.length-1;i++){let o=e[i];i===1&&o===""&&e[0]===""||(o==="."||o==="")&&(t=!0,e.splice(i,1),i--)}e[0]==="."&&e.length===2&&(e[1]==="."||e[1]==="")&&(t=!0,e.pop())}let r=0;for(;(r=e.indexOf("..",r+1))!==-1;){let i=e[r-1];i&&i!=="."&&i!==".."&&i!=="**"&&(t=!0,e.splice(r-1,2),r-=2)}}while(t);return e.length===0?[""]:e}firstPhasePreProcess(e){let t=!1;do{t=!1;for(let r of e){let i=-1;for(;(i=r.indexOf("**",i+1))!==-1;){let s=i;for(;r[s+1]==="**";)s++;s>i&&r.splice(i+1,s-i);let a=r[i+1],d=r[i+2],l=r[i+3];if(a!==".."||!d||d==="."||d===".."||!l||l==="."||l==="..")continue;t=!0,r.splice(i,1);let h=r.slice(0);h[i]="**",e.push(h),i--}if(!this.preserveMultipleSlashes){for(let s=1;s<r.length-1;s++){let a=r[s];s===1&&a===""&&r[0]===""||(a==="."||a==="")&&(t=!0,r.splice(s,1),s--)}r[0]==="."&&r.length===2&&(r[1]==="."||r[1]==="")&&(t=!0,r.pop())}let o=0;for(;(o=r.indexOf("..",o+1))!==-1;){let s=r[o-1];if(s&&s!=="."&&s!==".."&&s!=="**"){t=!0;let d=o===1&&r[o+1]==="**"?["."]:[];r.splice(o-1,2,...d),r.length===0&&r.push(""),o-=2}}}}while(t);return e}secondPhasePreProcess(e){for(let t=0;t<e.length-1;t++)for(let r=t+1;r<e.length;r++){let i=this.partsMatch(e[t],e[r],!this.preserveMultipleSlashes);if(i){e[t]=[],e[r]=i;break}}return e.filter(t=>t.length)}partsMatch(e,t,r=!1){let i=0,o=0,s=[],a="";for(;i<e.length&&o<t.length;)if(e[i]===t[o])s.push(a==="b"?t[o]:e[i]),i++,o++;else if(r&&e[i]==="**"&&t[o]===e[i+1])s.push(e[i]),i++;else if(r&&t[o]==="**"&&e[i]===t[o+1])s.push(t[o]),o++;else if(e[i]==="*"&&t[o]&&(this.options.dot||!t[o].startsWith("."))&&t[o]!=="**"){if(a==="b")return!1;a="a",s.push(e[i]),i++,o++}else if(t[o]==="*"&&e[i]&&(this.options.dot||!e[i].startsWith("."))&&e[i]!=="**"){if(a==="a")return!1;a="b",s.push(t[o]),i++,o++}else return!1;return e.length===t.length&&s}parseNegate(){if(this.nonegate)return;let e=this.pattern,t=!1,r=0;for(let i=0;i<e.length&&e.charAt(i)==="!";i++)t=!t,r++;r&&(this.pattern=e.slice(r)),this.negate=t}matchOne(e,t,r=!1){let i=this.options;if(this.isWindows){let k=typeof e[0]=="string"&&/^[a-z]:$/i.test(e[0]),X=!k&&e[0]===""&&e[1]===""&&e[2]==="?"&&/^[a-z]:$/i.test(e[3]),fe=typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0]),B=!fe&&t[0]===""&&t[1]===""&&t[2]==="?"&&typeof t[3]=="string"&&/^[a-z]:$/i.test(t[3]),ee=X?3:k?0:void 0,ae=B?3:fe?0:void 0;if(typeof ee=="number"&&typeof ae=="number"){let[Q,te]=[e[ee],t[ae]];Q.toLowerCase()===te.toLowerCase()&&(t[ae]=Q,ae>ee?t=t.slice(ae):ee>ae&&(e=e.slice(ee)))}}let{optimizationLevel:o=1}=this.options;o>=2&&(e=this.levelTwoFileOptimize(e)),this.debug("matchOne",this,{file:e,pattern:t}),this.debug("matchOne",e.length,t.length);for(var s=0,a=0,d=e.length,l=t.length;s<d&&a<l;s++,a++){this.debug("matchOne loop");var h=t[a],v=e[s];if(this.debug(t,h,v),h===!1)return!1;if(h===K.GLOBSTAR){this.debug("GLOBSTAR",[t,h,v]);var w=s,_=a+1;if(_===l){for(this.debug("** at the end");s<d;s++)if(e[s]==="."||e[s]===".."||!i.dot&&e[s].charAt(0)===".")return!1;return!0}for(;w<d;){var L=e[w];if(this.debug(`
54
54
  globstar while`,e,w,t,_,L),this.matchOne(e.slice(w),t.slice(_),r))return this.debug("globstar found match!",w,d,L),!0;if(L==="."||L===".."||!i.dot&&L.charAt(0)==="."){this.debug("dot detected!",e,w,t,_);break}this.debug("globstar swallow a segment, and continue"),w++}return!!(r&&(this.debug(`
55
- >>> no match, partial?`,e,w,t,_),w===d))}let k;if(typeof h=="string"?(k=v===h,this.debug("string match",h,v,k)):(k=h.test(v),this.debug("pattern match",h,v,k)),!k)return!1}if(s===d&&a===l)return!0;if(s===d)return r;if(a===l)return s===d-1&&e[s]==="";throw new Error("wtf?")}braceExpand(){return(0,K.braceExpand)(this.pattern,this.options)}parse(e){(0,Ho.assertValidPattern)(e);let t=this.options;if(e==="**")return K.GLOBSTAR;if(e==="")return"";let r,i=null;(r=e.match(OP))?i=t.dot?qP:MP:(r=e.match(SP))?i=(t.nocase?t.dot?kP:DP:t.dot?LP:xP)(r[1]):(r=e.match(NP))?i=(t.nocase?t.dot?jP:FP:t.dot?BP:UP)(r):(r=e.match(TP))?i=t.dot?CP:IP:(r=e.match(AP))&&(i=$P);let o=gg.AST.fromGlob(e,this.options).toMMPattern();return i&&typeof o=="object"&&Reflect.defineProperty(o,"test",{value:i}),o}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let t=this.options,r=t.noglobstar?WP:t.dot?zP:HP,i=new Set(t.nocase?["i"]:[]),o=e.map(d=>{let l=d.map(h=>{if(h instanceof RegExp)for(let v of h.flags.split(""))i.add(v);return typeof h=="string"?ZP(h):h===K.GLOBSTAR?K.GLOBSTAR:h._src});return l.forEach((h,v)=>{let w=l[v+1],_=l[v-1];h!==K.GLOBSTAR||_===K.GLOBSTAR||(_===void 0?w!==void 0&&w!==K.GLOBSTAR?l[v+1]="(?:\\/|"+r+"\\/)?"+w:l[v]=r:w===void 0?l[v-1]=_+"(?:\\/|"+r+")?":w!==K.GLOBSTAR&&(l[v-1]=_+"(?:\\/|\\/"+r+"\\/)"+w,l[v+1]=K.GLOBSTAR))}),l.filter(h=>h!==K.GLOBSTAR).join("/")}).join("|"),[s,a]=e.length>1?["(?:",")"]:["",""];o="^"+s+o+a+"$",this.negate&&(o="^(?!"+o+").+$");try{this.regexp=new RegExp(o,[...i].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e,t=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&t)return!0;let r=this.options;this.isWindows&&(e=e.split("\\").join("/"));let i=this.slashSplit(e);this.debug(this.pattern,"split",i);let o=this.set;this.debug(this.pattern,"set",o);let s=i[i.length-1];if(!s)for(let a=i.length-2;!s&&a>=0;a--)s=i[a];for(let a=0;a<o.length;a++){let d=o[a],l=i;if(r.matchBase&&d.length===1&&(l=[s]),this.matchOne(l,d,t))return r.flipNegate?!0:!this.negate}return r.flipNegate?!1:this.negate}static defaults(e){return K.minimatch.defaults(e).Minimatch}};K.Minimatch=kn;var YP=ll();Object.defineProperty(K,"AST",{enumerable:!0,get:function(){return YP.AST}});var eR=ul();Object.defineProperty(K,"escape",{enumerable:!0,get:function(){return eR.escape}});var tR=Bo();Object.defineProperty(K,"unescape",{enumerable:!0,get:function(){return tR.unescape}});K.minimatch.AST=gg.AST;K.minimatch.Minimatch=kn;K.minimatch.escape=PP.escape;K.minimatch.unescape=RP.unescape});var iR="Factorio Modding Tool Kit",_n="2.0.6";var G=ti(Il(),1),ta=ti(vd(),1);import*as Wt from"path";import*as rf from"fs/promises";import*as Rn from"os";var wd;(()=>{"use strict";var n={975:O=>{function E(x){if(typeof x!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(x))}function F(x,C){for(var A,N="",z=0,q=-1,ne=0,re=0;re<=x.length;++re){if(re<x.length)A=x.charCodeAt(re);else{if(A===47)break;A=47}if(A===47){if(!(q===re-1||ne===1))if(q!==re-1&&ne===2){if(N.length<2||z!==2||N.charCodeAt(N.length-1)!==46||N.charCodeAt(N.length-2)!==46){if(N.length>2){var Me=N.lastIndexOf("/");if(Me!==N.length-1){Me===-1?(N="",z=0):z=(N=N.slice(0,Me)).length-1-N.lastIndexOf("/"),q=re,ne=0;continue}}else if(N.length===2||N.length===1){N="",z=0,q=re,ne=0;continue}}C&&(N.length>0?N+="/..":N="..",z=2)}else N.length>0?N+="/"+x.slice(q+1,re):N=x.slice(q+1,re),z=re-q-1;q=re,ne=0}else A===46&&ne!==-1?++ne:ne=-1}return N}var j={resolve:function(){for(var x,C="",A=!1,N=arguments.length-1;N>=-1&&!A;N--){var z;N>=0?z=arguments[N]:(x===void 0&&(x=process.cwd()),z=x),E(z),z.length!==0&&(C=z+"/"+C,A=z.charCodeAt(0)===47)}return C=F(C,!A),A?C.length>0?"/"+C:"/":C.length>0?C:"."},normalize:function(x){if(E(x),x.length===0)return".";var C=x.charCodeAt(0)===47,A=x.charCodeAt(x.length-1)===47;return(x=F(x,!C)).length!==0||C||(x="."),x.length>0&&A&&(x+="/"),C?"/"+x:x},isAbsolute:function(x){return E(x),x.length>0&&x.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var x,C=0;C<arguments.length;++C){var A=arguments[C];E(A),A.length>0&&(x===void 0?x=A:x+="/"+A)}return x===void 0?".":j.normalize(x)},relative:function(x,C){if(E(x),E(C),x===C||(x=j.resolve(x))===(C=j.resolve(C)))return"";for(var A=1;A<x.length&&x.charCodeAt(A)===47;++A);for(var N=x.length,z=N-A,q=1;q<C.length&&C.charCodeAt(q)===47;++q);for(var ne=C.length-q,re=z<ne?z:ne,Me=-1,he=0;he<=re;++he){if(he===re){if(ne>re){if(C.charCodeAt(q+he)===47)return C.slice(q+he+1);if(he===0)return C.slice(q+he)}else z>re&&(x.charCodeAt(A+he)===47?Me=he:he===0&&(Me=0));break}var Ye=x.charCodeAt(A+he);if(Ye!==C.charCodeAt(q+he))break;Ye===47&&(Me=he)}var It="";for(he=A+Me+1;he<=N;++he)he!==N&&x.charCodeAt(he)!==47||(It.length===0?It+="..":It+="/..");return It.length>0?It+C.slice(q+Me):(q+=Me,C.charCodeAt(q)===47&&++q,C.slice(q))},_makeLong:function(x){return x},dirname:function(x){if(E(x),x.length===0)return".";for(var C=x.charCodeAt(0),A=C===47,N=-1,z=!0,q=x.length-1;q>=1;--q)if((C=x.charCodeAt(q))===47){if(!z){N=q;break}}else z=!1;return N===-1?A?"/":".":A&&N===1?"//":x.slice(0,N)},basename:function(x,C){if(C!==void 0&&typeof C!="string")throw new TypeError('"ext" argument must be a string');E(x);var A,N=0,z=-1,q=!0;if(C!==void 0&&C.length>0&&C.length<=x.length){if(C.length===x.length&&C===x)return"";var ne=C.length-1,re=-1;for(A=x.length-1;A>=0;--A){var Me=x.charCodeAt(A);if(Me===47){if(!q){N=A+1;break}}else re===-1&&(q=!1,re=A+1),ne>=0&&(Me===C.charCodeAt(ne)?--ne==-1&&(z=A):(ne=-1,z=re))}return N===z?z=re:z===-1&&(z=x.length),x.slice(N,z)}for(A=x.length-1;A>=0;--A)if(x.charCodeAt(A)===47){if(!q){N=A+1;break}}else z===-1&&(q=!1,z=A+1);return z===-1?"":x.slice(N,z)},extname:function(x){E(x);for(var C=-1,A=0,N=-1,z=!0,q=0,ne=x.length-1;ne>=0;--ne){var re=x.charCodeAt(ne);if(re!==47)N===-1&&(z=!1,N=ne+1),re===46?C===-1?C=ne:q!==1&&(q=1):C!==-1&&(q=-1);else if(!z){A=ne+1;break}}return C===-1||N===-1||q===0||q===1&&C===N-1&&C===A+1?"":x.slice(C,N)},format:function(x){if(x===null||typeof x!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof x);return function(C,A){var N=A.dir||A.root,z=A.base||(A.name||"")+(A.ext||"");return N?N===A.root?N+z:N+"/"+z:z}(0,x)},parse:function(x){E(x);var C={root:"",dir:"",base:"",ext:"",name:""};if(x.length===0)return C;var A,N=x.charCodeAt(0),z=N===47;z?(C.root="/",A=1):A=0;for(var q=-1,ne=0,re=-1,Me=!0,he=x.length-1,Ye=0;he>=A;--he)if((N=x.charCodeAt(he))!==47)re===-1&&(Me=!1,re=he+1),N===46?q===-1?q=he:Ye!==1&&(Ye=1):q!==-1&&(Ye=-1);else if(!Me){ne=he+1;break}return q===-1||re===-1||Ye===0||Ye===1&&q===re-1&&q===ne+1?re!==-1&&(C.base=C.name=ne===0&&z?x.slice(1,re):x.slice(ne,re)):(ne===0&&z?(C.name=x.slice(1,q),C.base=x.slice(1,re)):(C.name=x.slice(ne,q),C.base=x.slice(ne,re)),C.ext=x.slice(q,re)),ne>0?C.dir=x.slice(0,ne-1):z&&(C.dir="/"),C},sep:"/",delimiter:":",win32:null,posix:null};j.posix=j,O.exports=j}},e={};function t(O){var E=e[O];if(E!==void 0)return E.exports;var F=e[O]={exports:{}};return n[O](F,F.exports,t),F.exports}t.d=(O,E)=>{for(var F in E)t.o(E,F)&&!t.o(O,F)&&Object.defineProperty(O,F,{enumerable:!0,get:E[F]})},t.o=(O,E)=>Object.prototype.hasOwnProperty.call(O,E),t.r=O=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(O,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(O,"__esModule",{value:!0})};var r={};let i;t.r(r),t.d(r,{URI:()=>w,Utils:()=>Ze}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,s=/^\//,a=/^\/\//;function d(O,E){if(!O.scheme&&E)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${O.authority}", path: "${O.path}", query: "${O.query}", fragment: "${O.fragment}"}`);if(O.scheme&&!o.test(O.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(O.path){if(O.authority){if(!s.test(O.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(O.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",h="/",v=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class w{static isUri(E){return E instanceof w||!!E&&typeof E.authority=="string"&&typeof E.fragment=="string"&&typeof E.path=="string"&&typeof E.query=="string"&&typeof E.scheme=="string"&&typeof E.fsPath=="string"&&typeof E.with=="function"&&typeof E.toString=="function"}scheme;authority;path;query;fragment;constructor(E,F,j,x,C,A=!1){typeof E=="object"?(this.scheme=E.scheme||l,this.authority=E.authority||l,this.path=E.path||l,this.query=E.query||l,this.fragment=E.fragment||l):(this.scheme=function(N,z){return N||z?N:"file"}(E,A),this.authority=F||l,this.path=function(N,z){switch(N){case"https":case"http":case"file":z?z[0]!==h&&(z=h+z):z=h}return z}(this.scheme,j||l),this.query=x||l,this.fragment=C||l,d(this,A))}get fsPath(){return B(this,!1)}with(E){if(!E)return this;let{scheme:F,authority:j,path:x,query:C,fragment:A}=E;return F===void 0?F=this.scheme:F===null&&(F=l),j===void 0?j=this.authority:j===null&&(j=l),x===void 0?x=this.path:x===null&&(x=l),C===void 0?C=this.query:C===null&&(C=l),A===void 0?A=this.fragment:A===null&&(A=l),F===this.scheme&&j===this.authority&&x===this.path&&C===this.query&&A===this.fragment?this:new L(F,j,x,C,A)}static parse(E,F=!1){let j=v.exec(E);return j?new L(j[2]||l,te(j[4]||l),te(j[5]||l),te(j[7]||l),te(j[9]||l),F):new L(l,l,l,l,l)}static file(E){let F=l;if(i&&(E=E.replace(/\\/g,h)),E[0]===h&&E[1]===h){let j=E.indexOf(h,2);j===-1?(F=E.substring(2),E=h):(F=E.substring(2,j),E=E.substring(j)||h)}return new L("file",F,E,l,l)}static from(E){let F=new L(E.scheme,E.authority,E.path,E.query,E.fragment);return d(F,!0),F}toString(E=!1){return ee(this,E)}toJSON(){return this}static revive(E){if(E){if(E instanceof w)return E;{let F=new L(E);return F._formatted=E.external,F._fsPath=E._sep===_?E.fsPath:null,F}}return E}}let _=i?1:void 0;class L extends w{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=B(this,!1)),this._fsPath}toString(E=!1){return E?ee(this,!0):(this._formatted||(this._formatted=ee(this,!1)),this._formatted)}toJSON(){let E={$mid:1};return this._fsPath&&(E.fsPath=this._fsPath,E._sep=_),this._formatted&&(E.external=this._formatted),this.path&&(E.path=this.path),this.scheme&&(E.scheme=this.scheme),this.authority&&(E.authority=this.authority),this.query&&(E.query=this.query),this.fragment&&(E.fragment=this.fragment),E}}let k={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function X(O,E,F){let j,x=-1;for(let C=0;C<O.length;C++){let A=O.charCodeAt(C);if(A>=97&&A<=122||A>=65&&A<=90||A>=48&&A<=57||A===45||A===46||A===95||A===126||E&&A===47||F&&A===91||F&&A===93||F&&A===58)x!==-1&&(j+=encodeURIComponent(O.substring(x,C)),x=-1),j!==void 0&&(j+=O.charAt(C));else{j===void 0&&(j=O.substr(0,C));let N=k[A];N!==void 0?(x!==-1&&(j+=encodeURIComponent(O.substring(x,C)),x=-1),j+=N):x===-1&&(x=C)}}return x!==-1&&(j+=encodeURIComponent(O.substring(x))),j!==void 0?j:O}function fe(O){let E;for(let F=0;F<O.length;F++){let j=O.charCodeAt(F);j===35||j===63?(E===void 0&&(E=O.substr(0,F)),E+=k[j]):E!==void 0&&(E+=O[F])}return E!==void 0?E:O}function B(O,E){let F;return F=O.authority&&O.path.length>1&&O.scheme==="file"?`//${O.authority}${O.path}`:O.path.charCodeAt(0)===47&&(O.path.charCodeAt(1)>=65&&O.path.charCodeAt(1)<=90||O.path.charCodeAt(1)>=97&&O.path.charCodeAt(1)<=122)&&O.path.charCodeAt(2)===58?E?O.path.substr(1):O.path[1].toLowerCase()+O.path.substr(2):O.path,i&&(F=F.replace(/\//g,"\\")),F}function ee(O,E){let F=E?fe:X,j="",{scheme:x,authority:C,path:A,query:N,fragment:z}=O;if(x&&(j+=x,j+=":"),(C||x==="file")&&(j+=h,j+=h),C){let q=C.indexOf("@");if(q!==-1){let ne=C.substr(0,q);C=C.substr(q+1),q=ne.lastIndexOf(":"),q===-1?j+=F(ne,!1,!1):(j+=F(ne.substr(0,q),!1,!1),j+=":",j+=F(ne.substr(q+1),!1,!0)),j+="@"}C=C.toLowerCase(),q=C.lastIndexOf(":"),q===-1?j+=F(C,!1,!0):(j+=F(C.substr(0,q),!1,!0),j+=C.substr(q))}if(A){if(A.length>=3&&A.charCodeAt(0)===47&&A.charCodeAt(2)===58){let q=A.charCodeAt(1);q>=65&&q<=90&&(A=`/${String.fromCharCode(q+32)}:${A.substr(3)}`)}else if(A.length>=2&&A.charCodeAt(1)===58){let q=A.charCodeAt(0);q>=65&&q<=90&&(A=`${String.fromCharCode(q+32)}:${A.substr(2)}`)}j+=F(A,!0,!1)}return N&&(j+="?",j+=F(N,!1,!1)),z&&(j+="#",j+=E?z:X(z,!1,!1)),j}function ae(O){try{return decodeURIComponent(O)}catch{return O.length>3?O.substr(0,3)+ae(O.substr(3)):O}}let Z=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function te(O){return O.match(Z)?O.replace(Z,E=>ae(E)):O}var _e=t(975);let Ce=_e.posix||_e,qe="/";var Ze;(function(O){O.joinPath=function(E,...F){return E.with({path:Ce.join(E.path,...F)})},O.resolvePath=function(E,...F){let j=E.path,x=!1;j[0]!==qe&&(j=qe+j,x=!0);let C=Ce.resolve(j,...F);return x&&C[0]===qe&&!E.authority&&(C=C.substring(1)),E.with({path:C})},O.dirname=function(E){if(E.path.length===0||E.path===qe)return E;let F=Ce.dirname(E.path);return F.length===1&&F.charCodeAt(0)===46&&(F=""),E.with({path:F})},O.basename=function(E){return Ce.basename(E.path)},O.extname=function(E){return Ce.extname(E.path)}})(Ze||(Ze={})),wd=r})();var{URI:tt,Utils:Lt}=wd;function vn(n){let e=n.toString().match(/\]=*$/),t="=".repeat((n.toString().match(/\]=*\]/g)||[]).map(r=>r.length-1).reduce((r,i)=>Math.max(r,i),e?e[0].length:0));return Buffer.concat([Buffer.from(`[${t}[`),n,Buffer.from(`]${t}]`)])}function Pd(n,e){let t=[],r=n.length,i=0;for(;i<r;)t.push(n.subarray(i,i+=e));return t}function ki(n){switch(typeof n){case"object":let e=[Buffer.from("{")];for(let t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e.push(Buffer.from("[")),e.push(ki(t)),e.push(Buffer.from("]=")),e.push(ki(n[t])),e.push(Buffer.from(",")));return e.push(Buffer.from("}")),Buffer.concat(e);case"string":return Buffer.from(`"${n}"`);case"boolean":case"number":return Buffer.from(`${n}`)}}function qn(n){if(n>4294967280)throw new Error("Values > 0xFFFFFFF0 are reserved");if(n<0)throw new Error("Value must be positive");n===10?n=4294967295:n===26?n=4294967294:n===13&&(n=4294967293);let e,t,r,i;if(n<128)return Buffer.from([n]);n<2048?(i=2,e=192,t=31,r=6):n<65536?(i=3,e=224,t=15,r=12):n<2097152?(i=4,e=240,t=7,r=18):n<67108864?(i=5,e=248,t=3,r=24):(i=6,e=252,t=3,r=30);let o=Buffer.alloc(i);o[0]=e|n>>r&t;for(let s=r-6,a=1;s>=0;s-=6,a++)o[a]=128|n>>s&63;return o}function Di(n){let e=Buffer.from(n,"utf8"),t=qn(e.length);return Buffer.concat([t,e])}function Li(n){let e=qn(n.line),t=0,r=new Array;return n.condition&&(t|=1,r.push(Di(n.condition.replace(/[\r\n]+/g," ")))),n.hitCondition&&(t|=2,r.push(Di(n.hitCondition.replace(/[\r\n]+/g," ")))),n.logMessage&&(t|=4,r.push(Di(n.logMessage.replace(/[\r\n]+/g," ")))),Buffer.concat([e,Buffer.from([t]),Buffer.concat(r)])}function Rd(n,e){let t=Di(n),r=e.filter(a=>!a.condition&&!a.hitCondition&&!a.logMessage).map(a=>a.line),i;if(r.length===0)i=Buffer.from([255]);else if(r.length===10){let a=Buffer.from([254]);i=Buffer.concat([a,Buffer.concat(r.map(d=>qn(d)))])}else if(r.length===26){let a=Buffer.from([253]);i=Buffer.concat([a,Buffer.concat(r.map(d=>qn(d)))])}else if(r.length===13){let a=Buffer.from([252]);i=Buffer.concat([a,Buffer.concat(r.map(d=>qn(d)))])}else{let a=Buffer.from([r.length]);i=Buffer.concat([a,Buffer.concat(r.map(d=>qn(d)))])}let o=e.filter(a=>a.condition||a.hitCondition||a.logMessage),s;if(o.length===0)s=Buffer.from([255]);else if(o.length===10){let a=Buffer.from([254]);s=Buffer.concat([a,Buffer.concat(o.map(d=>Li(d)))])}else if(o.length===26){let a=Buffer.from([253]);s=Buffer.concat([a,Buffer.concat(o.map(d=>Li(d)))])}else if(o.length===13){let a=Buffer.from([252]);s=Buffer.concat([a,Buffer.concat(o.map(d=>Li(d)))])}else{let a=Buffer.from([o.length]);s=Buffer.concat([a,Buffer.concat(o.map(d=>Li(d)))])}return Buffer.concat([t,i,s])}import{spawn as Td}from"child_process";import{EventEmitter as ky}from"events";import{EventEmitter as Ly}from"events";var Er=class extends Ly{buf;matchers;constructor(e,t){super(),this.buf=Buffer.alloc(0),this.matchers=t instanceof Buffer?[t]:t,e.on("close",()=>{this.emit("close")}),e.on("end",()=>{this.emit("end")}),e.on("data",r=>{for(this.buf=Buffer.concat([this.buf,r]);this.buf.length>0;){let i=this.matchers.map(s=>this.buf.indexOf(s instanceof Buffer?s:s.start)),o=i.reduce((s,a)=>s===-1?a:a===-1?s:Math.min(s,a));if(o!==-1){let s=this.matchers[i.indexOf(o)];if(s instanceof Buffer)o>0&&this.emit("segment",this.buf.subarray(0,o)),this.buf=this.buf.subarray(o+s.length);else{let a=s;o>0&&(this.emit("segment",this.buf.subarray(0,o)),this.buf=this.buf.subarray(o));let d=this.buf.indexOf(a.end,a.start.length);if(d!==-1)this.emit("segment",this.buf.subarray(a.start.length,d)),this.buf=this.buf.subarray(d+a.end.length);else return}}else return}})}};var Cd=ti(kd(),1);import*as Id from"path";var Ty=[Buffer.from(`
55
+ >>> no match, partial?`,e,w,t,_),w===d))}let k;if(typeof h=="string"?(k=v===h,this.debug("string match",h,v,k)):(k=h.test(v),this.debug("pattern match",h,v,k)),!k)return!1}if(s===d&&a===l)return!0;if(s===d)return r;if(a===l)return s===d-1&&e[s]==="";throw new Error("wtf?")}braceExpand(){return(0,K.braceExpand)(this.pattern,this.options)}parse(e){(0,Ho.assertValidPattern)(e);let t=this.options;if(e==="**")return K.GLOBSTAR;if(e==="")return"";let r,i=null;(r=e.match(OP))?i=t.dot?qP:MP:(r=e.match(SP))?i=(t.nocase?t.dot?kP:DP:t.dot?LP:xP)(r[1]):(r=e.match(NP))?i=(t.nocase?t.dot?jP:FP:t.dot?BP:UP)(r):(r=e.match(TP))?i=t.dot?AP:IP:(r=e.match(CP))&&(i=$P);let o=mg.AST.fromGlob(e,this.options).toMMPattern();return i&&typeof o=="object"&&Reflect.defineProperty(o,"test",{value:i}),o}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let t=this.options,r=t.noglobstar?WP:t.dot?zP:HP,i=new Set(t.nocase?["i"]:[]),o=e.map(d=>{let l=d.map(h=>{if(h instanceof RegExp)for(let v of h.flags.split(""))i.add(v);return typeof h=="string"?QP(h):h===K.GLOBSTAR?K.GLOBSTAR:h._src});return l.forEach((h,v)=>{let w=l[v+1],_=l[v-1];h!==K.GLOBSTAR||_===K.GLOBSTAR||(_===void 0?w!==void 0&&w!==K.GLOBSTAR?l[v+1]="(?:\\/|"+r+"\\/)?"+w:l[v]=r:w===void 0?l[v-1]=_+"(?:\\/|"+r+")?":w!==K.GLOBSTAR&&(l[v-1]=_+"(?:\\/|\\/"+r+"\\/)"+w,l[v+1]=K.GLOBSTAR))}),l.filter(h=>h!==K.GLOBSTAR).join("/")}).join("|"),[s,a]=e.length>1?["(?:",")"]:["",""];o="^"+s+o+a+"$",this.negate&&(o="^(?!"+o+").+$");try{this.regexp=new RegExp(o,[...i].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e,t=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&t)return!0;let r=this.options;this.isWindows&&(e=e.split("\\").join("/"));let i=this.slashSplit(e);this.debug(this.pattern,"split",i);let o=this.set;this.debug(this.pattern,"set",o);let s=i[i.length-1];if(!s)for(let a=i.length-2;!s&&a>=0;a--)s=i[a];for(let a=0;a<o.length;a++){let d=o[a],l=i;if(r.matchBase&&d.length===1&&(l=[s]),this.matchOne(l,d,t))return r.flipNegate?!0:!this.negate}return r.flipNegate?!1:this.negate}static defaults(e){return K.minimatch.defaults(e).Minimatch}};K.Minimatch=kn;var YP=cl();Object.defineProperty(K,"AST",{enumerable:!0,get:function(){return YP.AST}});var eR=ll();Object.defineProperty(K,"escape",{enumerable:!0,get:function(){return eR.escape}});var tR=Bo();Object.defineProperty(K,"unescape",{enumerable:!0,get:function(){return tR.unescape}});K.minimatch.AST=mg.AST;K.minimatch.Minimatch=kn;K.minimatch.escape=PP.escape;K.minimatch.unescape=RP.unescape});var iR="Factorio Modding Tool Kit",_n="2.0.8";var G=ti(Tl(),1),ta=ti(yd(),1);import*as Wt from"path";import*as tf from"fs/promises";import*as Rn from"os";var vd;(()=>{"use strict";var n={975:O=>{function E(x){if(typeof x!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(x))}function F(x,A){for(var C,N="",z=0,q=-1,ne=0,re=0;re<=x.length;++re){if(re<x.length)C=x.charCodeAt(re);else{if(C===47)break;C=47}if(C===47){if(!(q===re-1||ne===1))if(q!==re-1&&ne===2){if(N.length<2||z!==2||N.charCodeAt(N.length-1)!==46||N.charCodeAt(N.length-2)!==46){if(N.length>2){var Me=N.lastIndexOf("/");if(Me!==N.length-1){Me===-1?(N="",z=0):z=(N=N.slice(0,Me)).length-1-N.lastIndexOf("/"),q=re,ne=0;continue}}else if(N.length===2||N.length===1){N="",z=0,q=re,ne=0;continue}}A&&(N.length>0?N+="/..":N="..",z=2)}else N.length>0?N+="/"+x.slice(q+1,re):N=x.slice(q+1,re),z=re-q-1;q=re,ne=0}else C===46&&ne!==-1?++ne:ne=-1}return N}var j={resolve:function(){for(var x,A="",C=!1,N=arguments.length-1;N>=-1&&!C;N--){var z;N>=0?z=arguments[N]:(x===void 0&&(x=process.cwd()),z=x),E(z),z.length!==0&&(A=z+"/"+A,C=z.charCodeAt(0)===47)}return A=F(A,!C),C?A.length>0?"/"+A:"/":A.length>0?A:"."},normalize:function(x){if(E(x),x.length===0)return".";var A=x.charCodeAt(0)===47,C=x.charCodeAt(x.length-1)===47;return(x=F(x,!A)).length!==0||A||(x="."),x.length>0&&C&&(x+="/"),A?"/"+x:x},isAbsolute:function(x){return E(x),x.length>0&&x.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var x,A=0;A<arguments.length;++A){var C=arguments[A];E(C),C.length>0&&(x===void 0?x=C:x+="/"+C)}return x===void 0?".":j.normalize(x)},relative:function(x,A){if(E(x),E(A),x===A||(x=j.resolve(x))===(A=j.resolve(A)))return"";for(var C=1;C<x.length&&x.charCodeAt(C)===47;++C);for(var N=x.length,z=N-C,q=1;q<A.length&&A.charCodeAt(q)===47;++q);for(var ne=A.length-q,re=z<ne?z:ne,Me=-1,he=0;he<=re;++he){if(he===re){if(ne>re){if(A.charCodeAt(q+he)===47)return A.slice(q+he+1);if(he===0)return A.slice(q+he)}else z>re&&(x.charCodeAt(C+he)===47?Me=he:he===0&&(Me=0));break}var Ye=x.charCodeAt(C+he);if(Ye!==A.charCodeAt(q+he))break;Ye===47&&(Me=he)}var It="";for(he=C+Me+1;he<=N;++he)he!==N&&x.charCodeAt(he)!==47||(It.length===0?It+="..":It+="/..");return It.length>0?It+A.slice(q+Me):(q+=Me,A.charCodeAt(q)===47&&++q,A.slice(q))},_makeLong:function(x){return x},dirname:function(x){if(E(x),x.length===0)return".";for(var A=x.charCodeAt(0),C=A===47,N=-1,z=!0,q=x.length-1;q>=1;--q)if((A=x.charCodeAt(q))===47){if(!z){N=q;break}}else z=!1;return N===-1?C?"/":".":C&&N===1?"//":x.slice(0,N)},basename:function(x,A){if(A!==void 0&&typeof A!="string")throw new TypeError('"ext" argument must be a string');E(x);var C,N=0,z=-1,q=!0;if(A!==void 0&&A.length>0&&A.length<=x.length){if(A.length===x.length&&A===x)return"";var ne=A.length-1,re=-1;for(C=x.length-1;C>=0;--C){var Me=x.charCodeAt(C);if(Me===47){if(!q){N=C+1;break}}else re===-1&&(q=!1,re=C+1),ne>=0&&(Me===A.charCodeAt(ne)?--ne==-1&&(z=C):(ne=-1,z=re))}return N===z?z=re:z===-1&&(z=x.length),x.slice(N,z)}for(C=x.length-1;C>=0;--C)if(x.charCodeAt(C)===47){if(!q){N=C+1;break}}else z===-1&&(q=!1,z=C+1);return z===-1?"":x.slice(N,z)},extname:function(x){E(x);for(var A=-1,C=0,N=-1,z=!0,q=0,ne=x.length-1;ne>=0;--ne){var re=x.charCodeAt(ne);if(re!==47)N===-1&&(z=!1,N=ne+1),re===46?A===-1?A=ne:q!==1&&(q=1):A!==-1&&(q=-1);else if(!z){C=ne+1;break}}return A===-1||N===-1||q===0||q===1&&A===N-1&&A===C+1?"":x.slice(A,N)},format:function(x){if(x===null||typeof x!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof x);return function(A,C){var N=C.dir||C.root,z=C.base||(C.name||"")+(C.ext||"");return N?N===C.root?N+z:N+"/"+z:z}(0,x)},parse:function(x){E(x);var A={root:"",dir:"",base:"",ext:"",name:""};if(x.length===0)return A;var C,N=x.charCodeAt(0),z=N===47;z?(A.root="/",C=1):C=0;for(var q=-1,ne=0,re=-1,Me=!0,he=x.length-1,Ye=0;he>=C;--he)if((N=x.charCodeAt(he))!==47)re===-1&&(Me=!1,re=he+1),N===46?q===-1?q=he:Ye!==1&&(Ye=1):q!==-1&&(Ye=-1);else if(!Me){ne=he+1;break}return q===-1||re===-1||Ye===0||Ye===1&&q===re-1&&q===ne+1?re!==-1&&(A.base=A.name=ne===0&&z?x.slice(1,re):x.slice(ne,re)):(ne===0&&z?(A.name=x.slice(1,q),A.base=x.slice(1,re)):(A.name=x.slice(ne,q),A.base=x.slice(ne,re)),A.ext=x.slice(q,re)),ne>0?A.dir=x.slice(0,ne-1):z&&(A.dir="/"),A},sep:"/",delimiter:":",win32:null,posix:null};j.posix=j,O.exports=j}},e={};function t(O){var E=e[O];if(E!==void 0)return E.exports;var F=e[O]={exports:{}};return n[O](F,F.exports,t),F.exports}t.d=(O,E)=>{for(var F in E)t.o(E,F)&&!t.o(O,F)&&Object.defineProperty(O,F,{enumerable:!0,get:E[F]})},t.o=(O,E)=>Object.prototype.hasOwnProperty.call(O,E),t.r=O=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(O,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(O,"__esModule",{value:!0})};var r={};let i;t.r(r),t.d(r,{URI:()=>w,Utils:()=>Qe}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,s=/^\//,a=/^\/\//;function d(O,E){if(!O.scheme&&E)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${O.authority}", path: "${O.path}", query: "${O.query}", fragment: "${O.fragment}"}`);if(O.scheme&&!o.test(O.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(O.path){if(O.authority){if(!s.test(O.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(O.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",h="/",v=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class w{static isUri(E){return E instanceof w||!!E&&typeof E.authority=="string"&&typeof E.fragment=="string"&&typeof E.path=="string"&&typeof E.query=="string"&&typeof E.scheme=="string"&&typeof E.fsPath=="string"&&typeof E.with=="function"&&typeof E.toString=="function"}scheme;authority;path;query;fragment;constructor(E,F,j,x,A,C=!1){typeof E=="object"?(this.scheme=E.scheme||l,this.authority=E.authority||l,this.path=E.path||l,this.query=E.query||l,this.fragment=E.fragment||l):(this.scheme=function(N,z){return N||z?N:"file"}(E,C),this.authority=F||l,this.path=function(N,z){switch(N){case"https":case"http":case"file":z?z[0]!==h&&(z=h+z):z=h}return z}(this.scheme,j||l),this.query=x||l,this.fragment=A||l,d(this,C))}get fsPath(){return B(this,!1)}with(E){if(!E)return this;let{scheme:F,authority:j,path:x,query:A,fragment:C}=E;return F===void 0?F=this.scheme:F===null&&(F=l),j===void 0?j=this.authority:j===null&&(j=l),x===void 0?x=this.path:x===null&&(x=l),A===void 0?A=this.query:A===null&&(A=l),C===void 0?C=this.fragment:C===null&&(C=l),F===this.scheme&&j===this.authority&&x===this.path&&A===this.query&&C===this.fragment?this:new L(F,j,x,A,C)}static parse(E,F=!1){let j=v.exec(E);return j?new L(j[2]||l,te(j[4]||l),te(j[5]||l),te(j[7]||l),te(j[9]||l),F):new L(l,l,l,l,l)}static file(E){let F=l;if(i&&(E=E.replace(/\\/g,h)),E[0]===h&&E[1]===h){let j=E.indexOf(h,2);j===-1?(F=E.substring(2),E=h):(F=E.substring(2,j),E=E.substring(j)||h)}return new L("file",F,E,l,l)}static from(E){let F=new L(E.scheme,E.authority,E.path,E.query,E.fragment);return d(F,!0),F}toString(E=!1){return ee(this,E)}toJSON(){return this}static revive(E){if(E){if(E instanceof w)return E;{let F=new L(E);return F._formatted=E.external,F._fsPath=E._sep===_?E.fsPath:null,F}}return E}}let _=i?1:void 0;class L extends w{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=B(this,!1)),this._fsPath}toString(E=!1){return E?ee(this,!0):(this._formatted||(this._formatted=ee(this,!1)),this._formatted)}toJSON(){let E={$mid:1};return this._fsPath&&(E.fsPath=this._fsPath,E._sep=_),this._formatted&&(E.external=this._formatted),this.path&&(E.path=this.path),this.scheme&&(E.scheme=this.scheme),this.authority&&(E.authority=this.authority),this.query&&(E.query=this.query),this.fragment&&(E.fragment=this.fragment),E}}let k={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function X(O,E,F){let j,x=-1;for(let A=0;A<O.length;A++){let C=O.charCodeAt(A);if(C>=97&&C<=122||C>=65&&C<=90||C>=48&&C<=57||C===45||C===46||C===95||C===126||E&&C===47||F&&C===91||F&&C===93||F&&C===58)x!==-1&&(j+=encodeURIComponent(O.substring(x,A)),x=-1),j!==void 0&&(j+=O.charAt(A));else{j===void 0&&(j=O.substr(0,A));let N=k[C];N!==void 0?(x!==-1&&(j+=encodeURIComponent(O.substring(x,A)),x=-1),j+=N):x===-1&&(x=A)}}return x!==-1&&(j+=encodeURIComponent(O.substring(x))),j!==void 0?j:O}function fe(O){let E;for(let F=0;F<O.length;F++){let j=O.charCodeAt(F);j===35||j===63?(E===void 0&&(E=O.substr(0,F)),E+=k[j]):E!==void 0&&(E+=O[F])}return E!==void 0?E:O}function B(O,E){let F;return F=O.authority&&O.path.length>1&&O.scheme==="file"?`//${O.authority}${O.path}`:O.path.charCodeAt(0)===47&&(O.path.charCodeAt(1)>=65&&O.path.charCodeAt(1)<=90||O.path.charCodeAt(1)>=97&&O.path.charCodeAt(1)<=122)&&O.path.charCodeAt(2)===58?E?O.path.substr(1):O.path[1].toLowerCase()+O.path.substr(2):O.path,i&&(F=F.replace(/\//g,"\\")),F}function ee(O,E){let F=E?fe:X,j="",{scheme:x,authority:A,path:C,query:N,fragment:z}=O;if(x&&(j+=x,j+=":"),(A||x==="file")&&(j+=h,j+=h),A){let q=A.indexOf("@");if(q!==-1){let ne=A.substr(0,q);A=A.substr(q+1),q=ne.lastIndexOf(":"),q===-1?j+=F(ne,!1,!1):(j+=F(ne.substr(0,q),!1,!1),j+=":",j+=F(ne.substr(q+1),!1,!0)),j+="@"}A=A.toLowerCase(),q=A.lastIndexOf(":"),q===-1?j+=F(A,!1,!0):(j+=F(A.substr(0,q),!1,!0),j+=A.substr(q))}if(C){if(C.length>=3&&C.charCodeAt(0)===47&&C.charCodeAt(2)===58){let q=C.charCodeAt(1);q>=65&&q<=90&&(C=`/${String.fromCharCode(q+32)}:${C.substr(3)}`)}else if(C.length>=2&&C.charCodeAt(1)===58){let q=C.charCodeAt(0);q>=65&&q<=90&&(C=`${String.fromCharCode(q+32)}:${C.substr(2)}`)}j+=F(C,!0,!1)}return N&&(j+="?",j+=F(N,!1,!1)),z&&(j+="#",j+=E?z:X(z,!1,!1)),j}function ae(O){try{return decodeURIComponent(O)}catch{return O.length>3?O.substr(0,3)+ae(O.substr(3)):O}}let Q=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function te(O){return O.match(Q)?O.replace(Q,E=>ae(E)):O}var _e=t(975);let Ae=_e.posix||_e,qe="/";var Qe;(function(O){O.joinPath=function(E,...F){return E.with({path:Ae.join(E.path,...F)})},O.resolvePath=function(E,...F){let j=E.path,x=!1;j[0]!==qe&&(j=qe+j,x=!0);let A=Ae.resolve(j,...F);return x&&A[0]===qe&&!E.authority&&(A=A.substring(1)),E.with({path:A})},O.dirname=function(E){if(E.path.length===0||E.path===qe)return E;let F=Ae.dirname(E.path);return F.length===1&&F.charCodeAt(0)===46&&(F=""),E.with({path:F})},O.basename=function(E){return Ae.basename(E.path)},O.extname=function(E){return Ae.extname(E.path)}})(Qe||(Qe={})),vd=r})();var{URI:tt,Utils:Lt}=vd;function vn(n){let e=n.toString().match(/\]=*$/),t="=".repeat((n.toString().match(/\]=*\]/g)||[]).map(r=>r.length-1).reduce((r,i)=>Math.max(r,i),e?e[0].length:0));return Buffer.concat([Buffer.from(`[${t}[`),n,Buffer.from(`]${t}]`)])}function wd(n,e){let t=[],r=n.length,i=0;for(;i<r;)t.push(n.subarray(i,i+=e));return t}function ki(n){switch(typeof n){case"object":let e=[Buffer.from("{")];for(let t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e.push(Buffer.from("[")),e.push(ki(t)),e.push(Buffer.from("]=")),e.push(ki(n[t])),e.push(Buffer.from(",")));return e.push(Buffer.from("}")),Buffer.concat(e);case"string":return Buffer.from(`"${n}"`);case"boolean":case"number":return Buffer.from(`${n}`)}}function qn(n){if(n>4294967280)throw new Error("Values > 0xFFFFFFF0 are reserved");if(n<0)throw new Error("Value must be positive");n===10?n=4294967295:n===26?n=4294967294:n===13&&(n=4294967293);let e,t,r,i;if(n<128)return Buffer.from([n]);n<2048?(i=2,e=192,t=31,r=6):n<65536?(i=3,e=224,t=15,r=12):n<2097152?(i=4,e=240,t=7,r=18):n<67108864?(i=5,e=248,t=3,r=24):(i=6,e=252,t=3,r=30);let o=Buffer.alloc(i);o[0]=e|n>>r&t;for(let s=r-6,a=1;s>=0;s-=6,a++)o[a]=128|n>>s&63;return o}function Di(n){let e=Buffer.from(n,"utf8"),t=qn(e.length);return Buffer.concat([t,e])}function Li(n){let e=qn(n.line),t=0,r=new Array;return n.condition&&(t|=1,r.push(Di(n.condition.replace(/[\r\n]+/g," ")))),n.hitCondition&&(t|=2,r.push(Di(n.hitCondition.replace(/[\r\n]+/g," ")))),n.logMessage&&(t|=4,r.push(Di(n.logMessage.replace(/[\r\n]+/g," ")))),Buffer.concat([e,Buffer.from([t]),Buffer.concat(r)])}function Pd(n,e){let t=Di(n),r=e.filter(a=>!a.condition&&!a.hitCondition&&!a.logMessage).map(a=>a.line),i;if(r.length===0)i=Buffer.from([255]);else if(r.length===10){let a=Buffer.from([254]);i=Buffer.concat([a,Buffer.concat(r.map(d=>qn(d)))])}else if(r.length===26){let a=Buffer.from([253]);i=Buffer.concat([a,Buffer.concat(r.map(d=>qn(d)))])}else if(r.length===13){let a=Buffer.from([252]);i=Buffer.concat([a,Buffer.concat(r.map(d=>qn(d)))])}else{let a=Buffer.from([r.length]);i=Buffer.concat([a,Buffer.concat(r.map(d=>qn(d)))])}let o=e.filter(a=>a.condition||a.hitCondition||a.logMessage),s;if(o.length===0)s=Buffer.from([255]);else if(o.length===10){let a=Buffer.from([254]);s=Buffer.concat([a,Buffer.concat(o.map(d=>Li(d)))])}else if(o.length===26){let a=Buffer.from([253]);s=Buffer.concat([a,Buffer.concat(o.map(d=>Li(d)))])}else if(o.length===13){let a=Buffer.from([252]);s=Buffer.concat([a,Buffer.concat(o.map(d=>Li(d)))])}else{let a=Buffer.from([o.length]);s=Buffer.concat([a,Buffer.concat(o.map(d=>Li(d)))])}return Buffer.concat([t,i,s])}import{spawn as Dy}from"child_process";import{EventEmitter as ky}from"events";import{EventEmitter as xy}from"events";var Er=class extends xy{buf;matchers;constructor(e,t){super(),this.buf=Buffer.alloc(0),this.matchers=t instanceof Buffer?[t]:t,e.on("close",()=>{this.emit("close")}),e.on("end",()=>{this.emit("end")}),e.on("data",r=>{for(this.buf=Buffer.concat([this.buf,r]);this.buf.length>0;){let i=this.matchers.map(s=>this.buf.indexOf(s instanceof Buffer?s:s.start)),o=i.reduce((s,a)=>s===-1?a:a===-1?s:Math.min(s,a));if(o!==-1){let s=this.matchers[i.indexOf(o)];if(s instanceof Buffer)o>0&&this.emit("segment",this.buf.subarray(0,o)),this.buf=this.buf.subarray(o+s.length);else{let a=s;o>0&&(this.emit("segment",this.buf.subarray(0,o)),this.buf=this.buf.subarray(o));let d=this.buf.indexOf(a.end,a.start.length);if(d!==-1)this.emit("segment",this.buf.subarray(a.start.length,d)),this.buf=this.buf.subarray(d+a.end.length);else return}}else return}})}};var Td=ti(Dd(),1);import*as kd from"path";var Ty=[Buffer.from(`
56
56
  `),Buffer.from("lua_debug> ")],Iy=[Buffer.from(`
57
- `),{start:Buffer.from([239,183,174]),end:Buffer.from([239,183,175])}],Ti=class extends ky{factorio;hasNativeDebug;constructor(e,t,r,i){super();let o={cwd:Id.dirname(e),env:Object.assign({},process.env,i,{SteamAppId:"427520"})};r?(this.hasNativeDebug=!0,this.factorio=Td(r,[e,...t],o)):this.factorio=Td(e,t,o),this.factorio.on("exit",(d,l)=>this.emit("exit",d,l)),new Er(this.factorio.stderr,Ty).on("segment",d=>{d.length===1&&d[0]===13||this.emit("stderr",d)}),new Er(this.factorio.stdout,Iy).on("segment",d=>{d.length===1&&d[0]===13||this.emit("stdout",d)})}writeStdin(e){return this.factorio.stdin.write(e)}kill(){if(this.hasNativeDebug)this.factorio.pid&&(0,Cd.default)(this.factorio.pid);else{this.factorio.kill();try{this.factorio.kill("SIGKILL")}catch{}}}};import{Readable as Cy}from"stream";var Nn=class extends Cy{constructor(e){super(),this.push(e),this.push(null)}readUInt8(){return this.read(1).readUInt8()}readUInt16LE(){return this.read(2).readUInt16LE()}readUInt32LE(){return this.read(4).readUInt32LE()}readInt32LE(){return this.read(4).readInt32LE()}readBigInt64LE(){return this.read(8).readBigInt64LE()}readBigUInt64LE(){return this.read(8).readBigUInt64LE()}readDoubleLE(){return this.read(8).readDoubleLE()}readPackedUInt_8_32(){let e=this.readUInt8();return e===255&&(e=this.readUInt32LE()),e}readPackedUInt_16_32(){let e=this.readUInt16LE();return e===65535&&(e=this.readUInt32LE()),e}readString(e){return e===0?"":this.read(e).toString("utf8")}};import*as it from"fs/promises";import*as Ot from"path";import Vy from"node:http";import Wy from"node:https";import Bn from"node:zlib";import Qd,{PassThrough as Zd,pipeline as Un}from"node:stream";import{Buffer as qi}from"node:buffer";function Ay(n){if(!/^data:/i.test(n))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');n=n.replace(/\r?\n/g,"");let e=n.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let t=n.substring(5,e).split(";"),r="",i=!1,o=t[0]||"text/plain",s=o;for(let h=1;h<t.length;h++)t[h]==="base64"?i=!0:t[h]&&(s+=`;${t[h]}`,t[h].indexOf("charset=")===0&&(r=t[h].substring(8)));!t[0]&&!r.length&&(s+=";charset=US-ASCII",r="US-ASCII");let a=i?"base64":"ascii",d=unescape(n.substring(e+1)),l=Buffer.from(d,a);return l.type=o,l.typeFull=s,l.charset=r,l}var Ad=Ay;import Yt,{PassThrough as qd}from"node:stream";import{types as Nd,deprecate as Hs,promisify as $y}from"node:util";import{Buffer as yt}from"node:buffer";var Vt=class extends Error{constructor(e,t){super(e),Error.captureStackTrace(this,this.constructor),this.type=t}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}};var nt=class extends Vt{constructor(e,t,r){super(e,t),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}};var Ii=Symbol.toStringTag,Ws=n=>typeof n=="object"&&typeof n.append=="function"&&typeof n.delete=="function"&&typeof n.get=="function"&&typeof n.getAll=="function"&&typeof n.has=="function"&&typeof n.set=="function"&&typeof n.sort=="function"&&n[Ii]==="URLSearchParams",Sr=n=>n&&typeof n=="object"&&typeof n.arrayBuffer=="function"&&typeof n.type=="string"&&typeof n.stream=="function"&&typeof n.constructor=="function"&&/^(Blob|File)$/.test(n[Ii]),$d=n=>typeof n=="object"&&(n[Ii]==="AbortSignal"||n[Ii]==="EventTarget"),Od=(n,e)=>{let t=new URL(e).hostname,r=new URL(n).hostname;return t===r||t.endsWith(`.${r}`)},Md=(n,e)=>{let t=new URL(e).protocol,r=new URL(n).protocol;return t===r};var Oy=$y(Yt.pipeline),rt=Symbol("Body internals"),$t=class{constructor(e,{size:t=0}={}){let r=null;e===null?e=null:Ws(e)?e=yt.from(e.toString()):Sr(e)||yt.isBuffer(e)||(Nd.isAnyArrayBuffer(e)?e=yt.from(e):ArrayBuffer.isView(e)?e=yt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Yt||(e instanceof hr?(e=gl(e),r=e.type.split("=")[1]):e=yt.from(String(e))));let i=e;yt.isBuffer(e)?i=Yt.Readable.from(e):Sr(e)&&(i=Yt.Readable.from(e.stream())),this[rt]={body:e,stream:i,boundary:r,disturbed:!1,error:null},this.size=t,e instanceof Yt&&e.on("error",o=>{let s=o instanceof Vt?o:new nt(`Invalid response body while trying to fetch ${this.url}: ${o.message}`,"system",o);this[rt].error=s})}get body(){return this[rt].stream}get bodyUsed(){return this[rt].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:t,byteLength:r}=await zs(this);return e.slice(t,t+r)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let r=new hr,i=new URLSearchParams(await this.text());for(let[o,s]of i)r.append(o,s);return r}let{toFormData:t}=await import("./multipart-parser-3M5RC66T.js");return t(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[rt].body&&this[rt].body.type||"",t=await this.arrayBuffer();return new Ko([t],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await zs(this);return new TextDecoder().decode(e)}buffer(){return zs(this)}};$t.prototype.buffer=Hs($t.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties($t.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:Hs(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});async function zs(n){if(n[rt].disturbed)throw new TypeError(`body used already for: ${n.url}`);if(n[rt].disturbed=!0,n[rt].error)throw n[rt].error;let{body:e}=n;if(e===null)return yt.alloc(0);if(!(e instanceof Yt))return yt.alloc(0);let t=[],r=0;try{for await(let i of e){if(n.size>0&&r+i.length>n.size){let o=new nt(`content size at ${n.url} over limit: ${n.size}`,"max-size");throw e.destroy(o),o}r+=i.length,t.push(i)}}catch(i){throw i instanceof Vt?i:new nt(`Invalid response body while trying to fetch ${n.url}: ${i.message}`,"system",i)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return t.every(i=>typeof i=="string")?yt.from(t.join("")):yt.concat(t,r)}catch(i){throw new nt(`Could not create Buffer from response body for ${n.url}: ${i.message}`,"system",i)}else throw new nt(`Premature close of server response while trying to fetch ${n.url}`)}var Fn=(n,e)=>{let t,r,{body:i}=n[rt];if(n.bodyUsed)throw new Error("cannot clone body after it is used");return i instanceof Yt&&typeof i.getBoundary!="function"&&(t=new qd({highWaterMark:e}),r=new qd({highWaterMark:e}),i.pipe(t),i.pipe(r),n[rt].stream=t,i=r),i},My=Hs(n=>n.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),Ci=(n,e)=>n===null?null:typeof n=="string"?"text/plain;charset=UTF-8":Ws(n)?"application/x-www-form-urlencoded;charset=UTF-8":Sr(n)?n.type||null:yt.isBuffer(n)||Nd.isAnyArrayBuffer(n)||ArrayBuffer.isView(n)?null:n instanceof hr?`multipart/form-data; boundary=${e[rt].boundary}`:n&&typeof n.getBoundary=="function"?`multipart/form-data;boundary=${My(n)}`:n instanceof Yt?null:"text/plain;charset=UTF-8",Fd=n=>{let{body:e}=n[rt];return e===null?0:Sr(e)?e.size:yt.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},jd=async(n,{body:e})=>{e===null?n.end():await Oy(e,n)};import{types as Bd}from"node:util";import $i from"node:http";var Ai=typeof $i.validateHeaderName=="function"?$i.validateHeaderName:n=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(n)){let e=new TypeError(`Header name must be a valid HTTP token [${n}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},Ks=typeof $i.validateHeaderValue=="function"?$i.validateHeaderValue:(n,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let t=new TypeError(`Invalid character in header content ["${n}"]`);throw Object.defineProperty(t,"code",{value:"ERR_INVALID_CHAR"}),t}},pt=class n extends URLSearchParams{constructor(e){let t=[];if(e instanceof n){let r=e.raw();for(let[i,o]of Object.entries(r))t.push(...o.map(s=>[i,s]))}else if(e!=null)if(typeof e=="object"&&!Bd.isBoxedPrimitive(e)){let r=e[Symbol.iterator];if(r==null)t.push(...Object.entries(e));else{if(typeof r!="function")throw new TypeError("Header pairs must be iterable");t=[...e].map(i=>{if(typeof i!="object"||Bd.isBoxedPrimitive(i))throw new TypeError("Each header pair must be an iterable object");return[...i]}).map(i=>{if(i.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...i]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return t=t.length>0?t.map(([r,i])=>(Ai(r),Ks(r,String(i)),[String(r).toLowerCase(),String(i)])):void 0,super(t),new Proxy(this,{get(r,i,o){switch(i){case"append":case"set":return(s,a)=>(Ai(s),Ks(s,String(a)),URLSearchParams.prototype[i].call(r,String(s).toLowerCase(),String(a)));case"delete":case"has":case"getAll":return s=>(Ai(s),URLSearchParams.prototype[i].call(r,String(s).toLowerCase()));case"keys":return()=>(r.sort(),new Set(URLSearchParams.prototype.keys.call(r)).keys());default:return Reflect.get(r,i,o)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let t=this.getAll(e);if(t.length===0)return null;let r=t.join(", ");return/^content-encoding$/i.test(e)&&(r=r.toLowerCase()),r}forEach(e,t=void 0){for(let r of this.keys())Reflect.apply(e,t,[this.get(r),r,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,t)=>(e[t]=this.getAll(t),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,t)=>{let r=this.getAll(t);return t==="host"?e[t]=r[0]:e[t]=r.length>1?r:r[0],e},{})}};Object.defineProperties(pt.prototype,["get","entries","forEach","values"].reduce((n,e)=>(n[e]={enumerable:!0},n),{}));function Ud(n=[]){return new pt(n.reduce((e,t,r,i)=>(r%2===0&&e.push(i.slice(r,r+2)),e),[]).filter(([e,t])=>{try{return Ai(e),Ks(e,String(t)),!0}catch{return!1}}))}var qy=new Set([301,302,303,307,308]),Oi=n=>qy.has(n);var Dt=Symbol("Response internals"),vt=class n extends $t{constructor(e=null,t={}){super(e,t);let r=t.status!=null?t.status:200,i=new pt(t.headers);if(e!==null&&!i.has("Content-Type")){let o=Ci(e,this);o&&i.append("Content-Type",o)}this[Dt]={type:"default",url:t.url,status:r,statusText:t.statusText||"",headers:i,counter:t.counter,highWaterMark:t.highWaterMark}}get type(){return this[Dt].type}get url(){return this[Dt].url||""}get status(){return this[Dt].status}get ok(){return this[Dt].status>=200&&this[Dt].status<300}get redirected(){return this[Dt].counter>0}get statusText(){return this[Dt].statusText}get headers(){return this[Dt].headers}get highWaterMark(){return this[Dt].highWaterMark}clone(){return new n(Fn(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,t=302){if(!Oi(t))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new n(null,{headers:{location:new URL(e).toString()},status:t})}static error(){let e=new n(null,{status:0,statusText:""});return e[Dt].type="error",e}static json(e=void 0,t={}){let r=JSON.stringify(e);if(r===void 0)throw new TypeError("data is not JSON serializable");let i=new pt(t&&t.headers);return i.has("content-type")||i.set("content-type","application/json"),new n(r,{...t,headers:i})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(vt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});import{format as jy}from"node:url";import{deprecate as By}from"node:util";var Vd=n=>{if(n.search)return n.search;let e=n.href.length-1,t=n.hash||(n.href[e]==="#"?"#":"");return n.href[e-t.length]==="?"?"?":""};import{isIP as Ny}from"node:net";function Wd(n,e=!1){return n==null||(n=new URL(n),/^(about|blob|data):$/.test(n.protocol))?"no-referrer":(n.username="",n.password="",n.hash="",e&&(n.pathname="",n.search=""),n)}var zd=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Hd="strict-origin-when-cross-origin";function Kd(n){if(!zd.has(n))throw new TypeError(`Invalid referrerPolicy: ${n}`);return n}function Fy(n){if(/^(http|ws)s:$/.test(n.protocol))return!0;let e=n.host.replace(/(^\[)|(]$)/g,""),t=Ny(e);return t===4&&/^127\./.test(e)||t===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:n.host==="localhost"||n.host.endsWith(".localhost")?!1:n.protocol==="file:"}function jn(n){return/^about:(blank|srcdoc)$/.test(n)||n.protocol==="data:"||/^(blob|filesystem):$/.test(n.protocol)?!0:Fy(n)}function Gd(n,{referrerURLCallback:e,referrerOriginCallback:t}={}){if(n.referrer==="no-referrer"||n.referrerPolicy==="")return null;let r=n.referrerPolicy;if(n.referrer==="about:client")return"no-referrer";let i=n.referrer,o=Wd(i),s=Wd(i,!0);o.toString().length>4096&&(o=s),e&&(o=e(o)),t&&(s=t(s));let a=new URL(n.url);switch(r){case"no-referrer":return"no-referrer";case"origin":return s;case"unsafe-url":return o;case"strict-origin":return jn(o)&&!jn(a)?"no-referrer":s.toString();case"strict-origin-when-cross-origin":return o.origin===a.origin?o:jn(o)&&!jn(a)?"no-referrer":s;case"same-origin":return o.origin===a.origin?o:"no-referrer";case"origin-when-cross-origin":return o.origin===a.origin?o:s;case"no-referrer-when-downgrade":return jn(o)&&!jn(a)?"no-referrer":o;default:throw new TypeError(`Invalid referrerPolicy: ${r}`)}}function Xd(n){let e=(n.get("referrer-policy")||"").split(/[,\s]+/),t="";for(let r of e)r&&zd.has(r)&&(t=r);return t}var je=Symbol("Request internals"),xr=n=>typeof n=="object"&&typeof n[je]=="object",Uy=By(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),wn=class n extends $t{constructor(e,t={}){let r;if(xr(e)?r=new URL(e.url):(r=new URL(e),e={}),r.username!==""||r.password!=="")throw new TypeError(`${r} is an url with embedded credentials.`);let i=t.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(i)&&(i=i.toUpperCase()),!xr(t)&&"data"in t&&Uy(),(t.body!=null||xr(e)&&e.body!==null)&&(i==="GET"||i==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let o=t.body?t.body:xr(e)&&e.body!==null?Fn(e):null;super(o,{size:t.size||e.size||0});let s=new pt(t.headers||e.headers||{});if(o!==null&&!s.has("Content-Type")){let l=Ci(o,this);l&&s.set("Content-Type",l)}let a=xr(e)?e.signal:null;if("signal"in t&&(a=t.signal),a!=null&&!$d(a))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let d=t.referrer==null?e.referrer:t.referrer;if(d==="")d="no-referrer";else if(d){let l=new URL(d);d=/^about:(\/\/)?client$/.test(l)?"client":l}else d=void 0;this[je]={method:i,redirect:t.redirect||e.redirect||"follow",headers:s,parsedURL:r,signal:a,referrer:d},this.follow=t.follow===void 0?e.follow===void 0?20:e.follow:t.follow,this.compress=t.compress===void 0?e.compress===void 0?!0:e.compress:t.compress,this.counter=t.counter||e.counter||0,this.agent=t.agent||e.agent,this.highWaterMark=t.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=t.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=t.referrerPolicy||e.referrerPolicy||""}get method(){return this[je].method}get url(){return jy(this[je].parsedURL)}get headers(){return this[je].headers}get redirect(){return this[je].redirect}get signal(){return this[je].signal}get referrer(){if(this[je].referrer==="no-referrer")return"";if(this[je].referrer==="client")return"about:client";if(this[je].referrer)return this[je].referrer.toString()}get referrerPolicy(){return this[je].referrerPolicy}set referrerPolicy(e){this[je].referrerPolicy=Kd(e)}clone(){return new n(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(wn.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});var Jd=n=>{let{parsedURL:e}=n[je],t=new pt(n[je].headers);t.has("Accept")||t.set("Accept","*/*");let r=null;if(n.body===null&&/^(post|put)$/i.test(n.method)&&(r="0"),n.body!==null){let a=Fd(n);typeof a=="number"&&!Number.isNaN(a)&&(r=String(a))}r&&t.set("Content-Length",r),n.referrerPolicy===""&&(n.referrerPolicy=Hd),n.referrer&&n.referrer!=="no-referrer"?n[je].referrer=Gd(n):n[je].referrer="no-referrer",n[je].referrer instanceof URL&&t.set("Referer",n.referrer),t.has("User-Agent")||t.set("User-Agent","node-fetch"),n.compress&&!t.has("Accept-Encoding")&&t.set("Accept-Encoding","gzip, deflate, br");let{agent:i}=n;typeof i=="function"&&(i=i(e));let o=Vd(e),s={path:e.pathname+o,method:n.method,headers:t[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:n.insecureHTTPParser,agent:i};return{parsedURL:e,options:s}};var Mi=class extends Vt{constructor(e,t="aborted"){super(e,t)}};var zy=new Set(["data:","http:","https:"]);async function Vn(n,e){return new Promise((t,r)=>{let i=new wn(n,e),{parsedURL:o,options:s}=Jd(i);if(!zy.has(o.protocol))throw new TypeError(`node-fetch cannot load ${n}. URL scheme "${o.protocol.replace(/:$/,"")}" is not supported.`);if(o.protocol==="data:"){let L=Ad(i.url),k=new vt(L,{headers:{"Content-Type":L.typeFull}});t(k);return}let a=(o.protocol==="https:"?Wy:Vy).request,{signal:d}=i,l=null,h=()=>{let L=new Mi("The operation was aborted.");r(L),i.body&&i.body instanceof Qd.Readable&&i.body.destroy(L),!(!l||!l.body)&&l.body.emit("error",L)};if(d&&d.aborted){h();return}let v=()=>{h(),_()},w=a(o.toString(),s);d&&d.addEventListener("abort",v);let _=()=>{w.abort(),d&&d.removeEventListener("abort",v)};w.on("error",L=>{r(new nt(`request to ${i.url} failed, reason: ${L.message}`,"system",L)),_()}),Hy(w,L=>{l&&l.body&&l.body.destroy(L)}),process.version<"v14"&&w.on("socket",L=>{let k;L.prependListener("end",()=>{k=L._eventsCount}),L.prependListener("close",X=>{if(l&&k<L._eventsCount&&!X){let fe=new Error("Premature close");fe.code="ERR_STREAM_PREMATURE_CLOSE",l.body.emit("error",fe)}})}),w.on("response",L=>{w.setTimeout(0);let k=Ud(L.rawHeaders);if(Oi(L.statusCode)){let ae=k.get("Location"),Z=null;try{Z=ae===null?null:new URL(ae,i.url)}catch{if(i.redirect!=="manual"){r(new nt(`uri requested responds with an invalid redirect URL: ${ae}`,"invalid-redirect")),_();return}}switch(i.redirect){case"error":r(new nt(`uri requested responds with a redirect, redirect mode is set to error: ${i.url}`,"no-redirect")),_();return;case"manual":break;case"follow":{if(Z===null)break;if(i.counter>=i.follow){r(new nt(`maximum redirect reached at: ${i.url}`,"max-redirect")),_();return}let te={headers:new pt(i.headers),follow:i.follow,counter:i.counter+1,agent:i.agent,compress:i.compress,method:i.method,body:Fn(i),signal:i.signal,size:i.size,referrer:i.referrer,referrerPolicy:i.referrerPolicy};if(!Od(i.url,Z)||!Md(i.url,Z))for(let Ce of["authorization","www-authenticate","cookie","cookie2"])te.headers.delete(Ce);if(L.statusCode!==303&&i.body&&e.body instanceof Qd.Readable){r(new nt("Cannot follow redirect with body being a readable stream","unsupported-redirect")),_();return}(L.statusCode===303||(L.statusCode===301||L.statusCode===302)&&i.method==="POST")&&(te.method="GET",te.body=void 0,te.headers.delete("content-length"));let _e=Xd(k);_e&&(te.referrerPolicy=_e),t(Vn(new wn(Z,te))),_();return}default:return r(new TypeError(`Redirect option '${i.redirect}' is not a valid value of RequestRedirect`))}}d&&L.once("end",()=>{d.removeEventListener("abort",v)});let X=Un(L,new Zd,ae=>{ae&&r(ae)});process.version<"v12.10"&&L.on("aborted",v);let fe={url:i.url,status:L.statusCode,statusText:L.statusMessage,headers:k,size:i.size,counter:i.counter,highWaterMark:i.highWaterMark},B=k.get("Content-Encoding");if(!i.compress||i.method==="HEAD"||B===null||L.statusCode===204||L.statusCode===304){l=new vt(X,fe),t(l);return}let ee={flush:Bn.Z_SYNC_FLUSH,finishFlush:Bn.Z_SYNC_FLUSH};if(B==="gzip"||B==="x-gzip"){X=Un(X,Bn.createGunzip(ee),ae=>{ae&&r(ae)}),l=new vt(X,fe),t(l);return}if(B==="deflate"||B==="x-deflate"){let ae=Un(L,new Zd,Z=>{Z&&r(Z)});ae.once("data",Z=>{(Z[0]&15)===8?X=Un(X,Bn.createInflate(),te=>{te&&r(te)}):X=Un(X,Bn.createInflateRaw(),te=>{te&&r(te)}),l=new vt(X,fe),t(l)}),ae.once("end",()=>{l||(l=new vt(X,fe),t(l))});return}if(B==="br"){X=Un(X,Bn.createBrotliDecompress(),ae=>{ae&&r(ae)}),l=new vt(X,fe),t(l);return}l=new vt(X,fe),t(l)}),jd(w,i).catch(r)})}function Hy(n,e){let t=qi.from(`0\r
57
+ `),{start:Buffer.from([239,183,174]),end:Buffer.from([239,183,175])}],Ti=class extends ky{factorio;hasNativeDebug;constructor(e,t,r){super();let i={cwd:kd.dirname(e),env:Object.assign({},process.env,r,{SteamAppId:"427520"})};this.factorio=Dy(e,t,i),this.factorio.on("exit",(a,d)=>this.emit("exit",a,d)),new Er(this.factorio.stderr,Ty).on("segment",a=>{a.length===1&&a[0]===13||this.emit("stderr",a)}),new Er(this.factorio.stdout,Iy).on("segment",a=>{a.length===1&&a[0]===13||this.emit("stdout",a)})}writeStdin(e){return this.factorio.stdin.write(e)}kill(){if(this.hasNativeDebug)this.factorio.pid&&(0,Td.default)(this.factorio.pid);else{this.factorio.kill();try{this.factorio.kill("SIGKILL")}catch{}}}};import{Readable as Ay}from"stream";var Nn=class extends Ay{constructor(e){super(),this.push(e),this.push(null)}readUInt8(){return this.read(1).readUInt8()}readUInt16LE(){return this.read(2).readUInt16LE()}readUInt32LE(){return this.read(4).readUInt32LE()}readInt32LE(){return this.read(4).readInt32LE()}readBigInt64LE(){return this.read(8).readBigInt64LE()}readBigUInt64LE(){return this.read(8).readBigUInt64LE()}readDoubleLE(){return this.read(8).readDoubleLE()}readPackedUInt_8_32(){let e=this.readUInt8();return e===255&&(e=this.readUInt32LE()),e}readPackedUInt_16_32(){let e=this.readUInt16LE();return e===65535&&(e=this.readUInt32LE()),e}readString(e){return e===0?"":this.read(e).toString("utf8")}};import*as it from"fs/promises";import*as Ot from"path";import Vy from"node:http";import Wy from"node:https";import Bn from"node:zlib";import Xd,{PassThrough as Zd,pipeline as Un}from"node:stream";import{Buffer as qi}from"node:buffer";function Cy(n){if(!/^data:/i.test(n))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');n=n.replace(/\r?\n/g,"");let e=n.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let t=n.substring(5,e).split(";"),r="",i=!1,o=t[0]||"text/plain",s=o;for(let h=1;h<t.length;h++)t[h]==="base64"?i=!0:t[h]&&(s+=`;${t[h]}`,t[h].indexOf("charset=")===0&&(r=t[h].substring(8)));!t[0]&&!r.length&&(s+=";charset=US-ASCII",r="US-ASCII");let a=i?"base64":"ascii",d=unescape(n.substring(e+1)),l=Buffer.from(d,a);return l.type=o,l.typeFull=s,l.charset=r,l}var Id=Cy;import Yt,{PassThrough as Od}from"node:stream";import{types as Md,deprecate as Hs,promisify as $y}from"node:util";import{Buffer as yt}from"node:buffer";var Vt=class extends Error{constructor(e,t){super(e),Error.captureStackTrace(this,this.constructor),this.type=t}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}};var nt=class extends Vt{constructor(e,t,r){super(e,t),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}};var Ii=Symbol.toStringTag,Ws=n=>typeof n=="object"&&typeof n.append=="function"&&typeof n.delete=="function"&&typeof n.get=="function"&&typeof n.getAll=="function"&&typeof n.has=="function"&&typeof n.set=="function"&&typeof n.sort=="function"&&n[Ii]==="URLSearchParams",Sr=n=>n&&typeof n=="object"&&typeof n.arrayBuffer=="function"&&typeof n.type=="string"&&typeof n.stream=="function"&&typeof n.constructor=="function"&&/^(Blob|File)$/.test(n[Ii]),Ad=n=>typeof n=="object"&&(n[Ii]==="AbortSignal"||n[Ii]==="EventTarget"),Cd=(n,e)=>{let t=new URL(e).hostname,r=new URL(n).hostname;return t===r||t.endsWith(`.${r}`)},$d=(n,e)=>{let t=new URL(e).protocol,r=new URL(n).protocol;return t===r};var Oy=$y(Yt.pipeline),rt=Symbol("Body internals"),$t=class{constructor(e,{size:t=0}={}){let r=null;e===null?e=null:Ws(e)?e=yt.from(e.toString()):Sr(e)||yt.isBuffer(e)||(Md.isAnyArrayBuffer(e)?e=yt.from(e):ArrayBuffer.isView(e)?e=yt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Yt||(e instanceof hr?(e=ml(e),r=e.type.split("=")[1]):e=yt.from(String(e))));let i=e;yt.isBuffer(e)?i=Yt.Readable.from(e):Sr(e)&&(i=Yt.Readable.from(e.stream())),this[rt]={body:e,stream:i,boundary:r,disturbed:!1,error:null},this.size=t,e instanceof Yt&&e.on("error",o=>{let s=o instanceof Vt?o:new nt(`Invalid response body while trying to fetch ${this.url}: ${o.message}`,"system",o);this[rt].error=s})}get body(){return this[rt].stream}get bodyUsed(){return this[rt].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:t,byteLength:r}=await zs(this);return e.slice(t,t+r)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let r=new hr,i=new URLSearchParams(await this.text());for(let[o,s]of i)r.append(o,s);return r}let{toFormData:t}=await import("./multipart-parser-3M5RC66T.js");return t(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[rt].body&&this[rt].body.type||"",t=await this.arrayBuffer();return new Ko([t],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await zs(this);return new TextDecoder().decode(e)}buffer(){return zs(this)}};$t.prototype.buffer=Hs($t.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties($t.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:Hs(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});async function zs(n){if(n[rt].disturbed)throw new TypeError(`body used already for: ${n.url}`);if(n[rt].disturbed=!0,n[rt].error)throw n[rt].error;let{body:e}=n;if(e===null)return yt.alloc(0);if(!(e instanceof Yt))return yt.alloc(0);let t=[],r=0;try{for await(let i of e){if(n.size>0&&r+i.length>n.size){let o=new nt(`content size at ${n.url} over limit: ${n.size}`,"max-size");throw e.destroy(o),o}r+=i.length,t.push(i)}}catch(i){throw i instanceof Vt?i:new nt(`Invalid response body while trying to fetch ${n.url}: ${i.message}`,"system",i)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return t.every(i=>typeof i=="string")?yt.from(t.join("")):yt.concat(t,r)}catch(i){throw new nt(`Could not create Buffer from response body for ${n.url}: ${i.message}`,"system",i)}else throw new nt(`Premature close of server response while trying to fetch ${n.url}`)}var Fn=(n,e)=>{let t,r,{body:i}=n[rt];if(n.bodyUsed)throw new Error("cannot clone body after it is used");return i instanceof Yt&&typeof i.getBoundary!="function"&&(t=new Od({highWaterMark:e}),r=new Od({highWaterMark:e}),i.pipe(t),i.pipe(r),n[rt].stream=t,i=r),i},My=Hs(n=>n.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),Ai=(n,e)=>n===null?null:typeof n=="string"?"text/plain;charset=UTF-8":Ws(n)?"application/x-www-form-urlencoded;charset=UTF-8":Sr(n)?n.type||null:yt.isBuffer(n)||Md.isAnyArrayBuffer(n)||ArrayBuffer.isView(n)?null:n instanceof hr?`multipart/form-data; boundary=${e[rt].boundary}`:n&&typeof n.getBoundary=="function"?`multipart/form-data;boundary=${My(n)}`:n instanceof Yt?null:"text/plain;charset=UTF-8",qd=n=>{let{body:e}=n[rt];return e===null?0:Sr(e)?e.size:yt.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},Nd=async(n,{body:e})=>{e===null?n.end():await Oy(e,n)};import{types as Fd}from"node:util";import $i from"node:http";var Ci=typeof $i.validateHeaderName=="function"?$i.validateHeaderName:n=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(n)){let e=new TypeError(`Header name must be a valid HTTP token [${n}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},Ks=typeof $i.validateHeaderValue=="function"?$i.validateHeaderValue:(n,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let t=new TypeError(`Invalid character in header content ["${n}"]`);throw Object.defineProperty(t,"code",{value:"ERR_INVALID_CHAR"}),t}},pt=class n extends URLSearchParams{constructor(e){let t=[];if(e instanceof n){let r=e.raw();for(let[i,o]of Object.entries(r))t.push(...o.map(s=>[i,s]))}else if(e!=null)if(typeof e=="object"&&!Fd.isBoxedPrimitive(e)){let r=e[Symbol.iterator];if(r==null)t.push(...Object.entries(e));else{if(typeof r!="function")throw new TypeError("Header pairs must be iterable");t=[...e].map(i=>{if(typeof i!="object"||Fd.isBoxedPrimitive(i))throw new TypeError("Each header pair must be an iterable object");return[...i]}).map(i=>{if(i.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...i]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return t=t.length>0?t.map(([r,i])=>(Ci(r),Ks(r,String(i)),[String(r).toLowerCase(),String(i)])):void 0,super(t),new Proxy(this,{get(r,i,o){switch(i){case"append":case"set":return(s,a)=>(Ci(s),Ks(s,String(a)),URLSearchParams.prototype[i].call(r,String(s).toLowerCase(),String(a)));case"delete":case"has":case"getAll":return s=>(Ci(s),URLSearchParams.prototype[i].call(r,String(s).toLowerCase()));case"keys":return()=>(r.sort(),new Set(URLSearchParams.prototype.keys.call(r)).keys());default:return Reflect.get(r,i,o)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let t=this.getAll(e);if(t.length===0)return null;let r=t.join(", ");return/^content-encoding$/i.test(e)&&(r=r.toLowerCase()),r}forEach(e,t=void 0){for(let r of this.keys())Reflect.apply(e,t,[this.get(r),r,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,t)=>(e[t]=this.getAll(t),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,t)=>{let r=this.getAll(t);return t==="host"?e[t]=r[0]:e[t]=r.length>1?r:r[0],e},{})}};Object.defineProperties(pt.prototype,["get","entries","forEach","values"].reduce((n,e)=>(n[e]={enumerable:!0},n),{}));function jd(n=[]){return new pt(n.reduce((e,t,r,i)=>(r%2===0&&e.push(i.slice(r,r+2)),e),[]).filter(([e,t])=>{try{return Ci(e),Ks(e,String(t)),!0}catch{return!1}}))}var qy=new Set([301,302,303,307,308]),Oi=n=>qy.has(n);var Dt=Symbol("Response internals"),vt=class n extends $t{constructor(e=null,t={}){super(e,t);let r=t.status!=null?t.status:200,i=new pt(t.headers);if(e!==null&&!i.has("Content-Type")){let o=Ai(e,this);o&&i.append("Content-Type",o)}this[Dt]={type:"default",url:t.url,status:r,statusText:t.statusText||"",headers:i,counter:t.counter,highWaterMark:t.highWaterMark}}get type(){return this[Dt].type}get url(){return this[Dt].url||""}get status(){return this[Dt].status}get ok(){return this[Dt].status>=200&&this[Dt].status<300}get redirected(){return this[Dt].counter>0}get statusText(){return this[Dt].statusText}get headers(){return this[Dt].headers}get highWaterMark(){return this[Dt].highWaterMark}clone(){return new n(Fn(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,t=302){if(!Oi(t))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new n(null,{headers:{location:new URL(e).toString()},status:t})}static error(){let e=new n(null,{status:0,statusText:""});return e[Dt].type="error",e}static json(e=void 0,t={}){let r=JSON.stringify(e);if(r===void 0)throw new TypeError("data is not JSON serializable");let i=new pt(t&&t.headers);return i.has("content-type")||i.set("content-type","application/json"),new n(r,{...t,headers:i})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(vt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});import{format as jy}from"node:url";import{deprecate as By}from"node:util";var Bd=n=>{if(n.search)return n.search;let e=n.href.length-1,t=n.hash||(n.href[e]==="#"?"#":"");return n.href[e-t.length]==="?"?"?":""};import{isIP as Ny}from"node:net";function Ud(n,e=!1){return n==null||(n=new URL(n),/^(about|blob|data):$/.test(n.protocol))?"no-referrer":(n.username="",n.password="",n.hash="",e&&(n.pathname="",n.search=""),n)}var Vd=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Wd="strict-origin-when-cross-origin";function zd(n){if(!Vd.has(n))throw new TypeError(`Invalid referrerPolicy: ${n}`);return n}function Fy(n){if(/^(http|ws)s:$/.test(n.protocol))return!0;let e=n.host.replace(/(^\[)|(]$)/g,""),t=Ny(e);return t===4&&/^127\./.test(e)||t===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:n.host==="localhost"||n.host.endsWith(".localhost")?!1:n.protocol==="file:"}function jn(n){return/^about:(blank|srcdoc)$/.test(n)||n.protocol==="data:"||/^(blob|filesystem):$/.test(n.protocol)?!0:Fy(n)}function Hd(n,{referrerURLCallback:e,referrerOriginCallback:t}={}){if(n.referrer==="no-referrer"||n.referrerPolicy==="")return null;let r=n.referrerPolicy;if(n.referrer==="about:client")return"no-referrer";let i=n.referrer,o=Ud(i),s=Ud(i,!0);o.toString().length>4096&&(o=s),e&&(o=e(o)),t&&(s=t(s));let a=new URL(n.url);switch(r){case"no-referrer":return"no-referrer";case"origin":return s;case"unsafe-url":return o;case"strict-origin":return jn(o)&&!jn(a)?"no-referrer":s.toString();case"strict-origin-when-cross-origin":return o.origin===a.origin?o:jn(o)&&!jn(a)?"no-referrer":s;case"same-origin":return o.origin===a.origin?o:"no-referrer";case"origin-when-cross-origin":return o.origin===a.origin?o:s;case"no-referrer-when-downgrade":return jn(o)&&!jn(a)?"no-referrer":o;default:throw new TypeError(`Invalid referrerPolicy: ${r}`)}}function Kd(n){let e=(n.get("referrer-policy")||"").split(/[,\s]+/),t="";for(let r of e)r&&Vd.has(r)&&(t=r);return t}var je=Symbol("Request internals"),xr=n=>typeof n=="object"&&typeof n[je]=="object",Uy=By(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),wn=class n extends $t{constructor(e,t={}){let r;if(xr(e)?r=new URL(e.url):(r=new URL(e),e={}),r.username!==""||r.password!=="")throw new TypeError(`${r} is an url with embedded credentials.`);let i=t.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(i)&&(i=i.toUpperCase()),!xr(t)&&"data"in t&&Uy(),(t.body!=null||xr(e)&&e.body!==null)&&(i==="GET"||i==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let o=t.body?t.body:xr(e)&&e.body!==null?Fn(e):null;super(o,{size:t.size||e.size||0});let s=new pt(t.headers||e.headers||{});if(o!==null&&!s.has("Content-Type")){let l=Ai(o,this);l&&s.set("Content-Type",l)}let a=xr(e)?e.signal:null;if("signal"in t&&(a=t.signal),a!=null&&!Ad(a))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let d=t.referrer==null?e.referrer:t.referrer;if(d==="")d="no-referrer";else if(d){let l=new URL(d);d=/^about:(\/\/)?client$/.test(l)?"client":l}else d=void 0;this[je]={method:i,redirect:t.redirect||e.redirect||"follow",headers:s,parsedURL:r,signal:a,referrer:d},this.follow=t.follow===void 0?e.follow===void 0?20:e.follow:t.follow,this.compress=t.compress===void 0?e.compress===void 0?!0:e.compress:t.compress,this.counter=t.counter||e.counter||0,this.agent=t.agent||e.agent,this.highWaterMark=t.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=t.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=t.referrerPolicy||e.referrerPolicy||""}get method(){return this[je].method}get url(){return jy(this[je].parsedURL)}get headers(){return this[je].headers}get redirect(){return this[je].redirect}get signal(){return this[je].signal}get referrer(){if(this[je].referrer==="no-referrer")return"";if(this[je].referrer==="client")return"about:client";if(this[je].referrer)return this[je].referrer.toString()}get referrerPolicy(){return this[je].referrerPolicy}set referrerPolicy(e){this[je].referrerPolicy=zd(e)}clone(){return new n(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(wn.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});var Gd=n=>{let{parsedURL:e}=n[je],t=new pt(n[je].headers);t.has("Accept")||t.set("Accept","*/*");let r=null;if(n.body===null&&/^(post|put)$/i.test(n.method)&&(r="0"),n.body!==null){let a=qd(n);typeof a=="number"&&!Number.isNaN(a)&&(r=String(a))}r&&t.set("Content-Length",r),n.referrerPolicy===""&&(n.referrerPolicy=Wd),n.referrer&&n.referrer!=="no-referrer"?n[je].referrer=Hd(n):n[je].referrer="no-referrer",n[je].referrer instanceof URL&&t.set("Referer",n.referrer),t.has("User-Agent")||t.set("User-Agent","node-fetch"),n.compress&&!t.has("Accept-Encoding")&&t.set("Accept-Encoding","gzip, deflate, br");let{agent:i}=n;typeof i=="function"&&(i=i(e));let o=Bd(e),s={path:e.pathname+o,method:n.method,headers:t[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:n.insecureHTTPParser,agent:i};return{parsedURL:e,options:s}};var Mi=class extends Vt{constructor(e,t="aborted"){super(e,t)}};var zy=new Set(["data:","http:","https:"]);async function Vn(n,e){return new Promise((t,r)=>{let i=new wn(n,e),{parsedURL:o,options:s}=Gd(i);if(!zy.has(o.protocol))throw new TypeError(`node-fetch cannot load ${n}. URL scheme "${o.protocol.replace(/:$/,"")}" is not supported.`);if(o.protocol==="data:"){let L=Id(i.url),k=new vt(L,{headers:{"Content-Type":L.typeFull}});t(k);return}let a=(o.protocol==="https:"?Wy:Vy).request,{signal:d}=i,l=null,h=()=>{let L=new Mi("The operation was aborted.");r(L),i.body&&i.body instanceof Xd.Readable&&i.body.destroy(L),!(!l||!l.body)&&l.body.emit("error",L)};if(d&&d.aborted){h();return}let v=()=>{h(),_()},w=a(o.toString(),s);d&&d.addEventListener("abort",v);let _=()=>{w.abort(),d&&d.removeEventListener("abort",v)};w.on("error",L=>{r(new nt(`request to ${i.url} failed, reason: ${L.message}`,"system",L)),_()}),Hy(w,L=>{l&&l.body&&l.body.destroy(L)}),process.version<"v14"&&w.on("socket",L=>{let k;L.prependListener("end",()=>{k=L._eventsCount}),L.prependListener("close",X=>{if(l&&k<L._eventsCount&&!X){let fe=new Error("Premature close");fe.code="ERR_STREAM_PREMATURE_CLOSE",l.body.emit("error",fe)}})}),w.on("response",L=>{w.setTimeout(0);let k=jd(L.rawHeaders);if(Oi(L.statusCode)){let ae=k.get("Location"),Q=null;try{Q=ae===null?null:new URL(ae,i.url)}catch{if(i.redirect!=="manual"){r(new nt(`uri requested responds with an invalid redirect URL: ${ae}`,"invalid-redirect")),_();return}}switch(i.redirect){case"error":r(new nt(`uri requested responds with a redirect, redirect mode is set to error: ${i.url}`,"no-redirect")),_();return;case"manual":break;case"follow":{if(Q===null)break;if(i.counter>=i.follow){r(new nt(`maximum redirect reached at: ${i.url}`,"max-redirect")),_();return}let te={headers:new pt(i.headers),follow:i.follow,counter:i.counter+1,agent:i.agent,compress:i.compress,method:i.method,body:Fn(i),signal:i.signal,size:i.size,referrer:i.referrer,referrerPolicy:i.referrerPolicy};if(!Cd(i.url,Q)||!$d(i.url,Q))for(let Ae of["authorization","www-authenticate","cookie","cookie2"])te.headers.delete(Ae);if(L.statusCode!==303&&i.body&&e.body instanceof Xd.Readable){r(new nt("Cannot follow redirect with body being a readable stream","unsupported-redirect")),_();return}(L.statusCode===303||(L.statusCode===301||L.statusCode===302)&&i.method==="POST")&&(te.method="GET",te.body=void 0,te.headers.delete("content-length"));let _e=Kd(k);_e&&(te.referrerPolicy=_e),t(Vn(new wn(Q,te))),_();return}default:return r(new TypeError(`Redirect option '${i.redirect}' is not a valid value of RequestRedirect`))}}d&&L.once("end",()=>{d.removeEventListener("abort",v)});let X=Un(L,new Zd,ae=>{ae&&r(ae)});process.version<"v12.10"&&L.on("aborted",v);let fe={url:i.url,status:L.statusCode,statusText:L.statusMessage,headers:k,size:i.size,counter:i.counter,highWaterMark:i.highWaterMark},B=k.get("Content-Encoding");if(!i.compress||i.method==="HEAD"||B===null||L.statusCode===204||L.statusCode===304){l=new vt(X,fe),t(l);return}let ee={flush:Bn.Z_SYNC_FLUSH,finishFlush:Bn.Z_SYNC_FLUSH};if(B==="gzip"||B==="x-gzip"){X=Un(X,Bn.createGunzip(ee),ae=>{ae&&r(ae)}),l=new vt(X,fe),t(l);return}if(B==="deflate"||B==="x-deflate"){let ae=Un(L,new Zd,Q=>{Q&&r(Q)});ae.once("data",Q=>{(Q[0]&15)===8?X=Un(X,Bn.createInflate(),te=>{te&&r(te)}):X=Un(X,Bn.createInflateRaw(),te=>{te&&r(te)}),l=new vt(X,fe),t(l)}),ae.once("end",()=>{l||(l=new vt(X,fe),t(l))});return}if(B==="br"){X=Un(X,Bn.createBrotliDecompress(),ae=>{ae&&r(ae)}),l=new vt(X,fe),t(l);return}l=new vt(X,fe),t(l)}),Nd(w,i).catch(r)})}function Hy(n,e){let t=qi.from(`0\r
58
58
  \r
59
- `),r=!1,i=!1,o;n.on("response",s=>{let{headers:a}=s;r=a["transfer-encoding"]==="chunked"&&!a["content-length"]}),n.on("socket",s=>{let a=()=>{if(r&&!i){let l=new Error("Premature close");l.code="ERR_STREAM_PREMATURE_CLOSE",e(l)}},d=l=>{i=qi.compare(l.slice(-5),t)===0,!i&&o&&(i=qi.compare(o.slice(-3),t.slice(0,3))===0&&qi.compare(l.slice(-2),t.slice(3))===0),o=l};s.prependListener("close",a),s.on("data",d),n.on("close",()=>{s.removeListener("close",a),s.removeListener("data",d)})})}var Yd=ni("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");var ef=ni("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YZOwWdgibBW2CduFPRhnhBuFs8I54bxwQbhJuCjcLFwSLgtXhKvCNeG6cAfjjfCj8FZ4J7wXPgg/CR+Fn4VPwmfhi/BV+CZ8F/5gghFhFMGK4ETwIgQRJhGiCLMISYQsQhGhitBE6CIczGTENIrJismJyYspiGkSUxTTLKYkpiymIqYqpiamLqaDiUbEUUQrohPRixhEnESMIs4iJhGziEXEKmITsYt4MLMR8yhmK2YnZi/mIOZJzFHMs5iTmLOYi5irmJuYu5gPJhmRRpGsSE4kL1IQaRIpijSLlETKIhWRqkhNpC7SwWQj8iiyFdmJ7EUOIk8iR5FnkZPIWeQichW5idxFPphiRBlFsaI4UbwoQZRJlCjKLEoSJYtSRKmiNFG6KAdTjaijqFZUJ6oXNYg6iRpFnUVNomZRi6hV1CZqF/VgmhFtFM2K5kTzogXRJtGiaLNoSbQsWhGtitZE66IdTDeij6Jb0Z3oXvQg+iR6FH0WPYmeRS+iV9Gb6F30g1mMWEaxWLE4sXixBLFMYolimcWSxJLFUsRSxdLE0sWy3H36F1BLBwj2skM3PAMAAAkGAABQSwECLQMUAAgACAAEkWtZJUfpMbsCAAB6CAAAJAAAAAAAAAAAACAAtoEAAAAAZGVidWdhZGFwdGVyLXRlc3RzXzIuMC42L2NvbnRyb2wubHVhUEsBAi0DFAAIAAgAsIS6Wo56jb0FAQAAEAIAACEAAAAAAAAAAAAgALaBDQMAAGRlYnVnYWRhcHRlci10ZXN0c18yLjAuNi9kYXRhLmx1YVBLAQItAxQACAAIANKLzFpOetcJpgAAAOwAAAAiAAAAAAAAAAAAIAC2gWEEAABkZWJ1Z2FkYXB0ZXItdGVzdHNfMi4wLjYvaW5mby5qc29uUEsBAi0DFAAIAAgAJa2tVlKo9PXOAAAAMAEAADIAAAAAAAAAAAAgALaBVwUAAGRlYnVnYWRhcHRlci10ZXN0c18yLjAuNi9zY2VuYXJpb3MvcnVuL2NvbnRyb2wubHVhUEsBAi0DFAAIAAgAaYkwVpSORlA+AAAAPgAAADgAAAAAAAAAAAAgALaBhQYAAGRlYnVnYWRhcHRlci10ZXN0c18yLjAuNi9zY2VuYXJpb3MvdGVybWluYXRlL2NvbnRyb2wubHVhUEsBAi0DFAAIAAgATYKKWPTB5xMnAQAAcgQAADQAAAAAAAAAAAAgALaBKQcAAGRlYnVnYWRhcHRlci10ZXN0c18yLjAuNi9zY2VuYXJpb3MvdGhyb3cvY29udHJvbC5sdWFQSwECLQMUAAgACAAPE31X9rJDNzwDAAAJBgAAJQAAAAAAAAAAACAAtoGyCAAAZGVidWdhZGFwdGVyLXRlc3RzXzIuMC42L3NldHRpbmdzLmx1YVBLBQYAAAAABwAHAGwCAABBDAAAAAA=");var Xy={debugadapter:{version:_n,zip:Yd},"debugadapter-tests":{version:_n,zip:ef}};async function Jy(n,e){let t=await Vn(`https://mods.factorio.com/api/mods/${n}${e?"/full":""}`);if(!t.ok)throw new Error(t.statusText);return await t.json()}var Lr=class{constructor(e,t){this.modsPath=e;this.playerdataPath=t;this.Loaded=this.reload()}modList={mods:[]};Loaded;async reload(){let e=Ot.resolve(this.modsPath,"./mod-list.json");try{this.modList=JSON.parse(await it.readFile(e,"utf8"))}catch{this.modList={mods:[]}}}async write(){let e=Ot.resolve(this.modsPath,"./mod-list.json");return it.writeFile(e,JSON.stringify(this.modList,null,2),"utf8")}async getDownloadCredentials(e){let t=this.playerdataPath??Ot.resolve(this.modsPath,"../player-data.json"),r=t?await it.readFile(t,"utf8").then(a=>JSON.parse(a)).catch(()=>{}):void 0;if(r?.["service-token"])return{username:r["service-username"],token:r["service-token"]};let i=await e(r?.["service-username"]),o=await Vn("https://auth.factorio.com/api-login",{method:"POST",body:new URLSearchParams({username:i.username,password:i.password,api_version:"4",require_game_ownership:"true"})});if(!o.ok)throw new Error(o.statusText);let s=await o.json();return r&&(r["service-username"]=s.username,r["service-token"]=s.token,await it.writeFile(t,JSON.stringify(r,void 0,2))),s}async findInstallSource(e,t){if(t.origin!=="portal"){let a=Xy[e];if(a)return a;if(t.origin==="bundle")throw new Error(`No bundled package for ${e}`)}let r=await Jy(e),i=r.releases[r.releases.length-1],o=await this.getDownloadCredentials(t.credentialPrompt),s=await Vn(`https://mods.factorio.com/${i.download_url}?username=${o.username}&token=${o.token}`);if(!s.ok)throw new Error(s.statusText);return{version:i.version,zip:s.body}}async installMod(e,t){let r=await this.findInstallSource(e,t),i=r.version,o=this.modList.mods.find(h=>h.name===e),s=o?.enabled?o.version??!0:o?.enabled;async function a(h){let v=Ot.resolve(h,"info.json");try{let w=await it.readFile(v,"utf8");if(w){let _=JSON.parse(w);if(_.name===e&&_.version===i)return!0}}catch{}return!1}if(!t.force){if(await a(Ot.resolve(this.modsPath,e)))return this.set(e,i),{using:i,from:"folder",previous:s};if(await a(Ot.resolve(this.modsPath,`${e}_${i}`)))return this.set(e,i),{using:i,from:"versioned_folder",previous:s};try{return await it.access(Ot.resolve(this.modsPath,`${e}_${i}.zip`)),this.set(e,i),{using:i,from:"existing",previous:s}}catch{}}let d=it.writeFile(Ot.resolve(this.modsPath,`${e}_${i}.zip`),r.zip),l;if(!t.keepOld){let h=(await it.readdir(this.modsPath,"utf8")).filter(v=>v.startsWith(e)&&v.endsWith(".zip")&&v.substring(e.length,v.length-4).match(/^_[\d\.]+$/)&&v!==`${e}_${i}.zip`);h.length===1&&(await it.unlink(Ot.resolve(this.modsPath,h[0])),l=h[0].substring(e.length+1,h[0].length-4))}return this.set(e,i),await d,{using:i,from:"installed",previous:s,replaced:l}}set(e,t){let r=!!t,i=typeof t=="string"?t:void 0,o=this.modList.mods.find(s=>s.name===e);o?(o.enabled=r,o.version=i):this.modList.mods.push({name:e,enabled:r,version:i})}disableAll(){this.modList.mods.forEach(e=>e.enabled=!1)}};function Gs(n){if(n.readUInt8()!==0)return"";{let t=n.readPackedUInt_8_32();return n.readString(t)}}function Ni(n){let e=n.readUInt8();switch(n.readUInt8(),e){case 0:return{type:e};case 1:return{type:e,value:n.readUInt8()!==0};case 2:return{type:e,value:n.readDoubleLE()};case 3:return{type:e,value:Gs(n)};case 4:{let t=n.readUInt32LE(),r=[];for(let i=0;i<t;i++){Gs(n);let o=Ni(n);r.push(o)}return{type:e,value:r}}case 5:{let t=n.readUInt32LE(),r={};for(let i=0;i<t;i++){let o=Gs(n);if(!o)throw new Error("Missing key in PropertyTree Dictionary");let s=Ni(n);r[o]=s}return{type:e,value:r}}case 6:return{type:e,value:n.readBigInt64LE()};case 7:return{type:e,value:n.readBigUInt64LE()};default:throw new Error(`Invalid datatype in PropertyTree ${e}`)}}function Xs(n){if(!n)return Buffer.from([1]);let e=Buffer.from(n,"utf8"),t=Buffer.alloc(1);return e.length<255?t.writeUInt8(e.length):(t=Buffer.alloc(5),t.writeUInt8(255),t.writeUInt32LE(e.length,1)),Buffer.concat([Buffer.from([0]),t,e])}function en(n){return Buffer.from([n,0])}function Fi(n){switch(n.type){case 3:return Buffer.concat([en(3),Xs(n.value)]);case 1:return Buffer.concat([en(1),Buffer.from([n.value?1:0])]);case 2:{let e=Buffer.alloc(8);return e.writeDoubleLE(n.value),Buffer.concat([en(2),e])}case 6:{let e=Buffer.alloc(8);return e.writeBigInt64LE(n.value),Buffer.concat([en(6),e])}case 7:{let e=Buffer.alloc(8);return e.writeBigUInt64LE(n.value),Buffer.concat([en(7),e])}case 0:return en(0);case 4:{let e=Buffer.alloc(4);return e.writeUInt32LE(n.value.length),Buffer.concat([en(4),e,Buffer.concat(n.value.map(t=>Buffer.concat([Xs(""),Fi(t)])))])}case 5:{let e=[];for(let r in n.value)if(Object.prototype.hasOwnProperty.call(n.value,r)){let i=n.value[r];e.push(Buffer.concat([Xs(r),Fi(i)]))}let t=Buffer.alloc(4);return t.writeUInt32LE(e.length),Buffer.concat([en(5),t,Buffer.concat(e)])}default:throw new Error(`Invalid datatype in PropertyTree ${n.type}`)}}var Pn=class n{constructor(e,t,r,i,o){this.main=e;this.major=t;this.minor=r;this.patch=i;this.branch=o}static load(e){let t=e.readUInt16LE(0),r=e.readUInt16LE(2),i=e.readUInt16LE(4),o=e.readUInt16LE(6),s=e.readUInt8(8);return new n(t,r,i,o,s)}save(){let e=Buffer.alloc(9);return e.writeUInt16LE(this.main,0),e.writeUInt16LE(this.major,2),e.writeUInt16LE(this.minor,4),e.writeUInt16LE(this.patch,6),e.writeUInt8(this.branch,8),e}format(){return`${this.main}.${this.major}.${this.minor}-${this.patch}`}isBeyond(e,t,r,i){return this.main<e?!1:this.main>e||t===void 0?!0:this.major<t?!1:this.major>t||r===void 0?!0:this.minor<r?!1:this.minor>r||i===void 0?!0:this.patch<i?!1:(this.patch>i,!0)}};import Js from"assert";var tf=["startup","runtime-global","runtime-per-user"],ji=class{version;_settings;constructor(e){this.version=Pn.load(e.read(9));let t=Ni(e);Js(t.type===5);let r={startup:{},"runtime-global":{},"runtime-per-user":{}};for(let i of tf){let o=t.value[i];Js(o.type===5);let s=r[i];for(let a in o.value){let d=o.value[a];Js(d.type===5);let l=d.value.value;switch(l.type){case 3:s[a]={type:"string",value:l.value};break;case 2:s[a]={type:"number",value:l.value};break;case 6:s[a]={type:"int",value:l.value};break;case 1:s[a]={type:"bool",value:l.value};break;case 5:let h=l.value;if("r"in h&&h.r.type===2&&"g"in h&&h.g.type===2&&"b"in h&&h.b.type===2&&"a"in h&&h.a.type===2)s[a]={type:"color",value:{r:h.r.value,g:h.g.value,b:h.b.value,a:h.a.value}};else throw new Error(`Dictionary value in ModSettings Tree does not match any known structure at ${i} ${a}`);break;default:throw new Error(`Unexpected type in ModSettings Tree: ${l.type}`)}}}this._settings=r}get settings(){return this._settings}save(){let e={type:5,value:{}};for(let t of tf){let r=this._settings[t],i={type:5,value:{}};e.value[t]=i;for(let o in r){let s=r[o];switch(s.type){case"string":i.value[o]={type:5,value:{value:{type:3,value:s.value}}};break;case"bool":i.value[o]={type:5,value:{value:{type:1,value:s.value}}};break;case"int":i.value[o]={type:5,value:{value:{type:6,value:s.value}}};break;case"number":i.value[o]={type:5,value:{value:{type:2,value:s.value}}};break;case"color":i.value[o]={type:5,value:{value:{type:5,value:{r:{type:2,value:s.value.r},g:{type:2,value:s.value.g},b:{type:2,value:s.value.b},a:{type:2,value:s.value.a}}}}};break;default:break}}}return Buffer.concat([this.version.save(),Fi(e)])}set(e,t,r){r===void 0?delete this._settings[e][t]:this._settings[e][t]=r}get(e,t){return this._settings[e][t]}*list(){for(let e in this._settings)for(let t in this._settings[e]){let r=this._settings[e][t];yield{scope:e,setting:t,value:r.value}}}};var Qs=Buffer.from([27,76,117,97,82,0,1,4,8,4,8,0,25,147,13,10,26,10]);function Bi(n,e){let t=n.readBigUInt64LE(e);e+=8;let r;return t>0?(r=n.subarray(e,e+Number(t)-1),e+=Number(t)):r=Buffer.alloc(0,0),[r,e]}var Zs=class{constructor(e,t){this.raw=e;this.line=t}get Op(){return this.raw&63}get A(){return this.raw>>6&255}get B(){return this.raw>>23&511}get C(){return this.raw>>14&511}get Ax(){return this.raw>>6&67108863}get Bx(){return this.raw>>14&262143}get sBx(){return this.Bx-131071}},Ys=class{name;instack;idx;constructor(e,t){this.instack=e.readUInt8(t)!==0,this.idx=e.readUInt8(t+1)}},ea=class{name;start;end;dumpsize;constructor(e,t){let r;[r,t]=Bi(e,t),this.name=r.toString("utf8"),this.start=e.readUInt32LE(t),t+=4,this.end=e.readUInt32LE(t),t+=4,this.dumpsize=(r.length===0?8:8+r.length+1)+8}},Wn=class{constructor(e,t){this.type=e;this.value=t;switch(e){case 0:if(t!==void 0)throw new Error(`Invalid Lua Constant: ${e} ${t}`);break;case 1:if(typeof t!="boolean")throw new Error(`Invalid Lua Constant: ${e} ${t}`);break;case 3:if(typeof t!="number")throw new Error(`Invalid Lua Constant: ${e} ${t}`);break;case 4:if(!(t instanceof Buffer))throw new Error(`Invalid Lua Constant: ${e} ${t}`);break;default:throw new Error(`Invalid Lua Constant Type: ${e}`)}}get label(){switch(this.type){case 0:return"nil";case 1:case 3:return this.value.toString();case 4:return`"${this.value.toString("utf8")}"`;default:throw new Error(`Invalid Lua Constant Type: ${this.type} ${this.value}`)}}},Ui=class n{source;nparam;is_vararg;maxstack;locals=[];upvals=[];instruction_count;_instraw;_instlines;constants=[];inner_functions=[];firstline;lastline;nextbyte;constructor(e,t){if(t===void 0){if(!e.subarray(0,Qs.length).equals(Qs))throw new Error("Invalid Header");t=Qs.length}this.firstline=e.readUInt32LE(t),t+=4,this.lastline=e.readUInt32LE(t),t+=4,this.nparam=e[t++],this.is_vararg=e[t++]!==0,this.maxstack=e[t++],this.instruction_count=e.readUInt32LE(t),t+=4,this._instraw=e.subarray(t,t+this.instruction_count*4),t+=this.instruction_count*4;let r=e.readUInt32LE(t);t+=4;for(let l=0;l<r;l++){let h=e[t++];switch(h){case 0:this.constants.push(new Wn(0));break;case 1:this.constants.push(new Wn(1,e[t++]!==0));break;case 3:this.constants.push(new Wn(3,e.readDoubleLE(t))),t+=8;break;case 4:let v;[v,t]=Bi(e,t),this.constants.push(new Wn(4,v));break;default:throw new Error(`Invalid Lua Constant Type: ${h}`)}}let i=e.readUInt32LE(t);t+=4;for(let l=0;l<i;l++){let h=new n(e,t);t=h.nextbyte,this.inner_functions.push(h)}let o=e.readUInt32LE(t);t+=4;for(let l=0;l<o;l++)this.upvals.push(new Ys(e,t)),t+=2;{let l;[l,t]=Bi(e,t),this.source=l.toString("utf8")}let s=e.readUInt32LE(t);if(t+=4,s!==this.instruction_count)throw new Error("line info count mismatch");this._instlines=e.subarray(t,t+this.instruction_count*4),t+=this.instruction_count*4;let a=e.readUInt32LE(t);t+=4;for(let l=0;l<a;l++){let h=new ea(e,t);t+=h.dumpsize,this.locals.push(h)}let d=e.readUInt32LE(t);t+=4;for(let l=0;l<d;l++){let h;[h,t]=Bi(e,t),this.upvals[l].name=h.toString("utf8")}this.nextbyte=t}_baseAddr;get baseAddr(){return this._baseAddr}rebase(e){let t=e;return this._baseAddr=t,t+=this.instruction_count,this.inner_functions.forEach(r=>{t=r.rebase(t)}),t}_instructions=[];instruction(e){if(e>this.instruction_count-1)return;let t=this._instructions[e];return t===void 0&&(t=new Zs(this._instraw.readUint32LE(e*4),this._instlines.readUint32LE(e*4)),this._instructions[e]=t),t}get lines(){let e=[];for(let t=0;t<this.instruction_count;t++)e[t]=this._instlines.readUInt32LE(t*4);return e}walk_functions(e){e(this),this.inner_functions.forEach(t=>t.walk_functions(e))}getFunctionAtStartLine(e){if(this.firstline===e)return this;if(this.firstline<e&&(this.lastline===0||this.lastline>e)&&this.inner_functions)for(let t=0;t<this.inner_functions.length;t++){let r=this.inner_functions[t].getFunctionAtStartLine(e);if(r)return r}}getInstructionsAtBase(e,t){if(!(t===0||!this._baseAddr)&&this._baseAddr<=e&&this._baseAddr+this.instruction_count>e){let r=e-this._baseAddr,i=[];r+t>this.instruction_count&&(t=this.instruction_count-r);for(let o=0;o<t;o++){let s=this.instruction(o+r);i.push({address:"0x"+(this._baseAddr+r+o).toString(16),instruction:this.getInstructionLabel(o+r),line:s.line,instructionBytes:s.raw.toString(16).padStart(8,"0"),symbol:o+r===0?this.source+":"+this.firstline:void 0})}return i}}getInstructionLabel(e){let t=this.instruction(e);if(!t)throw new Error("Invalid PC");let r=this.instruction(e+1);switch(t.Op){case 1:return`LOADK ${this.getRegisterLabel(e,t.A)} := ${this.constants[t.Bx].label}`;case 2:if(!r)throw new Error("Invalid PC");return`LOADKX ${this.getRegisterLabel(e,t.A)} := ${this.constants[r.Ax].label}`;case 3:return`LOADBOOL ${this.getRegisterLabel(e,t.A)} := ${t.B!==0}${t.C!==0?" pc++":""}`;case 4:return`LOADNIL ${this.getRegisterLabel(e,t.A)}...${this.getRegisterLabel(e,t.A+t.B)})`;case 5:return`GETUPVAL ${this.getRegisterLabel(e,t.A)} := ${this.getUpvalLabel(t.B)}`;case 6:return`GETTABUP ${this.getRegisterLabel(e,t.A)} := ${this.getUpvalLabel(t.B)}[${this.getRegisterOrConstantLabel(e,t.C)}]`;case 7:return`GETTABLE ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.B)}[${this.getRegisterOrConstantLabel(e,t.C)}]`;case 8:return`SETTABUP ${this.getUpvalLabel(t.A)}[${this.getRegisterOrConstantLabel(e,t.B)}] := ${this.getRegisterOrConstantLabel(e,t.C)}`;case 9:return`SETUPVAL ${this.getUpvalLabel(t.B)} := ${this.getRegisterLabel(e,t.A)}`;case 10:return`SETTABLE ${this.getRegisterLabel(e,t.A)}[${this.getRegisterOrConstantLabel(e,t.B)}] := ${this.getRegisterOrConstantLabel(e,t.C)}`;case 11:{let a=t.B,d=this.fb2int(a),l=t.C,h=this.fb2int(l),v=a===d?`${d}`:`${a}->${d}`,w=l===h?`${h}`:`${l}->${h}`;return`NEWTABLE ${this.getRegisterLabel(e,t.A)} := {} size(${v},${w})`}case 12:return`SELF ${this.getRegisterLabel(e,t.A+1)} := ${this.getRegisterLabel(e,t.B)}; ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.B)}[${this.getRegisterOrConstantLabel(e,t.C)}]`;case 13:return`ADD ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} + ${this.getRegisterOrConstantLabel(e,t.C)}`;case 14:return`SUB ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} - ${this.getRegisterOrConstantLabel(e,t.C)}`;case 15:return`MUL ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} * ${this.getRegisterOrConstantLabel(e,t.C)}`;case 16:return`DIV ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} / ${this.getRegisterOrConstantLabel(e,t.C)}`;case 17:return`MOD ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} % ${this.getRegisterOrConstantLabel(e,t.C)}`;case 18:return`POW ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} ^ ${this.getRegisterOrConstantLabel(e,t.C)}`;case 0:return`MOVE ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.B)}`;case 19:return`UNM ${this.getRegisterLabel(e,t.A)} := -${this.getRegisterLabel(e,t.B)}`;case 20:return`NOT ${this.getRegisterLabel(e,t.A)} := not ${this.getRegisterLabel(e,t.B)}`;case 21:return`LEN ${this.getRegisterLabel(e,t.A)} := length of ${this.getRegisterLabel(e,t.B)}`;case 22:return`CONCAT ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.B)}.. ... ..${this.getRegisterLabel(e,t.C)}`;case 23:return`JMP pc+=${t.sBx}${t.A?`; close >= ${t.A-1}`:""}`;case 24:return`EQ if(${this.getRegisterOrConstantLabel(e,t.B)} ${t.A?"~=":"=="} ${this.getRegisterOrConstantLabel(e,t.B)}) then pc++`;case 25:return`LT if(${this.getRegisterOrConstantLabel(e,t.B)} ${t.A?">=":"<"} ${this.getRegisterOrConstantLabel(e,t.B)}) then pc++`;case 26:return`LE if(${this.getRegisterOrConstantLabel(e,t.B)} ${t.A?">":"<="} ${this.getRegisterOrConstantLabel(e,t.B)}) then pc++`;case 27:return`TEST if ${t.C?"not ":""}${this.getRegisterLabel(e,t.A)} then pc++`;case 28:return`TESTSET if ${t.C?"":"not "}${this.getRegisterLabel(e,t.A)} then ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.B)} else pc++`;case 29:return`CALL ${this.getRegisterLabel(e,t.A)}(${t.B?t.B-1:"var"} args ${t.C?t.C-1:"var"} returns)`;case 30:return`TAILCALL return ${this.getRegisterLabel(e,t.A)}(${t.B?t.B-1:"var"} args)`;case 31:return`RETURN return ${t.B?t.B-1:"var"} results ${t.B>1?`starting at ${this.getRegisterLabel(e,t.A)}`:""}`;case 32:return`FORLOOP ${this.getRegisterLabel(e,t.A)} += ${this.getRegisterLabel(e,t.A+2)}; if ${this.getRegisterLabel(e,t.A)} <= ${this.getRegisterLabel(e,t.A+1)} then { pc+=${t.sBx}; ${this.getRegisterLabel(e,t.A+3)} := ${this.getRegisterLabel(e,t.A)} }`;case 33:return`FORPREP ${this.getRegisterLabel(e,t.A)} -= ${this.getRegisterLabel(e,t.A+2)}; pc += ${t.sBx}`;case 34:return`TFORCALL ${this.getRegisterLabel(e,t.A+3)}...${this.getRegisterLabel(e,t.A+2+t.C)} := ${this.getRegisterLabel(e,t.A)}(${this.getRegisterLabel(e,t.A+1)},${this.getRegisterLabel(e,t.A+2)})`;case 35:return`TFORLOOP if ${this.getRegisterLabel(e,t.A+1)} ~= nil then { ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.A+1)}; pc += ${t.sBx} }`;case 36:let i=t.C-1;if(!t.C){if(!r)throw new Error("Invalid PC");i=r.Ax-1}let o=50;return`SETLIST ${this.getRegisterLabel(e,t.A)}[${i*o+1}...${t.B?i*o+t.B:""}] := ${this.getRegisterLabel(e,t.A+1)}...${t.B?this.getRegisterLabel(e,t.A+t.B):"top"}`;case 37:let s=this.inner_functions[t.Bx];return`CLOSURE ${this.getRegisterLabel(e,t.A)} := closure(${s.source}:${s.firstline}-${s.lastline})`;case 38:return`VARARG ${this.getRegisterLabel(e,t.A)}...${t.B?this.getRegisterLabel(e,t.A+t.B-2):"top"}`;case 39:return"EXTRAARG";default:return`UNKNOWN OP(${t.Op}) A(${t.A}) B(${t.B}) C(${t.C})`}}fb2int(e){let t=e>>3&31;return t===0?e:(e&7)+8<<t-1}getRegisterOrConstantLabel(e,t){return t&256?this.constants[t&255].label:this.getRegisterLabel(e,t)}getUpvalLabel(e){return`Up(${this.upvals[e]?.name??e})`}getRegisterLabel(e,t){let r=0;for(let i=0;i<this.locals.length;i++){let o=this.locals[i];if(o.start<=e+1){if(o.end>=e+1){if(r===t)return`R(${o.name})`;r++}}else break}return`R(${t})`}};var Dr=class extends G.StoppedEvent{constructor(e,t,r){super(e,t,r),this.body.allThreadsStopped=!0}},nf=class extends G.LoggingDebugSession{constructor(t,r,i){super();this.activeVersion=t;this.fs=r;this.editorInterface=i;this.objectInfoChunks=Pd(ki(this.activeVersion.docs.generate_debuginfo()),3500),this.setDebuggerLinesStartAt1(!0),this.setDebuggerColumnsStartAt1(!0),this.setDebuggerPathFormat("uri"),this.configDone=new Promise(o=>{this._configurationDone=o})}_configurationDone;configDone;nextBreakpointID=1;breakPoints=new Map;breakPointsChanged=new Set;exceptionFilters=new Set(["unhandled"]);_modules=new Map;_responses=new Map;_dumps=new Map;translations=new Map;buffers=new Map;nextRef=1;factorio;stdinQueue=[];launchArgs;inPrompt=0;pauseRequested=!1;workspaceModInfo=[];initializeRequest(t,r){t.body=t.body||{},t.body.supportsConditionalBreakpoints=!0,t.body.supportsHitConditionalBreakpoints=!0,t.body.supportsEvaluateForHovers=!0,t.body.exceptionBreakpointFilters=[{filter:"pcall",label:"Caught by pcall",default:!1},{filter:"xpcall",label:"Caught by xpcall",default:!1},{filter:"unhandled",label:"Unhandled Exceptions",default:!0}],t.body.supportsSetVariable=!0,t.body.supportsModulesRequest=!0,t.body.supportsLogPoints=!0,t.body.supportsConfigurationDoneRequest=!0,t.body.supportsLoadedSourcesRequest=!0,t.body.supportsBreakpointLocationsRequest=!0,t.body.supportsDisassembleRequest=!0,t.body.supportsSteppingGranularity=!0,t.body.supportsInstructionBreakpoints=!1,this.sendResponse(t)}configurationDoneRequest(t,r){super.configurationDoneRequest(t,r),this._configurationDone?.()}terminateRequest(t,r){this.sendResponse(t),this.terminate()}disconnectRequest(t,r){this.sendResponse(t),this.terminate()}checkFactorioArgs(t){let r=t.factorioArgs;if(r){if(r.includes("--config"))return this.sendEvent(new G.OutputEvent(`Factorio --config option is set by configPath and should not be included in factorioArgs
59
+ `),r=!1,i=!1,o;n.on("response",s=>{let{headers:a}=s;r=a["transfer-encoding"]==="chunked"&&!a["content-length"]}),n.on("socket",s=>{let a=()=>{if(r&&!i){let l=new Error("Premature close");l.code="ERR_STREAM_PREMATURE_CLOSE",e(l)}},d=l=>{i=qi.compare(l.slice(-5),t)===0,!i&&o&&(i=qi.compare(o.slice(-3),t.slice(0,3))===0&&qi.compare(l.slice(-2),t.slice(3))===0),o=l};s.prependListener("close",a),s.on("data",d),n.on("close",()=>{s.removeListener("close",a),s.removeListener("data",d)})})}var Jd=ni("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");var Qd=ni("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k7BZ2CJsFbYJ24U9GGeEG4WzwjnhvHBBuEm4KNwsXBIuC1eEq8I14bpwB+ON8KPwVngnvBc+CD8JH4WfhU/CZ+GL8FX4JnwX/mCCEWEUwYrgRPAiBBEmEaIIswhJhCxCEaGK0EToIhzMZMQ0ismKyYnJiymIaRJTFNMspiSmLKYipiqmJqYupoOJRsRRRCuiE9GLGEScRIwiziImEbOIRcQqYhOxi3gwsxHzKGYrZidmL+Yg5knMUcyzmJOYs5iLmKuYm5i7mA8mGZFGkaxITiQvUhBpEimKNIuURMoiFZGqSE2kLtLBZCPyKLIV2YnsRQ4iTyJHkWeRk8hZ5CJyFbmJ3EU+mGJEGUWxojhRvChBlEmUKMosShIli1JEqaI0UbooB1ONqKOoVlQnqhc1iDqJGkWdRU2iZlGLqFXUJmoX9WCaEW0UzYrmRPOiBdEm0aJos2hJtCxaEa2K1kTroh1MN6KPolvRnehe9CD6JHoUfRY9iZ5FL6JX0ZvoXfSDWYxYRrFYsTixeLEEsUxiiWKZxZLEksVSxFLF0sTSxbLcffoXUEsHCPayQzc8AwAACQYAAFBLAQItAxQACAAIAASRa1klR+kxuwIAAHoIAAAkAAAAAAAAAAAAIAC2gQAAAABkZWJ1Z2FkYXB0ZXItdGVzdHNfMi4wLjgvY29udHJvbC5sdWFQSwECLQMUAAgACACwhLpajnqNvQUBAAAQAgAAIQAAAAAAAAAAACAAtoENAwAAZGVidWdhZGFwdGVyLXRlc3RzXzIuMC44L2RhdGEubHVhUEsBAi0DFAAIAAgAVIzpWkRXSQOlAAAA7AAAACIAAAAAAAAAAAAgALaBYQQAAGRlYnVnYWRhcHRlci10ZXN0c18yLjAuOC9pbmZvLmpzb25QSwECLQMUAAgACAAlra1WUqj09c4AAAAwAQAAMgAAAAAAAAAAACAAtoFWBQAAZGVidWdhZGFwdGVyLXRlc3RzXzIuMC44L3NjZW5hcmlvcy9ydW4vY29udHJvbC5sdWFQSwECLQMUAAgACABpiTBWlI5GUD4AAAA+AAAAOAAAAAAAAAAAACAAtoGEBgAAZGVidWdhZGFwdGVyLXRlc3RzXzIuMC44L3NjZW5hcmlvcy90ZXJtaW5hdGUvY29udHJvbC5sdWFQSwECLQMUAAgACABNgopY9MHnEycBAAByBAAANAAAAAAAAAAAACAAtoEoBwAAZGVidWdhZGFwdGVyLXRlc3RzXzIuMC44L3NjZW5hcmlvcy90aHJvdy9jb250cm9sLmx1YVBLAQItAxQACAAIAA8TfVf2skM3PAMAAAkGAAAlAAAAAAAAAAAAIAC2gbEIAABkZWJ1Z2FkYXB0ZXItdGVzdHNfMi4wLjgvc2V0dGluZ3MubHVhUEsFBgAAAAAHAAcAbAIAAEAMAAAAAA==");var Xy={debugadapter:{version:_n,zip:Jd},"debugadapter-tests":{version:_n,zip:Qd}};async function Zy(n,e){let t=await Vn(`https://mods.factorio.com/api/mods/${n}${e?"/full":""}`);if(!t.ok)throw new Error(t.statusText);return await t.json()}var Lr=class{constructor(e,t){this.modsPath=e;this.playerdataPath=t;this.Loaded=this.reload()}modList={mods:[]};Loaded;async reload(){let e=Ot.resolve(this.modsPath,"./mod-list.json");try{this.modList=JSON.parse(await it.readFile(e,"utf8"))}catch{this.modList={mods:[]}}}async write(){let e=Ot.resolve(this.modsPath,"./mod-list.json");return it.writeFile(e,JSON.stringify(this.modList,null,2),"utf8")}async getDownloadCredentials(e){let t=this.playerdataPath??Ot.resolve(this.modsPath,"../player-data.json"),r=t?await it.readFile(t,"utf8").then(a=>JSON.parse(a)).catch(()=>{}):void 0;if(r?.["service-token"])return{username:r["service-username"],token:r["service-token"]};let i=await e(r?.["service-username"]),o=await Vn("https://auth.factorio.com/api-login",{method:"POST",body:new URLSearchParams({username:i.username,password:i.password,api_version:"4",require_game_ownership:"true"})});if(!o.ok)throw new Error(o.statusText);let s=await o.json();return r&&(r["service-username"]=s.username,r["service-token"]=s.token,await it.writeFile(t,JSON.stringify(r,void 0,2))),s}async findInstallSource(e,t){if(t.origin!=="portal"){let a=Xy[e];if(a)return a;if(t.origin==="bundle")throw new Error(`No bundled package for ${e}`)}let r=await Zy(e),i=r.releases[r.releases.length-1],o=await this.getDownloadCredentials(t.credentialPrompt),s=await Vn(`https://mods.factorio.com/${i.download_url}?username=${o.username}&token=${o.token}`);if(!s.ok)throw new Error(s.statusText);return{version:i.version,zip:s.body}}async installMod(e,t){let r=await this.findInstallSource(e,t),i=r.version,o=this.modList.mods.find(h=>h.name===e),s=o?.enabled?o.version??!0:o?.enabled;async function a(h){let v=Ot.resolve(h,"info.json");try{let w=await it.readFile(v,"utf8");if(w){let _=JSON.parse(w);if(_.name===e&&_.version===i)return!0}}catch{}return!1}if(!t.force){if(await a(Ot.resolve(this.modsPath,e)))return this.set(e,i),{using:i,from:"folder",previous:s};if(await a(Ot.resolve(this.modsPath,`${e}_${i}`)))return this.set(e,i),{using:i,from:"versioned_folder",previous:s};try{return await it.access(Ot.resolve(this.modsPath,`${e}_${i}.zip`)),this.set(e,i),{using:i,from:"existing",previous:s}}catch{}}let d=it.writeFile(Ot.resolve(this.modsPath,`${e}_${i}.zip`),r.zip),l;if(!t.keepOld){let h=(await it.readdir(this.modsPath,"utf8")).filter(v=>v.startsWith(e)&&v.endsWith(".zip")&&v.substring(e.length,v.length-4).match(/^_[\d\.]+$/)&&v!==`${e}_${i}.zip`);h.length===1&&(await it.unlink(Ot.resolve(this.modsPath,h[0])),l=h[0].substring(e.length+1,h[0].length-4))}return this.set(e,i),await d,{using:i,from:"installed",previous:s,replaced:l}}set(e,t){let r=!!t,i=typeof t=="string"?t:void 0,o=this.modList.mods.find(s=>s.name===e);o?(o.enabled=r,o.version=i):this.modList.mods.push({name:e,enabled:r,version:i})}disableAll(){this.modList.mods.forEach(e=>e.enabled=!1)}};function Gs(n){if(n.readUInt8()!==0)return"";{let t=n.readPackedUInt_8_32();return n.readString(t)}}function Ni(n){let e=n.readUInt8();switch(n.readUInt8(),e){case 0:return{type:e};case 1:return{type:e,value:n.readUInt8()!==0};case 2:return{type:e,value:n.readDoubleLE()};case 3:return{type:e,value:Gs(n)};case 4:{let t=n.readUInt32LE(),r=[];for(let i=0;i<t;i++){Gs(n);let o=Ni(n);r.push(o)}return{type:e,value:r}}case 5:{let t=n.readUInt32LE(),r={};for(let i=0;i<t;i++){let o=Gs(n);if(!o)throw new Error("Missing key in PropertyTree Dictionary");let s=Ni(n);r[o]=s}return{type:e,value:r}}case 6:return{type:e,value:n.readBigInt64LE()};case 7:return{type:e,value:n.readBigUInt64LE()};default:throw new Error(`Invalid datatype in PropertyTree ${e}`)}}function Xs(n){if(!n)return Buffer.from([1]);let e=Buffer.from(n,"utf8"),t=Buffer.alloc(1);return e.length<255?t.writeUInt8(e.length):(t=Buffer.alloc(5),t.writeUInt8(255),t.writeUInt32LE(e.length,1)),Buffer.concat([Buffer.from([0]),t,e])}function en(n){return Buffer.from([n,0])}function Fi(n){switch(n.type){case 3:return Buffer.concat([en(3),Xs(n.value)]);case 1:return Buffer.concat([en(1),Buffer.from([n.value?1:0])]);case 2:{let e=Buffer.alloc(8);return e.writeDoubleLE(n.value),Buffer.concat([en(2),e])}case 6:{let e=Buffer.alloc(8);return e.writeBigInt64LE(n.value),Buffer.concat([en(6),e])}case 7:{let e=Buffer.alloc(8);return e.writeBigUInt64LE(n.value),Buffer.concat([en(7),e])}case 0:return en(0);case 4:{let e=Buffer.alloc(4);return e.writeUInt32LE(n.value.length),Buffer.concat([en(4),e,Buffer.concat(n.value.map(t=>Buffer.concat([Xs(""),Fi(t)])))])}case 5:{let e=[];for(let r in n.value)if(Object.prototype.hasOwnProperty.call(n.value,r)){let i=n.value[r];e.push(Buffer.concat([Xs(r),Fi(i)]))}let t=Buffer.alloc(4);return t.writeUInt32LE(e.length),Buffer.concat([en(5),t,Buffer.concat(e)])}default:throw new Error(`Invalid datatype in PropertyTree ${n.type}`)}}var Pn=class n{constructor(e,t,r,i,o){this.main=e;this.major=t;this.minor=r;this.patch=i;this.branch=o}static load(e){let t=e.readUInt16LE(0),r=e.readUInt16LE(2),i=e.readUInt16LE(4),o=e.readUInt16LE(6),s=e.readUInt8(8);return new n(t,r,i,o,s)}save(){let e=Buffer.alloc(9);return e.writeUInt16LE(this.main,0),e.writeUInt16LE(this.major,2),e.writeUInt16LE(this.minor,4),e.writeUInt16LE(this.patch,6),e.writeUInt8(this.branch,8),e}format(){return`${this.main}.${this.major}.${this.minor}-${this.patch}`}isBeyond(e,t,r,i){return this.main<e?!1:this.main>e||t===void 0?!0:this.major<t?!1:this.major>t||r===void 0?!0:this.minor<r?!1:this.minor>r||i===void 0?!0:this.patch<i?!1:(this.patch>i,!0)}};import Zs from"assert";var Yd=["startup","runtime-global","runtime-per-user"],ji=class{version;_settings;constructor(e){this.version=Pn.load(e.read(9));let t=Ni(e);Zs(t.type===5);let r={startup:{},"runtime-global":{},"runtime-per-user":{}};for(let i of Yd){let o=t.value[i];Zs(o.type===5);let s=r[i];for(let a in o.value){let d=o.value[a];Zs(d.type===5);let l=d.value.value;switch(l.type){case 3:s[a]={type:"string",value:l.value};break;case 2:s[a]={type:"number",value:l.value};break;case 6:s[a]={type:"int",value:l.value};break;case 1:s[a]={type:"bool",value:l.value};break;case 5:let h=l.value;if("r"in h&&h.r.type===2&&"g"in h&&h.g.type===2&&"b"in h&&h.b.type===2&&"a"in h&&h.a.type===2)s[a]={type:"color",value:{r:h.r.value,g:h.g.value,b:h.b.value,a:h.a.value}};else throw new Error(`Dictionary value in ModSettings Tree does not match any known structure at ${i} ${a}`);break;default:throw new Error(`Unexpected type in ModSettings Tree: ${l.type}`)}}}this._settings=r}get settings(){return this._settings}save(){let e={type:5,value:{}};for(let t of Yd){let r=this._settings[t],i={type:5,value:{}};e.value[t]=i;for(let o in r){let s=r[o];switch(s.type){case"string":i.value[o]={type:5,value:{value:{type:3,value:s.value}}};break;case"bool":i.value[o]={type:5,value:{value:{type:1,value:s.value}}};break;case"int":i.value[o]={type:5,value:{value:{type:6,value:s.value}}};break;case"number":i.value[o]={type:5,value:{value:{type:2,value:s.value}}};break;case"color":i.value[o]={type:5,value:{value:{type:5,value:{r:{type:2,value:s.value.r},g:{type:2,value:s.value.g},b:{type:2,value:s.value.b},a:{type:2,value:s.value.a}}}}};break;default:break}}}return Buffer.concat([this.version.save(),Fi(e)])}set(e,t,r){r===void 0?delete this._settings[e][t]:this._settings[e][t]=r}get(e,t){return this._settings[e][t]}*list(){for(let e in this._settings)for(let t in this._settings[e]){let r=this._settings[e][t];yield{scope:e,setting:t,value:r.value}}}};var Js=Buffer.from([27,76,117,97,82,0,1,4,8,4,8,0,25,147,13,10,26,10]);function Bi(n,e){let t=n.readBigUInt64LE(e);e+=8;let r;return t>0?(r=n.subarray(e,e+Number(t)-1),e+=Number(t)):r=Buffer.alloc(0,0),[r,e]}var Qs=class{constructor(e,t){this.raw=e;this.line=t}get Op(){return this.raw&63}get A(){return this.raw>>6&255}get B(){return this.raw>>23&511}get C(){return this.raw>>14&511}get Ax(){return this.raw>>6&67108863}get Bx(){return this.raw>>14&262143}get sBx(){return this.Bx-131071}},Ys=class{name;instack;idx;constructor(e,t){this.instack=e.readUInt8(t)!==0,this.idx=e.readUInt8(t+1)}},ea=class{name;start;end;dumpsize;constructor(e,t){let r;[r,t]=Bi(e,t),this.name=r.toString("utf8"),this.start=e.readUInt32LE(t),t+=4,this.end=e.readUInt32LE(t),t+=4,this.dumpsize=(r.length===0?8:8+r.length+1)+8}},Wn=class{constructor(e,t){this.type=e;this.value=t;switch(e){case 0:if(t!==void 0)throw new Error(`Invalid Lua Constant: ${e} ${t}`);break;case 1:if(typeof t!="boolean")throw new Error(`Invalid Lua Constant: ${e} ${t}`);break;case 3:if(typeof t!="number")throw new Error(`Invalid Lua Constant: ${e} ${t}`);break;case 4:if(!(t instanceof Buffer))throw new Error(`Invalid Lua Constant: ${e} ${t}`);break;default:throw new Error(`Invalid Lua Constant Type: ${e}`)}}get label(){switch(this.type){case 0:return"nil";case 1:case 3:return this.value.toString();case 4:return`"${this.value.toString("utf8")}"`;default:throw new Error(`Invalid Lua Constant Type: ${this.type} ${this.value}`)}}},Ui=class n{source;nparam;is_vararg;maxstack;locals=[];upvals=[];instruction_count;_instraw;_instlines;constants=[];inner_functions=[];firstline;lastline;nextbyte;constructor(e,t){if(t===void 0){if(!e.subarray(0,Js.length).equals(Js))throw new Error("Invalid Header");t=Js.length}this.firstline=e.readUInt32LE(t),t+=4,this.lastline=e.readUInt32LE(t),t+=4,this.nparam=e[t++],this.is_vararg=e[t++]!==0,this.maxstack=e[t++],this.instruction_count=e.readUInt32LE(t),t+=4,this._instraw=e.subarray(t,t+this.instruction_count*4),t+=this.instruction_count*4;let r=e.readUInt32LE(t);t+=4;for(let l=0;l<r;l++){let h=e[t++];switch(h){case 0:this.constants.push(new Wn(0));break;case 1:this.constants.push(new Wn(1,e[t++]!==0));break;case 3:this.constants.push(new Wn(3,e.readDoubleLE(t))),t+=8;break;case 4:let v;[v,t]=Bi(e,t),this.constants.push(new Wn(4,v));break;default:throw new Error(`Invalid Lua Constant Type: ${h}`)}}let i=e.readUInt32LE(t);t+=4;for(let l=0;l<i;l++){let h=new n(e,t);t=h.nextbyte,this.inner_functions.push(h)}let o=e.readUInt32LE(t);t+=4;for(let l=0;l<o;l++)this.upvals.push(new Ys(e,t)),t+=2;{let l;[l,t]=Bi(e,t),this.source=l.toString("utf8")}let s=e.readUInt32LE(t);if(t+=4,s!==this.instruction_count)throw new Error("line info count mismatch");this._instlines=e.subarray(t,t+this.instruction_count*4),t+=this.instruction_count*4;let a=e.readUInt32LE(t);t+=4;for(let l=0;l<a;l++){let h=new ea(e,t);t+=h.dumpsize,this.locals.push(h)}let d=e.readUInt32LE(t);t+=4;for(let l=0;l<d;l++){let h;[h,t]=Bi(e,t),this.upvals[l].name=h.toString("utf8")}this.nextbyte=t}_baseAddr;get baseAddr(){return this._baseAddr}rebase(e){let t=e;return this._baseAddr=t,t+=this.instruction_count,this.inner_functions.forEach(r=>{t=r.rebase(t)}),t}_instructions=[];instruction(e){if(e>this.instruction_count-1)return;let t=this._instructions[e];return t===void 0&&(t=new Qs(this._instraw.readUint32LE(e*4),this._instlines.readUint32LE(e*4)),this._instructions[e]=t),t}get lines(){let e=[];for(let t=0;t<this.instruction_count;t++)e[t]=this._instlines.readUInt32LE(t*4);return e}walk_functions(e){e(this),this.inner_functions.forEach(t=>t.walk_functions(e))}getFunctionAtStartLine(e){if(this.firstline===e)return this;if(this.firstline<e&&(this.lastline===0||this.lastline>e)&&this.inner_functions)for(let t=0;t<this.inner_functions.length;t++){let r=this.inner_functions[t].getFunctionAtStartLine(e);if(r)return r}}getInstructionsAtBase(e,t){if(!(t===0||!this._baseAddr)&&this._baseAddr<=e&&this._baseAddr+this.instruction_count>e){let r=e-this._baseAddr,i=[];r+t>this.instruction_count&&(t=this.instruction_count-r);for(let o=0;o<t;o++){let s=this.instruction(o+r);i.push({address:"0x"+(this._baseAddr+r+o).toString(16),instruction:this.getInstructionLabel(o+r),line:s.line,instructionBytes:s.raw.toString(16).padStart(8,"0"),symbol:o+r===0?this.source+":"+this.firstline:void 0})}return i}}getInstructionLabel(e){let t=this.instruction(e);if(!t)throw new Error("Invalid PC");let r=this.instruction(e+1);switch(t.Op){case 1:return`LOADK ${this.getRegisterLabel(e,t.A)} := ${this.constants[t.Bx].label}`;case 2:if(!r)throw new Error("Invalid PC");return`LOADKX ${this.getRegisterLabel(e,t.A)} := ${this.constants[r.Ax].label}`;case 3:return`LOADBOOL ${this.getRegisterLabel(e,t.A)} := ${t.B!==0}${t.C!==0?" pc++":""}`;case 4:return`LOADNIL ${this.getRegisterLabel(e,t.A)}...${this.getRegisterLabel(e,t.A+t.B)})`;case 5:return`GETUPVAL ${this.getRegisterLabel(e,t.A)} := ${this.getUpvalLabel(t.B)}`;case 6:return`GETTABUP ${this.getRegisterLabel(e,t.A)} := ${this.getUpvalLabel(t.B)}[${this.getRegisterOrConstantLabel(e,t.C)}]`;case 7:return`GETTABLE ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.B)}[${this.getRegisterOrConstantLabel(e,t.C)}]`;case 8:return`SETTABUP ${this.getUpvalLabel(t.A)}[${this.getRegisterOrConstantLabel(e,t.B)}] := ${this.getRegisterOrConstantLabel(e,t.C)}`;case 9:return`SETUPVAL ${this.getUpvalLabel(t.B)} := ${this.getRegisterLabel(e,t.A)}`;case 10:return`SETTABLE ${this.getRegisterLabel(e,t.A)}[${this.getRegisterOrConstantLabel(e,t.B)}] := ${this.getRegisterOrConstantLabel(e,t.C)}`;case 11:{let a=t.B,d=this.fb2int(a),l=t.C,h=this.fb2int(l),v=a===d?`${d}`:`${a}->${d}`,w=l===h?`${h}`:`${l}->${h}`;return`NEWTABLE ${this.getRegisterLabel(e,t.A)} := {} size(${v},${w})`}case 12:return`SELF ${this.getRegisterLabel(e,t.A+1)} := ${this.getRegisterLabel(e,t.B)}; ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.B)}[${this.getRegisterOrConstantLabel(e,t.C)}]`;case 13:return`ADD ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} + ${this.getRegisterOrConstantLabel(e,t.C)}`;case 14:return`SUB ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} - ${this.getRegisterOrConstantLabel(e,t.C)}`;case 15:return`MUL ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} * ${this.getRegisterOrConstantLabel(e,t.C)}`;case 16:return`DIV ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} / ${this.getRegisterOrConstantLabel(e,t.C)}`;case 17:return`MOD ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} % ${this.getRegisterOrConstantLabel(e,t.C)}`;case 18:return`POW ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterOrConstantLabel(e,t.B)} ^ ${this.getRegisterOrConstantLabel(e,t.C)}`;case 0:return`MOVE ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.B)}`;case 19:return`UNM ${this.getRegisterLabel(e,t.A)} := -${this.getRegisterLabel(e,t.B)}`;case 20:return`NOT ${this.getRegisterLabel(e,t.A)} := not ${this.getRegisterLabel(e,t.B)}`;case 21:return`LEN ${this.getRegisterLabel(e,t.A)} := length of ${this.getRegisterLabel(e,t.B)}`;case 22:return`CONCAT ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.B)}.. ... ..${this.getRegisterLabel(e,t.C)}`;case 23:return`JMP pc+=${t.sBx}${t.A?`; close >= ${t.A-1}`:""}`;case 24:return`EQ if(${this.getRegisterOrConstantLabel(e,t.B)} ${t.A?"~=":"=="} ${this.getRegisterOrConstantLabel(e,t.B)}) then pc++`;case 25:return`LT if(${this.getRegisterOrConstantLabel(e,t.B)} ${t.A?">=":"<"} ${this.getRegisterOrConstantLabel(e,t.B)}) then pc++`;case 26:return`LE if(${this.getRegisterOrConstantLabel(e,t.B)} ${t.A?">":"<="} ${this.getRegisterOrConstantLabel(e,t.B)}) then pc++`;case 27:return`TEST if ${t.C?"not ":""}${this.getRegisterLabel(e,t.A)} then pc++`;case 28:return`TESTSET if ${t.C?"":"not "}${this.getRegisterLabel(e,t.A)} then ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.B)} else pc++`;case 29:return`CALL ${this.getRegisterLabel(e,t.A)}(${t.B?t.B-1:"var"} args ${t.C?t.C-1:"var"} returns)`;case 30:return`TAILCALL return ${this.getRegisterLabel(e,t.A)}(${t.B?t.B-1:"var"} args)`;case 31:return`RETURN return ${t.B?t.B-1:"var"} results ${t.B>1?`starting at ${this.getRegisterLabel(e,t.A)}`:""}`;case 32:return`FORLOOP ${this.getRegisterLabel(e,t.A)} += ${this.getRegisterLabel(e,t.A+2)}; if ${this.getRegisterLabel(e,t.A)} <= ${this.getRegisterLabel(e,t.A+1)} then { pc+=${t.sBx}; ${this.getRegisterLabel(e,t.A+3)} := ${this.getRegisterLabel(e,t.A)} }`;case 33:return`FORPREP ${this.getRegisterLabel(e,t.A)} -= ${this.getRegisterLabel(e,t.A+2)}; pc += ${t.sBx}`;case 34:return`TFORCALL ${this.getRegisterLabel(e,t.A+3)}...${this.getRegisterLabel(e,t.A+2+t.C)} := ${this.getRegisterLabel(e,t.A)}(${this.getRegisterLabel(e,t.A+1)},${this.getRegisterLabel(e,t.A+2)})`;case 35:return`TFORLOOP if ${this.getRegisterLabel(e,t.A+1)} ~= nil then { ${this.getRegisterLabel(e,t.A)} := ${this.getRegisterLabel(e,t.A+1)}; pc += ${t.sBx} }`;case 36:let i=t.C-1;if(!t.C){if(!r)throw new Error("Invalid PC");i=r.Ax-1}let o=50;return`SETLIST ${this.getRegisterLabel(e,t.A)}[${i*o+1}...${t.B?i*o+t.B:""}] := ${this.getRegisterLabel(e,t.A+1)}...${t.B?this.getRegisterLabel(e,t.A+t.B):"top"}`;case 37:let s=this.inner_functions[t.Bx];return`CLOSURE ${this.getRegisterLabel(e,t.A)} := closure(${s.source}:${s.firstline}-${s.lastline})`;case 38:return`VARARG ${this.getRegisterLabel(e,t.A)}...${t.B?this.getRegisterLabel(e,t.A+t.B-2):"top"}`;case 39:return"EXTRAARG";default:return`UNKNOWN OP(${t.Op}) A(${t.A}) B(${t.B}) C(${t.C})`}}fb2int(e){let t=e>>3&31;return t===0?e:(e&7)+8<<t-1}getRegisterOrConstantLabel(e,t){return t&256?this.constants[t&255].label:this.getRegisterLabel(e,t)}getUpvalLabel(e){return`Up(${this.upvals[e]?.name??e})`}getRegisterLabel(e,t){let r=0;for(let i=0;i<this.locals.length;i++){let o=this.locals[i];if(o.start<=e+1){if(o.end>=e+1){if(r===t)return`R(${o.name})`;r++}}else break}return`R(${t})`}};var Dr=class extends G.StoppedEvent{constructor(e,t,r){super(e,t,r),this.body.allThreadsStopped=!0}},ef=class extends G.LoggingDebugSession{constructor(t,r,i){super();this.activeVersion=t;this.fs=r;this.editorInterface=i;this.objectInfoChunks=wd(ki(this.activeVersion.docs.generate_debuginfo()),3500),this.setDebuggerLinesStartAt1(!0),this.setDebuggerColumnsStartAt1(!0),this.setDebuggerPathFormat("uri"),this.configDone=new Promise(o=>{this._configurationDone=o})}_configurationDone;configDone;nextBreakpointID=1;breakPoints=new Map;breakPointsChanged=new Set;exceptionFilters=new Set(["unhandled"]);_modules=new Map;_responses=new Map;_dumps=new Map;translations=new Map;buffers=new Map;nextRef=1;factorio;stdinQueue=[];launchArgs;inPrompt=0;pauseRequested=!1;workspaceModInfo=[];initializeRequest(t,r){t.body=t.body||{},t.body.supportsConditionalBreakpoints=!0,t.body.supportsHitConditionalBreakpoints=!0,t.body.supportsEvaluateForHovers=!0,t.body.exceptionBreakpointFilters=[{filter:"pcall",label:"Caught by pcall",default:!1},{filter:"xpcall",label:"Caught by xpcall",default:!1},{filter:"unhandled",label:"Unhandled Exceptions",default:!0}],t.body.supportsSetVariable=!0,t.body.supportsModulesRequest=!0,t.body.supportsLogPoints=!0,t.body.supportsConfigurationDoneRequest=!0,t.body.supportsLoadedSourcesRequest=!0,t.body.supportsBreakpointLocationsRequest=!0,t.body.supportsDisassembleRequest=!0,t.body.supportsSteppingGranularity=!0,t.body.supportsInstructionBreakpoints=!1,this.sendResponse(t)}configurationDoneRequest(t,r){super.configurationDoneRequest(t,r),this._configurationDone?.()}terminateRequest(t,r){this.sendResponse(t),this.terminate()}disconnectRequest(t,r){this.sendResponse(t),this.terminate()}checkFactorioArgs(t){let r=t.factorioArgs;if(r){if(r.includes("--config"))return this.sendEvent(new G.OutputEvent(`Factorio --config option is set by configPath and should not be included in factorioArgs
60
60
  `,"console")),!1;if(r.includes("--mod-directory"))return this.sendEvent(new G.OutputEvent(`Factorio --mod-directory option is set by modsPath and should not be included in factorioArgs
61
- `,"console")),!1}return!0}async resolveModsPath(t){let r;if(t.modsPath){r="launch";let i=Wt.posix.normalize(t.modsPath);i.match(/^~[\\\/]/)&&(i=Wt.posix.join(Rn.homedir().replace(/\\/g,"/"),i.replace(/^~[\\\/]/,""))),i.match(/[\\\/]$/)&&(i=i.replace(/[\\\/]+$/,""));try{await rf.access(i),t.modsPath=i}catch{return this.sendEvent(new G.OutputEvent(`modsPath specified in launch configuration does not exist
61
+ `,"console")),!1}return!0}async resolveModsPath(t){let r;if(t.modsPath){r="launch";let i=Wt.posix.normalize(t.modsPath);i.match(/^~[\\\/]/)&&(i=Wt.posix.join(Rn.homedir().replace(/\\/g,"/"),i.replace(/^~[\\\/]/,""))),i.match(/[\\\/]$/)&&(i=i.replace(/[\\\/]+$/,""));try{await tf.access(i),t.modsPath=i}catch{return this.sendEvent(new G.OutputEvent(`modsPath specified in launch configuration does not exist
62
62
  `,"console")),!1}}else{let i=await this.editorInterface.findWorkspaceFiles("**/mod-list.json");if(i.length===1)t.modsPath=Wt.dirname(i[0].fsPath),r="workspace";else{if(i.length>1)return this.sendEvent(new G.OutputEvent(`multiple mod-list.json in workspace, please specify one as modsPath
63
63
  `,"console")),!1;r="config",t.modsPath=await this.activeVersion.defaultModsPath()}}if(Rn.platform()==="win32"&&t.modsPath.startsWith("/")&&(t.modsPath=t.modsPath.slice(1)),t.modsPath=t.modsPath.replace(/\\/g,"/"),this.sendEvent(new G.OutputEvent(`using modsPath ${t.modsPath} (${r})
64
64
  `,"console")),r!=="config"){let i=t.modsPath;i.endsWith("/")||(i+="/"),t.factorioArgs.push("--mod-directory",i)}return!0}async setupMods(t){if(t.manageMod===!1)this.sendEvent(new G.OutputEvent(`automatic management of mods disabled
@@ -66,8 +66,8 @@ globstar while`,e,w,t,_,L),this.matchOne(e.slice(w),t.slice(_),r))return this.de
66
66
  `,"console"))}await r.write(),this.sendEvent(new G.OutputEvent(`debugadapter ${t.noDebug?"disabled":"enabled"} in mod-list.json
67
67
  `,"console"))}}async launchRequest(t,r){if(G.logger.setup(r.trace?G.Logger.LogLevel.Verbose:G.Logger.LogLevel.Stop,Wt.join(Rn.tmpdir(),"fmtk.log"),!0),this.launchArgs=r,r.hookSettings=r.hookSettings??!1,r.hookData=r.hookData??!1,r.hookControl=r.hookControl??!0,r.hookMode=r.hookMode??"debug",r.trace=r.trace??!1,r.factorioArgs=r.factorioArgs||[],r.env&&Object.keys(r.env).length>0&&this.sendEvent(new G.OutputEvent(`using custom environment variables: ${JSON.stringify(r.env)}
68
68
  `,"console")),!this.checkFactorioArgs(r)){this.sendEvent(new G.TerminatedEvent),this.sendErrorResponse(t,1),this._isRunningInline()||process.exit(1);return}if(!await this.resolveModsPath(r)){this.sendEvent(new G.TerminatedEvent),this.sendErrorResponse(t,1),this._isRunningInline()||process.exit(1);return}try{await this.setupMods(r)}catch(v){this.sendEvent(new G.OutputEvent(`Error setting up mods: ${v}
69
- `,"console")),this.sendEvent(new G.TerminatedEvent),this.sendErrorResponse(t,1),this._isRunningInline()||process.exit(1);return}let i=await this.editorInterface.findWorkspaceFiles("**/info.json");if(await Promise.all(i.map(v=>this.updateInfoJson(v))),r.noDebug||((r.useInstrumentMode??!0)&&r.factorioArgs.push("--instrument-mod","debugadapter"),r.factorioArgs.push("--enable-unsafe-lua-debug-api"),(r.checkPrototypes??!0)&&!r.factorioArgs.includes("--check-unused-prototype-data")&&r.factorioArgs.push("--check-unused-prototype-data")),this.activeVersion.configPathIsOverriden()&&r.factorioArgs.push("--config",await this.activeVersion.configPath()),r.adjustModSettings){let v=Lt.joinPath(tt.file(r.modsPath),"mod-settings.dat"),w=new ji(new Nn(await this.fs.readFile(v)));for(let _ of r.adjustModSettings)if(_.value===void 0)w.set(_.scope,_.name);else switch(typeof _.value){case"string":w.set(_.scope,_.name,{type:"string",value:_.value});break;case"number":w.set(_.scope,_.name,{type:"number",value:_.value});break;case"boolean":w.set(_.scope,_.name,{type:"bool",value:_.value});break}await this.fs.writeFile(v,w.save())}this.factorio=new Ti(this.activeVersion.factorioPath,r.factorioArgs,this.activeVersion.nativeDebugger,r.env),this.factorio.on("exit",(v,w)=>{v&&this.sendEvent(new G.Event("exited",{exitCode:v})),this.sendEvent(new G.TerminatedEvent)});let o,s=new Promise(v=>{o=v});this.factorio.on("stderr",v=>{let w=v.toString();w&&this.sendEvent(new G.OutputEvent(w+`
70
- `,"stderr"))});let a=(v,w)=>{switch(typeof w){case"string":switch(w.charCodeAt(0)){case 64976:return Wt.basename(w.slice(1));case 64977:return this.convertDebuggerPathToClient(w.slice(1));case 64978:return this.convertDebuggerLineToClient(Number.parseInt(w.slice(1)));case 64980:{let _=Number.parseInt(w.slice(1));return this.translations.get(_)??`{Missing Translation ID ${_}}`}case 64981:{let _=Number.parseInt(w.slice(1));return this.buffers.get(_)??`{Missing Buffer ID ${_}}`}}}return w},d=v=>{let w=v.indexOf(1,3),_=Number.parseInt(v.subarray(3,w).toString().trim()),L=v.subarray(w+1),k=[],X=L.indexOf(239);for(;X>=0;){if(L[X+1]>=160&&L[X+1]<=163&&L[X+2]>=128&&L[X+2]<=191){let B=L.subarray(X,X+4).toString("utf8").charCodeAt(0)-63488;k.push(L.subarray(0,X),Buffer.from([B])),L=L.subarray(X+3)}else k.push(L.subarray(0,X+1)),L=L.subarray(X+1);X=L.indexOf(239)}k.push(L);let fe=Buffer.concat(k);this.buffers.set(_,fe)},l=async v=>{if(v[2]===151){d(v);return}let w=v.toString();switch(w.charCodeAt(0)){case 64976:switch(this.inPrompt++,w.charCodeAt(1)){case 57344:await s,this.clearQueuedStdin(),this.launchArgs.hookMode==="profile"?this.continueRequire(!1,"#settings"):this.continueRequire(this.launchArgs.hookSettings??!1,"#settings");return;case 57345:this.clearQueuedStdin(),this.launchArgs.hookMode==="profile"?this.continueRequire(!1,"#data"):this.continueRequire(this.launchArgs.hookData??!1,"#data");return;case 57346:{let _=w.slice(2).trim();this.clearQueuedStdin();let L=this.launchArgs.hookControl??!0,k=_==="debugadapter"?Array.isArray(L)&&L.includes(_):L!==!1&&(L===!0||L.includes(_));this.launchArgs.hookMode==="profile"?this.continueProfile(k):this.launchArgs.hookMode==="profile2"?this.continueProfile(k,2):this.continueRequire(k,_);return}case 57347:{let _=this.launchArgs.hookControl??!0,L=Array.isArray(_)&&_.includes("debugadapter")||_===!1;this.launchArgs.hookMode==="profile"?this.continueProfile(!L):this.launchArgs.hookMode==="profile2"?this.continueProfile(!L,2):this.continueRequire(!1,"debugadapter");return}case 57348:this.sendClassData(),this.writeStdin("cont"),this.inPrompt--;return;case 57349:this.allocateRefBlock(),this.continue();return;case 57351:await this.configDone;case 57352:this.clearQueuedStdin(),this.allocateRefBlock(),this.continue(!0);return;case 57350:case 57353:case 57354:await this.runQueuedStdin(),this.continue(!0);return;case 57356:await this.terminate();return;case 57360:await this.terminate(!0);return;default:return}case 64977:{this.inPrompt++;let _=JSON.parse(w.slice(1),a);switch(_.event){case"source":let L=_.body.source;this.breakPoints.has(L.sourceReference??L.name)&&this.loadedSourceEvent(_.body),this.continue();return;case"running":await this.runQueuedStdin(),this.pauseRequested?(this.pauseRequested=!1,this.breakPointsChanged.size!==0&&this.updateBreakpoints(),this.sendEvent(new Dr("pause",_.body.threadId))):this.continue();return;case"exception":await this.runQueuedStdin(),_.body.filter==="manual"||this.exceptionFilters.has(_.body.filter)?this.sendEvent(new Dr("exception",_.body.threadId,_.body.mesg)):this.continue();return;case"stopped":await this.runQueuedStdin(),this.breakPointsChanged.size!==0&&this.updateBreakpoints(),this.sendEvent(new Dr(_.body.reason,_.body.threadId));return;default:return}}case 64980:{let _=w.indexOf(""),L=Number.parseInt(w.slice(1,_).trim()),k=w.slice(_+1);this.translations.set(L,k);return}case 64981:{let _=JSON.parse(w.slice(1),a);switch(_.event){case"modules":await this.updateModules(_.body),o(),this.sendEvent(new G.InitializedEvent);return;case"output":{let L=_;L.body.output.endsWith(`
69
+ `,"console")),this.sendEvent(new G.TerminatedEvent),this.sendErrorResponse(t,1),this._isRunningInline()||process.exit(1);return}let i=await this.editorInterface.findWorkspaceFiles("**/info.json");if(await Promise.all(i.map(v=>this.updateInfoJson(v))),r.noDebug||((r.useInstrumentMode??!0)&&r.factorioArgs.push("--instrument-mod","debugadapter"),r.factorioArgs.push("--enable-unsafe-lua-debug-api"),(r.checkPrototypes??!0)&&!r.factorioArgs.includes("--check-unused-prototype-data")&&r.factorioArgs.push("--check-unused-prototype-data")),this.activeVersion.configPathIsOverriden()&&r.factorioArgs.push("--config",await this.activeVersion.configPath()),r.adjustModSettings){let v=Lt.joinPath(tt.file(r.modsPath),"mod-settings.dat"),w=new ji(new Nn(await this.fs.readFile(v)));for(let _ of r.adjustModSettings)if(_.value===void 0)w.set(_.scope,_.name);else switch(typeof _.value){case"string":w.set(_.scope,_.name,{type:"string",value:_.value});break;case"number":w.set(_.scope,_.name,{type:"number",value:_.value});break;case"boolean":w.set(_.scope,_.name,{type:"bool",value:_.value});break}await this.fs.writeFile(v,w.save())}this.factorio=new Ti(this.activeVersion.factorioPath,r.factorioArgs,r.env),this.factorio.on("exit",(v,w)=>{v&&this.sendEvent(new G.Event("exited",{exitCode:v})),this.sendEvent(new G.TerminatedEvent)});let o,s=new Promise(v=>{o=v});this.factorio.on("stderr",v=>{let w=v.toString();w&&this.sendEvent(new G.OutputEvent(w+`
70
+ `,"stderr"))});let a=(v,w)=>{switch(typeof w){case"string":switch(w.charCodeAt(0)){case 64976:return Wt.basename(w.slice(1));case 64977:return this.convertDebuggerPathToClient(w.slice(1));case 64978:return this.convertDebuggerLineToClient(Number.parseInt(w.slice(1)));case 64980:{let _=Number.parseInt(w.slice(1));return this.translations.get(_)??`{Missing Translation ID ${_}}`}case 64981:{let _=Number.parseInt(w.slice(1));return this.buffers.get(_)??`{Missing Buffer ID ${_}}`}}}return w},d=v=>{let w=v.indexOf(1,3),_=Number.parseInt(v.subarray(3,w).toString().trim()),L=v.subarray(w+1),k=[],X=L.indexOf(239);for(;X>=0;){if(L[X+1]>=160&&L[X+1]<=163&&L[X+2]>=128&&L[X+2]<=191){let B=L.subarray(X,X+4).toString("utf8").charCodeAt(0)-63488;k.push(L.subarray(0,X),Buffer.from([B])),L=L.subarray(X+3)}else k.push(L.subarray(0,X+1)),L=L.subarray(X+1);X=L.indexOf(239)}k.push(L);let fe=Buffer.concat(k);this.buffers.set(_,fe)},l=async v=>{if(v[2]===151){d(v);return}let w=v.toString();switch(w.charCodeAt(0)){case 64976:switch(this.inPrompt++,w.charCodeAt(1)){case 57344:await s,this.clearQueuedStdin(),this.launchArgs.hookMode==="profile"?this.continueRequire(!1,"#settings"):this.continueRequire(this.launchArgs.hookSettings??!1,"#settings");return;case 57345:this.clearQueuedStdin(),this.launchArgs.hookMode==="profile"?this.continueRequire(!1,"#data"):this.continueRequire(this.launchArgs.hookData??!1,"#data");return;case 57346:{let _=w.slice(2).trim();this.clearQueuedStdin();let L=this.launchArgs.hookControl??!0,k=_==="debugadapter"?Array.isArray(L)&&L.includes(_):L!==!1&&(L===!0||L.includes(_));this.launchArgs.hookMode==="profile"?this.continueProfile(k):this.launchArgs.hookMode==="profile2"?this.continueProfile(k,2):this.continueRequire(k,_);return}case 57347:{let _=this.launchArgs.hookControl??!0,L=Array.isArray(_)&&_.includes("debugadapter")||_===!1;this.launchArgs.hookMode==="profile"?this.continueProfile(!L):this.launchArgs.hookMode==="profile2"?this.continueProfile(!L,2):this.continueRequire(!1,"debugadapter");return}case 57348:this.sendClassData(),this.writeStdin("cont"),this.inPrompt--;return;case 57349:this.allocateRefBlock(),this.continue();return;case 57351:await this.configDone;case 57352:this.clearQueuedStdin(),this.allocateRefBlock(),this.continue(!0);return;case 57350:case 57353:case 57354:await this.runQueuedStdin(),this.continue(!0);return;case 57356:await this.terminate();return;case 57360:await this.terminate(!0);return;default:return}case 64977:{this.inPrompt++;let _=JSON.parse(w.slice(1),a);switch(_.event){case"source":this.loadedSourceEvent(_.body),this.continue();return;case"running":await this.runQueuedStdin(),this.pauseRequested?(this.pauseRequested=!1,this.breakPointsChanged.size!==0&&this.updateBreakpoints(),this.sendEvent(new Dr("pause",_.body.threadId))):this.continue();return;case"exception":await this.runQueuedStdin(),_.body.filter==="manual"||this.exceptionFilters.has(_.body.filter)?this.sendEvent(new Dr("exception",_.body.threadId,_.body.mesg)):this.continue();return;case"stopped":await this.runQueuedStdin(),this.breakPointsChanged.size!==0&&this.updateBreakpoints(),this.sendEvent(new Dr(_.body.reason,_.body.threadId));return;default:return}}case 64980:{let _=w.indexOf(""),L=Number.parseInt(w.slice(1,_).trim()),k=w.slice(_+1);this.translations.set(L,k);return}case 64981:{let _=JSON.parse(w.slice(1),a);switch(_.event){case"modules":await this.updateModules(_.body),o(),this.sendEvent(new G.InitializedEvent);return;case"output":{let L=_;L.body.output.endsWith(`
71
71
  `)||(L.body.output+=`
72
72
  `),this.sendEvent(L);return}default:return}}case 64982:{let _=JSON.parse(w.slice(1),a);this._responses.get(_.seq)(_.body),this._responses.delete(_.seq);return}case 64984:{this.sendEvent(new G.InvalidatedEvent);return}}},h=v=>{switch(v.toString("utf8").charCodeAt(0)){case 64992:case 64993:case 64994:case 64995:return}};this.factorio.on("stdout",v=>{if(v[0]===239&&v[1]===183)switch(v[2]){case 144:case 145:case 148:case 149:case 150:case 151:case 152:l(v);return;case 160:case 161:case 162:case 163:h(v);return;case 173:this.sendEvent(new G.Event("x-Factorio-Profile",v.toString().slice(1)));return}v.toString()&&this.sendEvent(new G.OutputEvent(v.toString()+`
73
73
  `,"stdout"))}),this.sendResponse(t)}allocateRefBlock(){let t=this.nextRef;this.nextRef+=4096,this.writeStdin(`__DebugAdapter.__dap.transferRef(${t})`)}convertClientPathToDebugger(t){if(t=tt.parse(super.convertClientPathToDebugger(t)).toString(),t.startsWith("output:"))return t;let r;return this._modules.forEach(i=>{i.symbolFilePath&&t.startsWith(i.symbolFilePath)&&i.symbolFilePath.length>(r?.symbolFilePath||"").length&&(r=i)}),r?.name==="#user"&&t.startsWith(r.symbolFilePath+"/mods")&&(r=void 0),r?t.replace(r.symbolFilePath,"@__"+r.name+"__"):t}convertDebuggerPathToClient(t){let r=t.match(/^@__(.*?)__\/(.*)$/);if(r){let i=this._modules.get(r[1]);if(i?.symbolFilePath)return super.convertDebuggerPathToClient(Lt.joinPath(tt.parse(i.symbolFilePath),r[2]).toString())}return t}customRequest(t,r,i,o){switch(t){case"x-Factorio-ConvertPath":r.body=this.convertDebuggerPathToClient(i.path);break;case"modules":return this.modulesRequest(r,i);default:r.success=!1,r.message="Unknown request";break}this.sendResponse(r)}setBreakPointsRequest(t,r){let i;if(r.source.path){let d=r.source.path;i=this.convertClientPathToDebugger(d)}else i=`&ref ${r.source.sourceReference}`;let o=this.lines_by_source.get(r.source.sourceReference??i),s=this.breakPoints.get(i)??[],a=(r.breakpoints??[]).map(d=>{d.line=this.convertClientLineToDebugger(d.line);let l=s.find(v=>d.line===v.line&&d.column===v.column);if(l)return l.condition=d.condition,l.hitCondition=d.hitCondition,l.logMessage=d.logMessage,l;let h=!1;if(o){let v=0;for(let w of o){if(w>=d.line){d.line=w,h=!0;break}w>v&&(v=w)}!h&&v>0&&(d.line=v,h=!0)}return Object.assign(d,{id:this.nextBreakpointID++,verified:h})});this.breakPoints.set(i,a),this.breakPointsChanged.add(i),t.body={breakpoints:a},this.sendResponse(t)}revalidateBreakpoints(t){let r=typeof t=="number"?`&ref ${t}`:t,i=this.breakPoints.get(r);if(!i)return;this.breakPointsChanged.add(r);let o=this.lines_by_source.get(t);for(let s of i){let a=0;for(let d of o){if(d>=s.line){s.line=d,s.verified=!0,this.sendEvent(new G.BreakpointEvent("changed",s));break}d>a&&(a=d)}!s.verified&&a>0&&(s.line=a,s.verified=!0,this.sendEvent(new G.BreakpointEvent("changed",s)))}}async threadsRequest(t){this.inPrompt>0?(t.body=await new Promise(r=>{this._responses.set(t.request_seq,r),this.writeStdin(`__DebugAdapter.__dap.threads(${t.request_seq})
@@ -94,12 +94,12 @@ globstar while`,e,w,t,_,L),this.matchOne(e.slice(w),t.slice(_),r))return this.de
94
94
  `,"console"));continue}catch(l){this.sendEvent(new G.OutputEvent(`failed loading ${i.name} ${i.version} from mod zip ${a.toString()}: ${l}
95
95
  `,"console"))}}}i.symbolStatus="Unknown",this.sendEvent(new G.OutputEvent(`no source found for ${i.name} ${i.version}
96
96
  `,"console"))}catch(o){i.symbolStatus="Error",this.sendEvent(new G.OutputEvent(`failed locating source for ${i.name} ${i.version}: ${o}
97
- `,"console"))}this._modules.forEach(i=>{this.sendEvent(new G.ModuleEvent("new",i))})}updateBreakpoints(t=!1){let r=Array();this.breakPoints.forEach((i,o)=>{(t||this.breakPointsChanged.has(o))&&r.push(Buffer.concat([Buffer.from("__DebugAdapter.__dap.updateBreakpoints("),vn(Rd(o,i)),Buffer.from(`)
97
+ `,"console"))}this._modules.forEach(i=>{this.sendEvent(new G.ModuleEvent("new",i))})}updateBreakpoints(t=!1){let r=Array();this.breakPoints.forEach((i,o)=>{(t||this.breakPointsChanged.has(o))&&r.push(Buffer.concat([Buffer.from("__DebugAdapter.__dap.updateBreakpoints("),vn(Pd(o,i)),Buffer.from(`)
98
98
  `)]))}),this.breakPointsChanged.clear(),this.writeStdin(Buffer.concat(r))}async terminate(t){this.factorio?.kill?.();let r=this.launchArgs?.modsPath;if(r)if(this.launchArgs.manageMod===!1)this.sendEvent(new G.OutputEvent(`automatic management of mods disabled by launch config
99
99
  `,"console"));else try{let i=new Lr(r);await i.Loaded,i.set("debugadapter",!1),await i.write(),this.sendEvent(new G.OutputEvent(`debugadapter disabled in mod-list.json
100
100
  `,"console"))}catch(i){this.sendEvent(new G.OutputEvent(`failed to disable debugadapter in mod-list.json:
101
101
  ${i}
102
- `,"console"))}this.sendEvent(new G.TerminatedEvent(t)),!this._isRunningInline()&&process.env.NODE_V8_COVERAGE&&process.exit()}};var tn={adjust:{table:{BlueprintEntity:{exact:!1}},class:{LuaLazyLoadedValue:{generic_params:["T"],generic_parent:"{get:fun():T}"},LuaCustomTable:{generic_params:["K","V"],generic_parent:"{[K]:V}",no_index:!0},LuaGuiElement:{index_key:{complex_type:"union",options:["string","uint"]},split_funcs:!0}}}};function Qy(n){return["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"].includes(n)?`${n}_`:n}function zn(n){return Qy(n.replace(/[^a-zA-Z0-9]/g,"_").replace(/^([0-9])/,"_$1"))}function na(n){return!!n.match(/^[a-zA-Z_][a-zA-Z_0-9]*$/)}async function on(n,e){if(!e)return;let t=await e;t&&n.write(`---${t.replace(/\n/g,`
102
+ `,"console"))}this.sendEvent(new G.TerminatedEvent(t)),!this._isRunningInline()&&process.env.NODE_V8_COVERAGE&&process.exit()}};var tn={adjust:{table:{BlueprintEntity:{exact:!1}},class:{LuaLazyLoadedValue:{generic_params:["T"],generic_parent:"{get:fun():T}"},LuaCustomTable:{generic_params:["K","V"],generic_parent:"{[K]:V}",no_index:!0},LuaGuiElement:{index_key:{complex_type:"union",options:["string","uint"]},split_funcs:!0}}}};function Jy(n){return["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"].includes(n)?`${n}_`:n}function zn(n){return Jy(n.replace(/[^a-zA-Z0-9]/g,"_").replace(/^([0-9])/,"_$1"))}function na(n){return!!n.match(/^[a-zA-Z_][a-zA-Z_0-9]*$/)}async function on(n,e){if(!e)return;let t=await e;t&&n.write(`---${t.replace(/\n/g,`
103
103
  ---`)}
104
104
  `)}var zt=class{constructor(e,t,r="_"){this.name=e;this.app_version=t;this.meta=r}members;add(e){this.members||(this.members=[]),this.members.push(e)}async write(e){if(typeof this.meta=="string"&&e.write(`---@meta ${this.meta}
105
105
  `),e.write(`
@@ -115,7 +115,7 @@ ${i}
115
115
  `);for(let t of this.fields)await t.write(e);e.write(`}
116
116
  `)}},Hi=class{constructor(e,t,r,i){this.name=e;this.typename=t;this.description=r;this.value=i}async write(e){await on(e,this.description);let t=na(this.name)?this.name:`['${this.name}']`;e.write(`${t}=`),this.value?e.write(`${this.value.format()},
117
117
  `):e.write(`#{} --[[@as ${this.typename.format()} ]],
118
- `)}},wt=class{constructor(e){this.name=e}description;parents;generic_args;global_name;exact;operators;call_op;fields;functions;add(e){e instanceof Tr?(this.operators||(this.operators=[]),this.operators.push(e)):e instanceof Ht?(this.call_op||(this.call_op=[]),this.call_op.push(e)):e instanceof ze?(this.fields||(this.fields=[]),this.fields.push(e)):e instanceof Qe&&(this.functions||(this.functions=[]),this.functions.push(e))}async write(e){if(e.write(`do
118
+ `)}},wt=class{constructor(e){this.name=e}description;parents;generic_args;global_name;exact;operators;call_op;fields;functions;add(e){e instanceof Tr?(this.operators||(this.operators=[]),this.operators.push(e)):e instanceof Ht?(this.call_op||(this.call_op=[]),this.call_op.push(e)):e instanceof ze?(this.fields||(this.fields=[]),this.fields.push(e)):e instanceof Je&&(this.functions||(this.functions=[]),this.functions.push(e))}async write(e){if(e.write(`do
119
119
  `),await on(e,this.description),e.write("---@class "),this.exact&&e.write("(exact) "),e.write(`${this.name}`),this.generic_args&&this.generic_args.length>0&&e.write(`<${this.generic_args.join(",")}>`),this.parents&&this.parents.length>0&&e.write(`:${this.parents.map(t=>t.format()).join(", ")}`),e.write(`
120
120
  `),this.fields)for(let t of this.fields)await t.write(e);if(this.call_op)for(let t of this.call_op)await t.write(e);if(this.operators)for(let t of this.operators)await t.write(e);if(e.write(`${this.global_name??"local "+zn(this.name)}={
121
121
  `),this.functions)for(let t of this.functions)await t.write(e);e.write(`}
@@ -124,11 +124,11 @@ end
124
124
  `)}format(){if(this.description||this.parents||this.generic_args||this.global_name||this.functions||this.call_op)throw new Error("Can't inline table with unsupported features");return this.fields?`{${this.fields.map((e,t)=>typeof e.name=="string"?`${e.name}:${e.type.format()}`:`[${e.name.format()}]:${e.type.format()}`).join(", ")}}`:"{}"}},Tr=class{constructor(e,t,r){this.name=e;this.type=t;this.input_type=r}description;async write(e){await on(e,this.description),e.write(`---@operator ${this.name}`),this.input_type&&e.write(`(${this.input_type.format()})`),e.write(`:${this.type.format()}
125
125
  `)}},ze=class{constructor(e,t,r,i){this.name=e;this.type=t;this.description=r;this.optional=i}async write(e){await on(e,this.description),e.write("---@field "),typeof this.name=="string"?e.write(this.name):e.write(`[${this.name.format()}]`),this.optional&&e.write("?"),e.write(` ${this.type.format()}
126
126
  `)}},Ht=class{constructor(e,t,r){this.description=e;this.params=t;this.returns=r}async write(e){await on(e,this.description);let t="";this.params&&(t=this.params.map(i=>`${i.name}${i.optional?"?":""}:${i.type.format()}`).join(", "));let r="";this.returns&&(r=`:${this.returns.map(i=>i.type.format()).join(", ")}`),e.write(`---@overload fun(${t})${r}
127
- `)}},Qe=class{constructor(e,t,r,i){this.name=e;this.params=t;this.returns=r;this.description=i}overloads;nodiscard;add(e){this.overloads||(this.overloads=[]),this.overloads.push(e)}async write(e){if(await on(e,this.description),this.params)for(let t of this.params)await t.write(e);if(this.returns)for(let t of this.returns)await t.write(e);if(this.nodiscard&&e.write(`---@nodiscard
127
+ `)}},Je=class{constructor(e,t,r,i){this.name=e;this.params=t;this.returns=r;this.description=i}overloads;nodiscard;add(e){this.overloads||(this.overloads=[]),this.overloads.push(e)}async write(e){if(await on(e,this.description),this.params)for(let t of this.params)await t.write(e);if(this.returns)for(let t of this.returns)await t.write(e);if(this.nodiscard&&e.write(`---@nodiscard
128
128
  `),this.overloads)for(let t of this.overloads)await t.write(e);e.write(`${this.name} = function(`),this.params&&e.write(this.params.map(t=>t.name).join(", ")),e.write(`) end;
129
129
  `)}format(){if((!this.params||this.params.length===0)&&!this.returns)return"function";let e="";this.params&&(e=this.params.map(r=>`${r.name}${r.optional?"?":""}:${r.type.format()}`).join(", "));let t="";return this.returns&&(t=`:${this.returns.map(r=>r.type.format()).join(", ")}`),`fun(${e})${t}`}},xe=class{constructor(e,t,r,i){this.name=e;this.type=t;this.description=r;this.optional=i}async write(e){e.write(`---@param ${this.name}${this.optional?"?":""} ${this.type.format()} ${await this.description??""}
130
130
  `)}},Ki=class{constructor(e,t,r,i){this.type=e;this.name=t;this.description=r;this.optional=i}async write(e){e.write(`---@return ${this.type.format()}${this.optional?"?":""} ${this.name??""}`);let t=await this.description;t&&e.write(` #${t}`),e.write(`
131
- `)}};function ra(n,e){return n.order-e.order}var of=class{docs;classes;events;concepts;globals;defines;constructor(e){if(this.docs=JSON.parse(e),this.docs.application!=="factorio")throw new Error(`Unknown application: ${this.docs.application}`);if(this.docs.api_version!==6)throw new Error(`Unsupported Runtime Docs JSON Version ${this.docs.api_version}`);if(this.docs.stage!=="runtime")throw new Error(`Wrong stage: ${this.docs.stage}`);this.classes=new Map(this.docs.classes.map(r=>[r.name,r])),this.events=new Map(this.docs.events.map(r=>[r.name,r])),this.concepts=new Map(this.docs.concepts.map(r=>[r.name,r])),this.globals=new Map(this.docs.global_objects.map(r=>[r.type,r]));let t=(r,i)=>{let o=`${i}${r.name}`;this.defines.add(o);let s=`${o}.`;r.values&&r.values.forEach(a=>{this.defines.add(`${s}${a.name}`)}),r.subkeys&&r.subkeys.forEach(a=>t(a,s))};this.defines=new Set,this.defines.add("defines"),this.docs.defines.forEach(r=>t(r,"defines."))}isVersion(e){return this.api_version===e}get api_version(){return this.docs.api_version}get stage(){return this.docs.stage}get application(){return this.docs.application}get application_version(){return this.docs.application_version}resolve_link(e,t){if(t=t?`#${t}`:"",["classes","events","concepts","defines"].includes(e))return`/${e}.html${t}`;if(["libraries","storage","migrations","data-lifecycle","prototype-tree","noise-expressions","instrument","item-weight"].includes(e))return`/auxiliary/${e}.html${t}`;if(this.concepts.has(e))return`/concepts/${e}.html${t}`;if(this.classes.has(e))return`/classes/${e}.html${t}`;if(this.events.has(e))return`/events.html#${e}`;if(this.defines.has(e))return`/defines.html#${e}`;let r=e.match(/defines\.prototypes\[\'(.+)\'\]/);if(r&&this.defines.has(`defines.prototypes.${r[1]}`))return`/defines.html#defines.prototypes.${r[1]}`;console.warn(`Invalid Link: runtime:${e}${t}`)}with_base_classes(e,t){let r=[];return r.push(...t(e)),e.parent&&r.push(...t(this.classes.get(e.parent))),r}generate_debuginfo(){let e={alwaysValid:{},expandKeys:{}};return this.classes.forEach(t=>{if(["LuaCustomTable"].includes(t.name))return;let r={},i=!1;e.expandKeys[t.name]=r;for(let o of this.with_base_classes(t,s=>s.attributes))if(o.name==="valid")i=!0;else if(o.name!=="object_name"){if(o.read_type){r[o.name]={},o.write_type||(r[o.name].readOnly=!0);let s=o.read_type;typeof s=="string"&&s.startsWith("defines.")&&(r[o.name].enumFrom=s)}}i||(e.alwaysValid[t.name]=!0);for(let o of t.operators)switch(o.name){case"index":r["[]"]={readOnly:!o.write_type,thisAsTable:!0,iterMode:"count"};break;case"length":default:break}for(let o of this.with_base_classes(t,s=>s.methods))["help","generate_event_name"].includes(o.name)||o.parameters.length>0||o.return_values.length!==0&&(o.raises||(r[o.name]={readOnly:!0,fetchable:!0}))}),e}async generate_LuaLS_docs(e){return Promise.all([...await this.generate_LuaLS_classes(e),this.generate_LuaLS_concepts(e),this.generate_LuaLS_defines(e),this.generate_LuaLS_events(e),this.generate_LuaLS_LuaObjectNames(),this.generate_LuaLS_global_functions(e)])}async generate_LuaLS_classes(e){let t=[];for(let r of this.docs.classes)t.push(await this.generate_LuaLS_class(r,e));return t}async generate_LuaLS_class(e,t){let r=new zt(`runtime-api/${e.name}`,this.docs.application_version),i=new wt(e.name),o=this.globals.get(e.name);o&&(i.global_name=o.name),i.description=t(this.collect_description(e,{scope:"runtime",member:e.name})),i.parents=e.parent?[new ce(e.parent)]:[new ce("LuaObject.base")],i.generic_args=tn.adjust.class[e.name]?.generic_params,tn.adjust.class[e.name]?.generic_parent&&i.parents.push(await this.LuaLS_type(tn.adjust.class[e.name]?.generic_parent));for(let a of e.attributes){let d=a.name==="object_name"?new Mt(e.name):await this.LuaLS_type(a.write_type??a.read_type,{file:r,table_class_name:`${e.name}.${a.name}`,format_description:t});i.add(new ze(a.name,d,t(this.collect_description(a,{scope:"runtime",member:e.name,part:a.name})),a.optional))}for(let a of e.operators)switch(a.name){case"call":{i.add(new Ht(t(this.collect_description(a,{scope:"runtime",member:e.name,part:"call_operator"})),await this.LuaLS_params(a.parameters,t),await this.LuaLS_returns(a.return_values,t)));break}case"length":{let d=new Tr("len",await this.LuaLS_type(a.read_type));d.description=t(this.collect_description(a,{scope:"runtime",member:e.name,part:"length_operator"})),i.add(d);break}case"index":{if(tn.adjust.class[e.name]?.no_index)break;i.add(new ze(await this.LuaLS_type(tn.adjust.class[e.name]?.index_key??"uint"),await this.LuaLS_type(a.write_type??a.read_type),t(this.collect_description(a,{scope:"runtime",member:e.name,part:"index_operator"}))));break}default:throw new Error(`Unkown operator: ${a.name}`)}let s=i;tn.adjust.class[e.name]?.split_funcs&&(s=new wt(`${e.name}_funcs`),r.add(s),i.parents.push(new ce(`${e.name}_funcs`)));for(let a of e.methods)s.add(await this.LuaLS_function(a,r,t,e.name));return r.add(i),r}async generate_LuaLS_concepts(e){let t=new zt("runtime-api/concepts",this.docs.application_version);for(let r of this.docs.concepts){let i=e(this.collect_description(r,{scope:"runtime",member:r.name}));if(typeof r.type=="string")t.add(new rn(r.name,await this.LuaLS_type(r.type),i));else switch(r.type.complex_type){case"dictionary":let o=r.type.key,s=r.type.value;if(typeof s=="object"&&s.complex_type==="literal"&&s.value===!0&&typeof o=="object"&&o.complex_type==="union"){let a=new wt(r.name);a.exact=!0,a.description=i;for(let d of o.options)a.add(new ze(await this.LuaLS_type(d),await this.LuaLS_type(s)));t.add(a);break}case"union":case"array":case"table":case"tuple":case"LuaStruct":{let a=await this.LuaLS_type(r.type,{file:t,table_class_name:r.name,format_description:e});a instanceof ce&&a.name===r.name||t.add(new rn(r.name,a,i));break}case"builtin":break;default:break}}return t}async generate_LuaLS_defines(e){let t=new zt("runtime-api/defines",this.docs.application_version),r=new wt("defines");r.global_name="defines",r.description=e(void 0,{scope:"runtime",member:"defines"}),t.add(r);let i=(s,a)=>na(a)?`${s}.${a}`:`${s}['${a}']`,o=async(s,a,d,l)=>{let h=i(a,s.name),v=`${d}.${zn(s.name)}`,w=e(this.collect_description(s,{scope:"runtime",member:h}));if(h==="defines.prototypes"&&(l=new Mt(0)),s.values)t.add(new zi(h,v,s.values.map(_=>{let L=_.description.replace(/^deprecated,?/i,"@deprecated"),k=new ce(`${v}.${zn(_.name)}`);return new Hi(_.name,k,L,l)}),w));else{let _=new wt(h);if(_.global_name=h,_.description=w,t.add(_),s.subkeys)for(let L of s.subkeys)await o(L,h,v,l)}};for(let s of this.docs.defines)await o(s,"defines","defines");return t}async generate_LuaLS_events(e){let t=new zt("runtime-api/events",this.docs.application_version),r=new wt("event_handler.events");for(let[i,o]of this.events){let s=new wt(`EventData.${o.name}`);s.exact=!0,s.parents=[new ce("EventData")],s.description=e(this.collect_description(o,{scope:"runtime",member:o.name}));for(let d of o.data)s.add(new ze(d.name,await this.LuaLS_type(d.type),e(this.collect_description(d,{scope:"runtime",member:o.name,part:d.name})),d.optional));if(t.add(s),o.name==="CustomInputEvent")continue;let a=new Qe("handler",[new xe("event",new ce(`EventData.${o.name}`))]);r.add(new ze(new ce(`defines.events.${o.name}`),a)),r.add(new ze(new Mt(o.name),a))}return r.add(new ze(new ce("LuaCustomInputPrototype"),new Qe("handler",[new xe("event",new ce("EventData.CustomInputEvent"))]))),r.add(new ze(new ce("LuaCustomEventPrototype"),new Qe("handler",[new xe("event",new ce("EventData"))]))),r.add(new ze(new ce("string"),new Qe("handler",[new xe("event",new ce("EventData"))]))),r.add(new ze(new ce("defines.events"),new Qe("handler",[new xe("event",new ce("EventData"))]))),t.add(r),t}generate_LuaLS_LuaObjectNames(){let e=new zt("runtime-api/LuaObjectNames",this.docs.application_version);return e.add(new rn("LuaObject.object_name",new nn(this.docs.classes.filter(t=>!t.abstract).map(t=>new Mt(t.name))))),e.add(new rn("LuaObject",new nn(this.docs.classes.filter(t=>!t.abstract).map(t=>new ce(t.name))))),e}async generate_LuaLS_global_functions(e){let t=new zt("runtime-api/global_functions",this.docs.application_version);for(let r of this.docs.global_functions)t.add(await this.LuaLS_function(r,t,e));return t}async LuaLS_params(e,t){return Promise.all(e.sort(ra).map(async r=>new xe(zn(r.name),await this.LuaLS_type(r.type),t(this.collect_description(r)),r.optional)))}async LuaLS_returns(e,t){return Promise.all(e.sort(ra).map(async r=>new Ki(await this.LuaLS_type(r.type),void 0,t(this.collect_description(r)),r.optional)))}async LuaLS_function(e,t,r,i){let o=e.format.takes_table?[new xe("param",await this.LuaLS_table_type(e,t,`${i??""}${i?".":""}${e.name}_param`,r),void 0,e.format.table_optional)]:await this.LuaLS_params(e.parameters,r);e.variadic_parameter&&o.push(new xe("...",await this.LuaLS_type(e.variadic_parameter.type),r(e.variadic_parameter.description)));let s=new Qe(e.name,o,await this.LuaLS_returns(e.return_values,r),r(this.collect_description(e),{scope:"runtime",member:i??"libraries",part:i?e.name:"new-functions"}));if(i==="LuaBootstrap"&&e.name==="on_event"){o[1].type.members[0].params[0].name="event",s.add(new Ht(void 0,[new xe("event",new ce("string")),new xe("handler",new Qe("handler",[new xe("event",new ce("EventData"))]))])),s.add(new Ht(void 0,[new xe("event",new ce("LuaCustomEventPrototype")),new xe("handler",new Qe("handler",[new xe("event",new ce("EventData"))]))])),s.add(new Ht(void 0,[new xe("event",new ce("LuaCustomInputPrototype")),new xe("handler",new Qe("handler",[new xe("event",new ce("EventData.CustomInputEvent"))]))]));for(let[a,d]of this.events){let l=new nn([new ce(`defines.events.${d.name}`),new Mt(d.name)]),h=new ce(`EventData.${d.name}`);if(d.name==="CustomInputEvent")continue;let v=[new xe("event",l),new xe("handler",new Qe("handler",[new xe("event",h)]))];d.filter&&v.push(new xe("filters",new kr(new ce(d.filter)),void 0,!0)),s.add(new Ht(void 0,v))}}return s}async LuaLS_table_type(e,t,r,i,o){let s=new wt(r);s.exact=tn.adjust.table[r]?.exact??!0,s.parents=o,t.add(s);let a=1;for(let d of e.parameters.sort(ra)){let l="complex_type"in e&&e.complex_type==="tuple";s.add(new ze(l?new Mt(a++):d.name,await this.LuaLS_type(d.type),i(this.collect_description(d)),d.optional))}if(e.variant_parameter_groups){let d=[],l=new rn(s.name,new nn(d));t.add(l),s.name+=".base";for(let h of e.variant_parameter_groups){let v=await this.LuaLS_table_type(h,t,`${r}.${zn(h.name)}`,i,[new ce(s.name)]);d.push(v)}return d.push(new ce(s.name)),new ce(l.name)}return new ce(s.name)}async LuaLS_type(e,t){if(!e)return new ce("any");if(typeof e=="string")return new ce(e);let r=i=>t&&{file:t.file,table_class_name:`${t.table_class_name}.${i}`,format_description:t.format_description};switch(e.complex_type){case"array":return new kr(await this.LuaLS_type(e.value,r("member")));case"dictionary":return new Vi(await this.LuaLS_type(e.key,r("key")),await this.LuaLS_type(e.value,r("value")));case"union":return new nn(await Promise.all(e.options.map((i,o)=>this.LuaLS_type(i,r(`${o}`)))));case"LuaLazyLoadedValue":return new ce("LuaLazyLoadedValue",[await this.LuaLS_type(e.value,r("value"))]);case"LuaCustomTable":return new ce("LuaCustomTable",await Promise.all([this.LuaLS_type(e.key,r("key")),this.LuaLS_type(e.value,r("value"))]));case"literal":return new Mt(e.value);case"function":return new Qe(void 0,await Promise.all(e.parameters.map(async(i,o,s)=>new xe(`p${o+1}`,await this.LuaLS_type(i,r(`param${s.length>1?o:""}`))))));case"type":return this.LuaLS_type(e.value,t);case"tuple":return new Wi(await Promise.all(e.values.map((i,o)=>this.LuaLS_type(i,r(`${o}`)))));case"table":if(!t)throw new Error(`${e.complex_type} without parent`);return this.LuaLS_table_type(e,t.file,t.table_class_name,t.format_description);case"LuaStruct":{if(!t)throw new Error(`${e.complex_type} without parent`);let i=new wt(t.table_class_name);i.exact=!0;for(let o of e.attributes)i.add(new ze(o.name,await this.LuaLS_type(o.write_type??o.read_type,{file:t.file,table_class_name:`${t.table_class_name}.${o.name}`,format_description:t.format_description}),t.format_description(this.collect_description(o)),o.optional));return t.file.add(i),new ce(t.table_class_name)}}throw new Error("Invalid Type")}collect_description(e,t,r){return r||(r=e.description),"read"in e&&(r=`[${e.read?"R":""}${e.write?"W":""}] ${r??""}`),[r,e.lists?.join(`
131
+ `)}};function ra(n,e){return n.order-e.order}var nf=class{docs;classes;events;concepts;globals;defines;constructor(e){if(this.docs=JSON.parse(e),this.docs.application!=="factorio")throw new Error(`Unknown application: ${this.docs.application}`);if(this.docs.api_version!==6)throw new Error(`Unsupported Runtime Docs JSON Version ${this.docs.api_version}`);if(this.docs.stage!=="runtime")throw new Error(`Wrong stage: ${this.docs.stage}`);this.classes=new Map(this.docs.classes.map(r=>[r.name,r])),this.events=new Map(this.docs.events.map(r=>[r.name,r])),this.concepts=new Map(this.docs.concepts.map(r=>[r.name,r])),this.globals=new Map(this.docs.global_objects.map(r=>[r.type,r]));let t=(r,i)=>{let o=`${i}${r.name}`;this.defines.add(o);let s=`${o}.`;r.values&&r.values.forEach(a=>{this.defines.add(`${s}${a.name}`)}),r.subkeys&&r.subkeys.forEach(a=>t(a,s))};this.defines=new Set,this.defines.add("defines"),this.docs.defines.forEach(r=>t(r,"defines."))}isVersion(e){return this.api_version===e}get api_version(){return this.docs.api_version}get stage(){return this.docs.stage}get application(){return this.docs.application}get application_version(){return this.docs.application_version}resolve_link(e,t){if(t=t?`#${t}`:"",["classes","events","concepts","defines"].includes(e))return`/${e}.html${t}`;if(["libraries","storage","migrations","data-lifecycle","prototype-tree","noise-expressions","instrument","item-weight"].includes(e))return`/auxiliary/${e}.html${t}`;if(this.concepts.has(e))return`/concepts/${e}.html${t}`;if(this.classes.has(e))return`/classes/${e}.html${t}`;if(this.events.has(e))return`/events.html#${e}`;if(this.defines.has(e))return`/defines.html#${e}`;let r=e.match(/defines\.prototypes\[\'(.+)\'\]/);if(r&&this.defines.has(`defines.prototypes.${r[1]}`))return`/defines.html#defines.prototypes.${r[1]}`;console.warn(`Invalid Link: runtime:${e}${t}`)}with_base_classes(e,t){let r=[];return r.push(...t(e)),e.parent&&r.push(...t(this.classes.get(e.parent))),r}generate_debuginfo(){let e={alwaysValid:{},expandKeys:{}};return this.classes.forEach(t=>{if(["LuaCustomTable"].includes(t.name))return;let r={},i=!1;e.expandKeys[t.name]=r;for(let o of this.with_base_classes(t,s=>s.attributes))if(o.name==="valid")i=!0;else if(o.name!=="object_name"){if(!(t.name==="LuaEntity"&&o.name==="crafting_speed"&&this.application_version.match(/2\.0\.5[67]/))){if(o.read_type){r[o.name]={},o.write_type||(r[o.name].readOnly=!0);let s=o.read_type;typeof s=="string"&&s.startsWith("defines.")&&(r[o.name].enumFrom=s)}}}i||(e.alwaysValid[t.name]=!0);for(let o of t.operators)switch(o.name){case"index":r["[]"]={readOnly:!o.write_type,thisAsTable:!0,iterMode:"count"};break;case"length":default:break}for(let o of this.with_base_classes(t,s=>s.methods))["help","generate_event_name"].includes(o.name)||o.parameters.length>0||o.return_values.length!==0&&(o.raises||(r[o.name]={readOnly:!0,fetchable:!0}))}),e}async generate_LuaLS_docs(e){return Promise.all([...await this.generate_LuaLS_classes(e),this.generate_LuaLS_concepts(e),this.generate_LuaLS_defines(e),this.generate_LuaLS_events(e),this.generate_LuaLS_LuaObjectNames(),this.generate_LuaLS_global_functions(e)])}async generate_LuaLS_classes(e){let t=[];for(let r of this.docs.classes)t.push(await this.generate_LuaLS_class(r,e));return t}async generate_LuaLS_class(e,t){let r=new zt(`runtime-api/${e.name}`,this.docs.application_version),i=new wt(e.name),o=this.globals.get(e.name);o&&(i.global_name=o.name),i.description=t(this.collect_description(e,{scope:"runtime",member:e.name})),i.parents=e.parent?[new ce(e.parent)]:[new ce("LuaObject.base")],i.generic_args=tn.adjust.class[e.name]?.generic_params,tn.adjust.class[e.name]?.generic_parent&&i.parents.push(await this.LuaLS_type(tn.adjust.class[e.name]?.generic_parent));for(let a of e.attributes){let d=a.name==="object_name"?new Mt(e.name):await this.LuaLS_type(a.write_type??a.read_type,{file:r,table_class_name:`${e.name}.${a.name}`,format_description:t});i.add(new ze(a.name,d,t(this.collect_description(a,{scope:"runtime",member:e.name,part:a.name})),a.optional))}for(let a of e.operators)switch(a.name){case"call":{i.add(new Ht(t(this.collect_description(a,{scope:"runtime",member:e.name,part:"call_operator"})),await this.LuaLS_params(a.parameters,t),await this.LuaLS_returns(a.return_values,t)));break}case"length":{let d=new Tr("len",await this.LuaLS_type(a.read_type));d.description=t(this.collect_description(a,{scope:"runtime",member:e.name,part:"length_operator"})),i.add(d);break}case"index":{if(tn.adjust.class[e.name]?.no_index)break;i.add(new ze(await this.LuaLS_type(tn.adjust.class[e.name]?.index_key??"uint"),await this.LuaLS_type(a.write_type??a.read_type),t(this.collect_description(a,{scope:"runtime",member:e.name,part:"index_operator"}))));break}default:throw new Error(`Unkown operator: ${a.name}`)}let s=i;tn.adjust.class[e.name]?.split_funcs&&(s=new wt(`${e.name}_funcs`),r.add(s),i.parents.push(new ce(`${e.name}_funcs`)));for(let a of e.methods)s.add(await this.LuaLS_function(a,r,t,e.name));return r.add(i),r}async generate_LuaLS_concepts(e){let t=new zt("runtime-api/concepts",this.docs.application_version);for(let r of this.docs.concepts){let i=e(this.collect_description(r,{scope:"runtime",member:r.name}));if(typeof r.type=="string")t.add(new rn(r.name,await this.LuaLS_type(r.type),i));else switch(r.type.complex_type){case"dictionary":let o=r.type.key,s=r.type.value;if(typeof s=="object"&&s.complex_type==="literal"&&s.value===!0&&typeof o=="object"&&o.complex_type==="union"){let a=new wt(r.name);a.exact=!0,a.description=i;for(let d of o.options)a.add(new ze(await this.LuaLS_type(d),await this.LuaLS_type(s)));t.add(a);break}case"union":case"array":case"table":case"tuple":case"LuaStruct":{let a=await this.LuaLS_type(r.type,{file:t,table_class_name:r.name,format_description:e});a instanceof ce&&a.name===r.name||t.add(new rn(r.name,a,i));break}case"builtin":break;default:break}}return t}async generate_LuaLS_defines(e){let t=new zt("runtime-api/defines",this.docs.application_version),r=new wt("defines");r.global_name="defines",r.description=e(void 0,{scope:"runtime",member:"defines"}),t.add(r);let i=(s,a)=>na(a)?`${s}.${a}`:`${s}['${a}']`,o=async(s,a,d,l)=>{let h=i(a,s.name),v=`${d}.${zn(s.name)}`,w=e(this.collect_description(s,{scope:"runtime",member:h}));if(h==="defines.prototypes"&&(l=new Mt(0)),s.values)t.add(new zi(h,v,s.values.map(_=>{let L=_.description.replace(/^deprecated,?/i,"@deprecated"),k=new ce(`${v}.${zn(_.name)}`);return new Hi(_.name,k,L,l)}),w));else{let _=new wt(h);if(_.global_name=h,_.description=w,t.add(_),s.subkeys)for(let L of s.subkeys)await o(L,h,v,l)}};for(let s of this.docs.defines)await o(s,"defines","defines");return t}async generate_LuaLS_events(e){let t=new zt("runtime-api/events",this.docs.application_version),r=new wt("event_handler.events");for(let[i,o]of this.events){let s=new wt(`EventData.${o.name}`);s.exact=!0,s.parents=[new ce("EventData")],s.description=e(this.collect_description(o,{scope:"runtime",member:o.name}));for(let d of o.data)s.add(new ze(d.name,await this.LuaLS_type(d.type),e(this.collect_description(d,{scope:"runtime",member:o.name,part:d.name})),d.optional));if(t.add(s),o.name==="CustomInputEvent")continue;let a=new Je("handler",[new xe("event",new ce(`EventData.${o.name}`))]);r.add(new ze(new ce(`defines.events.${o.name}`),a)),r.add(new ze(new Mt(o.name),a))}return r.add(new ze(new ce("LuaCustomInputPrototype"),new Je("handler",[new xe("event",new ce("EventData.CustomInputEvent"))]))),r.add(new ze(new ce("LuaCustomEventPrototype"),new Je("handler",[new xe("event",new ce("EventData"))]))),r.add(new ze(new ce("string"),new Je("handler",[new xe("event",new ce("EventData"))]))),r.add(new ze(new ce("defines.events"),new Je("handler",[new xe("event",new ce("EventData"))]))),t.add(r),t}generate_LuaLS_LuaObjectNames(){let e=new zt("runtime-api/LuaObjectNames",this.docs.application_version);return e.add(new rn("LuaObject.object_name",new nn(this.docs.classes.filter(t=>!t.abstract).map(t=>new Mt(t.name))))),e.add(new rn("LuaObject",new nn(this.docs.classes.filter(t=>!t.abstract).map(t=>new ce(t.name))))),e}async generate_LuaLS_global_functions(e){let t=new zt("runtime-api/global_functions",this.docs.application_version);for(let r of this.docs.global_functions)t.add(await this.LuaLS_function(r,t,e));return t}async LuaLS_params(e,t){return Promise.all(e.sort(ra).map(async r=>new xe(zn(r.name),await this.LuaLS_type(r.type),t(this.collect_description(r)),r.optional)))}async LuaLS_returns(e,t){return Promise.all(e.sort(ra).map(async r=>new Ki(await this.LuaLS_type(r.type),void 0,t(this.collect_description(r)),r.optional)))}async LuaLS_function(e,t,r,i){let o=e.format.takes_table?[new xe("param",await this.LuaLS_table_type(e,t,`${i??""}${i?".":""}${e.name}_param`,r),void 0,e.format.table_optional)]:await this.LuaLS_params(e.parameters,r);e.variadic_parameter&&o.push(new xe("...",await this.LuaLS_type(e.variadic_parameter.type),r(e.variadic_parameter.description)));let s=new Je(e.name,o,await this.LuaLS_returns(e.return_values,r),r(this.collect_description(e),{scope:"runtime",member:i??"libraries",part:i?e.name:"new-functions"}));if(i==="LuaBootstrap"&&e.name==="on_event"){o[1].type.members[0].params[0].name="event",s.add(new Ht(void 0,[new xe("event",new ce("string")),new xe("handler",new Je("handler",[new xe("event",new ce("EventData"))]))])),s.add(new Ht(void 0,[new xe("event",new ce("LuaCustomEventPrototype")),new xe("handler",new Je("handler",[new xe("event",new ce("EventData"))]))])),s.add(new Ht(void 0,[new xe("event",new ce("LuaCustomInputPrototype")),new xe("handler",new Je("handler",[new xe("event",new ce("EventData.CustomInputEvent"))]))]));for(let[a,d]of this.events){let l=new nn([new ce(`defines.events.${d.name}`),new Mt(d.name)]),h=new ce(`EventData.${d.name}`);if(d.name==="CustomInputEvent")continue;let v=[new xe("event",l),new xe("handler",new Je("handler",[new xe("event",h)]))];d.filter&&v.push(new xe("filters",new kr(new ce(d.filter)),void 0,!0)),s.add(new Ht(void 0,v))}}return s}async LuaLS_table_type(e,t,r,i,o){let s=new wt(r);s.exact=tn.adjust.table[r]?.exact??!0,s.parents=o,t.add(s);let a=1;for(let d of e.parameters.sort(ra)){let l="complex_type"in e&&e.complex_type==="tuple";s.add(new ze(l?new Mt(a++):d.name,await this.LuaLS_type(d.type),i(this.collect_description(d)),d.optional))}if(e.variant_parameter_groups){let d=[],l=new rn(s.name,new nn(d));t.add(l),s.name+=".base";for(let h of e.variant_parameter_groups){let v=await this.LuaLS_table_type(h,t,`${r}.${zn(h.name)}`,i,[new ce(s.name)]);d.push(v)}return d.push(new ce(s.name)),new ce(l.name)}return new ce(s.name)}async LuaLS_type(e,t){if(!e)return new ce("any");if(typeof e=="string")return new ce(e);let r=i=>t&&{file:t.file,table_class_name:`${t.table_class_name}.${i}`,format_description:t.format_description};switch(e.complex_type){case"array":return new kr(await this.LuaLS_type(e.value,r("member")));case"dictionary":return new Vi(await this.LuaLS_type(e.key,r("key")),await this.LuaLS_type(e.value,r("value")));case"union":return new nn(await Promise.all(e.options.map((i,o)=>this.LuaLS_type(i,r(`${o}`)))));case"LuaLazyLoadedValue":return new ce("LuaLazyLoadedValue",[await this.LuaLS_type(e.value,r("value"))]);case"LuaCustomTable":return new ce("LuaCustomTable",await Promise.all([this.LuaLS_type(e.key,r("key")),this.LuaLS_type(e.value,r("value"))]));case"literal":return new Mt(e.value);case"function":return new Je(void 0,await Promise.all(e.parameters.map(async(i,o,s)=>new xe(`p${o+1}`,await this.LuaLS_type(i,r(`param${s.length>1?o:""}`))))));case"type":return this.LuaLS_type(e.value,t);case"tuple":return new Wi(await Promise.all(e.values.map((i,o)=>this.LuaLS_type(i,r(`${o}`)))));case"table":if(!t)throw new Error(`${e.complex_type} without parent`);return this.LuaLS_table_type(e,t.file,t.table_class_name,t.format_description);case"LuaStruct":{if(!t)throw new Error(`${e.complex_type} without parent`);let i=new wt(t.table_class_name);i.exact=!0;for(let o of e.attributes)i.add(new ze(o.name,await this.LuaLS_type(o.write_type??o.read_type,{file:t.file,table_class_name:`${t.table_class_name}.${o.name}`,format_description:t.format_description}),t.format_description(this.collect_description(o)),o.optional));return t.file.add(i),new ce(t.table_class_name)}}throw new Error("Invalid Type")}collect_description(e,t,r){return r||(r=e.description),"read"in e&&(r=`[${e.read?"R":""}${e.write?"W":""}] ${r??""}`),[r,e.lists?.join(`
132
132
 
133
133
  `),e.raises&&`**Events:**
134
134
  ${e.raises?.map(i=>` * ${i.optional?"May":"Will"} raise [${i.name}](runtime:events::${i.name}) ${{instantly:"instantly",current_tick:"later in the current tick",future_tick:"in a future tick"}[i.timeframe]}.${i.description?`
@@ -884,12 +884,14 @@ local function replace(uri, text, diffs)
884
884
  local start = finish - #"storage"
885
885
  if identifier_char_lut[text:sub(start - 1, start - 1)] then goto continue end
886
886
 
887
- local preceding_start = start - 16
887
+ -- Negative indexes would make it start at the back of the string. No no, very bad.
888
+ local preceding_start = math.max(1, start - 16)
888
889
  local preceding_text = text:sub(preceding_start, start - 1)
889
890
  local dot_pos = preceding_text:match("()%.%s*$")
890
891
  if dot_pos then
891
892
  dot_pos = preceding_start + dot_pos - 1
892
- if text:sub(dot_pos - 1, dot_pos - 1) ~= "." -- If it's a concat, keep it.
893
+ if not util.is_disabled(dot_pos, storage_module_flag)
894
+ and text:sub(dot_pos - 1, dot_pos - 1) ~= "." -- If it's a concat, keep it.
893
895
  and text:sub(dot_pos - 2, dot_pos - 1) ~= "_G" -- Keep indexes into _G
894
896
  and text:sub(dot_pos - 4, dot_pos - 1) ~= "_ENV" -- and _ENV
895
897
  then
@@ -2759,7 +2761,7 @@ function require(modname) end\r
2759
2761
  ---@field loaded table\r
2760
2762
  package = {}\r
2761
2763
  \r
2762
- return package`;var wa={};ke(wa,{default:()=>Av});var Av=`---@meta _\r
2764
+ return package`;var wa={};ke(wa,{default:()=>Cv});var Cv=`---@meta _\r
2763
2765
  ---Lua serializer and pretty printer.\\\r
2764
2766
  ---Author: [Paul Kulchenko](mailto:paul@kulchenko.com)\\\r
2765
2767
  ---https://github.com/pkulchenko/serpent\r
@@ -3410,11 +3412,11 @@ function OnSetText(uri, text)
3410
3412
  diffs.count = nil
3411
3413
  return diffs
3412
3414
  end
3413
- `;var Hv=[ia,oa,sa,aa,ca,la,ua,da,fa,pa,ha,ma,ga,_a,ba,ya,va,wa,Pa,Ra,Ea,Sa,xa,La],Da=Hv,sf=["../luals-addon/factorio/factorio-plugin/arg-parser.lua","../luals-addon/factorio/factorio-plugin/command-line.lua","../luals-addon/factorio/factorio-plugin/remote.lua","../luals-addon/factorio/factorio-plugin/require.lua","../luals-addon/factorio/factorio-plugin/storage.lua","../luals-addon/factorio/factorio-plugin/util.lua","../luals-addon/factorio/library/core/lualib/event_handler.lua","../luals-addon/factorio/library/core/lualib/meld.lua","../luals-addon/factorio/library/core/lualib/mod-gui.lua","../luals-addon/factorio/library/core/lualib/sound-util.lua","../luals-addon/factorio/library/core/lualib/util.lua","../luals-addon/factorio/library/data/mod-settings.lua","../luals-addon/factorio/library/data/mods.lua","../luals-addon/factorio/library/lua/builtins.lua","../luals-addon/factorio/library/lua/debug.lua","../luals-addon/factorio/library/lua/math.lua","../luals-addon/factorio/library/lua/package.lua","../luals-addon/factorio/library/lua/serpent.lua","../luals-addon/factorio/library/lua/string.lua","../luals-addon/factorio/library/runtime/LuaObject.lua","../luals-addon/factorio/library/runtime/blueprint.lua","../luals-addon/factorio/library/runtime/deprecated_2.0.lua","../luals-addon/factorio/library/runtime/storage.lua","../luals-addon/factorio/plugin.lua"];var af={name:"Factorio",files:["control%.lua","data%.lua","data%-updates%.lua","data%-final%-fixes%.lua","settings%.lua","settings%-updates%.lua","settings%-final%-fixes%.lua"],settings:{"Lua.runtime.version":"Lua 5.2","Lua.runtime.path":["?.lua"],"Lua.runtime.builtin":{io:"disable",os:"disable",coroutine:"disable",package:"disable",math:"disable",debug:"disable"},"Lua.diagnostics.globals":["__DebugAdapter","__Profiler"],"Lua.diagnostics.disable":["lowercase-global"],"Lua.language.fixIndent":!1}};var Gi;function e0(){if(!Gi){Gi=[];for(let n=0;n<Da.length;n++)Gi.push({name:sf[n].replace("../luals-addon/",""),content:Da[n].default})}return Gi}function n0(n){return{name:"factorio/config.json",content:JSON.stringify(Object.assign({},af,{bundleVersion:_n,factorioVersion:n}))}}var Ir=ti(ff(),1);import*as ht from"os";import*as ye from"path";import{execFile as Gv}from"child_process";function Ia(n,e){return n.match(/^~[\\\/]/)&&(n=ye.posix.join(ht.homedir().replace(/\\/g,"/"),n.replace(/^~[\\\/]/,""))),n=n.replace("${userHome}",ht.homedir()),e?.[0]&&(n=n.replace("${workspaceFolder}",e[0].uri.fsPath)),n=n.replace(/\$\{env:(\w+)}/g,(t,r)=>process.env[r]??t),n}var pf=class{constructor(e,t,r,i){this.fs=e;this.fv=t;this.docs=r;this.workspaceFolders=i}async getBinaryVersion(){return new Promise((e,t)=>{Gv(this.factorioPath,["--version"],{env:Object.assign({},process.env,{SteamAppId:"427520"})},(r,i,o)=>{r&&t(new Error(r.message));let s=i?.match(/^Version: ([0-9\.]+) /m);s&&e(s[1]),t(new Error(`Unable to read version:
3415
+ `;var Hv=[ia,oa,sa,aa,ca,la,ua,da,fa,pa,ha,ma,ga,_a,ba,ya,va,wa,Pa,Ra,Ea,Sa,xa,La],Da=Hv,rf=["../luals-addon/factorio/factorio-plugin/arg-parser.lua","../luals-addon/factorio/factorio-plugin/command-line.lua","../luals-addon/factorio/factorio-plugin/remote.lua","../luals-addon/factorio/factorio-plugin/require.lua","../luals-addon/factorio/factorio-plugin/storage.lua","../luals-addon/factorio/factorio-plugin/util.lua","../luals-addon/factorio/library/core/lualib/event_handler.lua","../luals-addon/factorio/library/core/lualib/meld.lua","../luals-addon/factorio/library/core/lualib/mod-gui.lua","../luals-addon/factorio/library/core/lualib/sound-util.lua","../luals-addon/factorio/library/core/lualib/util.lua","../luals-addon/factorio/library/data/mod-settings.lua","../luals-addon/factorio/library/data/mods.lua","../luals-addon/factorio/library/lua/builtins.lua","../luals-addon/factorio/library/lua/debug.lua","../luals-addon/factorio/library/lua/math.lua","../luals-addon/factorio/library/lua/package.lua","../luals-addon/factorio/library/lua/serpent.lua","../luals-addon/factorio/library/lua/string.lua","../luals-addon/factorio/library/runtime/LuaObject.lua","../luals-addon/factorio/library/runtime/blueprint.lua","../luals-addon/factorio/library/runtime/deprecated_2.0.lua","../luals-addon/factorio/library/runtime/storage.lua","../luals-addon/factorio/plugin.lua"];var of={name:"Factorio",files:["control%.lua","data%.lua","data%-updates%.lua","data%-final%-fixes%.lua","settings%.lua","settings%-updates%.lua","settings%-final%-fixes%.lua"],settings:{"Lua.runtime.version":"Lua 5.2","Lua.runtime.path":["?.lua"],"Lua.runtime.builtin":{io:"disable",os:"disable",coroutine:"disable",package:"disable",math:"disable",debug:"disable"},"Lua.diagnostics.globals":["__DebugAdapter","__Profiler"],"Lua.diagnostics.disable":["lowercase-global"],"Lua.language.fixIndent":!1}};var Gi;function e0(){if(!Gi){Gi=[];for(let n=0;n<Da.length;n++)Gi.push({name:rf[n].replace("../luals-addon/",""),content:Da[n].default})}return Gi}function n0(n){return{name:"factorio/config.json",content:JSON.stringify(Object.assign({},of,{bundleVersion:_n,factorioVersion:n}))}}var Ir=ti(uf(),1);import*as ht from"os";import*as ye from"path";import{execFile as Gv}from"child_process";function df(n,e){return n.match(/^~[\\\/]/)&&(n=ye.posix.join(ht.homedir().replace(/\\/g,"/"),n.replace(/^~[\\\/]/,""))),n=n.replace("${userHome}",ht.homedir()),e?.[0]&&(n=n.replace("${workspaceFolder}",e[0].uri.fsPath)),n=n.replace(/\$\{env:(\w+)}/g,(t,r)=>process.env[r]??t),n}var ff=class{constructor(e,t,r,i){this.fs=e;this.fv=t;this.docs=r;this.workspaceFolders=i}async getBinaryVersion(){return new Promise((e,t)=>{Gv(this.factorioPath,["--version"],{env:Object.assign({},process.env,{SteamAppId:"427520"})},(r,i,o)=>{r&&t(new Error(r.message));let s=i?.match(/^Version: ([0-9\.]+) /m);s&&e(s[1]),t(new Error(`Unable to read version:
3414
3416
  stdout: ${i}
3415
- stderr: ${o}`))})})}async debugLaunchArgs(){let e=[];return e.push(this.factorioPath),this.fv.docsPath&&e.push("--docs",this.fv.docsPath),this.configPathIsOverriden()&&e.push("--config",await this.configPath()),this.workspaceFolders&&e.push("--workspace",...this.workspaceFolders.map(t=>t.uri.fsPath)),e}get name(){return this.fv.name}get factorioPath(){return Ia(this.fv.factorioPath,this.workspaceFolders)}get docArgs(){return this.fv.onlineDocs?["luals-addon","-o",this.fv.onlineDocs===!0?"latest":this.fv.onlineDocs]:["luals-addon","-d",this.docsPath,"-p",this.protosPath]}get onlineDocs(){return this.fv.onlineDocs}get docsPath(){return ye.join(this.factorioPath,this.fv.docsPath?this.fv.docsPath:ht.platform()==="darwin"?"../../doc-html/runtime-api.json":"../../../doc-html/runtime-api.json")}get protosPath(){return ye.join(this.factorioPath,this.fv.protosPath?this.fv.protosPath:this.fv.docsPath?ye.join(this.fv.docsPath,"../prototype-api.json"):ht.platform()==="darwin"?"../../doc-html/prototype-api.json":"../../../doc-html/prototype-api.json")}configPathIsOverriden(){return!!this.fv.configPath}async configPath(){if(this.fv.configPath)return Ia(this.fv.configPath,this.workspaceFolders);let e=ye.resolve(ye.dirname(this.factorioPath),"../../config-path.cfg");try{let t=Ir.parse((await this.fs.readFile(tt.file(e))).toString());return ye.resolve(this.translatePath(t["config-path"]),"./config.ini")}catch{}return this.translatePath("__PATH__system-write-data__/config/config.ini")}get nativeDebugger(){return this.fv.nativeDebugger&&Ia(this.fv.nativeDebugger,this.workspaceFolders)}get nativeDAP(){return this.fv.nativeDAP}iniData;async configIni(){return this.iniData||(this.iniData=this.fs.readFile(tt.file(await this.configPath())).then(e=>Ir.parse(e.toString()))),this.iniData}async isPrototypeCacheEnabled(){try{return(await this.configIni()).other?.["cache-prototype-data"]}catch{return}}async disablePrototypeCache(){this.iniData=void 0;let e=tt.file(await this.configPath()),t=(await this.fs.readFile(e)).toString();t=t.replace("cache-prototype-data=","; cache-prototype-data="),await this.fs.writeFile(e,Buffer.from(t)),this.iniData=Ir.parse(t)}async isMouseAutoCaptureDisabled(){try{return(await this.configIni()).other?.["disable-mouse-auto-capture"]}catch{return}}async disableMouseAutoCapture(){this.iniData=void 0;let e=tt.file(await this.configPath()),t=(await this.fs.readFile(e)).toString(),r=t.match(/^;? *disable-mouse-auto-capture=.*$/m);if(r)t=t.slice(0,r.index)+`
3417
+ stderr: ${o}`))})})}async debugLaunchArgs(){let e=[];return e.push(this.factorioPath),this.fv.docsPath&&e.push("--docs",this.fv.docsPath),this.configPathIsOverriden()&&e.push("--config",await this.configPath()),this.workspaceFolders&&e.push("--workspace",...this.workspaceFolders.map(t=>t.uri.fsPath)),e}get name(){return this.fv.name}get onlineOnly(){return!this.fv.factorioPath}get factorioPath(){if(!this.fv.factorioPath)throw new Error("No factorioPath");return df(this.fv.factorioPath,this.workspaceFolders)}get docArgs(){return this.fv.onlineDocs?["luals-addon","-o",this.fv.onlineDocs===!0?"latest":this.fv.onlineDocs]:["luals-addon","-d",this.docsPath,"-p",this.protosPath]}get docsPath(){return ye.join(this.factorioPath,this.fv.docsPath?this.fv.docsPath:ht.platform()==="darwin"?"../../doc-html/runtime-api.json":"../../../doc-html/runtime-api.json")}get protosPath(){return ye.join(this.factorioPath,this.fv.protosPath?this.fv.protosPath:this.fv.docsPath?ye.join(this.fv.docsPath,"../prototype-api.json"):ht.platform()==="darwin"?"../../doc-html/prototype-api.json":"../../../doc-html/prototype-api.json")}configPathIsOverriden(){return!!this.fv.configPath}async configPath(){if(this.fv.configPath)return df(this.fv.configPath,this.workspaceFolders);let e=ye.resolve(ye.dirname(this.factorioPath),"../../config-path.cfg");try{let t=Ir.parse((await this.fs.readFile(tt.file(e))).toString());return ye.resolve(this.translatePath(t["config-path"]),"./config.ini")}catch{}return this.translatePath("__PATH__system-write-data__/config/config.ini")}get nativeDAP(){return this.fv.nativeDAP}iniData;async configIni(){return this.iniData||(this.iniData=this.fs.readFile(tt.file(await this.configPath())).then(e=>Ir.parse(e.toString()))),this.iniData}async isPrototypeCacheEnabled(){try{return(await this.configIni()).other?.["cache-prototype-data"]}catch{return}}async disablePrototypeCache(){this.iniData=void 0;let e=tt.file(await this.configPath()),t=(await this.fs.readFile(e)).toString();t=t.replace("cache-prototype-data=","; cache-prototype-data="),await this.fs.writeFile(e,Buffer.from(t)),this.iniData=Ir.parse(t)}async isMouseAutoCaptureDisabled(){try{return(await this.configIni()).other?.["disable-mouse-auto-capture"]}catch{return}}async disableMouseAutoCapture(){this.iniData=void 0;let e=tt.file(await this.configPath()),t=(await this.fs.readFile(e)).toString(),r=t.match(/^;? *disable-mouse-auto-capture=.*$/m);if(r)t=t.slice(0,r.index)+`
3416
3418
  disable-mouse-auto-capture=true
3417
3419
  `+t.slice(r.index+r[0].length);else{let i=t.match(/^\[other\]$/m);t=t.slice(0,i.index+i[0].length)+`
3418
3420
  disable-mouse-auto-capture=true
3419
- `+t.slice(i.index+i[0].length)}await this.fs.writeFile(e,Buffer.from(t)),this.iniData=Ir.parse(t)}async defaultModsPath(){let e=(await this.configIni())?.path?.["write-data"];if(!e)throw new Error("path.write-data missing in config.ini");return ye.posix.normalize(ye.resolve(this.translatePath(e),"mods"))}async dataPath(){let e=(await this.configIni().catch(()=>({path:{"read-data":"__PATH__executable__/../../data"}}))).path?.["read-data"];if(!e)throw new Error("path.read-data missing in config.ini");return ye.posix.normalize(this.translatePath(e))}async lualibPath(){return ye.posix.normalize(ye.resolve(await this.dataPath(),"core","lualib"))}async writeDataPath(){let e=(await this.configIni()).path?.["write-data"];if(!e)throw new Error("path.write-data missing in config.ini");return ye.posix.normalize(this.translatePath(e))}translatePath(e){if(e.startsWith("__PATH__executable__"))return ye.join(ye.dirname(this.factorioPath),e.replace("__PATH__executable__",""));if(e.startsWith("__PATH__system-write-data__")){let t=ht.platform()==="win32"?ye.resolve(process.env.APPDATA,"Factorio"):ht.platform()==="linux"?ye.resolve(ht.homedir(),".factorio"):ht.platform()==="darwin"?ye.resolve(ht.homedir(),"Library/Application Support/factorio"):"??";return ye.join(t,e.replace("__PATH__system-write-data__",""))}if(e.startsWith("__PATH__system-read-data__")){let t=ht.platform()==="linux"?"/usr/share/factorio":ht.platform()==="darwin"?ye.resolve(ye.dirname(this.factorioPath),"../data"):ye.resolve(ye.dirname(this.factorioPath),"../../data");return ye.join(t,e.replace("__PATH__system-read-data__",""))}return e}is(e){let t=this.fv;return t.name===e.name&&t.factorioPath===e.factorioPath&&t.nativeDebugger===e.nativeDebugger&&t.docsPath===e.docsPath&&t.protosPath===e.protosPath&&t.configPath===e.configPath}};var mf=(l=>(l[l.Nil=0]="Nil",l[l.BoolFalse=1]="BoolFalse",l[l.BoolTrue=2]="BoolTrue",l[l.Number=3]="Number",l[l.String=4]="String",l[l.Table=5]="Table",l[l.ExistingGCObject=6]="ExistingGCObject",l[l.LuaObject=7]="LuaObject",l[l.TableWithMeta=8]="TableWithMeta",l))(mf||{}),gf=(b=>(b[b.LuaEntity=0]="LuaEntity",b[b.LuaInvalidObject=1]="LuaInvalidObject",b[b.LuaRecipe=2]="LuaRecipe",b[b.LuaTechnology=3]="LuaTechnology",b[b.LuaRandomGenerator=4]="LuaRandomGenerator",b[b.LuaForce=5]="LuaForce",b[b.LuaBurner=6]="LuaBurner",b[b.LuaLogisticPoint=7]="LuaLogisticPoint",b[b.LuaDecorativePrototype=8]="LuaDecorativePrototype",b[b.LuaCustomChartTag=9]="LuaCustomChartTag",b[b.LuaPermissionGroups=10]="LuaPermissionGroups",b[b.LuaPermissionGroup=11]="LuaPermissionGroup",b[b.LuaUnitGroup=12]="LuaUnitGroup",b[b.LuaTrain=13]="LuaTrain",b[b.LuaFluidBox=14]="LuaFluidBox",b[b.LuaEntityPrototype=15]="LuaEntityPrototype",b[b.LuaItemPrototype=16]="LuaItemPrototype",b[b.LuaEquipmentGrid=18]="LuaEquipmentGrid",b[b.LuaEquipment=19]="LuaEquipment",b[b.LuaItemStack=20]="LuaItemStack",b[b.LuaPlayer=21]="LuaPlayer",b[b.LuaGui=22]="LuaGui",b[b.LuaGuiElement=23]="LuaGuiElement",b[b.LuaStyle=24]="LuaStyle",b[b.LuaSurface=25]="LuaSurface",b[b.LuaFluidPrototype=26]="LuaFluidPrototype",b[b.LuaGroup=27]="LuaGroup",b[b.LuaTile=28]="LuaTile",b[b.LuaChunkIterator=29]="LuaChunkIterator",b[b.LuaStructMapSettings=30]="LuaStructMapSettings",b[b.LuaTransportLine=31]="LuaTransportLine",b[b.LuaLogisticNetwork=32]="LuaLogisticNetwork",b[b.LuaLogisticCell=33]="LuaLogisticCell",b[b.LuaInventory=34]="LuaInventory",b[b.LuaControlBehavior=35]="LuaControlBehavior",b[b.LuaFlowStatistics=36]="LuaFlowStatistics",b[b.LuaTilePrototype=37]="LuaTilePrototype",b[b.LuaEquipmentPrototype=38]="LuaEquipmentPrototype",b[b.LuaCircuitNetwork=39]="LuaCircuitNetwork",b[b.LuaDamagePrototype=40]="LuaDamagePrototype",b[b.LuaVirtualSignalPrototype=41]="LuaVirtualSignalPrototype",b[b.LuaEquipmentGridPrototype=42]="LuaEquipmentGridPrototype",b[b.LuaRecipePrototype=43]="LuaRecipePrototype",b[b.LuaTechnologyPrototype=44]="LuaTechnologyPrototype",b[b.LuaBurnerPrototype=45]="LuaBurnerPrototype",b[b.LuaElectricEnergySourcePrototype=46]="LuaElectricEnergySourcePrototype",b[b.LuaCustomInputPrototype=47]="LuaCustomInputPrototype",b[b.LuaNoiseLayerPrototype=48]="LuaNoiseLayerPrototype",b[b.LuaAutoplaceControlPrototype=49]="LuaAutoplaceControlPrototype",b[b.LuaModSettingPrototype=50]="LuaModSettingPrototype",b[b.LuaAmmoCategoryPrototype=51]="LuaAmmoCategoryPrototype",b[b.LuaRailPath=52]="LuaRailPath",b[b.LuaFluidBoxPrototype=53]="LuaFluidBoxPrototype",b[b.LuaAISettings=54]="LuaAISettings",b[b.LuaProfiler=55]="LuaProfiler",b[b.LuaNamedNoiseExpression=56]="LuaNamedNoiseExpression",b[b.LuaFuelCategoryPrototype=57]="LuaFuelCategoryPrototype",b[b.LuaResourceCategoryPrototype=58]="LuaResourceCategoryPrototype",b[b.LuaAchievementPrototype=59]="LuaAchievementPrototype",b[b.LuaModuleCategoryPrototype=60]="LuaModuleCategoryPrototype",b[b.LuaEquipmentCategoryPrototype=61]="LuaEquipmentCategoryPrototype",b[b.LuaTrivialSmokePrototype=62]="LuaTrivialSmokePrototype",b[b.LuaShortcutPrototype=63]="LuaShortcutPrototype",b[b.LuaRecipeCategoryPrototype=64]="LuaRecipeCategoryPrototype",b[b.LuaParticlePrototype=65]="LuaParticlePrototype",b[b.LuaFluidEnergySourcePrototype=66]="LuaFluidEnergySourcePrototype",b[b.LuaHeatEnergySourcePrototype=67]="LuaHeatEnergySourcePrototype",b[b.LuaVoidEnergySourcePrototype=68]="LuaVoidEnergySourcePrototype",b[b.LuaFontPrototype=69]="LuaFontPrototype",b[b.LuaQualityPrototype=70]="LuaQualityPrototype",b[b.LuaSpaceLocationPrototype=71]="LuaSpaceLocationPrototype",b[b.LuaPlanetType=72]="LuaPlanetType",b[b.LuaUndoRedoStackType=73]="LuaUndoRedoStackType",b[b.LuaSurfacePropertyPrototype=74]="LuaSurfacePropertyPrototype",b[b.LuaCustomEventPrototype=75]="LuaCustomEventPrototype",b[b.LuaSpaceConnectionPrototype=76]="LuaSpaceConnectionPrototype",b[b.LuaActiveTriggerPrototype=77]="LuaActiveTriggerPrototype",b[b.LuaSpacePlatformType=78]="LuaSpacePlatformType",b[b.LuaHeatBufferPrototype=79]="LuaHeatBufferPrototype",b[b.LuaWireConnectorType=80]="LuaWireConnectorType",b[b.LuaAsteroidChunkPrototype=81]="LuaAsteroidChunkPrototype",b[b.LuaLogisticSection=82]="LuaLogisticSection",b[b.LuaRailEnd=83]="LuaRailEnd",b[b.LuaNamedNoiseFunction=84]="LuaNamedNoiseFunction",b[b.LuaCollisionLayerPrototype=85]="LuaCollisionLayerPrototype",b[b.LuaSimulationType=86]="LuaSimulationType",b[b.LuaAirbornePollutionPrototype=87]="LuaAirbornePollutionPrototype",b[b.LuaItem=88]="LuaItem",b[b.LuaTrainManager=89]="LuaTrainManager",b[b.LuaRenderObject=90]="LuaRenderObject",b[b.LuaRecord=91]="LuaRecord",b[b.LuaBurnerUsagePrototype=92]="LuaBurnerUsagePrototype",b[b.LuaSurfacePrototype=93]="LuaSurfacePrototype",b[b.LuaProcessionPrototype=94]="LuaProcessionPrototype",b[b.LuaProcessionLayerInheritanceGroupPrototype=95]="LuaProcessionLayerInheritanceGroupPrototype",b[b.LuaLogisticSections=96]="LuaLogisticSections",b[b.xLuaFutureObject=-1]="xLuaFutureObject",b))(gf||{}),sn=(k=>(k[k.None=0]="None",k[k.EntityInventory=1]="EntityInventory",k[k.ControllerInventory=2]="ControllerInventory",k[k.ItemEntity=3]="ItemEntity",k[k.EntityCursorStack=4]="EntityCursorStack",k[k.ControllerCursorStack=5]="ControllerCursorStack",k[k.Inserter=6]="Inserter",k[k.ItemWithInventory=7]="ItemWithInventory",k[k.BeltConnectable=8]="BeltConnectable",k[k.Equipment=9]="Equipment",k[k.TargetableInventory=10]="TargetableInventory",k[k.TargetableItemStack=11]="TargetableItemStack",k[k.PlayerBlueprint=12]="PlayerBlueprint",k[k.ScriptInventory=13]="ScriptInventory",k[k.LinkedInventory=14]="LinkedInventory",k))(sn||{}),_f=(B=>(B[B.Container=1]="Container",B[B.GenericOnOff=2]="GenericOnOff",B[B.Inserter=3]="Inserter",B[B.Lamp=4]="Lamp",B[B.LogisticContainer=5]="LogisticContainer",B[B.Roboport=6]="Roboport",B[B.StorageTank=7]="StorageTank",B[B.TrainStop=8]="TrainStop",B[B.DeciderCombinator=9]="DeciderCombinator",B[B.ArithmeticCombinator=10]="ArithmeticCombinator",B[B.ConstantCombinator=11]="ConstantCombinator",B[B.TransportBelt=12]="TransportBelt",B[B.Accumulator=13]="Accumulator",B[B.RailSignal=14]="RailSignal",B[B.Wall=15]="Wall",B[B.MiningDrill=16]="MiningDrill",B[B.ProgrammableSpeaker=17]="ProgrammableSpeaker",B[B.RailChainSignal=18]="RailChainSignal",B))(_f||{}),Ji=(s=>(s[s.ItemProduction=1]="ItemProduction",s[s.FluidProduction=2]="FluidProduction",s[s.KillCount=3]="KillCount",s[s.EntityBuild=6]="EntityBuild",s[s.ElectricNetwork=7]="ElectricNetwork",s[s.Pollution=8]="Pollution",s))(Ji||{}),hf=class{version;data;gcid=0;gcidmap=[];gcidmaps;constructor(e){this.version=Pn.load(e.read(9)),this.data={},this.gcidmaps={};let t=e.readUInt32LE();for(let r=0;r<t;r++){let i=e.readPackedUInt_8_32(),o=e.readString(i),s=e.readPackedUInt_8_32(),a=new Nn(e.read(s));Pn.load(a.read(9)),this.gcid=0,this.gcidmap=[];let d=this.loadLuaValue(a);if(a.readableLength>0)throw new Error(`Data for ${o} not fully consumed, ${a.readableLength} bytes left`);e.readUInt8(),this.data[o]=d,this.gcidmaps[o]=this.gcidmap}}find(e,t){return this.gcidmaps[e][t]}loadLuaValue(e){let t=e.readUInt8(),r=mf[t];switch(r){case"Nil":case"BoolFalse":case"BoolTrue":return{type:r};case"Number":{let o=e.readDoubleLE();return{type:r,value:o}}case"String":{let o=e.readPackedUInt_8_32(),s=e.readString(o);return{type:r,value:s}}case"TableWithMeta":case"Table":{let o=this.gcid++,s;if(r==="TableWithMeta"){let h=e.readPackedUInt_8_32();s=e.readString(h)}let a=e.readPackedUInt_8_32(),d=[];for(let h=0;h<a;h++){let v=this.loadLuaValue(e),w=this.loadLuaValue(e);d.push({key:v,value:w})}let l={type:r,id:o,values:d,meta:s};return this.gcidmap[o]=l,l}case"ExistingGCObject":let i=e.readPackedUInt_16_32();return{type:r,id:i};case"LuaObject":{let o="LuaObject",s=this.gcid++,a=e.readUInt32LE(),d=gf[a],l=this.loadLuaObjectData(a,e);return{type:o,id:s,value:Object.assign({type:d},l)}}default:throw new Error(`Invalid type ${r} in saved lua value`)}}loadLuaObjectData(e,t){switch(e){case 0:case 11:case 12:case 13:case 14:case 18:case 19:case 21:case 22:case 32:case 33:case 52:case 54:return{target:t.readUInt32LE()};case 10:return{};case 2:case 3:{let r=t.readUInt8(),i=t.readUInt16LE();return{force:r,id:i}}case 4:return{seed:[t.readUInt32LE(),t.readUInt32LE(),t.readUInt32LE()]};case 6:{let r=t.readUInt32LE(),i=t.readUInt32LE();return{entity:r,equipment:i}}case 7:{let r=t.readUInt8(),i=t.readUInt32LE();return{index:r,owner:i}}case 9:{let r=t.readUInt8(),i=t.readPackedUInt_8_32(),o=t.readUInt32LE();return{force:r,surface:i,target:o}}case 8:return this.version.isBeyond(1,2,1,4)?{id:t.readUInt16LE()}:{id:t.readUInt8()};case 37:return this.version.isBeyond(1,2,0,3)?{id:t.readUInt16LE()}:{id:t.readUInt8()};case 5:case 40:case 42:case 49:case 51:case 57:case 58:case 60:case 61:case 62:return{id:t.readUInt8()};case 15:case 16:case 26:case 38:case 41:case 43:case 44:case 47:case 48:case 50:case 59:case 63:case 64:case 65:case 66:case 67:case 68:case 79:return{id:t.readUInt16LE()};case 56:case 84:return{id:t.readUInt32LE()};case 28:{let r={x:t.readInt32LE(),y:t.readInt32LE()},i=t.readPackedUInt_8_32();return{position:r,surface:i}}case 23:case 24:{let r=t.readUInt32LE(),i=t.readUInt32LE();return{player:r,index:i}}case 25:return this.version.isBeyond(1,2,7,1)?{target:t.readUInt32LE()}:{surface:t.readPackedUInt_8_32()};case 27:{let r=t.readUInt8(),i=t.readUInt16LE();return{group:r,subgroup:i}}case 29:{let r=t.readPackedUInt_8_32(),i={x:t.readInt32LE(),y:t.readInt32LE()};return{surface:r,position:i}}case 31:{let r=t.readUInt32LE(),i=t.readUInt8();return{target:r,index:i}}case 34:{let r=t.readUInt32LE(),i=t.readUInt32LE(),o=t.readUInt32LE(),s=t.readUInt32LE(),a=t.readUInt32LE(),d=t.readUInt8()!==0,l;if(d){let v=t.readUInt8(),w=t.readUInt16LE(),_=t.readUInt32LE();l={force:v,proto:w,linkid:_}}let h=t.readUInt8();return{entity:r,controller:i,item:o,equipment:s,scriptinv:a,link:l,index:h}}case 45:case 46:{let r=t.readUInt16LE(),i=t.readUInt16LE();return{entity:r,equipment:i}}case 53:{let r=t.readUInt16LE(),i=t.readUInt32LE(),o=t.readUInt8();return{entity:r,index:i,targettype:o}}case 55:return{stopped:t.readUInt8()!==0};case 69:{let r=t.readUInt8()!==0,i;if(r){let o=t.readPackedUInt_8_32();i=t.readString(o)}return{name:i}}case 39:{let r=t.readUInt32LE(),i=t.readUInt8(),o=t.readUInt8();return{target:r,connector:i,wire:o}}case 20:return this.loadLuaItemStack(t);case 35:return this.loadLuaControlBehavior(t);case 36:return this.loadLuaFlowStatistics(t);case 30:throw new Error(`LuaObject of type ${e} cannot have been saved`);default:throw new Error(`Unknown LuaObject type ${e}`)}}loadItemStackLocation(e){let t=this.version.isBeyond(1,2,0,33)?e.readUInt8():0;if(t!==0)return{standaloneStack:t};let r=e.readUInt8(),i=e.readUInt16LE();return{inventoryIndex:r,slotIndex:i}}loadLuaItemStack(e){let t=this.version.isBeyond(1,2,0,359)?e.readUInt8():e.readUInt32LE();switch(t){case 0:return{stacktype:sn[t]};case 1:case 2:case 7:case 9:{let r=e.readUInt32LE(),i;if(this.version.isBeyond(1,2,0,361))i=this.loadItemStackLocation(e);else{let o=e.readUInt8(),s=e.readUInt16LE();i={inventoryIndex:o,slotIndex:s}}return{stacktype:sn[t],target:r,location:i}}case 3:case 4:case 5:case 6:case 12:{let r=e.readUInt32LE();return{stacktype:sn[t],target:r}}case 8:{let r=e.readUInt32LE(),i=e.readUInt8(),o=e.readUInt8();return{stacktype:sn[t],target:r,line:i,item:o}}case 10:throw new Error(`LuaItemStack type ${t} cannot have been saved`);case 11:return{stacktype:sn[t]};case 13:{let r=e.readUInt32LE(),i=e.readUInt16LE();return{stacktype:sn[t],target:r,slot:i}}case 14:{let r=e.readUInt8(),i=e.readUInt16LE(),o=e.readUInt32LE();return{stacktype:sn[t],force:r,proto:i,linkid:o}}default:throw new Error(`Unknown LuaItemStack type ${t}`)}}loadLuaControlBehavior(e){let t=e.readUInt32LE(),r=e.readUInt32LE();return{behavior:_f[t],target:r}}loadLuaFlowStatistics(e){let t=e.readUInt32LE();switch(t){case 1:case 2:case 3:case 6:let r=e.readUInt8();return{flow:Ji[t],force:r};case 7:let i=e.readUInt32LE();return{flow:Ji[t],target:i};case 8:return{flow:Ji[t]};default:throw new Error(`Unknown LuaFlowStatistics type ${t}`)}}};export{iR as a,_n as b,pt as c,Vn as d,Jy as e,Lr as f,tt as g,Lt as h,Nn as i,ji as j,Km as k,Zw as l,ag as m,nR as n,yn as o,Pr as p,vd as q,zt as r,ce as s,Mt as t,Vi as u,kr as v,Wi as w,nn as x,rn as y,wt as z,ze as A,Ht as B,Qe as C,xe as D,of as E,e0 as F,n0 as G,Ia as H,pf as I,Er as J,nf as K,hf as L};
3420
- //# sourceMappingURL=chunk-M5LZ6CNU.js.map
3421
+ `+t.slice(i.index+i[0].length)}await this.fs.writeFile(e,Buffer.from(t)),this.iniData=Ir.parse(t)}async defaultModsPath(){let e=(await this.configIni())?.path?.["write-data"];if(!e)throw new Error("path.write-data missing in config.ini");return ye.posix.normalize(ye.resolve(this.translatePath(e),"mods"))}async dataPath(){let e=(await this.configIni().catch(()=>({path:{"read-data":"__PATH__executable__/../../data"}}))).path?.["read-data"];if(!e)throw new Error("path.read-data missing in config.ini");return ye.posix.normalize(this.translatePath(e))}async lualibPath(){return ye.posix.normalize(ye.resolve(await this.dataPath(),"core","lualib"))}async writeDataPath(){let e=(await this.configIni()).path?.["write-data"];if(!e)throw new Error("path.write-data missing in config.ini");return ye.posix.normalize(this.translatePath(e))}translatePath(e){if(e.startsWith("__PATH__executable__"))return ye.join(ye.dirname(this.factorioPath),e.replace("__PATH__executable__",""));if(e.startsWith("__PATH__system-write-data__")){let t=ht.platform()==="win32"?ye.resolve(process.env.APPDATA,"Factorio"):ht.platform()==="linux"?ye.resolve(ht.homedir(),".factorio"):ht.platform()==="darwin"?ye.resolve(ht.homedir(),"Library/Application Support/factorio"):"??";return ye.join(t,e.replace("__PATH__system-write-data__",""))}if(e.startsWith("__PATH__system-read-data__")){let t=ht.platform()==="linux"?"/usr/share/factorio":ht.platform()==="darwin"?ye.resolve(ye.dirname(this.factorioPath),"../data"):ye.resolve(ye.dirname(this.factorioPath),"../../data");return ye.join(t,e.replace("__PATH__system-read-data__",""))}return e}is(e){let t=this.fv;return t.name===e.name&&t.factorioPath===e.factorioPath&&t.configPath===e.configPath&&t.nativeDAP===e.nativeDAP&&t.onlineDocs===e.onlineDocs&&t.docsPath===e.docsPath&&t.protosPath===e.protosPath}};var hf=(l=>(l[l.Nil=0]="Nil",l[l.BoolFalse=1]="BoolFalse",l[l.BoolTrue=2]="BoolTrue",l[l.Number=3]="Number",l[l.String=4]="String",l[l.Table=5]="Table",l[l.ExistingGCObject=6]="ExistingGCObject",l[l.LuaObject=7]="LuaObject",l[l.TableWithMeta=8]="TableWithMeta",l))(hf||{}),mf=(b=>(b[b.LuaEntity=0]="LuaEntity",b[b.LuaInvalidObject=1]="LuaInvalidObject",b[b.LuaRecipe=2]="LuaRecipe",b[b.LuaTechnology=3]="LuaTechnology",b[b.LuaRandomGenerator=4]="LuaRandomGenerator",b[b.LuaForce=5]="LuaForce",b[b.LuaBurner=6]="LuaBurner",b[b.LuaLogisticPoint=7]="LuaLogisticPoint",b[b.LuaDecorativePrototype=8]="LuaDecorativePrototype",b[b.LuaCustomChartTag=9]="LuaCustomChartTag",b[b.LuaPermissionGroups=10]="LuaPermissionGroups",b[b.LuaPermissionGroup=11]="LuaPermissionGroup",b[b.LuaUnitGroup=12]="LuaUnitGroup",b[b.LuaTrain=13]="LuaTrain",b[b.LuaFluidBox=14]="LuaFluidBox",b[b.LuaEntityPrototype=15]="LuaEntityPrototype",b[b.LuaItemPrototype=16]="LuaItemPrototype",b[b.LuaEquipmentGrid=18]="LuaEquipmentGrid",b[b.LuaEquipment=19]="LuaEquipment",b[b.LuaItemStack=20]="LuaItemStack",b[b.LuaPlayer=21]="LuaPlayer",b[b.LuaGui=22]="LuaGui",b[b.LuaGuiElement=23]="LuaGuiElement",b[b.LuaStyle=24]="LuaStyle",b[b.LuaSurface=25]="LuaSurface",b[b.LuaFluidPrototype=26]="LuaFluidPrototype",b[b.LuaGroup=27]="LuaGroup",b[b.LuaTile=28]="LuaTile",b[b.LuaChunkIterator=29]="LuaChunkIterator",b[b.LuaStructMapSettings=30]="LuaStructMapSettings",b[b.LuaTransportLine=31]="LuaTransportLine",b[b.LuaLogisticNetwork=32]="LuaLogisticNetwork",b[b.LuaLogisticCell=33]="LuaLogisticCell",b[b.LuaInventory=34]="LuaInventory",b[b.LuaControlBehavior=35]="LuaControlBehavior",b[b.LuaFlowStatistics=36]="LuaFlowStatistics",b[b.LuaTilePrototype=37]="LuaTilePrototype",b[b.LuaEquipmentPrototype=38]="LuaEquipmentPrototype",b[b.LuaCircuitNetwork=39]="LuaCircuitNetwork",b[b.LuaDamagePrototype=40]="LuaDamagePrototype",b[b.LuaVirtualSignalPrototype=41]="LuaVirtualSignalPrototype",b[b.LuaEquipmentGridPrototype=42]="LuaEquipmentGridPrototype",b[b.LuaRecipePrototype=43]="LuaRecipePrototype",b[b.LuaTechnologyPrototype=44]="LuaTechnologyPrototype",b[b.LuaBurnerPrototype=45]="LuaBurnerPrototype",b[b.LuaElectricEnergySourcePrototype=46]="LuaElectricEnergySourcePrototype",b[b.LuaCustomInputPrototype=47]="LuaCustomInputPrototype",b[b.LuaNoiseLayerPrototype=48]="LuaNoiseLayerPrototype",b[b.LuaAutoplaceControlPrototype=49]="LuaAutoplaceControlPrototype",b[b.LuaModSettingPrototype=50]="LuaModSettingPrototype",b[b.LuaAmmoCategoryPrototype=51]="LuaAmmoCategoryPrototype",b[b.LuaRailPath=52]="LuaRailPath",b[b.LuaFluidBoxPrototype=53]="LuaFluidBoxPrototype",b[b.LuaAISettings=54]="LuaAISettings",b[b.LuaProfiler=55]="LuaProfiler",b[b.LuaNamedNoiseExpression=56]="LuaNamedNoiseExpression",b[b.LuaFuelCategoryPrototype=57]="LuaFuelCategoryPrototype",b[b.LuaResourceCategoryPrototype=58]="LuaResourceCategoryPrototype",b[b.LuaAchievementPrototype=59]="LuaAchievementPrototype",b[b.LuaModuleCategoryPrototype=60]="LuaModuleCategoryPrototype",b[b.LuaEquipmentCategoryPrototype=61]="LuaEquipmentCategoryPrototype",b[b.LuaTrivialSmokePrototype=62]="LuaTrivialSmokePrototype",b[b.LuaShortcutPrototype=63]="LuaShortcutPrototype",b[b.LuaRecipeCategoryPrototype=64]="LuaRecipeCategoryPrototype",b[b.LuaParticlePrototype=65]="LuaParticlePrototype",b[b.LuaFluidEnergySourcePrototype=66]="LuaFluidEnergySourcePrototype",b[b.LuaHeatEnergySourcePrototype=67]="LuaHeatEnergySourcePrototype",b[b.LuaVoidEnergySourcePrototype=68]="LuaVoidEnergySourcePrototype",b[b.LuaFontPrototype=69]="LuaFontPrototype",b[b.LuaQualityPrototype=70]="LuaQualityPrototype",b[b.LuaSpaceLocationPrototype=71]="LuaSpaceLocationPrototype",b[b.LuaPlanetType=72]="LuaPlanetType",b[b.LuaUndoRedoStackType=73]="LuaUndoRedoStackType",b[b.LuaSurfacePropertyPrototype=74]="LuaSurfacePropertyPrototype",b[b.LuaCustomEventPrototype=75]="LuaCustomEventPrototype",b[b.LuaSpaceConnectionPrototype=76]="LuaSpaceConnectionPrototype",b[b.LuaActiveTriggerPrototype=77]="LuaActiveTriggerPrototype",b[b.LuaSpacePlatformType=78]="LuaSpacePlatformType",b[b.LuaHeatBufferPrototype=79]="LuaHeatBufferPrototype",b[b.LuaWireConnectorType=80]="LuaWireConnectorType",b[b.LuaAsteroidChunkPrototype=81]="LuaAsteroidChunkPrototype",b[b.LuaLogisticSection=82]="LuaLogisticSection",b[b.LuaRailEnd=83]="LuaRailEnd",b[b.LuaNamedNoiseFunction=84]="LuaNamedNoiseFunction",b[b.LuaCollisionLayerPrototype=85]="LuaCollisionLayerPrototype",b[b.LuaSimulationType=86]="LuaSimulationType",b[b.LuaAirbornePollutionPrototype=87]="LuaAirbornePollutionPrototype",b[b.LuaItem=88]="LuaItem",b[b.LuaTrainManager=89]="LuaTrainManager",b[b.LuaRenderObject=90]="LuaRenderObject",b[b.LuaRecord=91]="LuaRecord",b[b.LuaBurnerUsagePrototype=92]="LuaBurnerUsagePrototype",b[b.LuaSurfacePrototype=93]="LuaSurfacePrototype",b[b.LuaProcessionPrototype=94]="LuaProcessionPrototype",b[b.LuaProcessionLayerInheritanceGroupPrototype=95]="LuaProcessionLayerInheritanceGroupPrototype",b[b.LuaLogisticSections=96]="LuaLogisticSections",b[b.xLuaFutureObject=-1]="xLuaFutureObject",b))(mf||{}),sn=(k=>(k[k.None=0]="None",k[k.EntityInventory=1]="EntityInventory",k[k.ControllerInventory=2]="ControllerInventory",k[k.ItemEntity=3]="ItemEntity",k[k.EntityCursorStack=4]="EntityCursorStack",k[k.ControllerCursorStack=5]="ControllerCursorStack",k[k.Inserter=6]="Inserter",k[k.ItemWithInventory=7]="ItemWithInventory",k[k.BeltConnectable=8]="BeltConnectable",k[k.Equipment=9]="Equipment",k[k.TargetableInventory=10]="TargetableInventory",k[k.TargetableItemStack=11]="TargetableItemStack",k[k.PlayerBlueprint=12]="PlayerBlueprint",k[k.ScriptInventory=13]="ScriptInventory",k[k.LinkedInventory=14]="LinkedInventory",k))(sn||{}),gf=(B=>(B[B.Container=1]="Container",B[B.GenericOnOff=2]="GenericOnOff",B[B.Inserter=3]="Inserter",B[B.Lamp=4]="Lamp",B[B.LogisticContainer=5]="LogisticContainer",B[B.Roboport=6]="Roboport",B[B.StorageTank=7]="StorageTank",B[B.TrainStop=8]="TrainStop",B[B.DeciderCombinator=9]="DeciderCombinator",B[B.ArithmeticCombinator=10]="ArithmeticCombinator",B[B.ConstantCombinator=11]="ConstantCombinator",B[B.TransportBelt=12]="TransportBelt",B[B.Accumulator=13]="Accumulator",B[B.RailSignal=14]="RailSignal",B[B.Wall=15]="Wall",B[B.MiningDrill=16]="MiningDrill",B[B.ProgrammableSpeaker=17]="ProgrammableSpeaker",B[B.RailChainSignal=18]="RailChainSignal",B))(gf||{}),Zi=(s=>(s[s.ItemProduction=1]="ItemProduction",s[s.FluidProduction=2]="FluidProduction",s[s.KillCount=3]="KillCount",s[s.EntityBuild=6]="EntityBuild",s[s.ElectricNetwork=7]="ElectricNetwork",s[s.Pollution=8]="Pollution",s))(Zi||{}),pf=class{version;data;gcid=0;gcidmap=[];gcidmaps;constructor(e){this.version=Pn.load(e.read(9)),this.data={},this.gcidmaps={};let t=e.readUInt32LE();for(let r=0;r<t;r++){let i=e.readPackedUInt_8_32(),o=e.readString(i),s=e.readPackedUInt_8_32(),a=new Nn(e.read(s));Pn.load(a.read(9)),this.gcid=0,this.gcidmap=[];let d=this.loadLuaValue(a);if(a.readableLength>0)throw new Error(`Data for ${o} not fully consumed, ${a.readableLength} bytes left`);e.readUInt8(),this.data[o]=d,this.gcidmaps[o]=this.gcidmap}}find(e,t){return this.gcidmaps[e][t]}loadLuaValue(e){let t=e.readUInt8(),r=hf[t];switch(r){case"Nil":case"BoolFalse":case"BoolTrue":return{type:r};case"Number":{let o=e.readDoubleLE();return{type:r,value:o}}case"String":{let o=e.readPackedUInt_8_32(),s=e.readString(o);return{type:r,value:s}}case"TableWithMeta":case"Table":{let o=this.gcid++,s;if(r==="TableWithMeta"){let h=e.readPackedUInt_8_32();s=e.readString(h)}let a=e.readPackedUInt_8_32(),d=[];for(let h=0;h<a;h++){let v=this.loadLuaValue(e),w=this.loadLuaValue(e);d.push({key:v,value:w})}let l={type:r,id:o,values:d,meta:s};return this.gcidmap[o]=l,l}case"ExistingGCObject":let i=e.readPackedUInt_16_32();return{type:r,id:i};case"LuaObject":{let o="LuaObject",s=this.gcid++,a=e.readUInt32LE(),d=mf[a],l=this.loadLuaObjectData(a,e);return{type:o,id:s,value:Object.assign({type:d},l)}}default:throw new Error(`Invalid type ${r} in saved lua value`)}}loadLuaObjectData(e,t){switch(e){case 0:case 11:case 12:case 13:case 14:case 18:case 19:case 21:case 22:case 32:case 33:case 52:case 54:return{target:t.readUInt32LE()};case 10:return{};case 2:case 3:{let r=t.readUInt8(),i=t.readUInt16LE();return{force:r,id:i}}case 4:return{seed:[t.readUInt32LE(),t.readUInt32LE(),t.readUInt32LE()]};case 6:{let r=t.readUInt32LE(),i=t.readUInt32LE();return{entity:r,equipment:i}}case 7:{let r=t.readUInt8(),i=t.readUInt32LE();return{index:r,owner:i}}case 9:{let r=t.readUInt8(),i=t.readPackedUInt_8_32(),o=t.readUInt32LE();return{force:r,surface:i,target:o}}case 8:return this.version.isBeyond(1,2,1,4)?{id:t.readUInt16LE()}:{id:t.readUInt8()};case 37:return this.version.isBeyond(1,2,0,3)?{id:t.readUInt16LE()}:{id:t.readUInt8()};case 5:case 40:case 42:case 49:case 51:case 57:case 58:case 60:case 61:case 62:return{id:t.readUInt8()};case 15:case 16:case 26:case 38:case 41:case 43:case 44:case 47:case 48:case 50:case 59:case 63:case 64:case 65:case 66:case 67:case 68:case 79:return{id:t.readUInt16LE()};case 56:case 84:return{id:t.readUInt32LE()};case 28:{let r={x:t.readInt32LE(),y:t.readInt32LE()},i=t.readPackedUInt_8_32();return{position:r,surface:i}}case 23:case 24:{let r=t.readUInt32LE(),i=t.readUInt32LE();return{player:r,index:i}}case 25:return this.version.isBeyond(1,2,7,1)?{target:t.readUInt32LE()}:{surface:t.readPackedUInt_8_32()};case 27:{let r=t.readUInt8(),i=t.readUInt16LE();return{group:r,subgroup:i}}case 29:{let r=t.readPackedUInt_8_32(),i={x:t.readInt32LE(),y:t.readInt32LE()};return{surface:r,position:i}}case 31:{let r=t.readUInt32LE(),i=t.readUInt8();return{target:r,index:i}}case 34:{let r=t.readUInt32LE(),i=t.readUInt32LE(),o=t.readUInt32LE(),s=t.readUInt32LE(),a=t.readUInt32LE(),d=t.readUInt8()!==0,l;if(d){let v=t.readUInt8(),w=t.readUInt16LE(),_=t.readUInt32LE();l={force:v,proto:w,linkid:_}}let h=t.readUInt8();return{entity:r,controller:i,item:o,equipment:s,scriptinv:a,link:l,index:h}}case 45:case 46:{let r=t.readUInt16LE(),i=t.readUInt16LE();return{entity:r,equipment:i}}case 53:{let r=t.readUInt16LE(),i=t.readUInt32LE(),o=t.readUInt8();return{entity:r,index:i,targettype:o}}case 55:return{stopped:t.readUInt8()!==0};case 69:{let r=t.readUInt8()!==0,i;if(r){let o=t.readPackedUInt_8_32();i=t.readString(o)}return{name:i}}case 39:{let r=t.readUInt32LE(),i=t.readUInt8(),o=t.readUInt8();return{target:r,connector:i,wire:o}}case 20:return this.loadLuaItemStack(t);case 35:return this.loadLuaControlBehavior(t);case 36:return this.loadLuaFlowStatistics(t);case 30:throw new Error(`LuaObject of type ${e} cannot have been saved`);default:throw new Error(`Unknown LuaObject type ${e}`)}}loadItemStackLocation(e){let t=this.version.isBeyond(1,2,0,33)?e.readUInt8():0;if(t!==0)return{standaloneStack:t};let r=e.readUInt8(),i=e.readUInt16LE();return{inventoryIndex:r,slotIndex:i}}loadLuaItemStack(e){let t=this.version.isBeyond(1,2,0,359)?e.readUInt8():e.readUInt32LE();switch(t){case 0:return{stacktype:sn[t]};case 1:case 2:case 7:case 9:{let r=e.readUInt32LE(),i;if(this.version.isBeyond(1,2,0,361))i=this.loadItemStackLocation(e);else{let o=e.readUInt8(),s=e.readUInt16LE();i={inventoryIndex:o,slotIndex:s}}return{stacktype:sn[t],target:r,location:i}}case 3:case 4:case 5:case 6:case 12:{let r=e.readUInt32LE();return{stacktype:sn[t],target:r}}case 8:{let r=e.readUInt32LE(),i=e.readUInt8(),o=e.readUInt8();return{stacktype:sn[t],target:r,line:i,item:o}}case 10:throw new Error(`LuaItemStack type ${t} cannot have been saved`);case 11:return{stacktype:sn[t]};case 13:{let r=e.readUInt32LE(),i=e.readUInt16LE();return{stacktype:sn[t],target:r,slot:i}}case 14:{let r=e.readUInt8(),i=e.readUInt16LE(),o=e.readUInt32LE();return{stacktype:sn[t],force:r,proto:i,linkid:o}}default:throw new Error(`Unknown LuaItemStack type ${t}`)}}loadLuaControlBehavior(e){let t=e.readUInt32LE(),r=e.readUInt32LE();return{behavior:gf[t],target:r}}loadLuaFlowStatistics(e){let t=e.readUInt32LE();switch(t){case 1:case 2:case 3:case 6:let r=e.readUInt8();return{flow:Zi[t],force:r};case 7:let i=e.readUInt32LE();return{flow:Zi[t],target:i};case 8:return{flow:Zi[t]};default:throw new Error(`Unknown LuaFlowStatistics type ${t}`)}}};export{iR as a,_n as b,pt as c,Vn as d,Zy as e,Lr as f,tt as g,Lt as h,Nn as i,ji as j,Hm as k,Qw as l,sg as m,nR as n,yn as o,Pr as p,yd as q,zt as r,ce as s,Mt as t,Vi as u,kr as v,Wi as w,nn as x,rn as y,wt as z,ze as A,Ht as B,Je as C,xe as D,nf as E,e0 as F,n0 as G,df as H,ff as I,Er as J,ef as K,pf as L};
3422
+ //# sourceMappingURL=chunk-USWMQ2GW.js.map