@oktis-works/cms 0.2.1 → 0.3.0

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 (75) hide show
  1. package/dist/assets.d.ts +23 -6
  2. package/dist/assets.d.ts.map +1 -1
  3. package/dist/assets.js +262 -87
  4. package/dist/assets.js.map +1 -1
  5. package/dist/bluegreen.d.ts.map +1 -1
  6. package/dist/bluegreen.js +75 -52
  7. package/dist/bluegreen.js.map +1 -1
  8. package/dist/commands.d.ts.map +1 -1
  9. package/dist/commands.js +238 -142
  10. package/dist/commands.js.map +1 -1
  11. package/dist/config-wizard.js +34 -36
  12. package/dist/config-wizard.js.map +1 -1
  13. package/dist/deploy-target.d.ts +20 -0
  14. package/dist/deploy-target.d.ts.map +1 -0
  15. package/dist/deploy-target.js +90 -0
  16. package/dist/deploy-target.js.map +1 -0
  17. package/dist/deploy.d.ts +7 -7
  18. package/dist/deploy.d.ts.map +1 -1
  19. package/dist/deploy.js +123 -273
  20. package/dist/deploy.js.map +1 -1
  21. package/dist/docker.d.ts +16 -0
  22. package/dist/docker.d.ts.map +1 -1
  23. package/dist/docker.js +25 -0
  24. package/dist/docker.js.map +1 -1
  25. package/dist/doctor.js +12 -12
  26. package/dist/doctor.js.map +1 -1
  27. package/dist/env-file.js +1 -1
  28. package/dist/env-file.js.map +1 -1
  29. package/dist/env-schema.d.ts.map +1 -1
  30. package/dist/env-schema.js +64 -64
  31. package/dist/env-schema.js.map +1 -1
  32. package/dist/extension-scaffold.js +5 -5
  33. package/dist/extension-scaffold.js.map +1 -1
  34. package/dist/guards.js +8 -8
  35. package/dist/guards.js.map +1 -1
  36. package/dist/history.js +1 -1
  37. package/dist/installer.js +9 -9
  38. package/dist/installer.js.map +1 -1
  39. package/dist/npm-registry.js +1 -1
  40. package/dist/npm-registry.js.map +1 -1
  41. package/dist/pm2.d.ts +18 -0
  42. package/dist/pm2.d.ts.map +1 -0
  43. package/dist/pm2.js +179 -0
  44. package/dist/pm2.js.map +1 -0
  45. package/dist/project-config.js +1 -1
  46. package/dist/project-config.js.map +1 -1
  47. package/dist/prompt.d.ts +27 -4
  48. package/dist/prompt.d.ts.map +1 -1
  49. package/dist/prompt.js +254 -29
  50. package/dist/prompt.js.map +1 -1
  51. package/dist/redeploy.d.ts +6 -1
  52. package/dist/redeploy.d.ts.map +1 -1
  53. package/dist/redeploy.js +137 -74
  54. package/dist/redeploy.js.map +1 -1
  55. package/dist/rollback.js +21 -21
  56. package/dist/rollback.js.map +1 -1
  57. package/dist/scaffold-docs.d.ts.map +1 -1
  58. package/dist/scaffold-docs.js +44 -19
  59. package/dist/scaffold-docs.js.map +1 -1
  60. package/dist/scaffold.d.ts +3 -1
  61. package/dist/scaffold.d.ts.map +1 -1
  62. package/dist/scaffold.js +25 -16
  63. package/dist/scaffold.js.map +1 -1
  64. package/dist/simple.d.ts +31 -0
  65. package/dist/simple.d.ts.map +1 -0
  66. package/dist/simple.js +200 -0
  67. package/dist/simple.js.map +1 -0
  68. package/dist/start.js +1 -1
  69. package/dist/theme-build.js +3 -3
  70. package/dist/theme-build.js.map +1 -1
  71. package/dist/update.d.ts +22 -15
  72. package/dist/update.d.ts.map +1 -1
  73. package/dist/update.js +163 -81
  74. package/dist/update.js.map +1 -1
  75. package/package.json +7 -7
package/dist/prompt.js CHANGED
@@ -1,15 +1,16 @@
1
- // @oktis-works/cms - Primitivas de prompt interativo (wizard TTY, zero deps)
1
+ // @oktis-works/cms - Interactive prompt primitives (TTY wizard, zero deps)
2
2
  //
3
- // O parser da CLI não tem dependência de TUI nenhuma e não vamos adicionar:
4
- // um `readline` próprio resolve select/confirm/input/mask com três garantias
5
- // que biblioteca de terceiros não daria de graça aqui:
6
- // 1. fallback determinístico em modo não-interativo (CI/pipes) → flags;
7
- // 2. máscara de segredo SEM eco (raw mode só quando o stdin é TTY);
8
- // 3. IO injetável → testável sem terminal real.
3
+ // The CLI parser has no TUI dependency and we are not adding one: a small
4
+ // `readline` of our own resolves select/confirm/input/mask with three
5
+ // guarantees a third-party library would not give for free here:
6
+ // 1. deterministic non-interactive fallback (CI/pipes) → flags;
7
+ // 2. secret mask with NO echo (raw mode only when stdin is a real TTY);
8
+ // 3. injectable IO → testable without a real terminal.
9
9
  //
10
- // Menu = numeração (1/2/3) e não setas: funciona em TTY, SSH, container e pipe
11
- // com o MESMO código — setas exigiriam raw mode também na leitura normal e
12
- // quebrariam qualquer entrada pipada.
10
+ // Menus are ARROW-KEY driven (↑/↓ + Enter) whenever the terminal supports raw
11
+ // mode. Terminals that cannot do raw mode (SSH without TTY, pipes, tests) get
12
+ // the numbered menu (1/2/3) — same code path, same semantics — and CI always
13
+ // falls back to the flag/default instead of guessing.
13
14
  export function defaultIO() {
14
15
  const input = process.stdin;
15
16
  const output = process.stdout;
@@ -32,7 +33,7 @@ export const style = {
32
33
  cyan: wrap(36, 39),
33
34
  gray: wrap(90, 39),
34
35
  };
35
- /** Símbolos canônicos — mesmos glifos já usados pelos comandos da CLI. */
36
+ /** Canonical glyphs — the same ones every command prints. */
36
37
  export const symbol = {
37
38
  ask: '?',
38
39
  ok: '✓',
@@ -40,7 +41,72 @@ export const symbol = {
40
41
  arrow: '→',
41
42
  bullet: '•',
42
43
  warn: '⚠',
44
+ cursor: '❯',
43
45
  };
46
+ /** ASCII codes used in raw mode — kept numeric to stay readable in source. */
47
+ const CODE_ESC = 27;
48
+ const CODE_ETX = 3;
49
+ const CODE_EOT = 4;
50
+ const CODE_DEL = 127;
51
+ const CODE_BS = 8;
52
+ /** ESC as a string (redraw sequences, built without escape literals). */
53
+ const ESC = String.fromCharCode(CODE_ESC);
54
+ /**
55
+ * Turns one terminal chunk into key tokens.
56
+ *
57
+ * Arrow keys arrive as a single chunk (`ESC [ A`), so the CSI introducer is
58
+ * matched first and the rest of the sequence swallowed; a lone ESC becomes
59
+ * `escape`. Everything else is the character itself.
60
+ */
61
+ export function decodeKeys(chunk) {
62
+ const keys = [];
63
+ const named = { A: 'up', B: 'down', C: 'right', D: 'left', H: 'home', F: 'end' };
64
+ for (let i = 0; i < chunk.length; i++) {
65
+ const ch = chunk[i];
66
+ const code = chunk.charCodeAt(i);
67
+ if (code === CODE_ESC) {
68
+ const next = chunk[i + 1];
69
+ if (next === '[' || next === 'O') {
70
+ const final = chunk[i + 2];
71
+ if (final && named[final]) {
72
+ keys.push(named[final]);
73
+ i += 2;
74
+ continue;
75
+ }
76
+ // other CSI/SS3 sequences (function keys, mouse…): swallow to the end
77
+ let j = i + 2;
78
+ while (j < chunk.length) {
79
+ const c = chunk.charCodeAt(j);
80
+ if (c >= 0x40 && c <= 0x7e)
81
+ break;
82
+ j++;
83
+ }
84
+ i = j;
85
+ continue;
86
+ }
87
+ keys.push('escape');
88
+ continue;
89
+ }
90
+ if (ch === '\r' || ch === '\n') {
91
+ keys.push('enter');
92
+ continue;
93
+ }
94
+ if (code === CODE_ETX) {
95
+ keys.push('ctrl-c');
96
+ continue;
97
+ }
98
+ if (code === CODE_EOT) {
99
+ keys.push('ctrl-d');
100
+ continue;
101
+ }
102
+ if (code === CODE_DEL || code === CODE_BS) {
103
+ keys.push('backspace');
104
+ continue;
105
+ }
106
+ keys.push(ch);
107
+ }
108
+ return keys;
109
+ }
44
110
  /** Ctrl+C — cancela a leitura de um segredo sem derrubar o processo. */
45
111
  const ETX = '\u0003';
46
112
  /** DEL/backspace. */
@@ -52,10 +118,13 @@ class BufferedInput {
52
118
  queue = [];
53
119
  waiters = [];
54
120
  ended = false;
55
- // estado do modo raw (máscara de segredo)
121
+ // raw mode state — secret mask (existing) and key reading (new)
56
122
  raw = false;
57
123
  rawValue = '';
58
124
  rawWaiter = null;
125
+ keyMode = false;
126
+ keyQueue = [];
127
+ keyWaiters = [];
59
128
  constructor(stream, echo) {
60
129
  this.stream = stream;
61
130
  this.echo = echo;
@@ -66,7 +135,8 @@ class BufferedInput {
66
135
  stream.on('close', end);
67
136
  stream.on('error', end);
68
137
  }
69
- get canMask() {
138
+ /** true when the terminal can switch to raw mode (arrow keys + secret mask). */
139
+ get canRaw() {
70
140
  return Boolean(this.stream.isTTY && this.stream.setRawMode);
71
141
  }
72
142
  onEnd() {
@@ -82,12 +152,19 @@ class BufferedInput {
82
152
  this.raw = false;
83
153
  waiter('');
84
154
  }
155
+ const keyWaiters = this.keyWaiters.splice(0);
156
+ for (const waiter of keyWaiters)
157
+ waiter('eof');
85
158
  }
86
159
  onData(chunk) {
87
160
  if (this.raw) {
88
161
  this.onRawData(chunk);
89
162
  return;
90
163
  }
164
+ if (this.keyMode) {
165
+ this.dispatchKeys(chunk);
166
+ return;
167
+ }
91
168
  this.buffer += chunk;
92
169
  this.drain();
93
170
  }
@@ -164,9 +241,9 @@ class BufferedInput {
164
241
  });
165
242
  }
166
243
  /**
167
- * Lê um segredo. Sem eco quando o stdin é TTY (raw mode + `*`); sem TTY a
168
- * entrada É o pipe — `echo senha | okcms config` funciona de propósito, e o
169
- * default cobre o caso de stdin fechado em CI.
244
+ * Reads a secret. No echo on a TTY (raw mode + `*`); without a TTY the input
245
+ * IS the pipe — `echo password | okcms config` is a real flow — and the
246
+ * default covers a closed stdin in CI.
170
247
  */
171
248
  async readSecret() {
172
249
  const queued = this.queue.shift();
@@ -174,7 +251,7 @@ class BufferedInput {
174
251
  return queued;
175
252
  if (this.ended)
176
253
  return '';
177
- if (!this.canMask)
254
+ if (!this.canRaw)
178
255
  return (await this.readLine()) ?? '';
179
256
  return new Promise((resolve) => {
180
257
  this.rawValue = '';
@@ -183,6 +260,43 @@ class BufferedInput {
183
260
  this.setRawMode(true);
184
261
  });
185
262
  }
263
+ /**
264
+ * Reads one key token (`up`, `down`, `enter`, a printable character…).
265
+ * Returns `eof` when the terminal cannot do raw mode or stdin closed — the
266
+ * caller falls back to the numbered menu instead of hanging.
267
+ */
268
+ readKey() {
269
+ const queued = this.keyQueue.shift();
270
+ if (queued !== undefined)
271
+ return Promise.resolve(queued);
272
+ if (this.ended || !this.canRaw)
273
+ return Promise.resolve('eof');
274
+ return new Promise((resolve) => {
275
+ this.keyMode = true;
276
+ this.keyWaiters.push(resolve);
277
+ this.setRawMode(true);
278
+ });
279
+ }
280
+ /** Queues decoded keys to whoever is waiting (or buffers them for later). */
281
+ dispatchKeys(chunk) {
282
+ for (const key of decodeKeys(chunk)) {
283
+ const waiter = this.keyWaiters.shift();
284
+ if (waiter)
285
+ waiter(key);
286
+ else
287
+ this.keyQueue.push(key);
288
+ }
289
+ }
290
+ /** Leaves key mode: raw mode off, pending waiters released with `eof`. */
291
+ releaseKeys() {
292
+ if (!this.keyMode)
293
+ return;
294
+ this.keyMode = false;
295
+ this.setRawMode(false);
296
+ const waiters = this.keyWaiters.splice(0);
297
+ for (const waiter of waiters)
298
+ waiter('eof');
299
+ }
186
300
  }
187
301
  export class Prompt {
188
302
  io;
@@ -217,12 +331,13 @@ export class Prompt {
217
331
  this.write(` ${style.red(symbol.fail)} ${text}\n`);
218
332
  }
219
333
  /**
220
- * Menu numerado. Em modo não-interativo devolve `defaultValue`; sem default
221
- * lança erro — assim um CI nunca aciona um deploy por acidente.
334
+ * Arrow-key menu (↑/↓ + Enter). Falls back to a numbered menu when the
335
+ * terminal cannot do raw mode, and to `defaultValue` when there is no TTY at
336
+ * all — so a CI never triggers a deploy by accident.
222
337
  */
223
338
  async select(title, choices, opts = {}) {
224
339
  if (choices.length === 0) {
225
- throw new Error(`select "${title}" sem opções`);
340
+ throw new Error(`select "${title}" has no options`);
226
341
  }
227
342
  const defaultIndex = opts.defaultValue === undefined
228
343
  ? -1
@@ -231,8 +346,12 @@ export class Prompt {
231
346
  if (opts.defaultValue !== undefined)
232
347
  return opts.defaultValue;
233
348
  throw new Error(opts.nonInteractiveError ??
234
- `non-interactive: a opção "${title}" exige TTY ou a flag equivalente`);
349
+ `non-interactive: "${title}" needs a TTY or the equivalent flag`);
235
350
  }
351
+ if (this.input.canRaw) {
352
+ return await this.navigate(title, choices, defaultIndex < 0 ? 0 : defaultIndex, {});
353
+ }
354
+ // No raw mode (pipe, odd SSH session, test harness): numbered menu.
236
355
  this.write(`\n ${symbol.ask} ${style.bold(title)}\n`);
237
356
  choices.forEach((choice, index) => {
238
357
  const marker = index === defaultIndex ? style.cyan('>') : ' ';
@@ -246,7 +365,7 @@ export class Prompt {
246
365
  if (raw === null) {
247
366
  if (opts.defaultValue !== undefined)
248
367
  return opts.defaultValue;
249
- throw new Error(`entrada encerrada antes de responder "${title}"`);
368
+ throw new Error(`input closed before "${title}" was answered`);
250
369
  }
251
370
  const answer = raw.trim();
252
371
  if (answer === '' && defaultIndex >= 0)
@@ -258,14 +377,24 @@ export class Prompt {
258
377
  const byValue = choices.find((choice) => String(choice.value) === answer);
259
378
  if (byValue)
260
379
  return byValue.value;
261
- this.write(` ${style.red(symbol.fail)} opção inválida: digite 1..${choices.length}\n`);
380
+ this.write(` ${style.red(symbol.fail)} invalid option — type 1..${choices.length}\n`);
262
381
  }
263
382
  }
264
- /** Confirmação Y/n. Não-interativo → `defaultValue`. */
383
+ /**
384
+ * Yes/No confirmation. Arrow keys + Enter on a TTY, `y`/`n` shortcuts too;
385
+ * without a TTY it returns `defaultValue`.
386
+ */
265
387
  async confirm(title, opts = {}) {
266
388
  const fallback = opts.defaultValue ?? false;
267
389
  if (!this.io.isTTY)
268
390
  return fallback;
391
+ if (this.input.canRaw) {
392
+ const badge = opts.defaultValue === undefined ? '' : opts.defaultValue ? style.dim(' [Y/n]') : style.dim(' [y/N]');
393
+ return await this.navigate(`${title}${badge}`, [
394
+ { value: true, label: 'Yes' },
395
+ { value: false, label: 'No' },
396
+ ], opts.defaultValue === false ? 1 : 0, { inline: true, aliases: { y: 0, n: 1 } });
397
+ }
269
398
  const hint = opts.defaultValue === undefined ? '[y/n]' : opts.defaultValue ? '[Y/n]' : '[y/N]';
270
399
  for (;;) {
271
400
  const raw = await this.askLine(` ${symbol.ask} ${title} ${style.dim(hint)} `);
@@ -277,11 +406,107 @@ export class Prompt {
277
406
  return opts.defaultValue;
278
407
  continue;
279
408
  }
280
- if (['y', 'yes', 's', 'sim'].includes(answer))
409
+ if (['y', 'yes'].includes(answer))
281
410
  return true;
282
- if (['n', 'no', 'nao', 'não'].includes(answer))
411
+ if (['n', 'no'].includes(answer))
283
412
  return false;
284
- this.write(` ${style.red(symbol.fail)} responda y ou n\n`);
413
+ this.write(` ${style.red(symbol.fail)} answer y or n\n`);
414
+ }
415
+ }
416
+ /**
417
+ * Shared raw-mode navigator behind `select` and `confirm`.
418
+ *
419
+ * Every repaint clears the previous block (`ESC[<n>A` + `ESC[0J`), so the
420
+ * menu never leaves scrollback debris. `inline` lays the options on one line
421
+ * (confirm), `aliases` maps single keys straight to an option.
422
+ */
423
+ async navigate(title, choices, startIndex, opts) {
424
+ const total = choices.length;
425
+ let index = Math.min(Math.max(startIndex, 0), total - 1);
426
+ let painted = 0;
427
+ const paint = (final) => {
428
+ if (painted > 0)
429
+ this.write(`${ESC}[${painted}A${ESC}[0J`);
430
+ const lines = [` ${symbol.ask} ${style.bold(title)}`];
431
+ if (opts.inline) {
432
+ lines.push(` ${choices
433
+ .map((choice, i) => i === index
434
+ ? style.cyan(`${symbol.cursor} ${choice.label}`)
435
+ : ` ${choice.label}`)
436
+ .join(' ')}`);
437
+ }
438
+ else {
439
+ const width = Math.max(...choices.map((choice) => choice.label.length));
440
+ choices.forEach((choice, i) => {
441
+ const on = i === index;
442
+ const hint = choice.hint ? ` ${style.dim(choice.hint)}` : '';
443
+ const label = on ? style.bold(choice.label) : choice.label.padEnd(width);
444
+ lines.push(` ${on ? style.cyan(symbol.cursor) : ' '} ${label}${hint}`);
445
+ });
446
+ }
447
+ if (!final) {
448
+ lines.push(` ${style.dim(opts.inline ? '←→ move · enter confirm' : '↑↓ move · enter confirm')}`);
449
+ }
450
+ this.write(`${lines.join('\n')}\n`);
451
+ painted = lines.length;
452
+ };
453
+ const settle = (value) => {
454
+ paint(true);
455
+ this.input.releaseKeys();
456
+ return value;
457
+ };
458
+ paint(false);
459
+ for (;;) {
460
+ const key = await this.input.readKey();
461
+ // raw mode gone or stdin closed: keep the highlighted option
462
+ if (key === 'eof') {
463
+ this.input.releaseKeys();
464
+ return choices[index].value;
465
+ }
466
+ if (key === 'ctrl-c' || key === 'escape' || key === 'ctrl-d') {
467
+ this.write(`\n ${style.dim('Cancelled.')}\n`);
468
+ this.input.releaseKeys();
469
+ this.close();
470
+ process.exit(130);
471
+ }
472
+ const token = key.length === 1 ? key.toLowerCase() : key;
473
+ const alias = opts.aliases?.[token];
474
+ if (alias !== undefined && alias < total)
475
+ return settle(choices[alias].value);
476
+ if (key === 'enter')
477
+ return settle(choices[index].value);
478
+ let next = null;
479
+ let wrap = false;
480
+ if (key === 'up' || key === 'k') {
481
+ next = index - 1;
482
+ wrap = true;
483
+ }
484
+ else if (key === 'down' || key === 'j') {
485
+ next = index + 1;
486
+ wrap = true;
487
+ }
488
+ else if (key === 'left' && opts.inline) {
489
+ next = index - 1;
490
+ wrap = true;
491
+ }
492
+ else if (key === 'right' && opts.inline) {
493
+ next = index + 1;
494
+ wrap = true;
495
+ }
496
+ else if (key === 'home')
497
+ next = 0;
498
+ else if (key === 'end')
499
+ next = total - 1;
500
+ else if (!opts.inline && total <= 9 && key >= '1' && key <= '9')
501
+ next = Number(key) - 1;
502
+ if (next === null)
503
+ continue;
504
+ // arrows wrap around the list; home/end/digits land on the exact item
505
+ next = wrap ? ((next % total) + total) % total : next;
506
+ if (next < 0 || next >= total)
507
+ continue;
508
+ index = next;
509
+ paint(false);
285
510
  }
286
511
  }
287
512
  /** Texto livre com validação, repetindo até aceitar. */
@@ -290,7 +515,7 @@ export class Prompt {
290
515
  if (!this.io.isTTY) {
291
516
  if (opts.default !== undefined)
292
517
  return opts.default;
293
- throw new Error(`non-interactive: o valor "${title}" exige TTY ou --set`);
518
+ throw new Error(`non-interactive: "${title}" needs a TTY or --set`);
294
519
  }
295
520
  const current = opts.placeholder ?? opts.default;
296
521
  const shown = current ? style.dim(` (${current})`) : '';
@@ -323,7 +548,7 @@ export class Prompt {
323
548
  const current = opts.placeholder ?? (opts.default !== undefined ? '••••••' : undefined);
324
549
  const shown = current ? style.dim(` (${current})`) : '';
325
550
  for (;;) {
326
- const suffix = opts.default !== undefined ? style.dim('[enter = manter]') : '';
551
+ const suffix = opts.default !== undefined ? style.dim('[enter = keep]') : '';
327
552
  this.write(` ${symbol.ask} ${title}${shown}${suffix} `);
328
553
  const value = await this.input.readSecret();
329
554
  this.write('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,EAAE;AACF,0EAA0E;AAC1E,sEAAsE;AACtE,iEAAiE;AACjE,kEAAkE;AAClE,0EAA0E;AAC1E,yDAAyD;AACzD,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,sDAAsD;AAoBtD,MAAM,UAAU,SAAS;IACvB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAkB,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,8EAA8E;AAC9E,iEAAiE;AACjE,8EAA8E;AAE9E,MAAM,YAAY,GAAG,GAAY,EAAE,CACjC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAE5D,SAAS,IAAI,CAAC,IAAY,EAAE,KAAa;IACvC,OAAO,CAAC,IAAY,EAAU,EAAE,CAC9B,YAAY,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;IACjB,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;IAChB,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACjB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACnB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;CACnB,CAAC;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,EAAE,GAAG;IACR,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;CACH,CAAC;AAaX,8EAA8E;AAC9E,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,MAAM,OAAO,GAAG,CAAC,CAAC;AAElB,yEAAyE;AACzE,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,MAAM,KAAK,GAA2B,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAEzG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3B,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC;oBACzB,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,sEAAsE;gBACtE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBACxB,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC9B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;wBAAE,MAAM;oBAClC,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,CAAC,GAAG,CAAC,CAAC;gBACN,SAAS;YACX,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AACxE,MAAM,GAAG,GAAG,QAAQ,CAAC;AACrB,qBAAqB;AACrB,MAAM,GAAG,GAAG,QAAQ,CAAC;AAErB,MAAM,aAAa;IACA,MAAM,CAAY;IAClB,IAAI,CAAyB;IACtC,MAAM,GAAG,EAAE,CAAC;IACZ,KAAK,GAAa,EAAE,CAAC;IACrB,OAAO,GAAiB,EAAE,CAAC;IAC3B,KAAK,GAAG,KAAK,CAAC;IAEtB,gEAAgE;IACxD,GAAG,GAAG,KAAK,CAAC;IACZ,QAAQ,GAAG,EAAE,CAAC;IACd,SAAS,GAAwB,IAAI,CAAC;IACtC,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAe,EAAE,CAAC;IAC1B,UAAU,GAAgB,EAAE,CAAC;IAErC,YAAY,MAAiB,EAAE,IAA4B;QACzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,gFAAgF;IAChF,IAAI,MAAM;QACR,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK;QACX,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;YACjB,MAAM,CAAC,EAAE,CAAC,CAAC;QACb,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7C,KAAK,MAAM,MAAM,IAAI,UAAU;YAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAEO,MAAM,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEO,KAAK;QACX,SAAS,CAAC;YACR,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC;;gBACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,mDAAmD;IAC3C,SAAS,CAAC,KAAa;QAC7B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACjB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAEO,SAAS,CAAC,KAAa;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YAErB,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACtB,+DAA+D;gBAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChC,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;oBACpB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,OAAgB;QACjC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,QAAQ;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAEvD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE9D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IACrE,YAAY,CAAC,KAAa;QAChC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,MAAM;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gBACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;CACF;AA4BD,MAAM,OAAO,MAAM;IACA,EAAE,CAAW;IACb,KAAK,CAAgB;IAC9B,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,EAAsB;QAChC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,KAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;YAClE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,iCAAiC;IACjC,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACV,KAAa,EACb,OAA+B,EAC/B,OAAyB,EAAE;QAE3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,kBAAkB,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,YAAY,GAChB,IAAI,CAAC,YAAY,KAAK,SAAS;YAC7B,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,CAAC,EACD,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,CAClE,CAAC;QAER,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,YAAY,CAAC;YAC9D,MAAM,IAAI,KAAK,CACb,IAAI,CAAC,mBAAmB;gBACtB,qBAAqB,KAAK,sCAAsC,CACnE,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAI,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/E,IAAI,CAAC,KAAK,CAAC,OAAO,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC;YACR,MAAM,MAAM,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;YAC1D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;oBAAE,OAAO,IAAI,CAAC,YAAY,CAAC;gBAC9D,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,gBAAgB,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,MAAM,KAAK,EAAE,IAAI,YAAY,IAAI,CAAC;gBAAE,OAAO,OAAO,CAAC,YAAY,CAAE,CAAC,KAAK,CAAC;YAE5E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC9E,OAAO,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAE,CAAC,KAAK,CAAC;YACtC,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC;YAC1E,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC,KAAK,CAAC;YAElC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAmC,EAAE;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC;QAEpC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,KAAK,GACT,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvG,OAAO,MAAM,IAAI,CAAC,QAAQ,CACxB,GAAG,KAAK,GAAG,KAAK,EAAE,EAClB;gBACE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;gBAC7B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE;aAC9B,EACD,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACnC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAC1C,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/F,SAAS,CAAC;YACR,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,GAAG,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/E,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO,QAAQ,CAAC;YAElC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;oBAAE,OAAO,IAAI,CAAC,YAAY,CAAC;gBAC9D,SAAS;YACX,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/C,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE/C,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,QAAQ,CACpB,KAAa,EACb,OAA+B,EAC/B,UAAkB,EAClB,IAA4D;QAE5D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACzD,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,MAAM,KAAK,GAAG,CAAC,KAAc,EAAQ,EAAE;YACrC,IAAI,OAAO,GAAG,CAAC;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC;YAE3D,MAAM,KAAK,GAAa,CAAC,KAAK,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CACR,OAAO,OAAO;qBACX,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CACjB,CAAC,KAAK,KAAK;oBACT,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBAChD,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CACxB;qBACA,IAAI,CAAC,KAAK,CAAC,EAAE,CACjB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5B,MAAM,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC;oBACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC9D,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC5E,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,CAAC,IAAI,CACR,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAAE,CACxF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,KAAQ,EAAK,EAAE;YAC7B,KAAK,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,SAAS,CAAC;YACR,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAEvC,6DAA6D;YAC7D,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACzB,OAAO,OAAO,CAAC,KAAK,CAAE,CAAC,KAAK,CAAC;YAC/B,CAAC;YAED,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;YAED,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YACzD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,KAAK;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,KAAK,CAAC,CAAC;YAE/E,IAAI,GAAG,KAAK,OAAO;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,KAAK,CAAC,CAAC;YAE1D,IAAI,IAAI,GAAkB,IAAI,CAAC;YAC/B,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAChC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBACzC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1C,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,GAAG,KAAK,MAAM;gBAAE,IAAI,GAAG,CAAC,CAAC;iBAC/B,IAAI,GAAG,KAAK,KAAK;gBAAE,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;iBACpC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG;gBAAE,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAExF,IAAI,IAAI,KAAK,IAAI;gBAAE,SAAS;YAC5B,sEAAsE;YACtE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACtD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK;gBAAE,SAAS;YACxC,KAAK,GAAG,IAAI,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,OAAqB,EAAE;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,OAAO,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,wBAAwB,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAExD,SAAS,CAAC;YACR,MAAM,MAAM,GACV,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,GAAG,IAAI,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;gBACvD,SAAS;YACX,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,OAAqB,EAAE;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACnB,sEAAsE;YACtE,2DAA2D;YAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAExD,SAAS,CAAC;YACR,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,GAAG,IAAI,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;YACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;gBACvD,SAAS;YACX,CAAC;YACD,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC7B,IAAI,QAAQ;YAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,yEAAyE;QACzE,IAAI,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,KAAmB,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;CACF;AAED,8EAA8E;AAC9E,uCAAuC;AACvC,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAa,EACb,OAA+B,EAC/B,OAAyB,EAAE,EAC3B,EAAsB;IAEtB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAAa,EACb,OAAmC,EAAE,EACrC,EAAsB;IAEtB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type DeployTarget } from './deploy-target.js';
1
2
  import type { Runner } from './docker.js';
2
3
  import { type ContainerProbe } from './guards.js';
3
4
  import { Prompt } from './prompt.js';
@@ -76,8 +77,10 @@ export declare function stagePluginMigrations(plan: RedeployPlan): StageResult;
76
77
  export interface RenderPlanOptions {
77
78
  skipMigrations?: boolean;
78
79
  skipThemeBuild?: boolean;
80
+ /** Deploy target — only the last line (the order) depends on it. */
81
+ target?: DeployTarget;
79
82
  }
80
- /** Linhas do resumo do redeploy — puras, para `--dry-run` e para os testes. */
83
+ /** Redeploy summary lines — pure, for `--dry-run` and for the tests. */
81
84
  export declare function renderPlan(plan: RedeployPlan, opts?: RenderPlanOptions): string[];
82
85
  export interface RedeployOptions {
83
86
  cwd?: string;
@@ -93,6 +96,8 @@ export interface RedeployOptions {
93
96
  skipThemeBuild?: boolean;
94
97
  /** `--dry-run`: mostra o plano e sai sem tocar em nada. */
95
98
  dryRun?: boolean;
99
+ /** `--target blue-green|simple|pm2` (pula o menu). */
100
+ target?: string;
96
101
  /** `--no-cache`: build limpo da imagem. */
97
102
  noCache?: boolean;
98
103
  /** `--remove-orphans` / `--keep-orphans`. */
@@ -1 +1 @@
1
- {"version":3,"file":"redeploy.d.ts","sourceRoot":"","sources":["../src/redeploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redeploy.d.ts","sourceRoot":"","sources":["../src/redeploy.ts"],"names":[],"mappings":"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"}