mfussenegger / nvim-dap

Debug Adapter Protocol client implementation for Neovim

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can't work with cortex-debug adapter

liuyangzys opened this issue · comments

Debug adapter definition and debug configuration

I have tried to use a new adapter for my needs, the cortex-debug adapter (https://github.com/Marus/cortex-debug), which is a debug tool for ARM Cortex-M Microcontrollers.
The cortex-debug adapter can work with my launch.json file. And somebody has already run it with Vimspector before (puremourning/vimspector#377). But it can't work with nvim-dap now.

Debug adapter version

No response

Steps to Reproduce

  1. make a ARM Cortex-M Microcontrollers project , create the correct launch.json file
  2. test the cortex-debug adapter work with VScode, it does work
  3. test the cortex-debug adapter work with nvim-dap, faild

Here is my config about the adapter

dap.adapters.cortex_debug = {
	type = "executable",
	command = "node",
	args = { global.home .. "/.vscode/extensions/marus25.cortex-debug-1.4.4/dist/debugadapter.js" },
	options = { detached = false },
}

and the lauch.json is as bellow

{
            "name": "Cortex Debug-Openocd",
            "cwd": "${workspaceFolder}",
            "executable": "./build/CONTROLLER_V7PRO_XXXXXXXX.elf",
            "gdbPath": "arm-none-eabi-gdb.exe",
            "request": "launch",
            "type": "cortex_debug",
            "servertype": "openocd",
            "configFiles": [
                "interface/cmsis-dap.cfg",
                "target/stm32f4x.cfg"
            ],
            "interface": "swd",
            "cpu": "cortex-m4",
            "device": "STM32F405RG",
            "showDevDebugOutput": "both"
        }

Expected Result

It can work with vimdap just like vscode or vimspector

image

Actual Result

the debug info is too long , and I have to delete a part of it

[ DEBUG ] 2022-04-21T22:20:13Z+0800 ] ...m-data\site\pack\packer\opt\nvim-dap/lua/dap/session.lua:800 ]	"Spawning debug adapter"	{
  args = { "C:\\Users\\liuya/.vscode/extensions/marus25.cortex-debug-1.4.4/dist/debugadapter.js" },
  command = "node",
  options = {
    detached = false
  },
  type = "executable"
}
[ DEBUG ] 2022-04-21T22:20:13Z+0800 ] ...m-data\site\pack\packer\opt\nvim-dap/lua/dap/session.lua:989 ]	"request"	{
  arguments = {
    adapterID = "nvim-dap",
    clientId = "neovim",
    clientname = "neovim",
    columnsStartAt1 = true,
    linesStartAt1 = true,
    locale = "en_US",
    pathFormat = "path",
    supportsRunInTerminalRequest = true,
    supportsVariableType = true
  },
  command = "initialize",
  seq = 0,
  type = "request"
}
[ DEBUG ] 2022-04-21T22:20:13Z+0800 ] ...m-data\site\pack\packer\opt\nvim-dap/lua/dap/session.lua:638 ]	{
  body = {
    supportSuspendDebuggee = true,
    supportTerminateDebuggee = true,
    supportsConditionalBreakpoints = true,
    supportsConfigurationDoneRequest = true,
    supportsDataBreakpoints = true,
    supportsDisassembleRequest = true,
    supportsEvaluateForHovers = true,
    supportsFunctionBreakpoints = true,
    supportsGotoTargetsRequest = true,
    supportsHitConditionalBreakpoints = true,
    supportsInstructionBreakpoints = true,
    supportsLogPoints = true,
    supportsReadMemoryRequest = true,
    supportsRestartRequest = true,
    supportsSetVariable = true,
    supportsSteppingGranularity = true
  },
  command = "initialize",
  request_seq = 0,
  seq = 1,
  success = true,
  type = "response"
}
[ DEBUG ] 2022-04-21T22:20:13Z+0800 ] ...m-data\site\pack\packer\opt\nvim-dap/lua/dap/session.lua:989 ]	"request"	{
  arguments = {
    configFiles = { "interface/cmsis-dap.cfg", "target/stm32f4x.cfg" },
    cpu = "cortex-m4",
    cwd = "C:\\Users\\liuya\\work2\\backup1\\CONTROL_APP_MPU6500",
    device = "STM32F405RG",
    executable = "./build/CONTROLLER_V7PRO_XXXXXXXX.elf",
    gdbPath = "arm-none-eabi-gdb.exe",
    interface = "swd",
    name = "Cortex Debug-Openocd",
    request = "launch",
    servertype = "openocd",
    showDevDebugOutput = "both",
    type = "cortex_debug"
  },
  command = "launch",
  seq = 1,
  type = "request"
}
[ DEBUG ] 2022-04-21T22:20:13Z+0800 ] ...m-data\site\pack\packer\opt\nvim-dap/lua/dap/session.lua:638 ]	{
  body = {
    category = "stderr",
    output = "Reading symbols from arm-none-eabi-objdump.exe --syms -C -h -w C:\\Users\\liuya\\work2\\backup1\\CONTROL_APP_MPU6500\\build\\CONTROLLER_V7PRO_XXXXXXXX.elf\n"
  },
  event = "output",
  seq = 2,
  type = "event"
}
[ DEBUG ] 2022-04-21T22:20:13Z+0800 ] ...m-data\site\pack\packer\opt\nvim-dap/lua/dap/session.lua:638 ]	{
  body = {
    category = "stderr",
    output = "Reading symbols from arm-none-eabi-nm.exe --defined-only -S -l -C -p C:\\Users\\liuya\\work2\\backup1\\CONTROL_APP_MPU6500\\build\\CONTROLLER_V7PRO_XXXXXXXX.elf\n"
  },
  event = "output",
  seq = 3,
  type = "event"
}
[ DEBUG ] 2022-04-21T22:20:13Z+0800 ] ...m-data\site\pack\packer\opt\nvim-dap/lua/dap/session.lua:638 ]	{
  body = {
    category = "stderr",
    output = 'Launching GDB: arm-none-eabi-gdb.exe -q --interpreter=mi2 "C:\\\\Users\\\\liuya\\\\work2\\\\backup1\\\\CONTROL_APP_MPU6500\\\\build\\\\CONTROLLER_V7PRO_XXXXXXXX.elf"\n'
  },
  event = "output",
  seq = 4,
  type = "event"
}
[ DEBUG ] 2022-04-21T22:20:14Z+0800 ] ...m-data\site\pack\packer\opt\nvim-dap/lua/dap/session.lua:638 ]	{
  body = {
    category = "stderr",
    output = "1-gdb-set target-async on\n"
  },
  event = "output",
  seq = 5,
  type = "event"
}
[ ERROR ] 2022-04-21T22:20:14Z+0800 ] ...m-data\site\pack\packer\opt\nvim-dap/lua/dap/session.lua:851 ]	"stderr"	{
  args = { "C:\\Users\\liuya/.vscode/extensions/marus25.cortex-debug-1.4.4/dist/debugadapter.js" },
  command = "node",
  options = {
    detached = false
  },
  type = "executable"
}	"C:\\Users\\liuya\\.vscode\\extensions\\marus25.cortex-debug-1.4.4\\dist\\debugadapter.js:2\r\n(()=>{var e={4651:(e,t,s)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.DebugSession=t.ErrorDestination=t.MemoryEvent=t.InvalidatedEvent=t.ProgressEndEvent=t.ProgressUpdateEvent=t.ProgressStartEvent=t.CapabilitiesEvent=t.LoadedSourceEvent=t.ModuleEvent=t.BreakpointEvent=t.ThreadEvent=t.OutputEvent=t.ExitedEvent=t.TerminatedEvent=t.InitializedEvent=t.ContinuedEvent=t.StoppedEvent=t.CompletionItem=t.Module=t.Breakpoint=t.Variable=t.Thread=t.StackFrame=t.Scope=t.Source=void 0;const r=s(7147),n=s(601),i=s(8153),o=s(7310);t.Source=class{constructor(e,t,s=0,r,n){this.name=e,this.path=t,this.sourceReference=s,r&&(this.origin=r),n&&(this.adapterData=n)}},t.Scope=class{constructor(e,t,s=!1){this.name=e,this.variablesReference=t,this.expensive=s}},t.StackFrame=class{constructor(e,t,s,r=0,n=0){this.id=e,this.source=s,this.line=r,this.column=n,this.name=t}},t.Thread=class{constructor(e,t){this.id=e,this.name=t||\"Thread #\"+e}},t.Variable=class{constructor(e,t,s=0,r,n){this.name=e,this.value=t,this.variablesReference=s,\"number\"==typeof n&&(this.namedVariables=n),\"number\"==typeof r&&(this.indexedVariables=r)}},t.Breakpoint=class{constructor(e,t,s,r){this.verified=e;const n=this;\"number\"==typeof t&&(n.line=t),\"number\"==typeof s&&(n.column=s),r&&(n.source=r)}setId(e){this.id=e}},t.Module=class{constructor(e,t){this.id=e,this.name=t}},t.CompletionItem=class{constructor(e,t,s=0){this.label=e,this.start=t,this.length=s}};class a extends n.Event{constructor(e,t,s){super(\"stopped\"),this.body={reason:e},\"number\"==typeof t&&(this.body.threadId=t),\"string\"==typeof s&&(this.body.text=s)}}t.StoppedEvent=a;class c extends n.Event{constructor(e,t){super(\"continued\"),this.body={threadId:e},\"boolean\"==typeof t&&(this.body.allThreadsContinued=t)}}t.ContinuedEvent=c;class h extends n.Event{constructor(){super(\"initialized\")}}t.InitializedEvent=h;class u extends n.Event{constructor(e){super(\"terminated\"),(\"boolean\"==typeof e||e)&&(this.body={restart:e})}}t.TerminatedEvent=u;class l extends n.Event{constructor(e){super(\"exited\"),this.body={exitCode:e}}}t.ExitedEvent=l;class d extends n.Event{constructor(e,t=\"console\",s){super(\"output\"),this.body={category:t,output:e},void 0!==s&&(this.body.data=s)}}t.OutputEvent=d;class p extends n.Event{constructor(e,t){super(\"thread\"),this.body={reason:e,threadId:t}}}t.ThreadEvent=p;class f extends n.Event{constructor(e,t){super(\"breakpoint\"),this.body={reason:e,breakpoint:t}}}t.BreakpointEvent=f;class m extends n.Event{constructor(e,t){super(\"module\"),this.body={reason:e,module:t}}}t.ModuleEvent=m;class g extends n.Event{constructor(e,t){super(\"loadedSource\"),this.body={reason:e,source:t}}}t.LoadedSourceEvent=g;class b extends n.Event{constructor(e){super(\"capabilities\"),this.body={capabilities:e}}}t.CapabilitiesEvent=b;class v extends n.Event{constructor(e,t,s){super(\"progressStart\"),this.body={progressId:e,title:t},\"string\"==typeof s&&(this.body.message=s)}}t.ProgressStartEvent=v;class y extends n.Event{constructor(e,t){super(\"progressUpdate\"),this.body={progressId:e},\"string\"==typeof t&&(this.body.message=t)}}t.ProgressUpdateEvent=y;class S extends n.Event{constructor(e,t){super(\"progressEnd\"),this.body={progressId:e},\"string\"==typeof t&&(this.body.message=t)}}t.ProgressEndEvent=S;class E extends n.Event{constructor(e,t,s){super(\"invalidated\"),this.body={},e&&(this.body.areas=e),t&&(this.body.threadId=t),s&&(this.body.stackFrameId=s)}}t.InvalidatedEvent=E;class x extends n.Event{constructor(e,t,s){super(\"memory\"),this.body={memoryReference:e,offset:t,count:s}}}var R;t.MemoryEvent=x,function(e){e[e.User=1]=\"User\",e[e.Telemetry=2]=\"Telemetry\"}(R=t.ErrorDestination||(t.ErrorDestination={}));class w extends r.ProtocolServer{constructor(e,t){super();const s=\"boolean\"==typeof e&&e;this._debuggerLinesStartAt1=s,this._debuggerColumnsStartAt1=s,this._debuggerPathsAreURIs=!1,this._clientLinesStartAt1=!0,this._clientColumnsStartAt1=!0,this._clientPathsAreURIs=!1,this._isServer=\"boolean\"==typeof t&&t,this.on(\"close\",(()=>{this.shutdown()})),this.on(\"error\",(e=>{this.shutdown()}))}setDebuggerPathFormat(e){this._debuggerPathsAreURIs=\"path\"!==e}setDebuggerLinesStartAt1(e){this._debuggerLinesStartAt1=e}setDebuggerColumnsStartAt1(e){this._debuggerColumnsStartAt1=e}setRunAsServer(e){this._isServer=e}static run(e){(0,i.runDebugAdapter)(e)}shutdown(){this._isServer||this._isRunningInline()||setTimeout((()=>{process.exit(0)}),100)}sendErrorResponse(e,t,s,r,n=R.User){let i;\"number\"==typeof t?(i={id:t,format:s},r&&(i.variables=r),n&R.User&&(i.showUser=!0),n&R.Telemetry&&(i.sendTelemetry=!0)):i=t,e.success=!1,e.message=w.formatPII(i.format,!0,i.variables),e.body||(e.body={}),e.body.error=i,this.sendResponse(e)}runInTerminalRequest(e,t,s){this.sendRequest(\"runInTerminal\",e,t,s)}dispatchRequest(e){const t=new n.Response(e);try{if(\"initialize\"===e.command){var s=e.arguments;if(\"boolean\"==typeof s.linesStartAt1&&(this._clientLinesStartAt1=s.linesStartAt1),\"boolean\"==typeof s.columnsStartAt1&&(this._clientColumnsStartAt1=s.columnsStartAt1),\"path\"!==s.pathFormat)this.sendErrorResponse(t,2018,\"debug adapter only supports native paths\",null,R.Telemetry);else{const e=t;e.body={},this.initializeRequest(e,s)}}else\"launch\"===e.command?this.launchRequest(t,e.arguments,e):\"attach\"===e.command?this.attachRequest(t,e.arguments,e):\"disconnect\"===e.command?this.disconnectRequest(t,e.arguments,e):\"terminate\"===e.command?this.terminateRequest(t,e.arguments,e):\"restart\"===e.command?this.restartRequest(t,e.arguments,e):\"setBreakpoints\"===e.command?this.setBreakPointsRequest(t,e.arguments,e):\"setFunctionBreakpoints\"===e.command?this.setFunctionBreakPointsRequest(t,e.arguments,e):\"setExceptionBreakpoints\"===e.command?this.setExceptionBreakPointsRequest(t,e.arguments,e):\"configurationDone\"===e.command?this.configurationDoneRequest(t,e.arguments,e):\"continue\"===e.command?this.continueRequest(t,e.arguments,e):\"next\"===e.command?this.nextRequest(t,e.arguments,e):\"stepIn\"===e.command?this.stepInRequest(t,e.arguments,e):\"stepOut\"===e.command?this.stepOutRequest(t,e.arguments,e):\"stepBack\"===e.command?this.stepBackRequest(t,e.arguments,e):\"reverseContinue\"===e.command?this.reverseContinueRequest(t,e.arguments,e):\"restartFrame\"===e.command?this.restartFrameRequest(t,e.arguments,e):\"goto\"===e.command?this.gotoRequest(t,e.arguments,e):\"pause\"===e.command?this.pauseRequest(t,e.arguments,e):\"stackTrace\"===e.command?this.stackTraceRequest(t,e.arguments,e):\"scopes\"===e.command?this.scopesRequest(t,e.arguments,e):\"variables\"===e.command?this.variablesRequest(t,e.arguments,e):\"setVariable\"===e.command?this.setVariableRequest(t,e.arguments,e):\"setExpression\"===e.command?this.setExpressionRequest(t,e.arguments,e):\"source\"===e.command?this.sourceRequest(t,e.arguments,e):\"threads\"===e.command?this.threadsRequest(t,e):\"terminateThreads\"===e.command?this.terminateThreadsRequest(t,e.arguments,e):\"evaluate\"===e.command?this.evaluateRequest(t,e.arguments,e):\"stepInTargets\"===e.command?this.stepInTargetsRequest(t,e.arguments,e):\"gotoTargets\"===e.command?this.gotoTargetsRequest(t,e.arguments,e):\"completions\"===e.command?this.completionsRequest(t,e.arguments,e):\"exceptionInfo\"===e.command?this.exceptionInfoRequest(t,e.arguments,e):\"loadedSources\"===e.command?this.loadedSourcesRequest(t,e.arguments,e):\"dataBreakpointInfo\"===e.command?this.dataBreakpointInfoRequest(t,e.arguments,e):\"setDataBreakpoints\"===e.command?this.setDataBreakpointsRequest(t,e.arguments,e):\"readMemory\"===e.command?this.readMemoryRequest(t,e.arguments,e):\"writeMemory\"===e.command?this.writeMemoryRequest(t,e.arguments,e):\"disassemble\"===e.command?this.disassembleRequest(t,e.arguments,e):\"cancel\"===e.command?this.cancelRequest(t,e.arguments,e):\"breakpointLocations\"===e.command?this.breakpointLocationsRequest(t,e.arguments,e):\"setInstructionBreakpoints\"===e.command?this.setInstructionBreakpointsRequest(t,e.arguments,e):this.customRequest(e.command,t,e.arguments,e)}catch(e){this.sendErrorResponse(t,1104,\"{_stack}\",{_exception:e.message,_stack:e.stack},R.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,s){this.sendResponse(e),this.shutdown()}launchRequest(e,t,s){this.sendResponse(e)}attachRequest(e,t,s){this.sendResponse(e)}terminateRequest(e,t,s){this.sendResponse(e)}restartRequest(e,t,s){this.sendResponse(e)}setBreakPointsRequest(e,t,s){this.sendResponse(e)}setFunctionBreakPointsRequest(e,t,s){this.sendResponse(e)}setExceptionBreakPointsRequest(e,t,s){this.sendResponse(e)}configurationDoneRequest(e,t,s){this.sendResponse(e)}continueRequest(e,t,s){this.sendResponse(e)}nextRequest(e,t,s){this.sendResponse(e)}stepInRequest(e,t,s){this.sendResponse(e)}stepOutRequest(e,t,s){this.sendResponse(e)}stepBackRequest(e,t,s){this.sendResponse(e)}reverseContinueRequest(e,t,s){this.sendResponse(e)}restartFrameRequest(e,t,s){this.sendResponse(e)}gotoRequest(e,t,s){this.sendResponse(e)}pauseRequest(e,t,s){this.sendResponse(e)}sourceRequest(e,t,s){this.sendResponse(e)}threadsRequest(e,t){this.sendResponse(e)}terminateThreadsRequest(e,t,s){this.sendResponse(e)}stackTraceRequest(e,t,s){this.sendResponse(e)}scopesRequest(e,t,s){this.sendResponse(e)}variablesRequest(e,t,s){this.sendResponse(e)}setVariableRequest(e,t,s){this.sendResponse(e)}setExpressionRequest(e,t,s){this.sendResponse(e)}evaluateRequest(e,t,s){this.sendResponse(e)}stepInTargetsRequest(e,t,s){this.sendResponse(e)}gotoTargetsRequest(e,t,s){this.sendResponse(e)}completionsRequest(e,t,s){this.sendResponse(e)}exceptionInfoRequest(e,t,s){this.sendResponse(e)}loadedSourcesRequest(e,t,s){this.sendResponse(e)}dataBreakpointInfoRequest(e,t,s){this.sendResponse(e)}setDataBreakpointsRequest(e,t,s){this.sendResponse(e)}readMemoryRequest(e,t,s){this.sendResponse(e)}writeMemoryRequest(e,t,s){this.sendResponse(e)}disassembleRequest(e,t,s){this.sendResponse(e)}cancelRequest(e,t,s){this.sendResponse(e)}breakpointLocationsRequest(e,t,s){this.sendResponse(e)}setInstructionBreakpointsRequest(e,t,s){this.sendResponse(e)}customRequest(e,t,s,r){this.sendErrorResponse(t,1014,\"unrecognized request\",null,R.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?w.uri2path(e):w.path2uri(e):e}convertDebuggerPathToClient(e){return this._debuggerPathsAreURIs!==this._clientPathsAreURIs?this._debuggerPathsAreURIs?w.uri2path(e):w.path2uri(e):e}static path2uri(e){\"win32\"===process.platform&&(/^[A-Z]:/.test(e)&&(e=e[0].toLowerCase()+e.substr(1)),e=e.replace(/\\\\/g,\"/\")),e=encodeURI(e);let t=new o.URL(\"file:\");return t.pathname=e,t.toString()}static uri2path(e){let t=new o.URL(e),s=decodeURIComponent(t.pathname);return\"win32\"===process.platform&&(/^\\/[a-zA-Z]:/.test(s)&&(s=s[1].toLowerCase()+s.substr(2)),s=s.replace(/\\//g,\"\\\\\")),s}static formatPII(e,t,s){return e.replace(w._formatPIIRegexp,(function(e,r){return t&&r.length>0&&\"_\"!==r[0]?e:s[r]&&s.hasOwnProperty(r)?s[r]:e}))}}t.DebugSession=w,w._formatPIIRegexp=/{([^}]+)}/g},527:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Handles=void 0,t.Handles=class{constructor(e){this.START_HANDLE=1e3,this._handleMap=new Map,this._nextHandle=\"number\"==typeof e?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}}},7309:function(e,t,s){\"use strict\";var r=this&&this.__awaiter||function(e,t,s,r){return new(s||(s=Promise))((function(n,i){function o(e){try{c(r.next(e))}catch(e){i(e)}}function a(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(o,a)}c((r=r.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.InternalLogger=void 0;const n=s(358),i=s(1017),o=s(1890),a=s(4100);function c(){let e=new Date;return h(2,String(e.getUTCHours()))+\":\"+h(2,String(e.getUTCMinutes()))+\":\"+h(2,String(e.getUTCSeconds()))+\".\"+h(3,String(e.getUTCMilliseconds()))+\" UTC\"}function h(e,t){return t.length>=e?t:String(\"0\".repeat(e)+t).slice(-e)}t.InternalLogger=class{constructor(e,t){this.beforeExitCallback=()=>this.dispose(),this._logCallback=e,this._logToConsole=t,this._minLogLevel=a.LogLevel.Warn,this.disposeCallback=(e,t)=>{this.dispose(),t=t||2,t+=128,process.exit(t)}}setup(e){return r(this,void 0,void 0,(function*(){if(this._minLogLevel=e.consoleMinLogLevel,this._prependTimestamp=e.prependTimestamp,e.logFilePath)if(i.isAbsolute(e.logFilePath)){const t=t=>this.sendLog(`Error creating log file at path: ${e.logFilePath}. Error: ${t.toString()}\\n`,a.LogLevel.Error);try{yield o(i.dirname(e.logFilePath)),this.log(\"Verbose logs are written to:\\n\",a.LogLevel.Warn),this.log(e.logFilePath+\"\\n\",a.LogLevel.Warn),this._logFileStream=n.createWriteStream(e.logFilePath),this.logDateTime(),this.setupShutdownListeners(),this._logFileStream.on(\"error\",(e=>{t(e)}))}catch(e){t(e)}}else this.log(`logFilePath must be an absolute path: ${e.logFilePath}`,a.LogLevel.Error)}))}logDateTime(){let e=new Date;const t=e.getUTCFullYear()+\"-\"+`${e.getUTCMonth()+1}-`+e.getUTCDate()+\", \"+c();this.log(t+\"\\n\",a.LogLevel.Verbose,!1)}setupShutdownListeners(){process.addListener(\"beforeExit\",this.beforeExitCallback),process.addListener(\"SIGTERM\",this.disposeCallback),process.addListener(\"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,s=!0){if(this._minLogLevel!==a.LogLevel.Stop){if(t>=this._minLogLevel&&this.sendLog(e,t),this._logToConsole){const s=t===a.LogLevel.Error?console.error:t===a.LogLevel.Warn?console.warn:null;s&&s((0,a.trimLastNewline)(e))}t===a.LogLevel.Error&&(e=`[${a.LogLevel[t]}] ${e}`),this._prependTimestamp&&s&&(e=\"[\"+c()+\"] \"+e),this._logFileStream&&this._logFileStream.write(e)}}sendLog(e,t){if(e.length>1500){const t=!!e.match(/(\\n|\\r\\n)$/);e=e.substr(0,1500)+\"[...]\",t&&(e+=\"\\n\")}if(this._logCallback){const s=new a.LogOutputEvent(e,t);this._logCallback(s)}}}},4100:(e,t,s)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.trimLastNewline=t.LogOutputEvent=t.logger=t.Logger=t.LogLevel=void 0;const r=s(7309),n=s(4651);var i;!function(e){e[e.Verbose=0]=\"Verbose\",e[e.Log=1]=\"Log\",e[e.Warn=2]=\"Warn\",e[e.Error=3]=\"Error\",e[e.Stop=4]=\"Stop\"}(i=t.LogLevel||(t.LogLevel={}));class o{constructor(){this._pendingLogQ=[]}log(e,t=i.Log){e+=\"\\n\",this._write(e,t)}verbose(e){this.log(e,i.Verbose)}warn(e){this.log(e,i.Warn)}error(e){this.log(e,i.Error)}dispose(){if(this._currentLogger){const e=this._currentLogger.dispose();return this._currentLogger=null,e}return Promise.resolve()}_write(e,t=i.Log){e+=\"\",this._pendingLogQ?this._pendingLogQ.push({msg:e,level:t}):this._currentLogger&&this._currentLogger.log(e,t)}setup(e,t,s=!0){const r=\"string\"==typeof t?t:t&&this._logFilePathFromInit;if(this._currentLogger){const t={consoleMinLogLevel:e,logFilePath:r,prependTimestamp:s};this._currentLogger.setup(t).then((()=>{if(this._pendingLogQ){const e=this._pendingLogQ;this._pendingLogQ=null,e.forEach((e=>this._write(e.msg,e.level)))}}))}}init(e,t,s){this._pendingLogQ=this._pendingLogQ||[],this._currentLogger=new r.InternalLogger(e,s),this._logFilePathFromInit=t}}t.Logger=o,t.logger=new o;class a extends n.OutputEvent{constructor(e,t){super(e,t===i.Error?\"stderr\":t===i.Warn?\"console\":\"stdout\")}}t.LogOutputEvent=a,t.trimLastNewline=function(e){return e.replace(/(\\n|\\r\\n)$/,\"\")}},1212:(e,t,s)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.LoggingDebugSession=void 0;const r=s(4100),n=r.logger,i=s(4651);class o extends i.DebugSession{constructor(e,t,s){super(t,s),this.obsolete_logFilePath=e,this.on(\"error\",(e=>{n.error(e.body)}))}start(e,t){super.start(e,t),n.init((e=>this.sendEvent(e)),this.obsolete_logFilePath,this._isServer)}sendEvent(e){if(!(e instanceof r.LogOutputEvent)){let t=e;e instanceof i.OutputEvent&&e.body&&e.body.data&&e.body.data.doNotLogOutput&&(delete e.body.data.doNotLogOutput,t=Object.assign({},e),t.body=Object.assign(Object.assign({},e.body),{output:\"<output not logged>\"})),n.verbose(`To client: ${JSON.stringify(t)}`)}super.sendEvent(e)}sendRequest(e,t,s,r){n.verbose(`To client: ${JSON.stringify(e)}(${JSON.stringify(t)}), timeout: ${s}`),super.sendRequest(e,t,s,r)}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)}}t.LoggingDebugSession=o},9955:(e,t,s)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Handles=t.Response=t.Event=t.ErrorDestination=t.CompletionItem=t.Module=t.Source=t.Breakpoint=t.Variable=t.Scope=t.StackFrame=t.Thread=t.MemoryEvent=t.InvalidatedEvent=t.ProgressEndEvent=t.ProgressUpdateEvent=t.ProgressStartEvent=t.CapabilitiesEvent=t.LoadedSourceEvent=t.ModuleEvent=t.BreakpointEvent=t.ThreadEvent=t.OutputEvent=t.ContinuedEvent=t.StoppedEvent=t.ExitedEvent=t.TerminatedEvent=t.InitializedEvent=t.logger=t.Logger=t.LoggingDebugSession=t.DebugSession=void 0;const r=s(4651);Object.defineProperty(t,\"DebugSession\",{enumerable:!0,get:function(){return r.DebugSession}}),Object.defineProperty(t,\"InitializedEvent\",{enumerable:!0,get:function(){return r.InitializedEvent}}),Object.defineProperty(t,\"TerminatedEvent\",{enumerable:!0,get:function(){return r.TerminatedEvent}}),Object.defineProperty(t,\"ExitedEvent\",{enumerable:!0,get:function(){return r.ExitedEvent}}),Object.defineProperty(t,\"StoppedEvent\",{enumerable:!0,get:function(){return r.StoppedEvent}}),Object.defineProperty(t,\"ContinuedEvent\",{enumerable:!0,get:function(){return r.ContinuedEvent}}),Object.defineProperty(t,\"OutputEvent\",{enumerable:!0,get:function(){return r.OutputEvent}}),Object.defineProperty(t,\"ThreadEvent\",{enumerable:!0,get:function(){return r.ThreadEvent}}),Object.defineProperty(t,\"BreakpointEvent\",{enumerable:!0,get:function(){return r.BreakpointEvent}}),Object.defineProperty(t,\"ModuleEvent\",{enumerable:!0,get:function(){return r.ModuleEvent}}),Object.defineProperty(t,\"LoadedSourceEvent\",{enumerable:!0,get:function(){return r.LoadedSourceEvent}}),Object.defineProperty(t,\"CapabilitiesEvent\",{enumerable:!0,get:function(){return r.CapabilitiesEvent}}),Object.defineProperty(t,\"ProgressStartEvent\",{enumerable:!0,get:function(){return r.ProgressStartEvent}}),Object.defineProperty(t,\"ProgressUpdateEvent\",{enumerable:!0,get:function(){return r.ProgressUpdateEvent}}),Object.defineProperty(t,\"ProgressEndEvent\",{enumerable:!0,get:function(){return r.ProgressEndEvent}}),Object.defineProperty(t,\"InvalidatedEvent\",{enumerable:!0,get:function(){return r.InvalidatedEvent}}),Object.defineProperty(t,\"MemoryEvent\",{enumerable:!0,get:function(){return r.MemoryEvent}}),Object.defineProperty(t,\"Thread\",{enumerable:!0,get:function(){return r.Thread}}),Object.defineProperty(t,\"StackFrame\",{enumerable:!0,get:function(){return r.StackFrame}}),Object.defineProperty(t,\"Scope\",{enumerable:!0,get:function(){return r.Scope}}),Object.defineProperty(t,\"Variable\",{enumerable:!0,get:function(){return r.Variable}}),Object.defineProperty(t,\"Breakpoint\",{enumerable:!0,get:function(){return r.Breakpoint}}),Object.defineProperty(t,\"Source\",{enumerable:!0,get:function(){return r.Source}}),Object.defineProperty(t,\"Module\",{enumerable:!0,get:function(){return r.Module}}),Object.defineProperty(t,\"CompletionItem\",{enumerable:!0,get:function(){return r.CompletionItem}}),Object.defineProperty(t,\"ErrorDestination\",{enumerable:!0,get:function(){return r.ErrorDestination}});const n=s(1212);Object.defineProperty(t,\"LoggingDebugSession\",{enumerable:!0,get:function(){return n.LoggingDebugSession}});const i=s(4100);t.Logger=i;const o=s(601);Object.defineProperty(t,\"Event\",{enumerable:!0,get:function(){return o.Event}}),Object.defineProperty(t,\"Response\",{enumerable:!0,get:function(){return o.Response}});const a=s(527);Object.defineProperty(t,\"Handles\",{enumerable:!0,get:function(){return a.Handles}});const c=i.logger;t.logger=c},601:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Event=t.Response=t.Message=void 0;class s{constructor(e){this.seq=0,this.type=e}}t.Message=s,t.Response=class extends s{constructor(e,t){super(\"response\"),this.request_seq=e.seq,this.command=e.command,t?(this.success=!1,this.message=t):this.success=!0}},t.Event=class extends s{constructor(e,t){super(\"event\"),this.event=e,t&&(this.body=t)}}},7147:(e,t,s)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.ProtocolServer=void 0;const r=s(2361),n=s(601);class i{get event(){return this._event||(this._event=(e,t)=>{let s;return this._listener=e,this._this=t,s={dispose:()=>{this._listener=void 0,this._this=void 0}},s}),this._event}fire(e){if(this._listener)try{this._listener.call(this._this,e)}catch(e){}}hasListener(){return!!this._listener}dispose(){this._listener=void 0,this._this=void 0}}class o extends r.EventEmitter{constructor(){super(),this._sendMessage=new i,this._pendingRequests=new Map,this.onDidSendMessage=this._sendMessage.event}dispose(){}handleMessage(e){if(\"request\"===e.type)this.dispatchRequest(e);else if(\"response\"===e.type){const t=e,s=this._pendingRequests.get(t.request_seq);s&&(this._pendingRequests.delete(t.request_seq),s(t))}}_isRunningInline(){return this._sendMessage&&this._sendMessage.hasListener()}start(e,t){this._sequence=1,this._writableStream=t,this._rawData=Buffer.alloc(0),e.on(\"data\",(e=>this._handleData(e))),e.on(\"close\",(()=>{this._emitEvent(new n.Event(\"close\"))})),e.on(\"error\",(e=>{this._emitEvent(new n.Event(\"error\",\"inStream error: \"+(e&&e.message)))})),t.on(\"error\",(e=>{this._emitEvent(new n.Event(\"error\",\"outStream error: \"+(e&&e.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,s,r){const i={command:e};if(t&&Object.keys(t).length>0&&(i.arguments=t),this._send(\"request\",i),r){this._pendingRequests.set(i.seq,r);const e=setTimeout((()=>{clearTimeout(e);const t=this._pendingRequests.get(i.seq);t&&(this._pendingRequests.delete(i.seq),t(new n.Response(i,\"timeout\")))}),s)}}dispatchRequest(e){}_emitEvent(e){this.emit(e.event,e)}_send(e,t){if(t.type=e,t.seq=this._sequence++,this._writableStream){const e=JSON.stringify(t);this._writableStream.write(`Content-Length: ${Buffer.byteLength(e,\"utf8\")}\\r\\n\\r\\n${e}`,\"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){const e=this._rawData.toString(\"utf8\",0,this._contentLength);if(this._rawData=this._rawData.slice(this._contentLength),this._contentLength=-1,e.length>0)try{let t=JSON.parse(e);this.handleMessage(t)}catch(e){this._emitEvent(new n.Event(\"error\",\"Error handling data: \"+(e&&e.message)))}continue}}else{const e=this._rawData.indexOf(o.TWO_CRLF);if(-1!==e){const t=this._rawData.toString(\"utf8\",0,e).split(\"\\r\\n\");for(let e=0;e<t.length;e++){const s=t[e].split(/: +/);\"Content-Length\"==s[0]&&(this._contentLength=+s[1])}this._rawData=this._rawData.slice(e+o.TWO_CRLF.length);continue}}break}}}t.ProtocolServer=o,o.TWO_CRLF=\"\\r\\n\\r\\n\"},8153:(e,t,s)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.runDebugAdapter=void 0;const r=s(1808);t.runDebugAdapter=function(e){let t=0;if(process.argv.slice(2).forEach((function(e,s,r){const n=/^--server=(\\d{4,5})$/.exec(e);n&&(t=parseInt(n[1],10))})),t>0)console.error(`waiting for debug protocol on port ${t}`),r.createServer((t=>{console.error(\">> accepted connection from client\"),t.on(\"end\",(()=>{console.error(\">> client connection closed\\n\")}));const s=new e(!1,!0);s.setRunAsServer(!0),s.start(t,t)})).listen(t);else{const t=new e(!1);process.on(\"SIGTERM\",(()=>{t.shutdown()})),t.start(process.stdin,process.stdout)}}},8223:(e,t)=>{var s;!function(){var r,n={};function i(){}function o(e){return e}function a(e){return!!e}function c(e){return!e}var h=\"object\"==typeof self&&self.self===self&&self||\"object\"==typeof global&&global.global===global&&global||this;function u(e){return function(){if(null===e)throw new Error(\"Callback was already called.\");e.apply(this,arguments),e=null}}function l(e){return function(){null!==e&&(e.apply(this,arguments),e=null)}}null!=h&&(r=h.async),n.noConflict=function(){return h.async=r,n};var d=Object.prototype.toString,p=Array.isArray||function(e){return\"[object Array]\"===d.call(e)};function f(e){return p(e)||\"number\"==typeof e.length&&e.length>=0&&e.length%1==0}function m(e,t){for(var s=-1,r=e.length;++s<r;)t(e[s],s,e)}function g(e,t){for(var s=-1,r=e.length,n=Array(r);++s<r;)n[s]=t(e[s],s,e);return n}function b(e){return g(Array(e),(function(e,t){return t}))}function v(e,t,s){return m(e,(function(e,r,n){s=t(s,e,r,n)})),s}function y(e,t){m(E(e),(function(s){t(e[s],s)}))}function S(e,t){for(var s=0;s<e.length;s++)if(e[s]===t)return s;return-1}var E=Object.keys||function(e){var t=[];for(var s in e)e.hasOwnProperty(s)&&t.push(s);return t};function x(e){var t,s,r=-1;return f(e)?(t=e.length,function(){return++r<t?r:null}):(s=E(e),t=s.length,function(){return++r<t?s[r]:null})}function R(e,t){return t=null==t?e.length-1:+t,function(){for(var s=Math.max(arguments.length-t,0),r=Array(s),n=0;n<s;n++)r[n]=arguments[n+t];switch(t){case 0:return e.call(this,r);case 1:return e.call(this,arguments[0],r)}}}function w(e){return function(t,s,r){return e(t,r)}}var _=\"function\"==typeof setImmediate&&setImmediate,C=_?function(e){_(e)}:function(e){setTimeout(e,0)};function k(e){return function(t,s,r){r=l(r||i);var n=x(t=t||[]);if(e<=0)return r(null);var o=!1,a=0,c=!1;!function i(){if(o&&a<=0)return r(null);for(;a<e&&!c;){var h=n();if(null===h)return o=!0,void(a<=0&&r(null));a+=1,s(t[h],h,u((function(e){a-=1,e?(r(e),c=!0):i()})))}}()}}function O(e){return function(t,s,r){return e(n.eachOf,t,s,r)}}function P(e){return function(t,s,r,n){return e(k(s),t,r,n)}}function T(e){return function(t,s,r){return e(n.eachOfSeries,t,s,r)}}function I(e,t,s,r){r=l(r||i);var n=f(t=t||[])?[]:{};e(t,(function(e,t,r){s(e,(function(e,s){n[t]=s,r(e)}))}),(function(e){r(e,n)}))}function M(e,t,s,r){var n=[];e(t,(function(e,t,r){s(e,(function(s){s&&n.push({index:t,value:e}),r()}))}),(function(){r(g(n.sort((function(e,t){return e.index-t.index})),(function(e){return e.value})))}))}function D(e,t,s,r){M(e,t,(function(e,t){s(e,(function(e){t(!e)}))}),r)}function A(e,t,s){return function(r,n,i,o){function a(){o&&o(s(!1,void 0))}function c(e,r,n){if(!o)return n();i(e,(function(r){o&&t(r)&&(o(s(!0,e)),o=i=!1),n()}))}arguments.length>3?e(r,n,c,a):(o=i,i=n,e(r,c,a))}}function N(e,t){return t}function $(e,t,s){s=s||i;var r=f(t)?[]:{};e(t,(function(e,t,s){e(R((function(e,n){n.length<=1&&(n=n[0]),r[t]=n,s(e)})))}),(function(e){s(e,r)}))}function L(e,t,s,r){var n=[];e(t,(function(e,t,r){s(e,(function(e,t){n=n.concat(t||[]),r(e)}))}),(function(e){r(e,n)}))}function F(e,t,s){if(null==t)t=1;else if(0===t)throw new Error(\"Concurrency must not be zero\");function r(e,t,s,r){if(null!=r&&\"function\"!=typeof r)throw new Error(\"task callback must be a function\");if(e.started=!0,p(t)||(t=[t]),0===t.length&&e.idle())return n.setImmediate((function(){e.drain()}));m(t,(function(t){var n={data:t,callback:r||i};s?e.tasks.unshift(n):e.tasks.push(n),e.tasks.length===e.concurrency&&e.saturated()})),n.setImmediate(e.process)}function o(e,t){return function(){a-=1;var s=!1,r=arguments;m(t,(function(e){m(c,(function(t,r){t!==e||s||(c.splice(r,1),s=!0)})),e.callback.apply(e,r)})),e.tasks.length+a===0&&e.drain(),e.process()}}var a=0,c=[],h={tasks:[],concurrency:t,payload:s,saturated:i,empty:i,drain:i,started:!1,paused:!1,push:function(e,t){r(h,e,!1,t)},kill:function(){h.drain=i,h.tasks=[]},unshift:function(e,t){r(h,e,!0,t)},process:function(){for(;!h.paused&&a<h.concurrency&&h.tasks.length;){var t=h.payload?h.tasks.splice(0,h.payload):h.tasks.splice(0,h.tasks.length),s=g(t,(function(e){return e.data}));0===h.tasks.length&&h.empty(),a+=1,c.push(t[0]);var r=u(o(h,t));e(s,r)}},length:function(){return h.tasks.length},running:function(){return a},workersList:function(){return c},idle:function(){return h.tasks.length+a===0},pause:function(){h.paused=!0},resume:function(){if(!1!==h.paused){h.paused=!1;for(var e=Math.min(h.concurrency,h.tasks.length),t=1;t<=e;t++)n.setImmediate(h.process)}}};return h}function j(e){return R((function(t,s){t.apply(null,s.concat([R((function(t,s){\"object\"==typeof console&&(t?console.error&&console.error(t):console[e]&&m(s,(function(t){console[e](t)})))}))]))}))}function q(e){return function(t,s,r){e(b(t),s,r)}}function B(e){return R((function(t,s){var r=R((function(s){var r=this,n=s.pop();return e(t,(function(e,t,n){e.apply(r,s.concat([n]))}),n)}));return s.length?r.apply(this,s):r}))}function G(e){return R((function(t){var s=t.pop();t.push((function(){var e=arguments;r?n.setImmediate((function(){s.apply(null,e)})):s.apply(null,e)}));var r=!0;e.apply(this,t),r=!1}))}\"object\"==typeof process&&\"function\"==typeof process.nextTick?n.nextTick=process.nextTick:n.nextTick=C,n.setImmediate=_?C:n.nextTick,n.forEach=n.each=function(e,t,s){return n.eachOf(e,w(t),s)},n.forEachSeries=n.eachSeries=function(e,t,s){return n.eachOfSeries(e,w(t),s)},n.forEachLimit=n.eachLimit=function(e,t,s,r){return k(t)(e,w(s),r)},n.forEachOf=n.eachOf=function(e,t,s){s=l(s||i);for(var r,n=x(e=e||[]),o=0;null!=(r=n());)o+=1,t(e[r],r,u(a));function a(e){o--,e?s(e):null===r&&o<=0&&s(null)}0===o&&s(null)},n.forEachOfSeries=n.eachOfSeries=function(e,t,s){s=l(s||i);var r=x(e=e||[]),o=r();!function i(){var a=!0;if(null===o)return s(null);t(e[o],o,u((function(e){if(e)s(e);else{if(null===(o=r()))return s(null);a?n.setImmediate(i):i()}}))),a=!1}()},n.forEachOfLimit=n.eachOfLimit=function(e,t,s,r){k(t)(e,s,r)},n.map=O(I),n.mapSeries=T(I),n.mapLimit=P(I),n.inject=n.foldl=n.reduce=function(e,t,s,r){n.eachOfSeries(e,(function(e,r,n){s(t,e,(function(e,s){t=s,n(e)}))}),(function(e){r(e,t)}))},n.foldr=n.reduceRight=function(e,t,s,r){var i=g(e,o).reverse();n.reduce(i,t,s,r)},n.transform=function(e,t,s,r){3===arguments.length&&(r=s,s=t,t=p(e)?[]:{}),n.eachOf(e,(function(e,r,n){s(t,e,r,n)}),(function(e){r(e,t)}))},n.select=n.filter=O(M),n.selectLimit=n.filterLimit=P(M),n.selectSeries=n.filterSeries=T(M),n.reject=O(D),n.rejectLimit=P(D),n.rejectSeries=T(D),n.any=n.some=A(n.eachOf,a,o),n.someLimit=A(n.eachOfLimit,a,o),n.all=n.every=A(n.eachOf,c,c),n.everyLimit=A(n.eachOfLimit,c,c),n.detect=A(n.eachOf,o,N),n.detectSeries=A(n.eachOfSeries,o,N),n.detectLimit=A(n.eachOfLimit,o,N),n.sortBy=function(e,t,s){function r(e,t){var s=e.criteria,r=t.criteria;return s<r?-1:s>r?1:0}n.map(e,(function(e,s){t(e,(function(t,r){t?s(t):s(null,{value:e,criteria:r})}))}),(function(e,t){if(e)return s(e);s(null,g(t.sort(r),(function(e){return e.value})))}))},n.auto=function(e,t,s){\"function\"==typeof arguments[1]&&(s=t,t=null),s=l(s||i);var r=E(e),o=r.length;if(!o)return s(null);t||(t=o);var a={},c=0,h=!1,u=[];function d(e){u.unshift(e)}function f(e){var t=S(u,e);t>=0&&u.splice(t,1)}function g(){o--,m(u.slice(0),(function(e){e()}))}d((function(){o||s(null,a)})),m(r,(function(r){if(!h){for(var i,o=p(e[r])?e[r]:[e[r]],u=R((function(e,t){if(c--,t.length<=1&&(t=t[0]),e){var i={};y(a,(function(e,t){i[t]=e})),i[r]=t,h=!0,s(e,i)}else a[r]=t,n.setImmediate(g)})),l=o.slice(0,o.length-1),m=l.length;m--;){if(!(i=e[l[m]]))throw new Error(\"Has nonexistent dependency in \"+l.join(\", \"));if(p(i)&&S(i,r)>=0)throw new Error(\"Has cyclic dependencies\")}b()?(c++,o[o.length-1](u,a)):d((function e(){b()&&(c++,f(e),o[o.length-1](u,a))}))}function b(){return c<t&&v(l,(function(e,t){return e&&a.hasOwnProperty(t)}),!0)&&!a.hasOwnProperty(r)}}))},n.retry=function(e,t,s){var r=5,i=0,o=[],a={times:r,interval:i};function c(e,t){if(\"number\"==typeof t)e.times=parseInt(t,10)||r;else{if(\"object\"!=typeof t)throw new Error(\"Unsupported argument type for 'times': \"+typeof t);e.times=parseInt(t.times,10)||r,e.interval=parseInt(t.interval,10)||i}}var h=arguments.length;if(h<1||h>3)throw new Error(\"Invalid arguments - must be either (task), (task, callback), (times, task) or (times, task, callback)\");function u(e,t){function s(e,s){return function(r){e((function(e,t){r(!e||s,{err:e,result:t})}),t)}}function r(e){return function(t){setTimeout((function(){t(null)}),e)}}for(;a.times;){var i=!(a.times-=1);o.push(s(a.task,i)),!i&&a.interval>0&&o.push(r(a.interval))}n.series(o,(function(t,s){s=s[s.length-1],(e||a.callback)(s.err,s.result)}))}return h<=2&&\"function\"==typeof e&&(s=t,t=e),\"function\"!=typeof e&&c(a,e),a.callback=s,a.task=t,a.callback?u():u},n.waterfall=function(e,t){if(t=l(t||i),!p(e)){var s=new Error(\"First argument to waterfall must be an array of functions\");return t(s)}if(!e.length)return t();!function e(s){return R((function(r,n){if(r)t.apply(null,[r].concat(n));else{var i=s.next();i?n.push(e(i)):n.push(t),G(s).apply(null,n)}}))}(n.iterator(e))()},n.parallel=function(e,t){$(n.eachOf,e,t)},n.parallelLimit=function(e,t,s){$(k(t),e,s)},n.series=function(e,t){$(n.eachOfSeries,e,t)},n.iterator=function(e){return function t(s){function r(){return e.length&&e[s].apply(null,arguments),r.next()}return r.next=function(){return s<e.length-1?t(s+1):null},r}(0)},n.apply=R((function(e,t){return R((function(s){return e.apply(null,t.concat(s))}))})),n.concat=O(L),n.concatSeries=T(L),n.whilst=function(e,t,s){if(s=s||i,e()){var r=R((function(n,i){n?s(n):e.apply(this,i)?t(r):s.apply(null,[null].concat(i))}));t(r)}else s(null)},n.doWhilst=function(e,t,s){var r=0;return n.whilst((function(){return++r<=1||t.apply(this,arguments)}),e,s)},n.until=function(e,t,s){return n.whilst((function(){return!e.apply(this,arguments)}),t,s)},n.doUntil=function(e,t,s){return n.doWhilst(e,(function(){return!t.apply(this,arguments)}),s)},n.during=function(e,t,s){s=s||i;var r=R((function(t,r){t?s(t):(r.push(n),e.apply(this,r))})),n=function(e,n){e?s(e):n?t(r):s(null)};e(n)},n.doDuring=function(e,t,s){var r=0;n.during((function(e){r++<1?e(null,!0):t.apply(this,arguments)}),e,s)},n.queue=function(e,t){return F((function(t,s){e(t[0],s)}),t,1)},n.priorityQueue=function(e,t){function s(e,t){return e.priority-t.priority}var r=n.queue(e,t);return r.push=function(e,t,o){!function(e,t,r,o){if(null!=o&&\"function\"!=typeof o)throw new Error(\"task callback must be a function\");if(e.started=!0,p(t)||(t=[t]),0===t.length)return n.setImmediate((function(){e.drain()}));m(t,(function(t){var a={data:t,priority:r,callback:\"function\"==typeof o?o:i};e.tasks.splice(function(e,t,s){for(var r=-1,n=e.length-1;r<n;){var i=r+(n-r+1>>>1);s(t,e[i])>=0?r=i:n=i-1}return r}(e.tasks,a,s)+1,0,a),e.tasks.length===e.concurrency&&e.saturated(),n.setImmediate(e.process)}))}(r,e,t,o)},delete r.unshift,r},n.cargo=function(e,t){return F(e,1,t)},n.log=j(\"log\"),n.dir=j(\"dir\"),n.memoize=function(e,t){var s={},r={},i=Object.prototype.hasOwnProperty;t=t||o;var a=R((function(o){var a=o.pop(),c=t.apply(null,o);i.call(s,c)?n.setImmediate((function(){a.apply(null,s[c])})):i.call(r,c)?r[c].push(a):(r[c]=[a],e.apply(null,o.concat([R((function(e){s[c]=e;var t=r[c];delete r[c];for(var n=0,i=t.length;n<i;n++)t[n].apply(null,e)}))])))}));return a.memo=s,a.unmemoized=e,a},n.unmemoize=function(e){return function(){return(e.unmemoized||e).apply(null,arguments)}},n.times=q(n.map),n.timesSeries=q(n.mapSeries),n.timesLimit=function(e,t,s,r){return n.mapLimit(b(e),t,s,r)},n.seq=function(){var e=arguments;return R((function(t){var s=this,r=t[t.length-1];\"function\"==typeof r?t.pop():r=i,n.reduce(e,t,(function(e,t,r){t.apply(s,e.concat([R((function(e,t){r(e,t)}))]))}),(function(e,t){r.apply(s,[e].concat(t))}))}))},n.compose=function(){return n.seq.apply(null,Array.prototype.reverse.call(arguments))},n.applyEach=B(n.eachOf),n.applyEachSeries=B(n.eachOfSeries),n.forever=function(e,t){var s=u(t||i),r=G(e);!function e(t){if(t)return s(t);r(e)}()},n.ensureAsync=G,n.constant=R((function(e){var t=[null].concat(e);return function(e){return e.apply(this,t)}})),n.wrapSync=n.asyncify=function(e){return R((function(t){var s,r,n,i=t.pop();try{s=e.apply(this,t)}catch(e){return i(e)}(\"function\"==(n=typeof(r=s))||\"object\"===n&&r)&&\"function\"==typeof s.then?s.then((function(e){i(null,e)})).catch((function(e){i(e.message?e:new Error(e))})):i(null,s)}))},e.exports?e.exports=n:void 0===(s=function(){return n}.apply(t,[]))||(e.exports=s)}()},5623:e=>{\"use strict\";function t(e,t,n){e instanceof RegExp&&(e=s(e,n)),t instanceof RegExp&&(t=s(t,n));var i=r(e,t,n);return i&&{start:i[0],end:i[1],pre:n.slice(0,i[0]),body:n.slice(i[0]+e.length,i[1]),post:n.slice(i[1]+t.length)}}function s(e,t){var s=t.match(e);return s?s[0]:null}function r(e,t,s){var r,n,i,o,a,c=s.indexOf(e),h=s.indexOf(t,c+1),u=c;if(c>=0&&h>0){if(e===t)return[c,h];for(r=[],i=s.length;u>=0&&!a;)u==c?(r.push(u),c=s.indexOf(e,u+1)):1==r.length?a=[r.pop(),h]:((n=r.pop())<i&&(i=n,o=h),h=s.indexOf(t,u+1)),u=c<h&&c>=0?c:h;r.length&&(a=[i,o])}return a}e.exports=t,t.range=r},3644:(e,t,s)=>{var r=s(1048),n=s(5623);e.exports=function(e){return e?(\"{}\"===e.substr(0,2)&&(e=\"\\\\{\\\\}\"+e.substr(2)),b(function(e){return e.split(\"\\\\\\\\\").join(i).split(\"\\\\{\").join(o).split(\"\\\\}\").join(a).split(\"\\\\,\").join(c).split(\"\\\\.\").join(h)}(e),!0).map(l)):[]};var i=\"\\0SLASH\"+Math.random()+\"\\0\",o=\"\\0OPEN\"+Math.random()+\"\\0\",a=\"\\0CLOSE\"+Math.random()+\"\\0\",c=\"\\0COMMA\"+Math.random()+\"\\0\",h=\"\\0PERIOD\"+Math.random()+\"\\0\";function u(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function l(e){return e.split(i).join(\"\\\\\").split(o).join(\"{\").split(a).join(\"}\").split(c).join(\",\").split(h).join(\".\")}function d(e){if(!e)return[\"\"];var t=[],s=n(\"{\",\"}\",e);if(!s)return e.split(\",\");var r=s.pre,i=s.body,o=s.post,a=r.split(\",\");a[a.length-1]+=\"{\"+i+\"}\";var c=d(o);return o.length&&(a[a.length-1]+=c.shift(),a.push.apply(a,c)),t.push.apply(t,a),t}function p(e){return\"{\"+e+\"}\"}function f(e){return/^-?0\\d/.test(e)}function m(e,t){return e<=t}function g(e,t){return e>=t}function b(e,t){var s=[],i=n(\"{\",\"}\",e);if(!i||/\\$$/.test(i.pre))return[e];var o,c=/^-?\\d+\\.\\.-?\\d+(?:\\.\\.-?\\d+)?$/.test(i.body),h=/^[a-zA-Z]\\.\\.[a-zA-Z](?:\\.\\.-?\\d+)?$/.test(i.body),l=c||h,v=i.body.indexOf(\",\")>=0;if(!l&&!v)return i.post.match(/,.*\\}/)?b(e=i.pre+\"{\"+i.body+a+i.post):[e];if(l)o=i.body.split(/\\.\\./);else if(1===(o=d(i.body)).length&&1===(o=b(o[0],!1).map(p)).length)return(E=i.post.length?b(i.post,!1):[\"\"]).map((function(e){return i.pre+o[0]+e}));var y,S=i.pre,E=i.post.length?b(i.post,!1):[\"\"];if(l){var x=u(o[0]),R=u(o[1]),w=Math.max(o[0].length,o[1].length),_=3==o.length?Math.abs(u(o[2])):1,C=m;R<x&&(_*=-1,C=g);var k=o.some(f);y=[];for(var O=x;C(O,R);O+=_){var P;if(h)\"\\\\\"===(P=String.fromCharCode(O))&&(P=\"\");else if(P=String(O),k){var T=w-P.length;if(T>0){var I=new Array(T+1).join(\"0\");P=O<0?\"-\"+I+P.slice(1):I+P}}y.push(P)}}else y=r(o,(function(e){return b(e,!1)}));for(var M=0;M<y.length;M++)for(var D=0;D<E.length;D++){var A=S+y[M]+E[D];(!t||l||A)&&s.push(A)}return s}},5497:(e,t,s)=>{e.exports=s(1261)},1261:(e,t,s)=>{\"use strict\";var r=s(2081).exec,n=s(2081).execSync,i=s(358),o=s(1017),a=i.access,c=i.accessSync,h=i.constants||i,u=\"win32\"==process.platform,l=function(e){return/[^A-Za-z0-9_\\/:=-]/.test(e)&&(e=(e=\"'\"+e.replace(/'/g,\"'\\\\''\")+\"'\").replace(/^(?:'')+/g,\"\").replace(/\\\\'''/g,\"\\\\'\")),e};u&&(l=function(e){return/[\\\\]/.test(e)?'\"'+o.dirname(e)+'\":\"'+o.basename(e)+'\"':'\"'+e+'\"'}),e.exports=function e(t,s){var n=l(t);if(!s&&\"undefined\"!=typeof Promise)return new Promise((function(s,r){e(t,(function(e,n){n?s(t):r(e)}))}));u?function(e,t,s){/^(?!(?:.*\\s|.*\\.|\\W+)$)(?:[a-zA-Z]:)?(?:(?:[^<>:\"\\|\\?\\*\\n])+(?:\\/\\/|\\/|\\\\\\\\|\\\\)?)+$/m.test(e)?r(\"where \"+t,(function(e){s(null,null===e)})):s(null,!1)}(t,n,s):function(e,t,s){!function(e,t){a(e,h.F_OK,(function(e){t(!e)}))}(e,(function(n){n?function(e,t){a(e,h.F_OK|h.X_OK,(function(e){t(null,!e)}))}(e,s):r(\"command -v \"+t+\" 2>/dev/null && { echo >&1 \"+t+\"; exit 0; }\",(function(e,t,r){s(null,!!t)}))}))}(t,n,s)},e.exports.sync=function(e){var t=l(e);return u?function(e,t,s){if(!/^(?!(?:.*\\s|.*\\.|\\W+)$)(?:[a-zA-Z]:)?(?:(?:[^<>:\"\\|\\?\\*\\n])+(?:\\/\\/|\\/|\\\\\\\\|\\\\)?)+$/m.test(e))return!1;try{return!!n(\"where \"+t,{stdio:[]})}catch(e){return!1}}(e,t):function(e,t){if(function(e){try{return c(e,h.F_OK),!1}catch(e){return!0}}(e))try{return!!n(\"command -v \"+t+\" 2>/dev/null && { echo >&1 \"+t+\"; exit 0; }\")}catch(e){return!1}return function(e){try{return c(e,h.F_OK|h.X_OK),!0}catch(e){return!1}}(e)}(e,t)}},1048:e=>{e.exports=function(e,s){for(var r=[],n=0;n<e.length;n++){var i=s(e[n],n);t(i)?r.push.apply(r,i):r.push(i)}return r};var t=Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)}},7334:(e,t,s)=>{e.exports=u,u.realpath=u,u.sync=l,u.realpathSync=l,u.monkeypatch=function(){r.realpath=u,r.realpathSync=l},u.unmonkeypatch=function(){r.realpath=n,r.realpathSync=i};var r=s(358),n=r.realpath,i=r.realpathSync,o=process.version,a=/^v[0-5]\\./.test(o),c=s(7059);function h(e){return e&&\"realpath\"===e.syscall&&(\"ELOOP\"===e.code||\"ENOMEM\"===e.code||\"ENAMETOOLONG\"===e.code)}function u(e,t,s){if(a)return n(e,t,s);\"function\"==typeof t&&(s=t,t=null),n(e,t,(function(r,n){h(r)?c.realpath(e,t,s):s(r,n)}))}function l(e,t){if(a)return i(e,t);try{return i(e,t)}catch(s){if(h(s))return c.realpathSync(e,t);throw s}}},7059:(e,t,s)=>{var r=s(1017),n=\"win32\"===process.platform,i=s(358),o=process.env.NODE_DEBUG&&/fs/.test(process.env.NODE_DEBUG);if(r.normalize,n)var a=/(.*?)(?:[\\/\\\\]+|$)/g;else a=/(.*?)(?:[\\/]+|$)/g;if(n)var c=/^(?:[a-zA-Z]:|[\\\\\\/]{2}[^\\\\\\/]+[\\\\\\/][^\\\\\\/]+)?[\\\\\\/]*/;else c=/^[\\/]*/;t.realpathSync=function(e,t){if(e=r.resolve(e),t&&Object.prototype.hasOwnProperty.call(t,e))return t[e];var s,o,h,u,l=e,d={},p={};function f(){var t=c.exec(e);s=t[0].length,o=t[0],h=t[0],u=\"\",n&&!p[h]&&(i.lstatSync(h),p[h]=!0)}for(f();s<e.length;){a.lastIndex=s;var m=a.exec(e);if(u=o,o+=m[0],h=u+m[1],s=a.lastIndex,!(p[h]||t&&t[h]===h)){var g;if(t&&Object.prototype.hasOwnProperty.call(t,h))g=t[h];else{var b=i.lstatSync(h);if(!b.isSymbolicLink()){p[h]=!0,t&&(t[h]=h);continue}var v=null;if(!n){var y=b.dev.toString(32)+\":\"+b.ino.toString(32);d.hasOwnProperty(y)&&(v=d[y])}null===v&&(i.statSync(h),v=i.readlinkSync(h)),g=r.resolve(u,v),t&&(t[h]=g),n||(d[y]=v)}e=r.resolve(g,e.slice(s)),f()}}return t&&(t[l]=e),e},t.realpath=function(e,t,s){if(\"function\"!=typeof s&&(s=function(e){return\"function\"==typeof e?e:function(){var e;if(o){var t=new Error;e=function(e){e&&(t.message=e.message,s(e=t))}}else e=s;return e;function s(e){if(e){if(process.throwDeprecation)throw e;if(!process.noDeprecation){var t=\"fs: missing callback \"+(e.stack||e.message);process.traceDeprecation?console.trace(t):console.error(t)}}}}()}(t),t=null),e=r.resolve(e),t&&Object.prototype.hasOwnProperty.call(t,e))return process.nextTick(s.bind(null,null,t[e]));var h,u,l,d,p=e,f={},m={};function g(){var t=c.exec(e);h=t[0].length,u=t[0],l=t[0],d=\"\",n&&!m[l]?i.lstat(l,(function(e){if(e)return s(e);m[l]=!0,b()})):process.nextTick(b)}function b(){if(h>=e.length)return t&&(t[p]=e),s(null,e);a.lastIndex=h;var r=a.exec(e);return d=u,u+=r[0],l=d+r[1],h=a.lastIndex,m[l]||t&&t[l]===l?process.nextTick(b):t&&Object.prototype.hasOwnProperty.call(t,l)?S(t[l]):i.lstat(l,v)}function v(e,r){if(e)return s(e);if(!r.isSymbolicLink())return m[l]=!0,t&&(t[l]=l),process.nextTick(b);if(!n){var o=r.dev.toString(32)+\":\"+r.ino.toString(32);if(f.hasOwnProperty(o))return y(null,f[o],l)}i.stat(l,(function(e){if(e)return s(e);i.readlink(l,(function(e,t){n||(f[o]=t),y(e,t)}))}))}function y(e,n,i){if(e)return s(e);var o=r.resolve(d,n);t&&(t[i]=o),S(o)}function S(t){e=r.resolve(t,e.slice(h)),g()}g()}},6772:(e,t,s)=>{function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.setopts=function(e,t,s){if(s||(s={}),s.matchBase&&-1===t.indexOf(\"/\")){if(s.noglobstar)throw new Error(\"base matching requires globstar\");t=\"**/\"+t}e.silent=!!s.silent,e.pattern=t,e.strict=!1!==s.strict,e.realpath=!!s.realpath,e.realpathCache=s.realpathCache||Object.create(null),e.follow=!!s.follow,e.dot=!!s.dot,e.mark=!!s.mark,e.nodir=!!s.nodir,e.nodir&&(e.mark=!0),e.sync=!!s.sync,e.nounique=!!s.nounique,e.nonull=!!s.nonull,e.nosort=!!s.nosort,e.nocase=!!s.nocase,e.stat=!!s.stat,e.noprocess=!!s.noprocess,e.absolute=!!s.absolute,e.fs=s.fs||n,e.maxLength=s.maxLength||1/0,e.cache=s.cache||Object.create(null),e.statCache=s.statCache||Object.create(null),e.symlinks=s.symlinks||Object.create(null),function(e,t){e.ignore=t.ignore||[],Array.isArray(e.ignore)||(e.ignore=[e.ignore]),e.ignore.length&&(e.ignore=e.ignore.map(u))}(e,s),e.changedCwd=!1;var o=process.cwd();r(s,\"cwd\")?(e.cwd=i.resolve(s.cwd),e.changedCwd=e.cwd!==o):e.cwd=o,e.root=s.root||i.resolve(e.cwd,\"/\"),e.root=i.resolve(e.root),\"win32\"===process.platform&&(e.root=e.root.replace(/\\\\/g,\"/\")),e.cwdAbs=a(e.cwd)?e.cwd:l(e,e.cwd),\"win32\"===process.platform&&(e.cwdAbs=e.cwdAbs.replace(/\\\\/g,\"/\")),e.nomount=!!s.nomount,s.nonegate=!0,s.nocomment=!0,e.minimatch=new c(t,s),e.options=e.minimatch.options},t.ownProp=r,t.makeAbs=l,t.finish=function(e){for(var t=e.nounique,s=t?[]:Object.create(null),r=0,n=e.matches.length;r<n;r++){var i=e.matches[r];if(i&&0!==Object.keys(i).length){var o=Object.keys(i);t?s.push.apply(s,o):o.forEach((function(e){s[e]=!0}))}else if(e.nonull){var a=e.minimatch.globSet[r];t?s.push(a):s[a]=!0}}if(t||(s=Object.keys(s)),e.nosort||(s=s.sort(h)),e.mark){for(r=0;r<s.length;r++)s[r]=e._mark(s[r]);e.nodir&&(s=s.filter((function(t){var s=!/\\/$/.test(t),r=e.cache[t]||e.cache[l(e,t)];return s&&r&&(s=\"DIR\"!==r&&!Array.isArray(r)),s})))}e.ignore.length&&(s=s.filter((function(t){return!d(e,t)}))),e.found=s},t.mark=function(e,t){var s=l(e,t),r=e.cache[s],n=t;if(r){var i=\"DIR\"===r||Array.isArray(r),o=\"/\"===t.slice(-1);if(i&&!o?n+=\"/\":!i&&o&&(n=n.slice(0,-1)),n!==t){var a=l(e,n);e.statCache[a]=e.statCache[s],e.cache[a]=e.cache[s]}}return n},t.isIgnored=d,t.childrenIgnored=function(e,t){return!!e.ignore.length&&e.ignore.some((function(e){return!(!e.gmatcher||!e.gmatcher.match(t))}))};var n=s(358),i=s(1017),o=s(6522),a=s(4095),c=o.Minimatch;function h(e,t){return e.localeCompare(t,\"en\")}function u(e){var t=null;if(\"/**\"===e.slice(-3)){var s=e.replace(/(\\/\\*\\*)+$/,\"\");t=new c(s,{dot:!0})}return{matcher:new c(e,{dot:!0}),gmatcher:t}}function l(e,t){var s=t;return s=\"/\"===t.charAt(0)?i.join(e.root,t):a(t)||\"\"===t?t:e.changedCwd?i.resolve(e.cwd,t):i.resolve(t),\"win32\"===process.platform&&(s=s.replace(/\\\\/g,\"/\")),s}function d(e,t){return!!e.ignore.length&&e.ignore.some((function(e){return e.matcher.match(t)||!(!e.gmatcher||!e.gmatcher.match(t))}))}},2884:(e,t,s)=>{e.exports=v;var r=s(7334),n=s(6522),i=(n.Minimatch,s(4378)),o=s(2361).EventEmitter,a=s(1017),c=s(9491),h=s(4095),u=s(4751),l=s(6772),d=l.setopts,p=l.ownProp,f=s(7844),m=(s(3837),l.childrenIgnored),g=l.isIgnored,b=s(778);function v(e,t,s){if(\"function\"==typeof t&&(s=t,t={}),t||(t={}),t.sync){if(s)throw new TypeError(\"callback provided to sync glob\");return u(e,t)}return new S(e,t,s)}v.sync=u;var y=v.GlobSync=u.GlobSync;function S(e,t,s){if(\"function\"==typeof t&&(s=t,t=null),t&&t.sync){if(s)throw new TypeError(\"callback provided to sync glob\");return new y(e,t)}if(!(this instanceof S))return new S(e,t,s);d(this,e,t),this._didRealPath=!1;var r=this.minimatch.set.length;this.matches=new Array(r),\"function\"==typeof s&&(s=b(s),this.on(\"error\",s),this.on(\"end\",(function(e){s(null,e)})));var n=this;if(this._processing=0,this._emitQueue=[],this._processQueue=[],this.paused=!1,this.noprocess)return this;if(0===r)return o();for(var i=0;i<r;i++)this._process(this.minimatch.set[i],i,!1,o);function o(){--n._processing,n._processing<=0&&n._finish()}}v.glob=v,v.hasMagic=function(e,t){var s=function(e,t){if(null===t||\"object\"!=typeof t)return e;for(var s=Object.keys(t),r=s.length;r--;)e[s[r]]=t[s[r]];return e}({},t);s.noprocess=!0;var r=new S(e,s).minimatch.set;if(!e)return!1;if(r.length>1)return!0;for(var n=0;n<r[0].length;n++)if(\"string\"!=typeof r[0][n])return!0;return!1},v.Glob=S,i(S,o),S.prototype._finish=function(){if(c(this instanceof S),!this.aborted){if(this.realpath&&!this._didRealpath)return this._realpath();l.finish(this),this.emit(\"end\",this.found)}},S.prototype._realpath=function(){if(!this._didRealpath){this._didRealpath=!0;var e=this.matches.length;if(0===e)return this._finish();for(var t=this,s=0;s<this.matches.length;s++)this._realpathSet(s,r)}function r(){0==--e&&t._finish()}},S.prototype._realpathSet=function(e,t){var s=this.matches[e];if(!s)return t();var n=Object.keys(s),i=this,o=n.length;if(0===o)return t();var a=this.matches[e]=Object.create(null);n.forEach((function(s,n){s=i._makeAbs(s),r.realpath(s,i.realpathCache,(function(r,n){r?\"stat\"===r.syscall?a[s]=!0:i.emit(\"error\",r):a[n]=!0,0==--o&&(i.matches[e]=a,t())}))}))},S.prototype._mark=function(e){return l.mark(this,e)},S.prototype._makeAbs=function(e){return l.makeAbs(this,e)},S.prototype.abort=function(){this.aborted=!0,this.emit(\"abort\")},S.prototype.pause=function(){this.paused||(this.paused=!0,this.emit(\"pause\"))},S.prototype.resume=function(){if(this.paused){if(this.emit(\"resume\"),this.paused=!1,this._emitQueue.length){var e=this._emitQueue.slice(0);this._emitQueue.length=0;for(var t=0;t<e.length;t++){var s=e[t];this._emitMatch(s[0],s[1])}}if(this._processQueue.length){var r=this._processQueue.slice(0);for(this._processQueue.length=0,t=0;t<r.length;t++){var n=r[t];this._processing--,this._process(n[0],n[1],n[2],n[3])}}}},S.prototype._process=function(e,t,s,r){if(c(this instanceof S),c(\"function\"==typeof r),!this.aborted)if(this._processing++,this.paused)this._processQueue.push([e,t,s,r]);else{for(var i,o=0;\"string\"==typeof e[o];)o++;switch(o){case e.length:return void this._processSimple(e.join(\"/\"),t,r);case 0:i=null;break;default:i=e.slice(0,o).join(\"/\")}var a,u=e.slice(o);null===i?a=\".\":h(i)||h(e.join(\"/\"))?(i&&h(i)||(i=\"/\"+i),a=i):a=i;var l=this._makeAbs(a);if(m(this,a))return r();u[0]===n.GLOBSTAR?this._processGlobStar(i,a,l,u,t,s,r):this._processReaddir(i,a,l,u,t,s,r)}},S.prototype._processReaddir=function(e,t,s,r,n,i,o){var a=this;this._readdir(s,i,(function(c,h){return a._processReaddir2(e,t,s,r,n,i,h,o)}))},S.prototype._processReaddir2=function(e,t,s,r,n,i,o,c){if(!o)return c();for(var h=r[0],u=!!this.minimatch.negate,l=h._glob,d=this.dot||\".\"===l.charAt(0),p=[],f=0;f<o.length;f++)(\".\"!==(g=o[f]).charAt(0)||d)&&(u&&!e?!g.match(h):g.match(h))&&p.push(g);var m=p.length;if(0===m)return c();if(1===r.length&&!this.mark&&!this.stat){for(this.matches[n]||(this.matches[n]=Object.create(null)),f=0;f<m;f++){var g=p[f];e&&(g=\"/\"!==e?e+\"/\"+g:e+g),\"/\"!==g.charAt(0)||this.nomount||(g=a.join(this.root,g)),this._emitMatch(n,g)}return c()}for(r.shift(),f=0;f<m;f++)g=p[f],e&&(g=\"/\"!==e?e+\"/\"+g:e+g),this._process([g].concat(r),n,i,c);c()},S.prototype._emitMatch=function(e,t){if(!this.aborted&&!g(this,t))if(this.paused)this._emitQueue.push([e,t]);else{var s=h(t)?t:this._makeAbs(t);if(this.mark&&(t=this._mark(t)),this.absolute&&(t=s),!this.matches[e][t]){if(this.nodir){var r=this.cache[s];if(\"DIR\"===r||Array.isArray(r))return}this.matches[e][t]=!0;var n=this.statCache[s];n&&this.emit(\"stat\",t,n),this.emit(\"match\",t)}}},S.prototype._readdirInGlobStar=function(e,t){if(!this.aborted){if(this.follow)return this._readdir(e,!1,t);var s=this,r=f(\"lstat\\0\"+e,(function(r,n){if(r&&\"ENOENT\"===r.code)return t();var i=n&&n.isSymbolicLink();s.symlinks[e]=i,i||!n||n.isDirectory()?s._readdir(e,!1,t):(s.cache[e]=\"FILE\",t())}));r&&s.fs.lstat(e,r)}},S.prototype._readdir=function(e,t,s){if(!this.aborted&&(s=f(\"readdir\\0\"+e+\"\\0\"+t,s))){if(t&&!p(this.symlinks,e))return this._readdirInGlobStar(e,s);if(p(this.cache,e)){var r=this.cache[e];if(!r||\"FILE\"===r)return s();if(Array.isArray(r))return s(null,r)}this.fs.readdir(e,function(e,t,s){return function(r,n){r?e._readdirError(t,r,s):e._readdirEntries(t,n,s)}}(this,e,s))}},S.prototype._readdirEntries=function(e,t,s){if(!this.aborted){if(!this.mark&&!this.stat)for(var r=0;r<t.length;r++){var n=t[r];n=\"/\"===e?e+n:e+\"/\"+n,this.cache[n]=!0}return this.cache[e]=t,s(null,t)}},S.prototype._readdirError=function(e,t,s){if(!this.aborted){switch(t.code){case\"ENOTSUP\":case\"ENOTDIR\":var r=this._makeAbs(e);if(this.cache[r]=\"FILE\",r===this.cwdAbs){var n=new Error(t.code+\" invalid cwd \"+this.cwd);n.path=this.cwd,n.code=t.code,this.emit(\"error\",n),this.abort()}break;case\"ENOENT\":case\"ELOOP\":case\"ENAMETOOLONG\":case\"UNKNOWN\":this.cache[this._makeAbs(e)]=!1;break;default:this.cache[this._makeAbs(e)]=!1,this.strict&&(this.emit(\"error\",t),this.abort()),this.silent||console.error(\"glob error\",t)}return s()}},S.prototype._processGlobStar=function(e,t,s,r,n,i,o){var a=this;this._readdir(s,i,(function(c,h){a._processGlobStar2(e,t,s,r,n,i,h,o)}))},S.prototype._processGlobStar2=function(e,t,s,r,n,i,o,a){if(!o)return a();var c=r.slice(1),h=e?[e]:[],u=h.concat(c);this._process(u,n,!1,a);var l=this.symlinks[s],d=o.length;if(l&&i)return a();for(var p=0;p<d;p++)if(\".\"!==o[p].charAt(0)||this.dot){var f=h.concat(o[p],c);this._process(f,n,!0,a);var m=h.concat(o[p],r);this._process(m,n,!0,a)}a()},S.prototype._processSimple=function(e,t,s){var r=this;this._stat(e,(function(n,i){r._processSimple2(e,t,n,i,s)}))},S.prototype._processSimple2=function(e,t,s,r,n){if(this.matches[t]||(this.matches[t]=Object.create(null)),!r)return n();if(e&&h(e)&&!this.nomount){var i=/[\\/\\\\]$/.test(e);\"/\"===e.charAt(0)?e=a.join(this.root,e):(e=a.resolve(this.root,e),i&&(e+=\"/\"))}\"win32\"===process.platform&&(e=e.replace(/\\\\/g,\"/\")),this._emitMatch(t,e),n()},S.prototype._stat=function(e,t){var s=this._makeAbs(e),r=\"/\"===e.slice(-1);if(e.length>this.maxLength)return t();if(!this.stat&&p(this.cache,s)){var n=this.cache[s];if(Array.isArray(n)&&(n=\"DIR\"),!r||\"DIR\"===n)return t(null,n);if(r&&\"FILE\"===n)return t()}var i=this.statCache[s];if(void 0!==i){if(!1===i)return t(null,i);var o=i.isDirectory()?\"DIR\":\"FILE\";return r&&\"FILE\"===o?t():t(null,o,i)}var a=this,c=f(\"stat\\0\"+s,(function(r,n){if(n&&n.isSymbolicLink())return a.fs.stat(s,(function(r,i){r?a._stat2(e,s,null,n,t):a._stat2(e,s,r,i,t)}));a._stat2(e,s,r,n,t)}));c&&a.fs.lstat(s,c)},S.prototype._stat2=function(e,t,s,r,n){if(s&&(\"ENOENT\"===s.code||\"ENOTDIR\"===s.code))return this.statCache[t]=!1,n();var i=\"/\"===e.slice(-1);if(this.statCache[t]=r,\"/\"===t.slice(-1)&&r&&!r.isDirectory())r"

I have tried to use vscode-cpptool debug adpter to debug the cortex-m project, and it works. Thanks for the author's work.
As cortex-debug has more features then vscode-cpptool, it would be great to use the adapter with nvim-dap!

There is nothing in the logs that would indicate a problem with the client. I don't have any cortex-m devices to try it myself.

Did you yourself get it working with vimspector? If not, maybe try that first, so you can at least rule out any client issue and focus on the configuration. Once you've managed that it may be easier to port to nvim-dap.

Others tried the cortext-debug-adapter as well, but didn't manage to get it working: #434 - but maybe it helps you continue?

I can't make it work on vimspector and neovim too.