roku-debug 0.23.7 → 0.23.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
 
8
8
 
9
+ ## [0.23.9](https://github.com/rokucommunity/roku-debug/compare/0.23.8...v0.23.9) - 2026-05-27
10
+ ### Changed
11
+ - upgrade to [brighterscript@0.72.3](https://github.com/rokucommunity/brighterscript/blob/master/CHANGELOG.md#0723---2026-05-27).
12
+ ### Fixed
13
+ - stale suspend/runtime-error events when debugger is no longer paused ([#356](https://github.com/rokucommunity/roku-debug/pull/356))
14
+ - crash related to missing client when trying to sync breakpoints with device ([#357](https://github.com/rokucommunity/roku-debug/pull/357))
15
+ - pressHomeButton crash in disconnectRequest ([#358](https://github.com/rokucommunity/roku-debug/pull/358))
16
+
17
+
18
+
19
+ ## [0.23.8](https://github.com/rokucommunity/roku-debug/compare/0.23.7...v0.23.8) - 2026-05-19
20
+ ### Changed
21
+ - Inject breakpoint STOPs _after_ `InitializedEvent` ([#340](https://github.com/rokucommunity/roku-debug/pull/340))
22
+ - Defer DAP capabilities and InitializedEvent until after adapter connects ([#328](https://github.com/rokucommunity/roku-debug/pull/328))
23
+ - upgrade to [@rokucommunity/logger@0.3.12](https://github.com/rokucommunity/logger/blob/master/CHANGELOG.md#0312---2026-05-19). Notable changes since 0.3.11:
24
+ - Security enhancements ([#17](https://github.com/rokucommunity/logger/pull/17))
25
+ - upgrade to [brighterscript@0.72.2](https://github.com/rokucommunity/brighterscript/blob/master/CHANGELOG.md#0722---2026-05-19). Notable changes since 0.72.1:
26
+ - Security enhancements ([#1714](https://github.com/rokucommunity/brighterscript/pull/1714))
27
+ - upgrade to [roku-deploy@3.17.4](https://github.com/rokucommunity/roku-deploy/blob/master/CHANGELOG.md#3174---2026-05-19). Notable changes since 3.17.2:
28
+ - Security enhancements ([#263](https://github.com/rokucommunity/roku-deploy/pull/263))
29
+ - Add `autoLaunch` option to control `dev_autolaunch` on sideload ([#261](https://github.com/rokucommunity/roku-deploy/pull/261))
30
+ ### Fixed
31
+ - security enhancements ([#350](https://github.com/rokucommunity/roku-debug/pull/350))
32
+ - TelnetAdapter crash when methods are called after destroy ([#349](https://github.com/rokucommunity/roku-debug/pull/349))
33
+ - deferred capability handling for exception breakpoints ([#342](https://github.com/rokucommunity/roku-debug/pull/342))
34
+ - bug on windows with rdb file copying ([#343](https://github.com/rokucommunity/roku-debug/pull/343))
35
+ - sourcemap race in preprocessStagingFiles ([#339](https://github.com/rokucommunity/roku-debug/pull/339))
36
+
37
+
38
+
9
39
  ## [0.23.7](https://github.com/rokucommunity/roku-debug/compare/0.23.6...v0.23.7) - 2026-05-11
10
40
  ### Changed
11
41
  - upgrade to [brighterscript@0.72.1](https://github.com/rokucommunity/brighterscript/blob/master/CHANGELOG.md#0721---2026-05-11). Notable changes since 0.72.0:
package/README.md CHANGED
@@ -2,9 +2,10 @@
2
2
  A [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol/) server (for editors like VSCode) and a socket adapter for Roku's [BrightScript Debug Protocol](https://developer.roku.com/en-ca/docs/developer-program/debugging/socket-based-debugger.md)
3
3
 
4
4
  [![build status](https://img.shields.io/github/actions/workflow/status/rokucommunity/roku-debug/build.yml?branch=master)](https://github.com/rokucommunity/roku-debug/actions?query=branch%3Amaster+workflow%3Abuild)
5
+ [![security](https://img.shields.io/github/actions/workflow/status/rokucommunity/roku-debug/security-audit.yml?branch=master&label=security&logo=data:image/svg%2Bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHJlY3QgeD0iMyIgeT0iOCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjciIHJ4PSIxIiBmaWxsPSJ3aGl0ZSIvPjxwYXRoIGQ9Ik01IDhWNWEzIDMgMCAwIDEgNiAwdjMiIGZpbGw9Im5vbmUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIvPjwvc3ZnPg==)](https://github.com/rokucommunity/roku-debug/actions/workflows/security-audit.yml)
5
6
  [![coverage status](https://img.shields.io/coveralls/github/rokucommunity/roku-debug?logo=coveralls)](https://coveralls.io/github/rokucommunity/roku-debug?branch=master)
6
- [![monthly downloads](https://img.shields.io/npm/dm/roku-debug.svg?sanitize=true&logo=npm&logoColor=)](https://npmcharts.com/compare/roku-debug?minimal=true)
7
- [![npm version](https://img.shields.io/npm/v/roku-debug.svg?logo=npm)](https://www.npmjs.com/package/roku-debug)
7
+ [![monthly downloads](https://img.shields.io/npm/dm/roku-debug.svg?sanitize=true&logo=npm&logoColor=&label=npm)](https://npmcharts.com/compare/roku-debug?minimal=true)
8
+ [![npm version](https://img.shields.io/npm/v/roku-debug.svg?logo=npm&label=npm)](https://www.npmjs.com/package/roku-debug)
8
9
  [![license](https://img.shields.io/github/license/rokucommunity/roku-debug.svg)](LICENSE)
9
10
  [![Slack](https://img.shields.io/badge/Slack-RokuCommunity-4A154B?logo=slack)](https://join.slack.com/t/rokudevelopers/shared_invite/zt-4vw7rg6v-NH46oY7hTktpRIBM_zGvwA)
10
11
 
@@ -21,5 +22,9 @@ To run the language server standalone, you simply need to:
21
22
  - install this project (`npm install roku-debug`)
22
23
  - run the project in dap mode (`npx roku-debug --dap`)
23
24
 
25
+ ## Accepted security advisories
26
+
27
+ Dependencies flagged by `npm audit` that we have reviewed and chosen not to upgrade are tracked in [audit-ci.jsonc](https://github.com/RokuCommunity/roku-debug/blob/master/audit-ci.jsonc). Each entry includes the advisory ID, the date it was added, and the reason it does not apply to this project.
28
+
24
29
  ## Changelog
25
30
  Click [here](CHANGELOG.md) to view the changelog
package/audit-ci.jsonc ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ // Fail on high severity and above. See README "Accepted security advisories" for
3
+ // why each allowlisted entry is safe to defer.
4
+ "$schema": "https://github.com/IBM/audit-ci/raw/main/docs/schema.json",
5
+ "high": true,
6
+ "allowlist": [
7
+ {
8
+ "GHSA-w5hq-g745-h8pq": {
9
+ // Added: 2026-05-22
10
+ "active": true,
11
+ "notes": "`uuid` <11.1.1 (via `roku-deploy>postman-request` and dev-only `nyc>istanbul-lib-processinfo`): vulnerable code path is `v3()`/`v5()`/`v6()` when a caller-provided buffer is passed. Both consumers call only `v4()` (no buffer arg), so the vulnerable path is unreachable from this dep graph."
12
+ }
13
+ }
14
+ ]
15
+ }
@@ -21,15 +21,20 @@ export declare class DebugProtocolAdapter {
21
21
  constructor(options: AdapterOptions & ConstructorOptions, projectManager: ProjectManager, breakpointManager: BreakpointManager, rendezvousTracker: RendezvousTracker, deviceInfo: DeviceInfo);
22
22
  private logger;
23
23
  /**
24
- * Indicates whether the adapter has successfully established a connection with the device
24
+ * Capabilities seeded from the device-info `brightscript-debugger-version`. Used as the
25
+ * source of truth for protocol capability questions before the debug protocol client has
26
+ * connected and completed its handshake.
25
27
  */
26
- connected: boolean;
28
+ private fallbackCapabilities;
29
+ /**
30
+ * The current authoritative capabilities for protocol-version-driven questions: the live
31
+ * client's capabilities once it exists, otherwise the device-info-seeded fallback.
32
+ */
33
+ private get capabilities();
27
34
  /**
28
- * Due to casing issues with the variables request on some versions of the debug protocol, we first need to try the request in the supplied case.
29
- * If that fails we retry in lower case. This flag is used to drive that logic switching
35
+ * Indicates whether the adapter has successfully established a connection with the device
30
36
  */
31
- private enableVariablesLowerCaseRetry;
32
- private supportsExecuteCommand;
37
+ connected: boolean;
33
38
  private compileClient;
34
39
  private compileErrorProcessor;
35
40
  private emitter;
@@ -86,9 +91,19 @@ export declare class DebugProtocolAdapter {
86
91
  on(eventname: 'unhandled-console-output', handler: (output: string) => any): any;
87
92
  private emit;
88
93
  /**
89
- * Does the current client support exception breakpoints? This value will be undefined if the client has not yet connected
94
+ * Does the current client support exception breakpoints? Resolved via the live client's
95
+ * capabilities when connected, otherwise the device-info-seeded fallback.
90
96
  */
91
- get supportsExceptionBreakpoints(): boolean | undefined;
97
+ get supportsExceptionBreakpoints(): boolean;
98
+ /**
99
+ * Does the current client support conditional breakpoints? Same fallback semantics as
100
+ * `supportsExceptionBreakpoints`.
101
+ */
102
+ get supportsConditionalBreakpoints(): boolean;
103
+ /**
104
+ * Does the current client support hit-count breakpoints?
105
+ */
106
+ get supportsHitConditionalBreakpoints(): boolean;
92
107
  /**
93
108
  * The debugger needs to tell us when to be active (i.e. when the package was deployed)
94
109
  */
@@ -217,6 +232,12 @@ export declare class DebugProtocolAdapter {
217
232
  * Sends a call to the ChanperfTracker to clear the current chanperf history
218
233
  */
219
234
  clearChanperfHistory(): void;
235
+ /**
236
+ * The most recently requested exception breakpoint filters. Stored so we can replay them
237
+ * to the debug protocol client once it connects (the session can send these before the
238
+ * device has launched and the client has finished its handshake).
239
+ */
240
+ private pendingExceptionBreakpointFilters;
220
241
  setExceptionBreakpoints(filters: ExceptionBreakpoint[]): Promise<import("../debugProtocol/events/responses/SetExceptionBreakpointsResponse").SetExceptionBreakpointsResponse>;
221
242
  private syncBreakpointsPromise;
222
243
  syncBreakpoints(): Promise<void>;
@@ -9,8 +9,8 @@ const ChanperfTracker_1 = require("../ChanperfTracker");
9
9
  const Constants_1 = require("../debugProtocol/Constants");
10
10
  const util_1 = require("../util");
11
11
  const logging_1 = require("../logging");
12
- const semver = require("semver");
13
12
  const DebugProtocolClient_1 = require("../debugProtocol/client/DebugProtocolClient");
13
+ const ProtocolCapabilities_1 = require("../debugProtocol/client/ProtocolCapabilities");
14
14
  const VariablesResponse_1 = require("../debugProtocol/events/responses/VariablesResponse");
15
15
  const customVariableUtils_1 = require("./customVariableUtils");
16
16
  const Exceptions_1 = require("../Exceptions");
@@ -19,17 +19,13 @@ const Exceptions_1 = require("../Exceptions");
19
19
  */
20
20
  class DebugProtocolAdapter {
21
21
  constructor(options, projectManager, breakpointManager, rendezvousTracker, deviceInfo) {
22
+ var _a, _b;
22
23
  this.options = options;
23
24
  this.projectManager = projectManager;
24
25
  this.breakpointManager = breakpointManager;
25
26
  this.rendezvousTracker = rendezvousTracker;
26
27
  this.deviceInfo = deviceInfo;
27
28
  this.logger = logging_1.logger.createLogger(`[padapter]`);
28
- /**
29
- * Due to casing issues with the variables request on some versions of the debug protocol, we first need to try the request in the supplied case.
30
- * If that fails we retry in lower case. This flag is used to drive that logic switching
31
- */
32
- this.enableVariablesLowerCaseRetry = true;
33
29
  this.nextFrameId = 1;
34
30
  this.stackFramesCache = {};
35
31
  this.cache = {};
@@ -60,11 +56,22 @@ class DebugProtocolAdapter {
60
56
  this.chanperfTracker = new ChanperfTracker_1.ChanperfTracker();
61
57
  this.compileErrorProcessor = new CompileErrorProcessor_1.CompileErrorProcessor();
62
58
  this.connected = false;
59
+ //capabilities derived from device-info; used to answer questions before the debug
60
+ //protocol client has connected and completed its handshake
61
+ this.fallbackCapabilities = new ProtocolCapabilities_1.ProtocolCapabilities((_a = this.deviceInfo) === null || _a === void 0 ? void 0 : _a.brightscriptDebuggerVersion, (_b = this.deviceInfo) === null || _b === void 0 ? void 0 : _b.softwareVersion);
63
62
  // watch for chanperf events
64
63
  this.chanperfTracker.on('chanperf', (output) => {
65
64
  this.emit('chanperf', output);
66
65
  });
67
66
  }
67
+ /**
68
+ * The current authoritative capabilities for protocol-version-driven questions: the live
69
+ * client's capabilities once it exists, otherwise the device-info-seeded fallback.
70
+ */
71
+ get capabilities() {
72
+ var _a, _b;
73
+ return (_b = (_a = this.client) === null || _a === void 0 ? void 0 : _a.capabilities) !== null && _b !== void 0 ? _b : this.fallbackCapabilities;
74
+ }
68
75
  /**
69
76
  * Get the version of the protocol for the Roku device we're currently connected to.
70
77
  */
@@ -92,17 +99,39 @@ class DebugProtocolAdapter {
92
99
  //emit these events on next tick, otherwise they will be processed immediately which could cause issues
93
100
  setTimeout(() => {
94
101
  //in rare cases, this event is fired after the debugger has closed, so make sure the event emitter still exists
95
- if (this.emitter) {
96
- this.emitter.emit(eventName, data);
102
+ if (!this.emitter) {
103
+ return;
104
+ }
105
+ //drop stale 'suspend'/'runtime-error' events when the debugger has already resumed.
106
+ //emit() defers via setTimeout, so isStopped can flip false between queue and fire (e.g. auto-continue on entry breakpoint),
107
+ //causing downstream handlers to call getThreads() against a running debugger.
108
+ //See https://github.com/rokucommunity/vscode-brightscript-language/issues/798
109
+ if ((eventName === 'suspend' || eventName === 'runtime-error') && !this.isAtDebuggerPrompt) {
110
+ this.logger.warn(`Dropping stale "${eventName}" event because debugger is no longer paused`);
111
+ return;
97
112
  }
113
+ this.emitter.emit(eventName, data);
98
114
  }, 0);
99
115
  }
100
116
  /**
101
- * Does the current client support exception breakpoints? This value will be undefined if the client has not yet connected
117
+ * Does the current client support exception breakpoints? Resolved via the live client's
118
+ * capabilities when connected, otherwise the device-info-seeded fallback.
102
119
  */
103
120
  get supportsExceptionBreakpoints() {
104
- var _a;
105
- return (_a = this.client) === null || _a === void 0 ? void 0 : _a.supportsExceptionBreakpoints;
121
+ return this.capabilities.supportsExceptionBreakpoints;
122
+ }
123
+ /**
124
+ * Does the current client support conditional breakpoints? Same fallback semantics as
125
+ * `supportsExceptionBreakpoints`.
126
+ */
127
+ get supportsConditionalBreakpoints() {
128
+ return this.capabilities.supportsConditionalBreakpoints;
129
+ }
130
+ /**
131
+ * Does the current client support hit-count breakpoints?
132
+ */
133
+ get supportsHitConditionalBreakpoints() {
134
+ return this.capabilities.supportsHitConditionalBreakpoints;
106
135
  }
107
136
  activate() {
108
137
  this.isActivated = true;
@@ -191,6 +220,10 @@ class DebugProtocolAdapter {
191
220
  await this.client.destroy()
192
221
  ]);
193
222
  this.client = undefined;
223
+ //keep `connected` in sync with `client` so the _syncBreakpoints entry guard
224
+ //(and similar checks elsewhere) reflects the actual state. Restored to true below
225
+ //once the new client finishes connecting.
226
+ this.connected = false;
194
227
  }
195
228
  this.client = new DebugProtocolClient_1.DebugProtocolClient(this.options);
196
229
  try {
@@ -217,13 +250,6 @@ class DebugProtocolAdapter {
217
250
  this.emit('unhandled-console-output', data.message);
218
251
  this.emit('console-output', data.message);
219
252
  }
220
- // TODO: Update once we know the exact version of the debug protocol this issue was fixed in.
221
- // Due to casing issues with variables on protocol version <FUTURE_VERSION> and under we first need to try the request in the supplied case.
222
- // If that fails we retry in lower case.
223
- this.enableVariablesLowerCaseRetry = semver.satisfies(this.activeProtocolVersion, '<3.1.0');
224
- // While execute was added as a command in 2.1.0. It has shortcoming that prevented us for leveraging the command.
225
- // This was mostly addressed in the 3.0.0 release to the point where we were comfortable adding support for the command.
226
- this.supportsExecuteCommand = semver.satisfies(this.activeProtocolVersion, '>=3.0.0');
227
253
  });
228
254
  // Listen for the close event
229
255
  this.client.on('close', () => {
@@ -232,6 +258,11 @@ class DebugProtocolAdapter {
232
258
  this.beginAppExit();
233
259
  void ((_a = this.client) === null || _a === void 0 ? void 0 : _a.destroy());
234
260
  this.client = undefined;
261
+ //the protocol client is gone — keep `connected` in sync so any subsequent
262
+ //syncBreakpoints / setExceptionBreakpoints calls during the close→app-exit
263
+ //window early-return instead of dereferencing the undefined client.
264
+ //See https://github.com/rokucommunity/vscode-brightscript-language/issues/811
265
+ this.connected = false;
235
266
  });
236
267
  // Listen for the app exit event
237
268
  this.client.on('app-exit', () => {
@@ -290,6 +321,16 @@ class DebugProtocolAdapter {
290
321
  this.handleStartupIfReady();
291
322
  this.emit('connected', this.connected);
292
323
  this.emit('app-ready');
324
+ //flush any breakpoints that were queued while we were waiting for the client to connect.
325
+ //setBreakpointsRequest is called by VS Code before the channel is uploaded, so the initial
326
+ //sync bails out (no client yet); this re-sync pushes those queued breakpoints to the device.
327
+ void this.syncBreakpoints();
328
+ //also replay any queued exception breakpoint filters
329
+ if (this.pendingExceptionBreakpointFilters) {
330
+ const queuedFilters = this.pendingExceptionBreakpointFilters;
331
+ this.pendingExceptionBreakpointFilters = undefined;
332
+ void this.client.setExceptionBreakpoints(queuedFilters);
333
+ }
293
334
  //the adapter is connected and running smoothly. resolve the promise
294
335
  deferred.resolve();
295
336
  }
@@ -308,7 +349,7 @@ class DebugProtocolAdapter {
308
349
  * Determines if the current version of the debug protocol supports emitting compile error updates.
309
350
  */
310
351
  get supportsCompileErrorReporting() {
311
- return semver.satisfies(this.deviceInfo.brightscriptDebuggerVersion, '>=3.1.0');
352
+ return this.capabilities.supportsCompileErrorReporting;
312
353
  }
313
354
  /**
314
355
  * Indicate if virtual variables should be auto resolved when they are encountered.
@@ -435,7 +476,7 @@ class DebugProtocolAdapter {
435
476
  */
436
477
  async evaluate(command, frameId = this.client.primaryThread) {
437
478
  var _a, _b, _c, _d, _e, _f, _g;
438
- if (this.supportsExecuteCommand) {
479
+ if (this.capabilities.supportsExecuteCommand) {
439
480
  if (!this.isAtDebuggerPrompt) {
440
481
  throw new Error('Cannot run evaluate: debugger is not paused');
441
482
  }
@@ -532,11 +573,11 @@ class DebugProtocolAdapter {
532
573
  logger.info(`Expression:`, JSON.stringify(expression));
533
574
  let variablePath = expression === '' ? [] : util_1.util.getVariablePath(expression);
534
575
  // Temporary workaround related to casing issues over the protocol
535
- if (this.enableVariablesLowerCaseRetry && (variablePath === null || variablePath === void 0 ? void 0 : variablePath.length) > 0) {
576
+ if (this.capabilities.enableVariablesLowerCaseRetry && (variablePath === null || variablePath === void 0 ? void 0 : variablePath.length) > 0) {
536
577
  variablePath[0] = variablePath[0].toLowerCase();
537
578
  }
538
579
  let response = await this.client.getVariables(variablePath, frame.frameIndex, frame.threadIndex);
539
- if (this.enableVariablesLowerCaseRetry && response.data.errorCode !== Constants_1.ErrorCode.OK) {
580
+ if (this.capabilities.enableVariablesLowerCaseRetry && response.data.errorCode !== Constants_1.ErrorCode.OK) {
540
581
  // Temporary workaround related to casing issues over the protocol
541
582
  logger.log(`Retrying expression as lower case:`, expression);
542
583
  variablePath = expression === '' ? [] : util_1.util.getVariablePath(expression === null || expression === void 0 ? void 0 : expression.toLowerCase());
@@ -832,13 +873,15 @@ class DebugProtocolAdapter {
832
873
  this.chanperfTracker.clearHistory();
833
874
  }
834
875
  async setExceptionBreakpoints(filters) {
835
- var _a, _b;
836
- if ((_a = this.client) === null || _a === void 0 ? void 0 : _a.supportsExceptionBreakpoints) {
837
- //tell the client to set the exception breakpoints
838
- const response = await ((_b = this.client) === null || _b === void 0 ? void 0 : _b.setExceptionBreakpoints(filters));
839
- return response;
876
+ if (!this.capabilities.supportsExceptionBreakpoints) {
877
+ return undefined;
878
+ }
879
+ //if the client isn't connected yet, queue the filters for replay on connect
880
+ if (!this.connected) {
881
+ this.pendingExceptionBreakpointFilters = filters;
882
+ return undefined;
840
883
  }
841
- return undefined;
884
+ return this.client.setExceptionBreakpoints(filters);
842
885
  }
843
886
  async syncBreakpoints() {
844
887
  this.logger.log('syncBreakpoints()');
@@ -852,11 +895,17 @@ class DebugProtocolAdapter {
852
895
  return this.syncBreakpointsPromise;
853
896
  }
854
897
  async _syncBreakpoints() {
855
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
898
+ var _a, _b, _c, _d, _e, _f, _g;
899
+ //we need to actually be connected to the device before we can push breakpoints. We'll get
900
+ //called again once the debug protocol client has connected.
901
+ if (!this.connected) {
902
+ this.logger.info('Cannot sync breakpoints because the debug protocol client has not connected yet');
903
+ return;
904
+ }
856
905
  //we can't send breakpoints unless we're stopped (or in a protocol version that supports sending them while running).
857
906
  //So...if we're not stopped, quit now. (we'll get called again when the stop event happens)
858
- if (!((_a = this.client) === null || _a === void 0 ? void 0 : _a.supportsBreakpointRegistrationWhileRunning) && !this.isAtDebuggerPrompt) {
859
- this.logger.info('Cannot sync breakpoints because the debugger', ((_b = this.client) === null || _b === void 0 ? void 0 : _b.supportsBreakpointRegistrationWhileRunning) ? 'does not support sending breakpoints while running' : 'is not paused');
907
+ if (!this.capabilities.supportsBreakpointRegistrationWhileRunning && !this.isAtDebuggerPrompt) {
908
+ this.logger.info('Cannot sync breakpoints because the debugger', this.capabilities.supportsBreakpointRegistrationWhileRunning ? 'does not support sending breakpoints while running' : 'is not paused');
860
909
  return;
861
910
  }
862
911
  //compute breakpoint changes since last sync
@@ -866,16 +915,29 @@ class DebugProtocolAdapter {
866
915
  this.logger.debug('No breakpoints to sync');
867
916
  return;
868
917
  }
918
+ //getDiff above can yield to other microtasks. If the protocol client closed while we were
919
+ //awaiting (mid-sync TOCTOU), bail out before dereferencing this.client. The app-exit handler
920
+ //resets the breakpoint baseline so the next reconnect re-pushes any pending changes.
921
+ //See https://github.com/rokucommunity/vscode-brightscript-language/issues/811
922
+ if (!this.client) {
923
+ this.logger.info('Skipping breakpoint sync because the protocol client closed mid-sync');
924
+ return;
925
+ }
869
926
  // REMOVE breakpoints (delete these breakpoints from the device)
870
927
  if (diff.removed.length > 0) {
871
928
  const response = await this.client.removeBreakpoints(
872
929
  //TODO handle retrying to remove breakpoints that don't have deviceIds yet but might get one in the future
873
930
  diff.removed.map(x => x.deviceId).filter(x => typeof x === 'number'));
874
- if (((_c = response.data) === null || _c === void 0 ? void 0 : _c.errorCode) === Constants_1.ErrorCode.NOT_STOPPED) {
931
+ if (((_a = response.data) === null || _a === void 0 ? void 0 : _a.errorCode) === Constants_1.ErrorCode.NOT_STOPPED) {
875
932
  this.breakpointManager.failedDeletions.push(...diff.removed);
876
933
  }
877
934
  }
878
935
  if (diff.added.length > 0) {
936
+ //the removeBreakpoints await above can also yield; re-check before attempting the add
937
+ if (!this.client) {
938
+ this.logger.info('Skipping breakpoint add because the protocol client closed mid-sync');
939
+ return;
940
+ }
879
941
  const breakpointsToSendToDevice = diff.added.map(breakpoint => {
880
942
  const hitCount = parseInt(breakpoint.hitCondition);
881
943
  return {
@@ -893,7 +955,7 @@ class DebugProtocolAdapter {
893
955
  const standardBreakpoints = [];
894
956
  const conditionalBreakpoints = [];
895
957
  for (const breakpoint of breakpointsToSendToDevice) {
896
- if ((_d = breakpoint === null || breakpoint === void 0 ? void 0 : breakpoint.conditionalExpression) === null || _d === void 0 ? void 0 : _d.trim()) {
958
+ if ((_b = breakpoint === null || breakpoint === void 0 ? void 0 : breakpoint.conditionalExpression) === null || _b === void 0 ? void 0 : _b.trim()) {
897
959
  conditionalBreakpoints.push(breakpoint);
898
960
  }
899
961
  else {
@@ -903,8 +965,8 @@ class DebugProtocolAdapter {
903
965
  for (const breakpoints of [standardBreakpoints, conditionalBreakpoints]) {
904
966
  const response = await this.client.addBreakpoints(breakpoints);
905
967
  //if the response was successful, and we have the correct number of breakpoints in the response
906
- if (response.data.errorCode === Constants_1.ErrorCode.OK && ((_f = (_e = response === null || response === void 0 ? void 0 : response.data) === null || _e === void 0 ? void 0 : _e.breakpoints) === null || _f === void 0 ? void 0 : _f.length) === breakpoints.length) {
907
- for (let i = 0; i < ((_j = (_h = (_g = response === null || response === void 0 ? void 0 : response.data) === null || _g === void 0 ? void 0 : _g.breakpoints) === null || _h === void 0 ? void 0 : _h.length) !== null && _j !== void 0 ? _j : 0); i++) {
968
+ if (response.data.errorCode === Constants_1.ErrorCode.OK && ((_d = (_c = response === null || response === void 0 ? void 0 : response.data) === null || _c === void 0 ? void 0 : _c.breakpoints) === null || _d === void 0 ? void 0 : _d.length) === breakpoints.length) {
969
+ for (let i = 0; i < ((_g = (_f = (_e = response === null || response === void 0 ? void 0 : response.data) === null || _e === void 0 ? void 0 : _e.breakpoints) === null || _f === void 0 ? void 0 : _f.length) !== null && _g !== void 0 ? _g : 0); i++) {
908
970
  const deviceBreakpoint = response.data.breakpoints[i];
909
971
  if (typeof (deviceBreakpoint === null || deviceBreakpoint === void 0 ? void 0 : deviceBreakpoint.id) === 'number') {
910
972
  //sync this breakpoint's deviceId with the roku-assigned breakpoint ID
@@ -1 +1 @@
1
- {"version":3,"file":"DebugProtocolAdapter.js","sourceRoot":"","sources":["../../src/adapters/DebugProtocolAdapter.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,6BAA6B;AAC7B,mDAAqE;AAErE,oEAAiE;AAGjE,wDAAqD;AACrD,0DAAyF;AACzF,kCAAsC;AACtC,wCAAoC;AACpC,iCAAiC;AAKjC,qFAAkF;AAElF,2FAAmF;AAKnF,+DAAkG;AAElG,8CAA2D;AAE3D;;GAEG;AACH,MAAa,oBAAoB;IAC7B,YACY,OAA4C,EAC5C,cAA8B,EAC9B,iBAAoC,EACpC,iBAAoC,EACpC,UAAsB;QAJtB,YAAO,GAAP,OAAO,CAAqC;QAC5C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,eAAU,GAAV,UAAU,CAAY;QAc1B,WAAM,GAAG,gBAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAOnD;;;WAGG;QACK,kCAA6B,GAAG,IAAI,CAAC;QAOrC,gBAAW,GAAG,CAAC,CAAC;QAEhB,qBAAgB,GAA+B,EAAE,CAAC;QAClD,UAAK,GAAG,EAAE,CAAC;QAuFnB;;WAEG;QACI,gBAAW,GAAG,KAAK,CAAC;QAE3B;;;WAGG;QACI,iBAAY,GAAG,KAAK,CAAC;QAqEpB,yBAAoB,GAAG,IAAA,YAAK,GAAQ,CAAC;QA2KrC,2BAAsB,GAAG,KAAK,CAAC;QA8evC;;;WAGG;QACI,gBAAW,GAAG,KAAK,CAAC;QA4B3B;;WAEG;QACK,wBAAmB,GAAG,IAAA,YAAK,GAAQ,CAAC;QACpC,8BAAyB,GAAG,KAAK,CAAC;QAuDlC,2BAAsB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QA17B/C,WAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,6CAAqB,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,4BAA4B;QAC5B,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACP,CAAC;IAyBD;;OAEG;IACH,IAAW,qBAAqB;;QAC5B,OAAO,MAAA,IAAI,CAAC,MAAM,0CAAE,eAAe,CAAC;IACxC,CAAC;IAqBM,IAAI,CAAC,SAAiB;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,SAAsD,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;gBAC3F,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAuBM,EAAE,CAAC,SAAiB,EAAE,OAA8B;;QACvD,MAAA,IAAI,CAAC,OAAO,0CAAE,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,GAAG,EAAE;;YACR,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC;IACN,CAAC;IAOO,IAAI,CAAC,SAAiB,EAAE,IAAK;QACjC,uGAAuG;QACvG,UAAU,CAAC,GAAG,EAAE;YACZ,+GAA+G;YAC/G,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACtC;QACL,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED;;OAEG;IACH,IAAW,4BAA4B;;QACnC,OAAO,MAAA,IAAI,CAAC,MAAM,0CAAE,4BAA4B,CAAC;IACrD,CAAC;IAaM,QAAQ;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;IAClD,CAAC;IAEO,oBAAoB;QACxB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnB,0FAA0F;YAC1F,0FAA0F;YAC1F,wCAAwC;YACxC,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACxB;SACJ;IACL,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,MAAc,EAAE,mBAAmB,GAAG,GAAG;QACjE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;YACnB,IAAI,IAAI,GAAG,EAAE,CAAC;YAEd,SAAS,OAAO,CAAC,MAAM;gBACnB,SAAS,EAAE,CAAC;gBACZ,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC1B,IAAI,WAAW,GAAG,SAAS,CAAC;gBAC5B,cAAc,GAAG,IAAI,CAAC;gBACtB,UAAU,CAAC,GAAG,EAAE;oBACZ,IAAI,WAAW,KAAK,SAAS,EAAE;wBAC3B,iCAAiC;wBACjC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBACvC,OAAO,CAAC,IAAI,CAAC,CAAC;qBACjB;gBACL,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,YAAY,GAAG,GAAG,EAAE;gBACtB,IAAI,cAAc,KAAK,KAAK,EAAE;oBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC5B;YACL,CAAC,CAAC;YAEF,wBAAwB;YACxB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAE3B,2EAA2E;YAC3E,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACjC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAW,kBAAkB;;QACzB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,mCAAI,KAAK,CAAC;IAC3C,CAAC;IAID;;OAEG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO;QAChB,kFAAkF;QAClF,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAEvC,mEAAmE;YACnE,2FAA2F;YAC3F,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE;gBACxC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;aACvC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,yBAAyB;QAClC,IAAI,QAAQ,GAAG,IAAA,YAAK,GAAE,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,OAAO,CAAC,IAAI,CAAC;gBACf,WAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;aAC9B,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SAC3B;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI;YACA,6BAA6B;YAC7B,kEAAkE;YAClE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBAC/C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBAClC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAC7D,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACrE,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;iBAC7C;YACL,CAAC,CAAC,CAAC;YAEH,6BAA6B;YAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,IAA4B,EAAE,EAAE;gBAChE,IAAI,IAAI,CAAC,SAAS,KAAK,gCAAoB,CAAC,SAAS,EAAE;oBACnD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7C;qBAAM,IAAI,IAAI,CAAC,SAAS,KAAK,gCAAoB,CAAC,UAAU,EAAE;oBAC3D,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7C;qBAAM,IAAI,IAAI,CAAC,SAAS,KAAK,gCAAoB,CAAC,aAAa,EAAE;oBAC9D,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7C;gBAED,6FAA6F;gBAC7F,4IAA4I;gBAC5I,wCAAwC;gBACxC,IAAI,CAAC,6BAA6B,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;gBAC5F,kHAAkH;gBAClH,wHAAwH;gBACxH,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;YAEH,6BAA6B;YAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;;gBACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,KAAK,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAA,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,gCAAgC;YAChC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;;gBAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,KAAK,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAA,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,eAAe,EAA4B;oBACjD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;oBACnC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;iBAClC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;gBACnC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,6CAA6C;YAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE;;gBAC7C,IAAI,qBAAqB,GAAG,EAAc,CAAC;gBAE3C,kCAAkC;gBAClC,KAAK,IAAI,UAAU,IAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,mCAAI,EAAE,EAAE;oBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC7E,IAAI,CAAC,OAAO,EAAE;wBACV,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;qBAC7C;iBACJ;gBACD,oJAAoJ;gBACpJ,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6DAA6D,EAAE,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,CAAC,CAAC;oBAChI,KAAK,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;iBAC7D;gBACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE;gBACvC,IAAI,WAAW,GAAwB,EAAE,CAAC;gBAC1C,WAAW,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;oBAC1B,KAAK,EAAE,qBAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,CAAC;oBAC1F,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;oBACjC,QAAQ,EAAE,mCAAkB,CAAC,KAAK;oBAClC,IAAI,EAAE,SAAS;iBAClB,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvB,oEAAoE;YACpE,QAAQ,CAAC,OAAO,EAAE,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtB;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAEO,YAAY;QAChB,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,IAAW,6BAA6B;QACpC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAED;;OAEG;IACH,IAAW,2BAA2B;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC;IACpD,CAAC;IAGM,KAAK,CAAC,mBAAmB;QAC5B,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,OAAO;SACV;QACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAEnC,IAAI,QAAQ,GAAG,IAAA,YAAK,GAAE,CAAC;QACvB,IAAI;YACA,IAAI,CAAC,aAAa,GAAG,IAAI,YAAM,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,WAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAE7E,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;gBACpD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;gBACvD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,sDAAsD;YACtD,qFAAqF;YACrF,sFAAsF;YACtF,iFAAiF;YACjF,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACnC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,SAAS,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACjJ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;YAC1I,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACrF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;YAC5I,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;YAEhD,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,uCAAuC,CAAC,EAAE;gBACxE,MAAM,IAAI,uCAA0B,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,iBAAiB,EAAE;oBAClI,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB;oBAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;iBAC1B,CAAC,CAAC;aACN;YAED,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrC,IAAI,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBAElE,IAAI,SAAS,GAAG,WAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAE5E,qDAAqD;gBACrD,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC;gBACtC,IAAI,SAAS,CAAC,SAAS,EAAE;oBACrB,gCAAgC;oBAChC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBACpD,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC9D,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;iBAC9D;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,eAAe,CAAC,CAAC;iBACzE;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC/C,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,2CAA2C;YAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtB;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAEO,yBAAyB,CAAC,YAAoB;QAClD,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,kDAAkD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC/D,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;aACrC;SACJ;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAgB;QACjC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QACd,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,uDAAuD;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,UAAU;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,UAAkB,IAAI,CAAC,MAAM,CAAC,aAAa;;QAC9E,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAClE;YAED,IAAI,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;aAC3E;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAEnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;YAC1G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7D,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC9B,OAAO;oBACH,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,SAAS;iBAClB,CAAC;aACL;iBAAM;gBACH,MAAM,QAAQ,GAAG;oBACb,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,aAAa,mCAAI,EAAE;oBACtC,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,aAAa,mCAAI,EAAE;oBACtC,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,WAAW,mCAAI,EAAE;iBACvC,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,MAAA,QAAQ,CAAC,CAAC,CAAC,mCAAI,iCAAiC;oBACzD,IAAI,EAAE,OAAO;iBAChB,CAAC;aACL;SACJ;aAAM;YACH,OAAO;gBACH,OAAO,EAAE,yDAAyD,IAAI,CAAC,qBAAqB,kCAAkC;gBAC9H,IAAI,EAAE,OAAO;aAChB,CAAC;SACL;IACL,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,cAAsB,IAAI,CAAC,MAAM,CAAC,aAAa;QACtE,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACrE;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,WAAW,EAAE,EAAE,KAAK,IAAI,EAAE;;;YACpE,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,MAAM,GAAiB,EAAE,CAAC;YAC9B,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAElE,oFAAoF;YACpF,IAAI,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,SAAS,MAAK,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,KAAK,qBAAS,CAAC,EAAE,EAAE;gBACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,WAAW,0BAA0B,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACnH,OAAO,MAAM,CAAC;aACjB;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,OAAO,0CAAE,MAAM,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACnE,IAAI,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,UAAU,GAAe;oBACzB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC3B,oDAAoD;oBACpD,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC;oBACtD,WAAW,EAAE,WAAW;oBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,6CAA6C;oBAC7C,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC;iBAC3J,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC3B;YACD,4EAA4E;YAC5E,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;gBACX,YAAA,MAAM,CAAC,CAAC,CAAC,EAAC,QAAQ,uCAAR,QAAQ,GAAK,MAAM,CAAC,QAAQ,EAAC;gBACvC,YAAA,MAAM,CAAC,CAAC,CAAC,EAAC,UAAU,uCAAV,UAAU,GAAK,MAAM,CAAC,UAAU,EAAC;aAC9C;YAED,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,iBAAiB,CAAC,OAAe;QACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,mBAAmB,CAAC,YAAY;QACpC,OAAO,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAAC,UAAkB,EAAE,OAAe;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACtE;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC5E;QAED,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,IAAI,YAAY,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAE7E,kEAAkE;QAClE,IAAI,IAAI,CAAC,6BAA6B,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,EAAE;YAChE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACnD;QAED,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAEjG,IAAI,IAAI,CAAC,6BAA6B,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,qBAAS,CAAC,EAAE,EAAE;YAChF,kEAAkE;YAClE,MAAM,CAAC,GAAG,CAAC,oCAAoC,EAAE,UAAU,CAAC,CAAC;YAC7D,YAAY,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAI,CAAC,eAAe,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,EAAE,CAAC,CAAC;YACxF,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;SAChG;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,UAAkB,EAAE,OAAe;;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEtE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,SAAS,CAAC,EAAE;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAC1C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1B,wDAAwD;YACxD,UAAU;YACV,4EAA4E;YAC5E,SAAS,CACZ,CAAC;YACF,MAAM,IAAA,2CAAqB,EAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YACzD,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC;YAClF,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,iBAAiB,CAAC,OAAe;;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,SAAS,MAAK,qBAAS,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,SAAS,CAAC,EAAE;YACxF,yDAAyD;YACzD,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB;YAC1C,YAAY;YACZ;gBACI,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,gCAAY,CAAC,MAAM;gBAC5B,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,gCAAY,CAAC,gBAAgB;gBACnC,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;aACpC;YACD,oCAAoC;YACpC,SAAS;YACT,wBAAwB;YACxB,SAAS,CACZ,CAAC;YACF,SAAS,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC/B,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrD,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,QAAkB,EAAE,IAAqB,EAAE,kBAA0B;;QACjG,IAAI,KAAK,CAAC;QACV,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;QACjC,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,EAAE;YACzB,KAAK,GAAG,WAAW,CAAC;SACvB;aAAM,IAAI,YAAY,KAAK,gCAAY,CAAC,MAAM,EAAE;YAC7C,KAAK,GAAG,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC;SACnC;aAAM;YACH,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;SAC1B;QAED,IAAI,YAAY,KAAK,gCAAY,CAAC,cAAc,EAAE;YAC9C,8CAA8C;YAC9C,IAAI,KAAK,GAAI,QAAQ,CAAC,KAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnD,wCAAwC;YACvC,YAAuB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpC,kDAAkD;YAClD,kDAAkD;YACjD,KAAgB,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;SAClD;aAAM,IAAI,YAAY,KAAK,gCAAY,CAAC,MAAM,IAAI,YAAY,KAAK,gCAAY,CAAC,SAAS,EAAE;YACxF,kFAAkF;YAClF,kDAAkD;YAClD,YAAY,GAAG,KAAK,CAAC;SACxB;aAAM,IAAI,YAAY,KAAK,gCAAY,CAAC,gBAAgB,EAAE;YACvD,mDAAmD;YACnD,KAAK,GAAG,gCAAY,CAAC,gBAAgB,CAAC;SACzC;QAED,6GAA6G;QAC7G,IAAI,YAAoB,CAAC;QACzB,IAAI,CAAC,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,EAAE,CAAA,EAAE;YAC7B,YAAY,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE,CAAC;SACnC;aAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;YAC3B,YAAY,GAAG,GAAG,kBAAkB,IAAI,IAAI,EAAE,CAAC;SAClD;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACjC,YAAY,GAAG,GAAG,kBAAkB,KAAK,IAAI,IAAI,CAAC;SACrD;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACjC,YAAY,GAAG,GAAG,kBAAkB,IAAI,IAAI,GAAG,CAAC;SACnD;QAED,IAAI,SAAS,GAAsB;YAC/B,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE,mCAAI,EAAE;YAC5B,YAAY,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE;YAChC,IAAI,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE;YACxB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI;YACpB,aAAa,EAAE,SAAS;YACxB,kDAAkD;YAClD,OAAO,EAAE,QAAQ,CAAC,OAA6B;YAC/C,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,CAAC;YACnB,2KAA2K;YAC3K,QAAQ,EAAE,EAAE;SACf,CAAC;QAEF,8EAA8E;QAC9E,iEAAiE;QACjE,IAAA,wDAAkC,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEpD,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE;YACvC,SAAS,CAAC,gBAAgB,GAAG,MAAA,MAAA,QAAQ,CAAC,UAAU,mCAAI,MAAA,QAAQ,CAAC,QAAQ,0CAAE,MAAM,mCAAI,SAAS,CAAC;YAC3F,mHAAmH;YACnH,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;SAChC;aAAM,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE;YAC7C,4FAA4F;YAC5F,yDAAyD;YACzD,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;SAChC;QAED,0CAA0C;QAC1C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACnG,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;YAExB,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;YAC7B,SAAS,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE;oBAClC,SAAS,CAAC,gBAAgB,EAAE,CAAC;iBAChC;gBACD,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAC/C,aAAa,EACb,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAC1F,SAAS,CAAC,YAAY,CACzB,CAAC;gBACF,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC3C;SACJ;QAED,kCAAkC;QAClC,IAAI,QAAQ,CAAC,SAAS,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;gBAC7B,SAAS,CAAC,gBAAgB,GAAG,EAAE,CAAC;aACnC;YACD,SAAS,CAAC,gBAAgB,CAAC,IAAI,GAAG,SAAS,CAAC;SAC/C;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACK,OAAO,CAAI,GAAW,EAAE,OAA8B;QAC1D,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC1B;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAI,OAAO,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SACjE;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;;YACtC,IAAI,OAAO,GAAa,EAAE,CAAC;YAC3B,IAAI,eAAgC,CAAC;YACrC,sHAAsH;YACtH,oGAAoG;YACpG,+FAA+F;YAC/F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9C,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,KAAK,qBAAS,CAAC,WAAW,EAAE;oBAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBACxE,eAAe,GAAG,SAAS,CAAC;oBAC5B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACpD,MAAM,WAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACzB;qBAAM;oBACH,MAAM;iBACT;aACJ;YACD,IAAI,CAAC,eAAe,EAAE;gBAClB,OAAO,EAAE,CAAC;aACb;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAA,MAAA,eAAe,CAAC,IAAI,0CAAE,OAAO,0CAAE,MAAM,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACnE,IAAI,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,MAAM,GAAW;oBACjB,8FAA8F;oBAC9F,+DAA+D;oBAC/D,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC;oBAC3C,oCAAoC;oBACpC,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,YAAY,EAAE,UAAU,CAAC,WAAW;oBACpC,QAAQ,EAAE,CAAC;iBACd,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACxB;YACD,6CAA6C;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClB,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QAC9C,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;YACxB,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC9B,OAAO,MAAM,CAAC;aACjB;SACJ;IACL,CAAC;IAEM,kBAAkB;QACrB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;SACrC;IACL,CAAC;IAOD;;OAEG;IACI,KAAK,CAAC,OAAO;;QAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,2CAA2C;QAC3C,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI;gBACA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;aAC/B;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxB;SACJ;QAED,IAAI;YACA,IAAI,eAAe,GAAG,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,mCAAI,KAAM,CAAC;YAC9D,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;SACpD;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACxB;QAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,CAAC;IAQO,KAAK,CAAC,oBAAoB,CAAC,OAAe;;QAC9C,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACvD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,MAAA,IAAI,CAAC,aAAa,0CAAE,GAAG,EAAE,CAAC;YAE1B,yCAAyC;YACzC,MAAM,OAAO,CAAC,IAAI,CAAC;gBACf,IAAI,CAAC,mBAAmB,CAAC,OAAO;gBAChC,WAAI,CAAC,KAAK,CAAC,OAAO,CAAC;aACtB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAE/G,2BAA2B;YAC3B,MAAA,IAAI,CAAC,aAAa,0CAAE,kBAAkB,EAAE,CAAC;YACzC,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;SAC1C;IACL,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,WAAmB;QACvC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,sBAAsB;QACzB,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,oBAAoB;QACvB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,OAA8B;;QAC/D,IAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,4BAA4B,EAAE;YAC3C,kDAAkD;YAClD,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,uBAAuB,CAAC,OAAO,CAAC,CAAA,CAAC;YACrE,OAAO,QAAQ,CAAC;SACnB;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAGM,KAAK,CAAC,eAAe;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACrC,sCAAsC;QACtC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB;YACrD,mBAAmB;aAClB,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjB,mBAAmB;aAClB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAEzC,iGAAiG;QACjG,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,gBAAgB;;QACzB,qHAAqH;QACrH,2FAA2F;QAC3F,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,0CAA0C,CAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,0CAA0C,EAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACnM,OAAO;SACV;QAED,4CAA4C;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,OAAO;SACV;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAChD,0GAA0G;YAC1G,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CACvE,CAAC;YAEF,IAAI,CAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,SAAS,MAAK,qBAAS,CAAC,WAAW,EAAE;gBACpD,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;aAChE;SACJ;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBACnD,OAAO;oBACH,QAAQ,EAAE,UAAU,CAAC,OAAO;oBAC5B,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oBACjD,qBAAqB,EAAE,UAAU,CAAC,SAAS;oBAC3C,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;iBACxD,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,kEAAkE;YAClE,mHAAmH;YACnH,MAAM,mBAAmB,GAAqC,EAAE,CAAC;YACjE,MAAM,sBAAsB,GAAqC,EAAE,CAAC;YACpE,KAAK,MAAM,UAAU,IAAI,yBAAyB,EAAE;gBAChD,IAAI,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,qBAAqB,0CAAE,IAAI,EAAE,EAAE;oBAC3C,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC3C;qBAAM;oBACH,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACxC;aACJ;YACD,KAAK,MAAM,WAAW,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,EAAE;gBACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBAE/D,+FAA+F;gBAC/F,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,qBAAS,CAAC,EAAE,IAAI,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,WAAW,0CAAE,MAAM,MAAK,WAAW,CAAC,MAAM,EAAE;oBACxG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,WAAW,0CAAE,MAAM,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACjE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBAEtD,IAAI,OAAO,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,EAAE,CAAA,KAAK,QAAQ,EAAE;4BAC1C,sEAAsE;4BACtE,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CACxC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,EACtB,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EACvB,gBAAgB,CAAC,EAAE,CACtB,CAAC;yBACL;wBAED,yDAAyD;wBACzD,IAAI,gBAAgB,CAAC,SAAS,KAAK,qBAAS,CAAC,EAAE,EAAE;4BAC7C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;yBACnE;qBACJ;oBACD,uEAAuE;iBAC1E;qBAAM;oBACH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CACpC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAClC,CAAC;iBACL;aACJ;SACJ;IACL,CAAC;IAEM,eAAe;QAClB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,sBAAsB;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA7iCD,oDA6iCC;AAWD,IAAY,SAEX;AAFD,WAAY,SAAS;IACjB,gCAAmB,CAAA;AACvB,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAiBD,IAAY,OAIX;AAJD,WAAY,OAAO;IACf,4BAAiB,CAAA;IACjB,8BAAmB,CAAA;IACnB,4BAAiB,CAAA;AACrB,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB"}
1
+ {"version":3,"file":"DebugProtocolAdapter.js","sourceRoot":"","sources":["../../src/adapters/DebugProtocolAdapter.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,8 @@ export declare class TelnetAdapter {
36
36
  */
37
37
  supportsExecute: boolean;
38
38
  supportsExceptionBreakpoints: boolean;
39
+ supportsConditionalBreakpoints: boolean;
40
+ supportsHitConditionalBreakpoints: boolean;
39
41
  once(eventName: 'app-ready'): Promise<void>;
40
42
  once(eventName: 'connected'): Promise<boolean>;
41
43
  /**
@@ -32,6 +32,10 @@ class TelnetAdapter {
32
32
  */
33
33
  this.supportsExecute = true;
34
34
  this.supportsExceptionBreakpoints = false;
35
+ //BreakpointManager rewrites `stop` statements as `if <cond> then : STOP : end if` and
36
+ //`if hits >= N then STOP`, so both forms work in telnet mode regardless of firmware.
37
+ this.supportsConditionalBreakpoints = true;
38
+ this.supportsHitConditionalBreakpoints = true;
35
39
  /**
36
40
  * The debugger needs to tell us when to be active (i.e. when the package was deployed)
37
41
  */
@@ -909,6 +913,9 @@ class TelnetAdapter {
909
913
  */
910
914
  resolve(key, factory) {
911
915
  try {
916
+ if (this.isDestroyed || !this.cache) {
917
+ return Promise.reject(new Error(`Cannot resolve "${key}": adapter is destroyed`));
918
+ }
912
919
  if (this.cache[key]) {
913
920
  this.logger.debug(`resolve cache "${key}": already exists`);
914
921
  return this.cache[key];