@controllerai/cli 0.2.9 → 0.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/api/client.js +20 -5
  2. package/dist/api/client.js.map +1 -1
  3. package/dist/argv.js +330 -29
  4. package/dist/argv.js.map +1 -1
  5. package/dist/commands/agent.js +208 -8
  6. package/dist/commands/agent.js.map +1 -1
  7. package/dist/commands/auth.js +21 -5
  8. package/dist/commands/auth.js.map +1 -1
  9. package/dist/commands/doctor.js +63 -4
  10. package/dist/commands/doctor.js.map +1 -1
  11. package/dist/commands/exec.js +161 -49
  12. package/dist/commands/exec.js.map +1 -1
  13. package/dist/commands/expr.js +284 -53
  14. package/dist/commands/expr.js.map +1 -1
  15. package/dist/commands/flow.js +58 -14
  16. package/dist/commands/flow.js.map +1 -1
  17. package/dist/commands/node.js +746 -173
  18. package/dist/commands/node.js.map +1 -1
  19. package/dist/commands/organize.js +1 -1
  20. package/dist/commands/organize.js.map +1 -1
  21. package/dist/commands/run.js +165 -33
  22. package/dist/commands/run.js.map +1 -1
  23. package/dist/commands/schema.js +8 -7
  24. package/dist/commands/schema.js.map +1 -1
  25. package/dist/commands/workflow.js +151 -24
  26. package/dist/commands/workflow.js.map +1 -1
  27. package/dist/config.js +152 -6
  28. package/dist/config.js.map +1 -1
  29. package/dist/context.js +66 -5
  30. package/dist/context.js.map +1 -1
  31. package/dist/index.js +11 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/nodeProps.js +333 -10
  34. package/dist/nodeProps.js.map +1 -1
  35. package/dist/output.js +6 -1
  36. package/dist/output.js.map +1 -1
  37. package/package.json +1 -1
  38. package/skills/controllerai-agents/SKILL.md +27 -9
  39. package/skills/controllerai-agents/references/instructions-and-versioning.md +1 -1
  40. package/skills/controllerai-data/SKILL.md +17 -0
  41. package/skills/controllerai-data/references/data-rails.md +1 -1
  42. package/skills/controllerai-expressions/SKILL.md +7 -3
  43. package/skills/controllerai-flow-control/SKILL.md +2 -0
  44. package/skills/controllerai-node-config/SKILL.md +33 -6
  45. package/skills/controllerai-node-config/references/prop-and-readiness.md +34 -0
  46. package/skills/controllerai-runs/SKILL.md +14 -4
  47. package/skills/controllerai-runs/references/debugging.md +1 -1
  48. package/skills/controllerai-start/SKILL.md +1 -0
  49. package/skills/controllerai-workflows/SKILL.md +13 -8
  50. package/skills/controllerai-workflows/references/command-map.md +3 -2
  51. package/skills/manifest.json +58 -58
@@ -1,7 +1,7 @@
1
1
  import { statSync } from 'node:fs';
2
2
  import { ApiClient } from '../api/client.js';
3
- import { configPath, detectTokenKind, loadConfig } from '../config.js';
4
- import { buildClient } from '../context.js';
3
+ import { configPath, detectTokenKind, loadConfig, resolveWorkflowPin, } from '../config.js';
4
+ import { buildClient, globalOpt } from '../context.js';
5
5
  import { userError } from '../errors.js';
6
6
  import { emit, printTable } from '../output.js';
7
7
  import { cliUpdateNotice, compareSemver, compareSkillSetVersions, fetchHostedSkillsManifest, installedSkillStatus, } from './skills.js';
@@ -62,6 +62,63 @@ export const summarizeSkillCheck = (target, rows, hostedSkillSetVersion, hostedM
62
62
  detail: `${current}/${rows.length} current${issueSummary ? ` — ${issueSummary}` : ''}`,
63
63
  };
64
64
  };
65
+ const pinDetail = (pin) => `id ${String(pin.workflowId)}, source ${pin.source}, path ${pin.path ?? '(none)'}`;
66
+ export const workflowPinCheck = async (api, pin) => {
67
+ if (pin.source === 'none') {
68
+ return { name: 'Workflow pin', ok: true, detail: 'none (source none, path (none))' };
69
+ }
70
+ const provenance = pinDetail(pin);
71
+ if (pin.workflowId === undefined ||
72
+ !Number.isSafeInteger(pin.workflowId) ||
73
+ pin.workflowId <= 0) {
74
+ return {
75
+ name: 'Workflow pin',
76
+ ok: false,
77
+ detail: `${provenance} — invalid workflow id`,
78
+ };
79
+ }
80
+ let workflow;
81
+ try {
82
+ workflow = await api.rest(`/workflow/${pin.workflowId}`);
83
+ }
84
+ catch (error) {
85
+ return {
86
+ name: 'Workflow pin',
87
+ ok: false,
88
+ detail: `${provenance} — ${error instanceof Error ? error.message : String(error)}`,
89
+ };
90
+ }
91
+ if (!workflow || typeof workflow.name !== 'string') {
92
+ return {
93
+ name: 'Workflow pin',
94
+ ok: false,
95
+ detail: `${provenance} — workflow summary is missing or malformed`,
96
+ };
97
+ }
98
+ const resolved = `${provenance}, workflow ${workflow.name}`;
99
+ try {
100
+ const headStateId = await api.head(pin.workflowId);
101
+ if (!Number.isSafeInteger(headStateId) || Number(headStateId) <= 0) {
102
+ return {
103
+ name: 'Workflow pin',
104
+ ok: false,
105
+ detail: `${resolved} — development state is missing`,
106
+ };
107
+ }
108
+ return {
109
+ name: 'Workflow pin',
110
+ ok: true,
111
+ detail: `${resolved}, development head ${headStateId}`,
112
+ };
113
+ }
114
+ catch (error) {
115
+ return {
116
+ name: 'Workflow pin',
117
+ ok: false,
118
+ detail: `${resolved} — development state unavailable: ${error instanceof Error ? error.message : String(error)}`,
119
+ };
120
+ }
121
+ };
65
122
  export const runDoctor = async (command) => {
66
123
  const config = command ? buildClient(command).config : loadConfig();
67
124
  const api = new ApiClient(config);
@@ -100,6 +157,8 @@ export const runDoctor = async (command) => {
100
157
  else {
101
158
  checks.push({ name: 'Controller AI API', ok: false, detail: 'not authenticated' });
102
159
  }
160
+ const pin = resolveWorkflowPin(command ? globalOpt(command, 'workflow') : undefined);
161
+ checks.push(await workflowPinCheck(api, pin));
103
162
  // One hosted-manifest fetch feeds both the skills freshness check and the
104
163
  // CLI-version notice. Fetch failure degrades both to local-only, never fails.
105
164
  let hostedManifest;
@@ -142,10 +201,10 @@ export const runDoctor = async (command) => {
142
201
  export const registerDoctor = (program) => {
143
202
  program
144
203
  .command('doctor')
145
- .description('Verify authentication, API access, runtime, and installed skills')
204
+ .description('Verify authentication, API access, workflow pin, runtime, and installed skills')
146
205
  .action(async (_opts, command) => {
147
206
  const checks = await runDoctor(command);
148
- const required = checks.filter(check => ['Node.js', 'Credential', 'Controller AI API'].includes(check.name));
207
+ const required = checks.filter(check => ['Node.js', 'Credential', 'Controller AI API', 'Workflow pin'].includes(check.name));
149
208
  if (required.some(check => !check.ok)) {
150
209
  throw userError(`Controller AI setup is incomplete:\n${checks
151
210
  .filter(check => !check.ok)
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,74 @@ const aggregateReadError = (summary, code, failures, detail) => new CaiError(`${
39
39
  detail,
40
40
  scrubbed: failures.some(failure => failure.scrubbed),
41
41
  });
42
+ const parseExecutionId = (value, label) => {
43
+ const id = Number(value);
44
+ if (!Number.isSafeInteger(id) || id <= 0) {
45
+ throw new CaiError(`${label} must be a positive integer.`, { code: 'BAD_EXECUTION_ID' });
46
+ }
47
+ return id;
48
+ };
49
+ const settledMapWithConcurrency = async (values, concurrency, task) => {
50
+ const results = new Array(values.length);
51
+ let nextIndex = 0;
52
+ const worker = async () => {
53
+ while (nextIndex < values.length) {
54
+ const index = nextIndex;
55
+ nextIndex += 1;
56
+ try {
57
+ results[index] = { status: 'fulfilled', value: await task(values[index]) };
58
+ }
59
+ catch (reason) {
60
+ results[index] = { status: 'rejected', reason };
61
+ }
62
+ }
63
+ };
64
+ const workerCount = Math.min(values.length, Math.max(1, concurrency));
65
+ await Promise.all(Array.from({ length: workerCount }, () => worker()));
66
+ return results;
67
+ };
68
+ const discoveredFlowExecutionIds = (rows) => {
69
+ if (!Array.isArray(rows)) {
70
+ throw new CaiError('Flow execution discovery returned a non-array response.', {
71
+ exitCode: EXIT.network,
72
+ code: 'BAD_RESPONSE',
73
+ });
74
+ }
75
+ const ids = new Set();
76
+ for (const row of rows) {
77
+ const value = row && typeof row === 'object' ? row.flowExecutionId : undefined;
78
+ if (typeof value === 'number' && Number.isSafeInteger(value) && value > 0)
79
+ ids.add(value);
80
+ }
81
+ return [...ids];
82
+ };
83
+ const toFlowExecutionFrame = (detail) => {
84
+ if (!Number.isSafeInteger(detail?.id) || detail.id <= 0) {
85
+ throw new CaiError('get_flow_execution returned an invalid id.', {
86
+ exitCode: EXIT.network,
87
+ code: 'BAD_RESPONSE',
88
+ });
89
+ }
90
+ if (typeof detail?.flowId !== 'string' || typeof detail?.status !== 'string') {
91
+ throw new CaiError('get_flow_execution returned an invalid flowId or status.', {
92
+ exitCode: EXIT.network,
93
+ code: 'BAD_RESPONSE',
94
+ });
95
+ }
96
+ const nodeExecutions = detail.nodeExecutions ?? [];
97
+ if (!Array.isArray(nodeExecutions)) {
98
+ throw new CaiError('get_flow_execution returned invalid nodeExecutions.', {
99
+ exitCode: EXIT.network,
100
+ code: 'BAD_RESPONSE',
101
+ });
102
+ }
103
+ return {
104
+ flowExecutionId: detail.id,
105
+ flowId: detail.flowId,
106
+ status: detail.status,
107
+ nodeExecutions,
108
+ };
109
+ };
42
110
  export const registerExec = (program) => {
43
111
  const exec = program.command('exec').description('Read execution history');
44
112
  exec
@@ -56,7 +124,7 @@ export const registerExec = (program) => {
56
124
  exec
57
125
  .command('get')
58
126
  .argument('<workflowExecutionId>')
59
- .description('One workflow execution with its flow executions')
127
+ .description('One workflow execution with its flat node executions')
60
128
  .action(async (id, _opts, command) => {
61
129
  const { api, workflowId } = requireContext(command);
62
130
  const data = await api.tool(workflowId, 'get_workflow_execution', {
@@ -70,10 +138,24 @@ export const registerExec = (program) => {
70
138
  ['completedAt', data.completedAt],
71
139
  ['error', data.errorMessage ?? '-'],
72
140
  ]);
73
- const flows = data.flowExecutions ?? [];
74
- if (flows.length) {
75
- process.stdout.write('\nflow executions\n');
76
- printTable(['id', 'flowId', 'status'], flows.map((f) => [f.id, f.flowId, f.status]));
141
+ const nodes = data.nodeExecutions ?? [];
142
+ const showResolutionWarningCount = nodes.some(node => Object.prototype.hasOwnProperty.call(node, 'resolutionWarningCount'));
143
+ process.stdout.write('\nnode executions\n');
144
+ printTable([
145
+ 'execId',
146
+ 'nodeId',
147
+ 'status',
148
+ ...(showResolutionWarningCount ? ['warnings'] : []),
149
+ 'note',
150
+ ], nodes.map(n => [
151
+ n.id,
152
+ n.nodeId,
153
+ n.status,
154
+ ...(showResolutionWarningCount ? [n.resolutionWarningCount] : []),
155
+ n.errorMessage ?? n.skipReason ?? '',
156
+ ]));
157
+ if (data.nodeExecutionsTruncated) {
158
+ process.stdout.write(`showing ${data.nodeExecutionsTruncated.returned} of ${data.nodeExecutionsTruncated.total} node executions (newest first)\n`);
77
159
  }
78
160
  });
79
161
  });
@@ -88,8 +170,10 @@ export const registerExec = (program) => {
88
170
  });
89
171
  const nodes = data?.nodeExecutions ?? [];
90
172
  for (const node of nodes) {
91
- for (const problem of auditResolvedConfigs(node.resolvedConfigs ?? [])) {
92
- warn(`[node ${node.nodeId} / execution ${node.id}] ${problem}`);
173
+ for (const problem of auditResolvedConfigs(node.resolvedConfigs ?? [], node.nodeId)) {
174
+ warn(problem.startsWith('[node ')
175
+ ? problem
176
+ : `[node ${node.nodeId} / execution ${node.id}] ${problem}`);
93
177
  }
94
178
  }
95
179
  emit(data, () => printTable(['execId', 'nodeId', 'status', 'error', 'configs'], nodes.map(n => [
@@ -110,8 +194,9 @@ export const registerExec = (program) => {
110
194
  const data = await api.tool(workflowId, 'get_node_execution', {
111
195
  nodeExecutionId: Number(id),
112
196
  });
113
- for (const problem of auditResolvedConfigs(data?.resolvedConfigs ?? []))
197
+ for (const problem of auditResolvedConfigs(data?.resolvedConfigs ?? [], data?.nodeId)) {
114
198
  warn(problem);
199
+ }
115
200
  emit(data, () => {
116
201
  printKeyValues([
117
202
  ['id', data.id ?? id],
@@ -180,16 +265,19 @@ export const registerExec = (program) => {
180
265
  const inputs = partialData.inputs ?? [];
181
266
  const configs = partialData.configs ?? [];
182
267
  const outputs = partialData.outputs ?? [];
268
+ const nodeId = configs.find((config) => config?.nodeId !== undefined)?.nodeId;
183
269
  for (const problem of auditResolvedConfigs((configs ?? []).map((c) => ({
184
270
  configFieldName: c.configFieldName,
185
271
  hasDynamicExpression: c.hasDynamicExpression,
186
272
  configValueProcessed: c.configValueProcessed,
273
+ resolutionWarnings: c.resolutionWarnings,
187
274
  hasError: c.hasError,
188
275
  errorMessage: c.errorMessage,
189
- })))) {
276
+ })), nodeId)) {
190
277
  warn(problem);
191
278
  }
192
279
  const shorten = (value) => (opts.full ? value : truncate(value, 120));
280
+ const firstDefined = (...values) => values.find(value => value !== undefined);
193
281
  const payload = {
194
282
  nodeExecutionId: executionId,
195
283
  inputs: inputs ?? [],
@@ -200,8 +288,8 @@ export const registerExec = (program) => {
200
288
  process.stdout.write('inputs\n');
201
289
  printTable(['id', 'name', 'value'], (inputs ?? []).map((i) => [
202
290
  i.id,
203
- i.inputName ?? i.name,
204
- shorten(i.value ?? i.inputValue),
291
+ i.inputDisplayName ?? i.inputName ?? i.name ?? i.inputId,
292
+ shorten(firstDefined(i.receivedDataValue, i.value, i.inputValue)),
205
293
  ]));
206
294
  process.stdout.write('\nconfigs\n');
207
295
  printTable(['id', 'prop', 'dynamic', 'resolvedValue'], (configs ?? []).map((c) => [
@@ -213,93 +301,117 @@ export const registerExec = (program) => {
213
301
  process.stdout.write('\noutputs\n');
214
302
  printTable(['id', 'name', 'value'], (outputs ?? []).map((o) => [
215
303
  o.id,
216
- o.outputName ?? o.name,
217
- shorten(o.value ?? o.outputValue),
304
+ o.outputDisplayName ?? o.outputName ?? o.name ?? o.outputId,
305
+ shorten(firstDefined(o.outputDataValueProcessed, o.value, o.outputValue)),
218
306
  ]));
219
307
  });
220
308
  });
221
309
  exec
222
310
  .command('tree')
223
311
  .argument('<workflowExecutionId>')
224
- .description('Node-by-node status walk across every flow in an execution')
312
+ .description('Node-by-node status walk across every flow in an execution. Discovery reads every node execution row, so very large loop runs can be slow.')
225
313
  .action(async (id, _opts, command) => {
226
314
  const { api, workflowId } = requireContext(command);
315
+ const workflowExecutionId = parseExecutionId(id, 'workflowExecutionId');
227
316
  const execution = await api.tool(workflowId, 'get_workflow_execution', {
228
- workflowExecutionId: Number(id),
317
+ workflowExecutionId,
318
+ });
319
+ const discoveryRoute = `/node-execution/get-node-executions/${workflowExecutionId}`;
320
+ let flowExecutionIds;
321
+ try {
322
+ const nodeRows = await api.rest(discoveryRoute);
323
+ flowExecutionIds = discoveredFlowExecutionIds(nodeRows);
324
+ }
325
+ catch (error) {
326
+ const failure = describeReadFailure(`GET ${discoveryRoute}`, error);
327
+ throw aggregateReadError(`Could not discover flows in workflow execution ${workflowExecutionId}`, 'EXEC_TREE_READ_FAILED', [failure], {
328
+ workflowExecutionId,
329
+ failures: [
330
+ {
331
+ route: failure.target,
332
+ ...readFailureDetail(failure),
333
+ },
334
+ ],
335
+ partialData: {
336
+ workflowExecutionId,
337
+ status: execution?.status ?? null,
338
+ flows: [],
339
+ },
340
+ });
341
+ }
342
+ // Executions that produced no node rows are valid: retain their workflow
343
+ // status and render an empty flow list instead of treating them as errors.
344
+ const results = await settledMapWithConcurrency(flowExecutionIds, 6, async (flowExecutionId) => {
345
+ const detail = await api.tool(workflowId, 'get_flow_execution', { flowExecutionId });
346
+ return toFlowExecutionFrame(detail);
229
347
  });
230
- const flows = execution?.flowExecutions ?? [];
231
- const results = await Promise.allSettled(flows.map(f => api.tool(workflowId, 'get_flow_execution', { flowExecutionId: f.id })));
232
348
  const details = [];
233
349
  const failures = [];
234
350
  results.forEach((result, index) => {
235
- const flow = flows[index];
351
+ const flowExecutionId = flowExecutionIds[index];
236
352
  if (result.status === 'fulfilled') {
237
- details.push({
238
- flowExecutionId: flow.id,
239
- flowId: flow.flowId,
240
- status: flow.status,
241
- detail: result.value,
242
- });
353
+ details.push(result.value);
243
354
  return;
244
355
  }
245
356
  failures.push({
246
- ...describeReadFailure(`get_flow_execution (flowExecutionId ${flow.id})`, result.reason),
247
- flowExecutionId: flow.id,
248
- flowId: flow.flowId,
357
+ ...describeReadFailure(`get_flow_execution (flowExecutionId ${flowExecutionId})`, result.reason),
358
+ flowExecutionId,
249
359
  });
250
360
  });
251
361
  if (failures.length > 0) {
252
- throw aggregateReadError(`Could not read every flow in workflow execution ${id}`, 'EXEC_TREE_READ_FAILED', failures, {
253
- workflowExecutionId: Number(id),
362
+ throw aggregateReadError(`Could not read every flow in workflow execution ${workflowExecutionId}`, 'EXEC_TREE_READ_FAILED', failures, {
363
+ workflowExecutionId,
254
364
  failures: failures.map(failure => ({
255
365
  tool: 'get_flow_execution',
256
366
  arguments: { flowExecutionId: failure.flowExecutionId },
257
- flowId: failure.flowId,
258
367
  ...readFailureDetail(failure),
259
368
  })),
260
369
  partialData: {
261
- workflowExecutionId: Number(id),
370
+ workflowExecutionId,
262
371
  status: execution?.status ?? null,
263
- flows: details.map(detail => ({
264
- flowExecutionId: detail.flowExecutionId,
265
- flowId: detail.flowId,
266
- status: detail.status,
267
- nodeExecutions: detail.detail?.nodeExecutions ?? [],
268
- })),
372
+ flows: details,
269
373
  },
270
374
  });
271
375
  }
376
+ const showResolutionWarningCount = details.some(entry => entry.nodeExecutions.some(node => Object.prototype.hasOwnProperty.call(node, 'resolutionWarningCount')));
272
377
  const rows = [];
273
378
  for (const entry of details) {
274
- for (const n of (entry.detail?.nodeExecutions ?? [])) {
379
+ for (const n of entry.nodeExecutions) {
275
380
  rows.push([
381
+ entry.flowExecutionId,
276
382
  entry.flowId ?? '-',
277
383
  n.id,
278
384
  n.nodeId,
279
385
  n.status,
386
+ ...(showResolutionWarningCount ? [n.resolutionWarningCount] : []),
280
387
  n.errorMessage ?? n.skipReason ?? '',
281
388
  ]);
282
- for (const problem of auditResolvedConfigs(n.resolvedConfigs ?? [])) {
283
- warn(`[node ${n.nodeId} / execution ${n.id}] ${problem}`);
389
+ for (const problem of auditResolvedConfigs(n.resolvedConfigs ?? [], n.nodeId)) {
390
+ warn(problem.startsWith('[node ')
391
+ ? problem
392
+ : `[node ${n.nodeId} / execution ${n.id}] ${problem}`);
284
393
  }
285
394
  }
286
395
  }
287
396
  emit({
288
- workflowExecutionId: Number(id),
397
+ workflowExecutionId,
289
398
  status: execution?.status ?? null,
290
- flows: details.map(d => ({
291
- flowExecutionId: d.flowExecutionId,
292
- flowId: d.flowId,
293
- status: d.status,
294
- nodeExecutions: d.detail?.nodeExecutions ?? [],
295
- })),
399
+ flows: details,
296
400
  }, () => {
297
401
  printKeyValues([
298
- ['workflowExecution', id],
402
+ ['workflowExecution', workflowExecutionId],
299
403
  ['status', execution?.status],
300
404
  ]);
301
405
  process.stdout.write('\n');
302
- printTable(['flowId', 'execId', 'nodeId', 'status', 'note'], rows);
406
+ printTable([
407
+ 'flowExecId',
408
+ 'flowId',
409
+ 'execId',
410
+ 'nodeId',
411
+ 'status',
412
+ ...(showResolutionWarningCount ? ['warnings'] : []),
413
+ 'note',
414
+ ], rows);
303
415
  });
304
416
  });
305
417
  };
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/commands/exec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAsB/C,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,KAAc,EAAwB,EAAE;IACnF,MAAM,KAAK,GACT,KAAK,YAAY,QAAQ;QACvB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACnE,IAAI,EAAE,YAAY;SACnB,CAAC,CAAA;IACR,OAAO;QACL,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,QAAgC,EAAY,EAAE;IAC3E,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAA;IAC9E,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtF,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAA;IACpF,OAAO,IAAI,CAAC,IAAI,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,OAA6B,EAA2B,EAAE,CAAC,CAAC;IACrF,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,OAAO,EAAE,OAAO,CAAC,OAAO;IACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;IAC1B,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CACpE,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,CACzB,OAAe,EACf,IAAY,EACZ,QAAgC,EAChC,MAAe,EACL,EAAE,CACZ,IAAI,QAAQ,CACV,GAAG,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC/F;IACE,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,CAAC;IACzC,IAAI;IACJ,MAAM;IACN,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;CACrD,CACF,CAAA;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAQ,EAAE;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAA;IAE1E,IAAI;SACD,OAAO,CAAC,MAAM,CAAC;SACf,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC;SACvC,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE;QACvC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,yBAAyB,EAAE;YACjE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC,CAAA;QACF,MAAM,IAAI,GAAU,IAAI,EAAE,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACzE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CACd,UAAU,CACR,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,EAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAC5D,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,IAAI;SACD,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,uBAAuB,CAAC;SACjC,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;QACpD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,EAAE;YAChE,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;QACF,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YACd,cAAc,CAAC;gBACb,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;gBACrB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC7B,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC;gBACjC,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;aACpC,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAA;YACvC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;gBAC3C,UAAU,CACR,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAClD,CAAA;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,IAAI;SACD,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,mBAAmB,CAAC;SAC7B,WAAW,CAAC,sEAAsE,CAAC;SACnF,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;QACpD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,EAAE;YAC5D,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAA;QACF,MAAM,KAAK,GAAU,IAAI,EAAE,cAAc,IAAI,EAAE,CAAA;QAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,MAAM,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;gBACvE,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,gBAAgB,IAAI,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CACd,UAAU,CACR,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAClD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM;YACR,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM;SACjC,CAAC,CACH,CACF,CAAA;IACH,CAAC,CAAC,CAAA;IAEJ,IAAI;SACD,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,mBAAmB,CAAC;SAC7B,MAAM,CAAC,QAAQ,EAAE,mCAAmC,EAAE,KAAK,CAAC;SAC5D,WAAW,CAAC,yDAAyD,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE;QACnD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,EAAE;YAC5D,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAA;QACF,KAAK,MAAM,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAE,eAAe,IAAI,EAAE,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACtF,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YACd,cAAc,CAAC;gBACb,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;gBACrB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;gBACvB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;aACpC,CAAC,CAAA;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;YAC3C,UAAU,CACR,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAC5B,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC;gBAC3C,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACnC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,CAAC;aACrC,CAAC,CACH,CAAA;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,IAAI;gBACP,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI;gBAC7C,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CACvD,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,IAAI;SACD,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,mBAAmB,CAAC;SAC7B,MAAM,CAAC,QAAQ,EAAE,wBAAwB,EAAE,KAAK,CAAC;SACjD,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE;QACnD,MAAM,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;QAC9B,kEAAkE;QAClE,0EAA0E;QAC1E,4BAA4B;QAC5B,MAAM,KAAK,GAAG;YACZ;gBACE,GAAG,EAAE,QAAiB;gBACtB,KAAK,EAAE,mDAAmD,WAAW,EAAE;aACxE;YACD;gBACE,GAAG,EAAE,SAAkB;gBACvB,KAAK,EAAE,oDAAoD,WAAW,EAAE;aACzE;YACD;gBACE,GAAG,EAAE,SAAkB;gBACvB,KAAK,EAAE,oDAAoD,WAAW,EAAE;aACzE;SACF,CAAA;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACxF,MAAM,WAAW,GAA0D,EAAE,CAAA;QAC7E,MAAM,QAAQ,GAA2B,EAAE,CAAA;QAC3C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;gBAC1C,OAAM;YACR,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,kBAAkB,CACtB,gDAAgD,WAAW,EAAE,EAC7D,wBAAwB,EACxB,QAAQ,EACR;gBACE,eAAe,EAAE,WAAW;gBAC5B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACjC,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,GAAG,iBAAiB,CAAC,OAAO,CAAC;iBAC9B,CAAC,CAAC;gBACH,WAAW;aACZ,CACF,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAA;QACvC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAA;QAEzC,KAAK,MAAM,OAAO,IAAI,oBAAoB,CACxC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;YAC/B,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;YAC5C,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;YAC5C,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,YAAY,EAAE,CAAC,CAAC,YAAY;SAC7B,CAAC,CAAC,CACJ,EAAE,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,CAAA;QACf,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QAC9E,MAAM,OAAO,GAAG;YACd,eAAe,EAAE,WAAW;YAC5B,MAAM,EAAE,MAAM,IAAI,EAAE;YACpB,OAAO,EAAE,OAAO,IAAI,EAAE;YACtB,OAAO,EAAE,OAAO,IAAI,EAAE;SACvB,CAAA;QACD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAChC,UAAU,CACR,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EACvB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC;gBAC7B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI;gBACrB,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC;aACjC,CAAC,CACH,CAAA;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YACnC,UAAU,CACR,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,EAC1C,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC;gBAC9B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACnC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC;aAChC,CAAC,CACH,CAAA;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;YACnC,UAAU,CACR,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EACvB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC;gBAC9B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI;gBACtB,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,WAAW,CAAC;aAClC,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,IAAI;SACD,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,uBAAuB,CAAC;SACjC,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;QACpD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,EAAE;YACrE,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC;SAChC,CAAC,CAAA;QACF,MAAM,KAAK,GAAU,SAAS,EAAE,cAAc,IAAI,EAAE,CAAA;QACpD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,oBAAoB,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACtF,CAAA;QACD,MAAM,OAAO,GAKR,EAAE,CAAA;QACP,MAAM,QAAQ,GAA8E,EAAE,CAAA;QAC9F,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;YACzB,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC;oBACX,eAAe,EAAE,IAAI,CAAC,EAAE;oBACxB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,MAAM,CAAC,KAAK;iBACrB,CAAC,CAAA;gBACF,OAAM;YACR,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,mBAAmB,CAAC,uCAAuC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;gBACxF,eAAe,EAAE,IAAI,CAAC,EAAE;gBACxB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,kBAAkB,CACtB,mDAAmD,EAAE,EAAE,EACvD,uBAAuB,EACvB,QAAQ,EACR;gBACE,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC/B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACjC,IAAI,EAAE,oBAAoB;oBAC1B,SAAS,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE;oBACvD,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,GAAG,iBAAiB,CAAC,OAAO,CAAC;iBAC9B,CAAC,CAAC;gBACH,WAAW,EAAE;oBACX,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC;oBAC/B,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,IAAI;oBACjC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC5B,eAAe,EAAE,MAAM,CAAC,eAAe;wBACvC,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE;qBACpD,CAAC,CAAC;iBACJ;aACF,CACF,CAAA;QACH,CAAC;QACD,MAAM,IAAI,GAAoD,EAAE,CAAA;QAChE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,CAA2B,EAAE,CAAC;gBAC/E,IAAI,CAAC,IAAI,CAAC;oBACR,KAAK,CAAC,MAAM,IAAI,GAAG;oBACnB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE;iBACrC,CAAC,CAAA;gBACF,KAAK,MAAM,OAAO,IAAI,oBAAoB,CAAE,CAAS,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC7E,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC,CAAA;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CACF;YACE,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,IAAI;YACjC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvB,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE;aAC/C,CAAC,CAAC;SACJ,EACD,GAAG,EAAE;YACH,cAAc,CAAC;gBACb,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBACzB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;aAC9B,CAAC,CAAA;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC1B,UAAU,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;QACpE,CAAC,CACF,CAAA;IACH,CAAC,CAAC,CAAA;AACN,CAAC,CAAA"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/commands/exec.ts"],"names":[],"mappings":"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"}