@e2edev/e2e 0.6.0 → 0.6.1

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 (50) hide show
  1. package/dist/agent/act.js +2 -1
  2. package/dist/agent/act.js.map +1 -1
  3. package/dist/agent/invocation.d.ts.map +1 -1
  4. package/dist/agent/invocation.js +2 -1
  5. package/dist/agent/invocation.js.map +1 -1
  6. package/dist/agent/usage.d.ts +6 -1
  7. package/dist/agent/usage.d.ts.map +1 -1
  8. package/dist/agent/usage.js +12 -0
  9. package/dist/agent/usage.js.map +1 -1
  10. package/dist/cli/init/scaffold.d.ts.map +1 -1
  11. package/dist/cli/init/scaffold.js +1 -0
  12. package/dist/cli/init/scaffold.js.map +1 -1
  13. package/dist/config/agent.d.ts.map +1 -1
  14. package/dist/config/agent.js +17 -5
  15. package/dist/config/agent.js.map +1 -1
  16. package/dist/report/format.d.ts +9 -1
  17. package/dist/report/format.d.ts.map +1 -1
  18. package/dist/report/format.js +17 -4
  19. package/dist/report/format.js.map +1 -1
  20. package/dist/report/list-model.d.ts +79 -0
  21. package/dist/report/list-model.d.ts.map +1 -0
  22. package/dist/report/list-model.js +10 -0
  23. package/dist/report/list-model.js.map +1 -0
  24. package/dist/report/list-steps.d.ts +27 -0
  25. package/dist/report/list-steps.d.ts.map +1 -0
  26. package/dist/report/list-steps.js +65 -0
  27. package/dist/report/list-steps.js.map +1 -0
  28. package/dist/report/list.d.ts +26 -24
  29. package/dist/report/list.d.ts.map +1 -1
  30. package/dist/report/list.js +85 -157
  31. package/dist/report/list.js.map +1 -1
  32. package/dist/report/live-window.d.ts +11 -0
  33. package/dist/report/live-window.d.ts.map +1 -1
  34. package/dist/report/live-window.js +12 -5
  35. package/dist/report/live-window.js.map +1 -1
  36. package/dist/report/running-tree.d.ts +46 -0
  37. package/dist/report/running-tree.d.ts.map +1 -0
  38. package/dist/report/running-tree.js +182 -0
  39. package/dist/report/running-tree.js.map +1 -0
  40. package/dist/run/events.d.ts +2 -0
  41. package/dist/run/events.d.ts.map +1 -1
  42. package/dist/run/events.js.map +1 -1
  43. package/dist/run/runner.d.ts.map +1 -1
  44. package/dist/run/runner.js +3 -0
  45. package/dist/run/runner.js.map +1 -1
  46. package/dist/run/steps.d.ts +6 -0
  47. package/dist/run/steps.d.ts.map +1 -1
  48. package/dist/run/steps.js.map +1 -1
  49. package/package.json +4 -4
  50. package/skills/e2e/references/setup.md +1 -0
@@ -1,67 +1,35 @@
1
1
  /**
2
- * Human-readable list reporter, styled after vitest's
3
- * default reporter: one block per test file and target, a `Failed Tests`
4
- * section with code frames, and a padded summary. On a TTY a live window
5
- * below the log shows the running files, their tests, and the counters.
2
+ * Human-readable list reporter, styled after vitest's default reporter: one
3
+ * block per test file and target with each test's agent steps nested, a
4
+ * `Failed Tests` section with code frames, and a padded summary. On a TTY a
5
+ * live window below the log shows the running tree (`RunningTree`) and the
6
+ * counters.
6
7
  */
7
8
  import path from 'node:path';
8
9
  import picocolors from 'picocolors';
9
- import { sanitizeText, truncateUtf8 } from '../internal/errors.js';
10
10
  import { packageVersion } from '../internal/package-version.js';
11
- import { collapseText } from '../internal/text.js';
12
11
  import { codeFrame, userFrame } from './code-frame.js';
13
- import { addUsage, aiSegment, bounded, ellipsize, emptyCounters, emptyUsage, fileOutcome, formatClock, formatTime, formatTokens, padTitle, rule, stateString, statusBucket, stepsUsage, sumUsage, tally, terminalColumns, terminalRows, } from './format.js';
12
+ import { addUsage, aiSegment, bounded, ellipsize, emptyCounters, emptyUsage, F_CHECK, F_CROSS, F_POINTER, fileOutcome, formatClock, formatTime, padTitle, rule, stateString, statusBucket, stepsUsage, sumUsage, tally, terminalColumns, usageText, } from './format.js';
13
+ import { isShownEvent } from './list-model.js';
14
+ import { stepLine } from './list-steps.js';
14
15
  import { LiveWindow } from './live-window.js';
15
- /** Step labels stay one glanceable line; the report holds the full text. */
16
- const MAX_STEP_LABEL_BYTES = 72;
17
- const F_POINTER = '❯';
18
- const F_CHECK = '✓';
19
- const F_CROSS = '×';
16
+ import { RunningTree } from './running-tree.js';
20
17
  const F_DOWN = '↓';
21
18
  const F_RIGHT = '→';
22
- const F_DOWN_RIGHT = '↳';
23
- const F_TREE_MIDDLE = '├──';
24
- const F_TREE_END = '└──';
25
19
  /** Indentation under a badge line, matching vitest's banner padding. */
26
20
  const BADGE_PADDING = ' ';
21
+ /** Indentation of a test line under its file line. */
22
+ const TEST_INDENT = ' ';
23
+ /** Indentation of a finished agent step under its test line in a file block. */
24
+ const STEP_INDENT = ' ';
27
25
  /**
28
26
  * Badge backgrounds, assigned to targets in declaration order. Bright variants
29
27
  * because GitHub Actions renders plain yellow as dark brown, which swallows the
30
28
  * black label.
31
29
  */
32
30
  const BADGE_COLORS = ['bgYellowBright', 'bgCyanBright', 'bgGreenBright', 'bgMagentaBright'];
33
- /**
34
- * Rows the live window spends outside the running tests and the summary: its
35
- * blank lines, the `… more running` marker, and a margin above the prompt.
36
- */
37
- const WINDOW_CHROME_ROWS = 6;
38
- /** Rows one running test takes before its calls: the test line and its current step. */
39
- const WINDOW_ROWS_PER_TEST = 2;
40
31
  /** Indentation of the `→ first error line` under a failed test in a file block. */
41
32
  const ERROR_GLANCE_INDENT = 7;
42
- /** One-line, quoted step label bounded for the live view. */
43
- function stepLabel(label) {
44
- const flat = collapseText(label);
45
- const shown = truncateUtf8(flat, MAX_STEP_LABEL_BYTES);
46
- return `"${shown}${shown === flat ? '' : '…'}"`;
47
- }
48
- /**
49
- * Live tail for one step event. Model and engine calls are the ones worth a
50
- * glance (`tool:` prefixes come from executor tool accounting); polls and
51
- * policy decisions stay quiet.
52
- */
53
- function eventTail(event) {
54
- if (event.kind === 'model') {
55
- const tokens = event.count !== undefined && event.count > 0 ? ` · ${formatTokens(event.count)} tokens` : '';
56
- return `model turn ${formatTime(event.durationMs)}${tokens}`;
57
- }
58
- if (event.kind === 'engine') {
59
- const name = sanitizeText(event.name ?? 'engine').replace(/^tool:/, '');
60
- const failed = event.status === 'passed' ? '' : ` ${F_CROSS}`;
61
- return `${truncateUtf8(name, 40)} ${formatTime(event.durationMs)}${failed}`;
62
- }
63
- return undefined;
64
- }
65
33
  /** The identity of one test-target pair across `test-started`, `step`, and `test-finished`. */
66
34
  function pairKey(testId, target) {
67
35
  return `${testId}@${target}`;
@@ -108,6 +76,7 @@ export class ListReporter {
108
76
  output;
109
77
  pc;
110
78
  window;
79
+ tree;
111
80
  separator;
112
81
  projectRoot;
113
82
  /** Selected targets in declaration order; decides each badge's color. */
@@ -116,8 +85,10 @@ export class ListReporter {
116
85
  startedAt = new Date();
117
86
  /** File groups keyed `${target}\u0000${file}`, in first-seen order. */
118
87
  groups = new Map();
119
- /** Pairs executing right now, keyed by `pairKey`, in start order. */
120
- running = new Map();
88
+ /** Pairs that started and whose result is still to come, keyed by `pairKey`, in start order. */
89
+ pairs = new Map();
90
+ /** Whether a live window paints; without one, finished steps stream permanently. */
91
+ live;
121
92
  failures = [];
122
93
  /**
123
94
  * Serial groups whose members' results are still to come, by group id. The
@@ -132,8 +103,10 @@ export class ListReporter {
132
103
  constructor(output = DEFAULT_OUTPUT, options = {}) {
133
104
  this.output = output;
134
105
  const live = (options.live ?? process.stdout.isTTY === true) && output.raw !== undefined;
106
+ this.live = live;
135
107
  this.pc = picocolors.createColors(options.colors ?? (live || picocolors.isColorSupported));
136
108
  this.separator = this.pc.dim(' > ');
109
+ this.tree = new RunningTree(this.pc, (target) => this.badge(target));
137
110
  this.window = new LiveWindow(live ? output.raw?.bind(output) : undefined, () => this.renderWindow());
138
111
  }
139
112
  /**
@@ -198,7 +171,7 @@ export class ListReporter {
198
171
  const key = `${target}\u0000${file}`;
199
172
  let group = this.groups.get(key);
200
173
  if (group === undefined) {
201
- group = { file, target, planned: undefined, lines: [], streamed: false, printed: false };
174
+ group = { file, target, planned: undefined, lines: [], printed: false };
202
175
  this.groups.set(key, group);
203
176
  }
204
177
  return group;
@@ -215,6 +188,9 @@ export class ListReporter {
215
188
  if (event.ci)
216
189
  details.push('CI');
217
190
  this.output.write(BADGE_PADDING + pc.dim(details.join(' · ')));
191
+ if (event.model !== undefined) {
192
+ this.output.write(BADGE_PADDING + pc.dim(`model ${bounded(event.model)}`));
193
+ }
218
194
  this.output.write('');
219
195
  this.window.start();
220
196
  }
@@ -233,79 +209,80 @@ export class ListReporter {
233
209
  /**
234
210
  * A worker began one test-target pair: show it in the live window. A serial
235
211
  * member replaces the previous member of its group, which has finished
236
- * executing even though its result only arrives with the whole group.
212
+ * executing even though its result only arrives with the whole group. A
213
+ * serial group retries as a whole, so a member starts once per group
214
+ * attempt; its steps from earlier attempts stay with it, as an ordinary
215
+ * test's do.
237
216
  */
238
217
  testStarted(event) {
239
218
  if (event.serialId !== undefined) {
240
- for (const [key, test] of this.running) {
241
- if (test.serialId === event.serialId && test.group.target === event.target) {
242
- this.running.delete(key);
243
- }
219
+ for (const test of this.pairs.values()) {
220
+ if (test.serialId === event.serialId && test.group.target === event.target)
221
+ test.executing = false;
244
222
  }
245
223
  }
246
- this.running.set(pairKey(event.testId, event.target), {
224
+ const key = pairKey(event.testId, event.target);
225
+ this.pairs.set(key, {
247
226
  group: this.group(event.file, event.target),
248
227
  serialId: event.serialId,
249
228
  title: bounded(event.title),
250
229
  startedMs: Date.now(),
251
- step: undefined,
252
- events: [],
253
- streaming: false,
230
+ executing: true,
231
+ current: undefined,
232
+ steps: this.pairs.get(key)?.steps ?? [],
254
233
  });
255
234
  this.window.redraw();
256
235
  }
257
236
  /**
258
- * Streams step progress of a running pair. With a single test running, its
259
- * agent steps print permanently and chronologically under a header naming
260
- * the file and test - the scrollback of a long agentic run reads without
261
- * `--debug`. Deterministic steps are fast and many, so they only ever show
262
- * in the live window. With parallel tests the stream would interleave, so
263
- * each pair instead shows its current step and latest calls transiently in
264
- * the live window, and finished agent steps print with the test they
265
- * belong to.
237
+ * Tracks step progress of a running pair. With a live window the pair's
238
+ * finished agent steps accumulate under its row there and print once, nested
239
+ * under its line, when the file block prints - so every name appears exactly
240
+ * once in the scrollback. Without a window (CI logs) nothing is transient, so
241
+ * each finished agent step prints at once, prefixed with its test. Deterministic
242
+ * steps are fast and many, so they only ever show in the live window.
266
243
  */
267
244
  step(event) {
268
- const { pc } = this;
269
- const running = this.running.get(pairKey(event.testId, event.target));
245
+ const running = this.pairs.get(pairKey(event.testId, event.target));
270
246
  if (running === undefined)
271
247
  return;
272
248
  const { progress } = event;
273
249
  switch (progress.phase) {
274
250
  case 'start': {
275
- running.step = `${progress.api} ${stepLabel(progress.label)}`;
276
- running.events = [];
277
- if (progress.kind === 'agent' && this.running.size === 1 && !running.streaming) {
278
- running.streaming = true;
279
- const { group } = running;
280
- group.streamed = true;
281
- this.print(` ${pc.yellow(F_POINTER)} ${this.badge(group.target)} ${pc.dim(bounded(group.file))}${this.separator}${running.title}`);
282
- }
251
+ const { api, label, kind } = progress;
252
+ running.current = { api, label, kind, events: [], turnStart: 0 };
283
253
  this.window.redraw();
284
254
  break;
285
255
  }
286
256
  case 'event': {
287
- const tail = eventTail(progress.event);
288
- if (running.step === undefined || tail === undefined)
257
+ const { current } = running;
258
+ if (current === undefined || !isShownEvent(progress.event))
289
259
  break;
290
- running.events.push(tail);
260
+ if (progress.event.kind === 'model') {
261
+ current.events.splice(current.turnStart, 0, progress.event);
262
+ current.turnStart = current.events.length;
263
+ }
264
+ else {
265
+ current.events.push(progress.event);
266
+ }
291
267
  this.window.redraw();
292
268
  break;
293
269
  }
294
270
  case 'end': {
295
- running.step = undefined;
296
- running.events = [];
271
+ running.current = undefined;
297
272
  if (progress.kind !== 'agent') {
298
273
  this.window.redraw();
299
274
  break;
300
275
  }
301
- const glyph = progress.status === 'passed' ? pc.green(F_CHECK) : pc.red(F_CROSS);
302
- const calls = progress.modelCalls > 0
303
- ? ` · ${progress.modelCalls} model call${progress.modelCalls === 1 ? '' : 's'}`
304
- : '';
305
- const outcome = progress.status === 'passed' ? '' : ` ${progress.status}`;
306
- const context = running.streaming ? '' : `${pc.dim(running.title)}${this.separator}`;
307
- this.print(` ${glyph} ${context}${pc.dim(progress.api)} ${stepLabel(progress.label)} ` +
308
- pc.dim(`${formatTime(progress.durationMs)}${calls}${outcome}`));
276
+ const { api, label, status, durationMs, modelCalls } = progress;
277
+ const step = { api, label, status, durationMs, modelCalls };
278
+ if (this.live) {
279
+ running.steps.push(step);
280
+ this.window.redraw();
281
+ }
282
+ else {
283
+ const context = `${this.pc.dim(running.title)}${this.separator}`;
284
+ this.print(`${TEST_INDENT}${stepLine(this.pc, step, { context })}`);
285
+ }
309
286
  break;
310
287
  }
311
288
  }
@@ -335,12 +312,14 @@ export class ListReporter {
335
312
  // counted them.
336
313
  if (!result.selected)
337
314
  return;
338
- this.running.delete(pairKey(result.test.id, result.target.name));
315
+ const key = pairKey(result.test.id, result.target.name);
316
+ const steps = this.pairs.get(key)?.steps ?? [];
317
+ this.pairs.delete(key);
339
318
  const group = this.group(result.test.file, result.target.name);
340
319
  const { durationMs, usage, error } = this.detailsOf(result);
341
320
  addUsage(this.runUsage, usage);
342
321
  const title = bounded(result.test.titlePath.join(' > '));
343
- group.lines.push({
322
+ const line = {
344
323
  title,
345
324
  declarationIndex: result.test.declarationIndex,
346
325
  status: result.status,
@@ -348,7 +327,9 @@ export class ListReporter {
348
327
  usage,
349
328
  firstErrorLine: error === undefined ? undefined : bounded(error.message).split('\n')[0],
350
329
  skipReason: result.skip === undefined ? undefined : bounded(result.skip.reason),
351
- });
330
+ steps,
331
+ };
332
+ group.lines.push(line);
352
333
  if (statusBucket(result.status) === 'failed') {
353
334
  this.failures.push({ group, title, status: result.status, error });
354
335
  }
@@ -376,8 +357,11 @@ export class ListReporter {
376
357
  }
377
358
  /**
378
359
  * Prints one file's block: the file line with its counts, then - when the
379
- * file failed, had a flaky pass, streamed its steps, or is the run's only
380
- * file - one line per test, as vitest lists tests for a failed module.
360
+ * file failed, had a flaky pass, or is the run's only file - one line per
361
+ * test with its finished agent steps nested, as vitest lists tests for a
362
+ * failed module. With a live window the block is also the only permanent
363
+ * record of a file's agent steps, so a file that has any lists its tests
364
+ * too; without one the steps already printed as they finished.
381
365
  */
382
366
  printGroup(group) {
383
367
  if (group.printed)
@@ -413,14 +397,16 @@ export class ListReporter {
413
397
  this.print(parts.join(' '));
414
398
  const verbose = counts.failed > 0 ||
415
399
  counts.flaky > 0 ||
416
- group.streamed ||
417
- this.groups.size === 1;
400
+ this.groups.size === 1 ||
401
+ (this.live && group.lines.some((line) => line.steps.length > 0));
418
402
  if (!verbose)
419
403
  return;
420
404
  const ordered = group.lines.toSorted((a, b) => a.declarationIndex - b.declarationIndex);
421
405
  for (const line of ordered) {
422
406
  for (const rendered of this.testLine(line))
423
407
  this.print(rendered);
408
+ for (const step of line.steps)
409
+ this.print(`${STEP_INDENT}${stepLine(pc, step)}`);
424
410
  }
425
411
  }
426
412
  /** One test row under its file line, plus the first error line for a failure. */
@@ -465,7 +451,7 @@ export class ListReporter {
465
451
  padTitle(pc, 'Test Files') + (files.total === 0 ? pc.dim('no test files') : stateString(pc, files)),
466
452
  padTitle(pc, 'Tests') + (tests.total === 0 ? pc.dim('no tests executed') : stateString(pc, tests)),
467
453
  ];
468
- const ai = aiSegment(this.runUsage);
454
+ const ai = usageText(this.runUsage);
469
455
  if (ai !== undefined)
470
456
  rows.push(padTitle(pc, 'AI') + `${ai} · ${this.runUsage.calls} model calls`);
471
457
  if (this.errors.length > 0) {
@@ -476,68 +462,10 @@ export class ListReporter {
476
462
  rows.push(padTitle(pc, 'Duration') + formatTime(Date.now() - this.startedAt.getTime()));
477
463
  return rows;
478
464
  }
479
- /**
480
- * The live window: running files and tests, then the summary. The block
481
- * must fit the screen, because repainting more rows than the terminal has
482
- * breaks the cursor-up erase: rows left after the summary go to the running
483
- * tests, each test's calls share what remains once every test has its own
484
- * line, and tests that still do not fit fold into one `more running` marker.
485
- */
465
+ /** The live window: the running tree, then the summary. */
486
466
  renderWindow() {
487
- const { pc } = this;
488
- const now = Date.now();
489
- const active = new Map();
490
- for (const test of this.running.values()) {
491
- const tests = active.get(test.group);
492
- if (tests === undefined)
493
- active.set(test.group, [test]);
494
- else
495
- tests.push(test);
496
- }
497
- const summary = this.summaryRows();
498
- let budget = terminalRows() - summary.length - WINDOW_CHROME_ROWS;
499
- const spare = budget - active.size - this.running.size * WINDOW_ROWS_PER_TEST;
500
- const maxEvents = Math.max(0, Math.floor(spare / Math.max(1, this.running.size)));
501
- const lines = [''];
502
- let hidden = 0;
503
- for (const [group, tests] of active) {
504
- if (budget < 2) {
505
- hidden += tests.length;
506
- continue;
507
- }
508
- const progress = pc.dim(` ${group.lines.length}/${group.planned ?? '?'}`);
509
- lines.push(`${pc.bold(pc.yellow(` ${F_POINTER} `))}${this.badge(group.target)} ${bounded(group.file)}${progress}`);
510
- budget -= 1;
511
- tests.forEach((test, index) => {
512
- if (budget < 1) {
513
- hidden += 1;
514
- return;
515
- }
516
- const glyph = index === tests.length - 1 ? F_TREE_END : F_TREE_MIDDLE;
517
- const elapsed = pc.bold(pc.yellow(formatTime(Math.max(0, now - test.startedMs))));
518
- lines.push(`${pc.bold(pc.yellow(` ${glyph} `))}${test.title} ${elapsed}`);
519
- budget -= 1;
520
- if (test.step === undefined)
521
- return;
522
- const detail = [` ${pc.dim(`${F_DOWN_RIGHT} ${test.step}`)}`];
523
- const overflow = test.events.length - maxEvents;
524
- if (overflow > 0) {
525
- detail.push(` ${pc.dim(`… ${overflow} earlier call${overflow === 1 ? '' : 's'}`)}`);
526
- }
527
- for (const tail of overflow > 0 ? test.events.slice(overflow) : test.events) {
528
- detail.push(` ${pc.dim(tail)}`);
529
- }
530
- const shown = detail.slice(0, budget);
531
- lines.push(...shown);
532
- budget -= shown.length;
533
- });
534
- }
535
- if (hidden > 0)
536
- lines.push(pc.dim(` … ${hidden} more running`));
537
- if (active.size > 0)
538
- lines.push('');
539
- lines.push(...summary, '');
540
- return lines;
467
+ const running = [...this.pairs.values()].filter((test) => test.executing);
468
+ return this.tree.render(running, this.summaryRows(), Date.now());
541
469
  }
542
470
  /** vitest's `Failed Tests` section: a banner, then each failure with its code frame. */
543
471
  printFailures() {
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/report/list.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAwB,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAInD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EACL,QAAQ,EACR,SAAS,EACT,OAAO,EACP,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,eAAe,EACf,YAAY,GAIb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,4EAA4E;AAC5E,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,MAAM,MAAM,GAAG,GAAG,CAAC;AACnB,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,MAAM,YAAY,GAAG,GAAG,CAAC;AACzB,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,UAAU,GAAG,KAAK,CAAC;AAEzB,wEAAwE;AACxE,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAC,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,CAAU,CAAC;AAErG;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,wFAAwF;AACxF,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,mFAAmF;AACnF,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAe9B,6DAA6D;AAC7D,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACvD,OAAO,IAAI,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,KAAgB;IACjC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,MAAM,GACV,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,OAAO,cAAc,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;QAC9D,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+FAA+F;AAC/F,SAAS,OAAO,CAAC,MAAc,EAAE,MAAc;IAC7C,OAAO,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAC/B,CAAC;AASD,wFAAwF;AACxF,SAAS,cAAc,CAAC,QAAkC;IACxD,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9E,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3D,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK;KAC5C,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,KAAwB,EAAE,MAAc;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5C,OAAO;QACP,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;KACnE,CAAC,CAAC,CAAC;IACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,EAAE,MAAM,CAAC;IACzB,MAAM,QAAQ,GAAG,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;IAC/D,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QACjF,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC7D,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;KAClE,CAAC;AACJ,CAAC;AAqDD,MAAM,cAAc,GAAuB;IACzC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC;IAClD,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;CAC1C,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,YAAY;IA0BJ,MAAM;IAzBR,EAAE,CAAS;IACX,MAAM,CAAa;IACnB,SAAS,CAAS;IAC3B,WAAW,CAAqB;IACxC,yEAAyE;IACjE,OAAO,GAAsB,EAAE,CAAC;IACxC,iFAAiF;IACzE,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,uEAAuE;IACtD,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IACvD,qEAAqE;IACpD,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,QAAQ,GAAc,EAAE,CAAC;IAC1C;;;;OAIG;IACc,aAAa,GAAG,IAAI,GAAG,EAA2D,CAAC;IACpG,yFAAyF;IACxE,MAAM,GAAsB,EAAE,CAAC;IAChD,gFAAgF;IAC/D,QAAQ,GAAG,UAAU,EAAE,CAAC;IAEzC,YACmB,MAAM,GAAuB,cAAc,EAC5D,OAAO,GAAwB,EAAE;sBADhB,MAAM;QAGvB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC;QACzF,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACvG,CAAC;IAED;;;OAGG;IACM,MAAM,GAAG,CAAC,KAAmB,EAAQ,EAAE;QAC9C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,aAAa;gBAChB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5D,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM;QACV,CAAC;IACH,CAAC,CAAC;IAEF,oEAAoE;IAC5D,KAAK,CAAC,IAAY;QACxB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,mFAAmF;IAC3E,KAAK,CAAC,MAAc;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB;YAAE,OAAO,IAAI,IAAI,GAAG,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAE,CAAC;QACzD,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,yEAAyE;IACjE,WAAW,CAAC,MAAc;QAChC,MAAM,MAAM,GACV,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,IAAY,EAAE,MAAc;QACxC,MAAM,GAAG,GAAG,GAAG,MAAM,SAAS,IAAI,EAAE,CAAC;QACrC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YACzF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,UAAU,CAAC,KAAgC;QACjD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CACvG,CAAC;QACF,MAAM,OAAO,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,YAAY,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,IAAI,KAAK,CAAC,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEO,IAAI,CAAC,KAAyB;QACpC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,kFAAkF;IAC1E,cAAc,CAAC,KAAoC;QACzD,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,EAAE,CAAC,MAAM,CACZ,KAAK,CAAC,IAAI,KAAK,UAAU;YACvB,CAAC,CAAC,oFAAoF;YACtF,CAAC,CAAC,kDAAkD,CACvD,CACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,KAAiC;QACnD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC3E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;YACpD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;;OASG;IACK,IAAI,CAAC,KAAyB;QACpC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,QAAQ,QAAQ,CAAC,KAAK,EAAE,CAAC;YACvB,KAAK,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9D,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;gBACpB,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC/E,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;oBACzB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;oBAC1B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACtB,IAAI,CAAC,KAAK,CACR,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CACvH,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM;YACR,CAAC;YACD,KAAK,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;oBAAE,MAAM;gBAC5D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACrB,MAAM;YACR,CAAC;YACD,KAAK,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;gBACzB,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;gBACpB,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACrB,MAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACjF,MAAM,KAAK,GACT,QAAQ,CAAC,UAAU,GAAG,CAAC;oBACrB,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,cAAc,QAAQ,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE;oBAC/E,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrF,IAAI,CAAC,KAAK,CACR,MAAM,KAAK,IAAI,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG;oBAC3E,EAAE,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,OAAO,EAAE,CAAC,CACjE,CAAC;gBACF,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,oFAAoF;IAC5E,WAAW,CAAC,KAAwB;QAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;;;OAIG;IACK,SAAS,CAAC,MAAsB;QACtC,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,cAAc,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACvB,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC;YAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5E,OAAO,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEO,YAAY,CAAC,MAAsB;QACzC,wEAAwE;QACxE,gBAAgB;QAChB,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACf,KAAK;YACL,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB;YAC9C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU;YACV,KAAK;YACL,cAAc,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvF,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SAChF,CAAC,CAAC;QACH,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/F,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,wFAAwF;IAChF,YAAY;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAClF,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAChG,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,uFAAuF;IAC/E,YAAY;QAClB,MAAM,QAAQ,GAAG,aAAa,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;YACpB,IAAI,KAAK,CAAC,OAAO;gBAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,UAAU,CAAC,KAAgB;QACjC,IAAI,KAAK,CAAC,OAAO;YAAE,OAAO;QAC1B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,MAAM,GACV,OAAO,KAAK,QAAQ;YAClB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;YACnB,CAAC,CAAC,OAAO,KAAK,SAAS;gBACrB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG;YACZ,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAC9D,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACjE,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACjE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;SACxE;aACE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;aACpC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACvB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG;YACZ,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC/D,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;SACvC,CAAC;QACF,gFAAgF;QAChF,IAAI,UAAU,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,EAAE,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,MAAM,OAAO,GACX,MAAM,CAAC,MAAM,GAAG,CAAC;YACjB,MAAM,CAAC,KAAK,GAAG,CAAC;YAChB,KAAK,CAAC,QAAQ;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC;QACxF,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,iFAAiF;IACzE,QAAQ,CAAC,IAAc;QAC7B,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,EAAE,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;YACpE,KAAK,OAAO;gBACV,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7F,KAAK,SAAS,EAAE,CAAC;gBACf,kFAAkF;gBAClF,MAAM,MAAM,GACV,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;oBAC5D,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;gBAC/C,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC3E,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC,CAAC;gBACpF,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;oBACtC,uEAAuE;oBACvE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,GAAG,mBAAmB,CAAC,CAAC;oBACvF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBACtD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,WAAW;QACjB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG;YACX,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACnG,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;SACnG,CAAC;QACF,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,cAAc,CAAC,CAAC;QACnG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACK,YAAY;QAClB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;QACnD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;;gBACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,MAAM,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,oBAAoB,CAAC;QAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACpC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YAC1E,KAAK,CAAC,IAAI,CACR,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,CACvG,CAAC;YACF,MAAM,IAAI,CAAC,CAAC;YACZ,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC5B,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC;gBACtE,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClF,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;gBAC5E,MAAM,IAAI,CAAC,CAAC;gBACZ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;oBAAE,OAAO;gBACpC,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;gBAChD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,gBAAgB,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9F,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC5E,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,MAAM,eAAe,CAAC,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wFAAwF;IAChF,aAAa;QACnB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;YAC/D,IAAI,CAAC,KAAK,CACR,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,EAAE,CAC7G,CAAC;YACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;gBAChE,KAAK,MAAM,IAAI,IAAI,IAAI;oBAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACxD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gEAAgE;IACxD,WAAW,CAAC,OAAe;QACjC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;IACrD,CAAC;IAED,wEAAwE;IAChE,oBAAoB,CAAC,KAAyB;QACpD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,IAAI,CAAC,KAAK,CACR,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CACrH,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACK,WAAW;QACjB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpF,IAAI,CAAC,KAAK,CACR,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CAC1G,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAiC;QACnD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnB,uEAAuE;QACvE,iEAAiE;QACjE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CACR,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;YACpB,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAClG,CAAC;QACF,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,4BAA4B,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/report/list.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,17 @@
4
4
  * and repaints on a timer so elapsed times tick. Constructed without a raw
5
5
  * control channel it is a no-op, so callers never branch.
6
6
  */
7
+ /**
8
+ * Repaint cadence, and so the animation frame of anything the window shows:
9
+ * a spinner keyed to it advances exactly once per paint.
10
+ */
11
+ export declare const REPAINT_INTERVAL_MS = 80;
12
+ /**
13
+ * Columns a window line leaves free: the ellipsis takes one, and a line that
14
+ * reaches the exact width puts some terminals into pending-wrap, which breaks
15
+ * the erase row count the same way real wrapping does.
16
+ */
17
+ export declare const WIDTH_MARGIN = 2;
7
18
  export declare class LiveWindow {
8
19
  private readonly raw;
9
20
  private readonly getWindow;
@@ -1 +1 @@
1
- {"version":3,"file":"live-window.d.ts","sourceRoot":"","sources":["../../src/report/live-window.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuCH,qBAAa,UAAU;IAOnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,uDAAuD;IACvD,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAA6B;IAE1C,YACmB,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,EACzC,SAAS,EAAE,MAAM,SAAS,MAAM,EAAE,EACjD;IAEJ,mEAAmE;IACnE,KAAK,IAAI,IAAI,CAMZ;IAED,+DAA+D;IAC/D,KAAK,IAAI,IAAI,CAIZ;IAED,4FAA4F;IAC5F,MAAM,IAAI,IAAI,CAcb;IAED;;;;OAIG;IACH,IAAI,IAAI,IAAI,CAKX;CACF"}
1
+ {"version":3,"file":"live-window.d.ts","sourceRoot":"","sources":["../../src/report/live-window.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC;;;;GAIG;AACH,eAAO,MAAM,YAAY,IAAI,CAAC;AA+B9B,qBAAa,UAAU;IAOnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,uDAAuD;IACvD,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAA6B;IAE1C,YACmB,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,EACzC,SAAS,EAAE,MAAM,SAAS,MAAM,EAAE,EACjD;IAEJ,mEAAmE;IACnE,KAAK,IAAI,IAAI,CAMZ;IAED,+DAA+D;IAC/D,KAAK,IAAI,IAAI,CAIZ;IAED,4FAA4F;IAC5F,MAAM,IAAI,IAAI,CAcb;IAED;;;;OAIG;IACH,IAAI,IAAI,IAAI,CAKX;CACF"}
@@ -6,7 +6,17 @@
6
6
  */
7
7
  import { terminalColumns, terminalRows } from './format.js';
8
8
  const ESC = '\u001b';
9
- const REPAINT_INTERVAL_MS = 200;
9
+ /**
10
+ * Repaint cadence, and so the animation frame of anything the window shows:
11
+ * a spinner keyed to it advances exactly once per paint.
12
+ */
13
+ export const REPAINT_INTERVAL_MS = 80;
14
+ /**
15
+ * Columns a window line leaves free: the ellipsis takes one, and a line that
16
+ * reaches the exact width puts some terminals into pending-wrap, which breaks
17
+ * the erase row count the same way real wrapping does.
18
+ */
19
+ export const WIDTH_MARGIN = 2;
10
20
  /** Synchronized-output markers: terminals that support them repaint atomically. */
11
21
  const SYNC_START = `${ESC}[?2026h`;
12
22
  const SYNC_END = `${ESC}[?2026l`;
@@ -16,10 +26,7 @@ const SYNC_END = `${ESC}[?2026l`;
16
26
  * would leave stale fragments behind on every repaint.
17
27
  */
18
28
  function clampToWidth(text, columns) {
19
- // Two columns of margin: the ellipsis takes one, and a line that reaches
20
- // the exact width puts some terminals into pending-wrap, which breaks the
21
- // erase row count the same way real wrapping does.
22
- const max = Math.max(4, columns - 2);
29
+ const max = Math.max(4, columns - WIDTH_MARGIN);
23
30
  let width = 0;
24
31
  let out = '';
25
32
  for (let i = 0; i < text.length;) {
@@ -1 +1 @@
1
- {"version":3,"file":"live-window.js","sourceRoot":"","sources":["../../src/report/live-window.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,GAAG,GAAG,QAAQ,CAAC;AACrB,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,mFAAmF;AACnF,MAAM,UAAU,GAAG,GAAG,GAAG,SAAS,CAAC;AACnC,MAAM,QAAQ,GAAG,GAAG,GAAG,SAAS,CAAC;AAEjC;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,OAAe;IACjD,yEAAyE;IACzE,0EAA0E;IAC1E,mDAAmD;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAI,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;QAC/B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,MAAM;YACtB,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAC9B,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,KAAK,IAAI,GAAG;YAAE,OAAO,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;QAC5C,GAAG,IAAI,IAAI,CAAC;QACZ,KAAK,IAAI,CAAC,CAAC;QACX,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,OAAO,UAAU;IAOF,GAAG;IACH,SAAS;IAP5B,uDAAuD;IAC/C,IAAI,GAAG,CAAC,CAAC;IACT,MAAM,GAAG,KAAK,CAAC;IACf,KAAK,CAA6B;IAE1C,YACmB,GAAyC,EACzC,SAAkC;mBADlC,GAAG;yBACH,SAAS;IACzB,CAAC;IAEJ,mEAAmE;IACnE,KAAK;QACH,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,+DAA+D;IAC/D,KAAK;QACH,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QACtD,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,4FAA4F;IAC5F,MAAM;QACJ,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACnD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7B,sEAAsE;QACtE,kEAAkE;QAClE,MAAM,OAAO,GAAG,YAAY,EAAE,GAAG,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3E,IAAI,OAAO,GAAG,UAAU,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,OAAO,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;QACxE,OAAO,IAAI,QAAQ,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"live-window.js","sourceRoot":"","sources":["../../src/report/live-window.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * The running part of the list reporter's live window: each running file,
3
+ * its tests with a ticking clock, each test's finished steps, and its current
4
+ * step with the model turns and tool calls so far and the turn in flight.
5
+ * Padded to a fixed height so the summary below never moves.
6
+ */
7
+ import { type Colors } from './format.ts';
8
+ import type { RunningTest } from './list-model.ts';
9
+ export declare class RunningTree {
10
+ private readonly pc;
11
+ private readonly badge;
12
+ /** High-water mark of the running area's rows; the window pads up to it. */
13
+ private reservedRows;
14
+ constructor(pc: Colors, badge: (target: string) => string);
15
+ /**
16
+ * The window's rows: running files and tests with their detail, then the
17
+ * summary. The block must fit the screen, because repainting more rows
18
+ * than the terminal has breaks the cursor-up erase: rows left after the
19
+ * summary go to the running tests, each test's detail shares what remains
20
+ * once every test has its own row, and tests that still do not fit fold
21
+ * into one `more running` marker.
22
+ */
23
+ render(running: readonly RunningTest[], summary: readonly string[], now: number): string[];
24
+ /** The one ticking clock of a running test, on its row. */
25
+ private clock;
26
+ /**
27
+ * Everything under a running test's row: its finished steps, then the
28
+ * current step. The current step has priority; finished steps take the rows
29
+ * left and the oldest fold into one marker.
30
+ */
31
+ private detailRows;
32
+ /**
33
+ * The current step of a running pair and, for an agent step, its calls and
34
+ * the turn in flight, at most `budget` rows. Older calls fold into one
35
+ * marker. No clock here: the test row above carries the one clock, so the
36
+ * eye has a single moving number per running test.
37
+ */
38
+ private stepRows;
39
+ /**
40
+ * The model turn in flight: a spinner and a shimmering `Thinking`. Tool
41
+ * calls take milliseconds and are reported before their turn, so between
42
+ * events the model is always the one working.
43
+ */
44
+ private waitingRow;
45
+ }
46
+ //# sourceMappingURL=running-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"running-tree.d.ts","sourceRoot":"","sources":["../../src/report/running-tree.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAiE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA4D9D,qBAAa,WAAW;IAKpB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,4EAA4E;IAC5E,OAAO,CAAC,YAAY,CAAiB;IAErC,YACmB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,EAChD;IAEJ;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CA6CzF;IAED,2DAA2D;IAC3D,OAAO,CAAC,KAAK;IAIb;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAalB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAehB;;;;OAIG;IACH,OAAO,CAAC,UAAU;CAMnB"}