@react-x11/components 0.5.0 → 0.7.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 (68) hide show
  1. package/README.md +67 -43
  2. package/dist/formula/node.d.ts.map +1 -1
  3. package/dist/formula/node.js +17 -6
  4. package/dist/formula/node.js.map +1 -1
  5. package/dist/index.d.ts +1 -3
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +0 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/markdown/ast.d.ts +80 -6
  10. package/dist/markdown/ast.d.ts.map +1 -1
  11. package/dist/markdown/ast.js +13 -4
  12. package/dist/markdown/ast.js.map +1 -1
  13. package/dist/markdown/expressions.d.ts +27 -0
  14. package/dist/markdown/expressions.d.ts.map +1 -0
  15. package/dist/markdown/expressions.js +203 -0
  16. package/dist/markdown/expressions.js.map +1 -0
  17. package/dist/markdown/index.d.ts +61 -2
  18. package/dist/markdown/index.d.ts.map +1 -1
  19. package/dist/markdown/index.js +101 -2
  20. package/dist/markdown/index.js.map +1 -1
  21. package/dist/markdown/parse.d.ts +1 -1
  22. package/dist/markdown/parse.d.ts.map +1 -1
  23. package/dist/markdown/parse.js +163 -15
  24. package/dist/markdown/parse.js.map +1 -1
  25. package/dist/markdown/spans.d.ts.map +1 -1
  26. package/dist/markdown/spans.js +4 -0
  27. package/dist/markdown/spans.js.map +1 -1
  28. package/dist/markdown/tags.d.ts +35 -0
  29. package/dist/markdown/tags.d.ts.map +1 -0
  30. package/dist/markdown/tags.js +213 -0
  31. package/dist/markdown/tags.js.map +1 -0
  32. package/dist/richtext/node.d.ts.map +1 -1
  33. package/dist/richtext/node.js +7 -2
  34. package/dist/richtext/node.js.map +1 -1
  35. package/dist/table/index.d.ts +15 -0
  36. package/dist/table/index.d.ts.map +1 -1
  37. package/dist/table/index.js +95 -11
  38. package/dist/table/index.js.map +1 -1
  39. package/dist/tree/index.d.ts.map +1 -1
  40. package/dist/tree/index.js +77 -2
  41. package/dist/tree/index.js.map +1 -1
  42. package/package.json +4 -8
  43. package/src/formula/node.ts +22 -34
  44. package/src/index.ts +4 -18
  45. package/src/markdown/ast.ts +85 -9
  46. package/src/markdown/expressions.ts +223 -0
  47. package/src/markdown/index.ts +190 -5
  48. package/src/markdown/parse.ts +230 -15
  49. package/src/markdown/spans.ts +4 -0
  50. package/src/markdown/tags.ts +240 -0
  51. package/src/richtext/node.ts +7 -2
  52. package/src/table/index.ts +114 -10
  53. package/src/tree/index.ts +77 -2
  54. package/dist/desktop-calendar/eds.d.ts +0 -102
  55. package/dist/desktop-calendar/eds.d.ts.map +0 -1
  56. package/dist/desktop-calendar/eds.js +0 -356
  57. package/dist/desktop-calendar/eds.js.map +0 -1
  58. package/dist/desktop-calendar/ical.d.ts +0 -63
  59. package/dist/desktop-calendar/ical.d.ts.map +0 -1
  60. package/dist/desktop-calendar/ical.js +0 -57
  61. package/dist/desktop-calendar/ical.js.map +0 -1
  62. package/dist/desktop-calendar/index.d.ts +0 -72
  63. package/dist/desktop-calendar/index.d.ts.map +0 -1
  64. package/dist/desktop-calendar/index.js +0 -213
  65. package/dist/desktop-calendar/index.js.map +0 -1
  66. package/src/desktop-calendar/eds.ts +0 -484
  67. package/src/desktop-calendar/ical.ts +0 -119
  68. package/src/desktop-calendar/index.ts +0 -287
@@ -1,3 +1,6 @@
1
+ import { closeBrace, scanTag } from './tags.js';
2
+ /** Nothing is a component unless the caller says so. */
3
+ const NO_COMPONENTS = () => false;
1
4
  // --- line-level regexes, compiled once -------------------------------------
2
5
  const RE_BLANK = /^[ \t]*$/;
3
6
  const RE_ATX = /^ {0,3}(#{1,6})(?:[ \t]+(.*?))?(?:[ \t]+#+)?[ \t]*$/;
@@ -15,12 +18,81 @@ const RE_TABLE_DELIM = /^ {0,3}\|?[ \t]*:?-+:?[ \t]*(?:\|[ \t]*:?-+:?[ \t]*)*\|?
15
18
  const RE_TABLE_DELIM_PREFIX = /^ {0,3}\|[ \t:|-]*$/;
16
19
  /** Would this line open something other than a paragraph? The test lazy
17
20
  * continuation and list/quote termination share. */
18
- function isBlockStart(line) {
21
+ function isBlockStart(line, isComponent = NO_COMPONENTS, expressions = false) {
19
22
  return (RE_ATX.test(line) ||
20
23
  RE_FENCE_OPEN.test(line) ||
21
24
  RE_HR.test(line) ||
22
25
  RE_QUOTE.test(line) ||
23
- RE_LIST.test(line));
26
+ RE_LIST.test(line) ||
27
+ isComponentBlockLine(line, isComponent, expressions));
28
+ }
29
+ /** A line that opens a component block, resolved — speculation does not
30
+ * interrupt a paragraph. */
31
+ function isComponentBlockLine(line, isComponent, expressions) {
32
+ const found = componentBlockAt([line], 0, isComponent, expressions);
33
+ return found !== null && found !== 'incomplete';
34
+ }
35
+ /**
36
+ * The component block opening at `lines[at]`, if one does.
37
+ *
38
+ * A component block owns its whole line — `<Chart/>` with prose after it is
39
+ * a paragraph with a tag in it, which is the inline case and not this one —
40
+ * but it may spend several lines doing so, because a component with six
41
+ * props is written down the page and MDX authors expect that to work. Lines
42
+ * are joined until the tag closes; a blank line gives up, since a tag does
43
+ * not span a paragraph break.
44
+ *
45
+ * `'incomplete'` means "still arriving", which only the live tail acts on.
46
+ */
47
+ function componentBlockAt(lines, at, isComponent, expressions = false) {
48
+ // The identity check is not an optimisation: `scanTag` reports a bare
49
+ // `<Chart` as "still arriving" before it can know whether anyone claims
50
+ // the name, and a document that never opted in must not have its lazy
51
+ // continuation changed by a line that merely looks like a tag.
52
+ if (isComponent === NO_COMPONENTS)
53
+ return null;
54
+ const indent = indentOf(lines[at]);
55
+ if (indent > 3 || lines[at][indent] !== '<')
56
+ return null;
57
+ let text = lines[at];
58
+ for (let j = at; j < lines.length; j += 1) {
59
+ if (j > at)
60
+ text += `\n${lines[j]}`;
61
+ const tag = scanTag(text, indent, isComponent, expressions);
62
+ if (tag === null)
63
+ return null;
64
+ if (tag === 'incomplete') {
65
+ if (j + 1 < lines.length && RE_BLANK.test(lines[j + 1]))
66
+ return null;
67
+ continue;
68
+ }
69
+ if (tag.kind === 'close')
70
+ return null;
71
+ return text.slice(tag.end).trim() === '' ? { tag, lastLine: j } : null;
72
+ }
73
+ return 'incomplete';
74
+ }
75
+ /** The line closing `name`, counting same-name nesting, or -1. */
76
+ function componentCloseLine(lines, from, name, isComponent) {
77
+ let depth = 0;
78
+ for (let i = from; i < lines.length; i += 1) {
79
+ const indent = indentOf(lines[i]);
80
+ if (indent > 3 || lines[i][indent] !== '<')
81
+ continue;
82
+ const tag = scanTag(lines[i], indent, isComponent);
83
+ if (tag === null || tag === 'incomplete' || tag.name !== name)
84
+ continue;
85
+ if (lines[i].slice(tag.end).trim() !== '')
86
+ continue;
87
+ if (tag.kind === 'open')
88
+ depth += 1;
89
+ else if (tag.kind === 'close') {
90
+ if (depth === 0)
91
+ return i;
92
+ depth -= 1;
93
+ }
94
+ }
95
+ return -1;
24
96
  }
25
97
  /** Leading tabs advance to 4-column stops; content tabs are left alone. */
26
98
  function expandLeadingTabs(line) {
@@ -53,7 +125,7 @@ export function parse(source, options = {}) {
53
125
  const lines = normalized.split('\n').map(expandLeadingTabs);
54
126
  const blocks = [];
55
127
  const ranges = [];
56
- parseBlocks(lines, partial, blocks, ranges);
128
+ parseBlocks(lines, partial, blocks, ranges, options.isComponent ?? NO_COMPONENTS, options.expressions === true);
57
129
  return {
58
130
  blocks,
59
131
  raws: ranges.map(([a, b]) => lines.slice(a, b).join('\n')),
@@ -66,7 +138,7 @@ export function parse(source, options = {}) {
66
138
  * anyway" rule. `ranges`, when given, receives each block's [start, endExcl)
67
139
  * line range (only the top-level call wants them, for the streaming cache).
68
140
  */
69
- function parseBlocks(lines, tailOpen, out, ranges) {
141
+ function parseBlocks(lines, tailOpen, out, ranges, isComponent = NO_COMPONENTS, expressions = false) {
70
142
  let i = 0;
71
143
  const n = lines.length;
72
144
  let paraStart = -1;
@@ -83,7 +155,7 @@ function parseBlocks(lines, tailOpen, out, ranges) {
83
155
  para.length = 0;
84
156
  paraStart = -1;
85
157
  // the paragraph owns the live tail iff its last line is the document's
86
- const children = parseInline(text, tailOpen && end === n);
158
+ const children = parseInline(text, tailOpen && end === n, expressions);
87
159
  if (children.length > 0)
88
160
  commit({ type: 'paragraph', children }, start, end);
89
161
  };
@@ -113,7 +185,7 @@ function parseBlocks(lines, tailOpen, out, ranges) {
113
185
  commit({
114
186
  type: 'heading',
115
187
  depth: setext[1][0] === '=' ? 1 : 2,
116
- children: parseInline(text, false),
188
+ children: parseInline(text, false, expressions),
117
189
  }, start, i + 1);
118
190
  i += 1;
119
191
  continue;
@@ -141,7 +213,7 @@ function parseBlocks(lines, tailOpen, out, ranges) {
141
213
  commit({
142
214
  type: 'heading',
143
215
  depth: atx[1].length,
144
- children: parseInline(atx[2] ?? '', held),
216
+ children: parseInline(atx[2] ?? '', held, expressions),
145
217
  }, i, i + 1);
146
218
  i += 1;
147
219
  continue;
@@ -177,6 +249,54 @@ function parseBlocks(lines, tailOpen, out, ranges) {
177
249
  commit({ type: 'code', lang, text: body.join('\n'), closed }, start, i);
178
250
  continue;
179
251
  }
252
+ // A component standing where a paragraph would (docs/prd-mdx.md). Gated
253
+ // on `isComponent`, so a document that never opted in never gets here.
254
+ const component = componentBlockAt(lines, i, isComponent, expressions);
255
+ if (component === 'incomplete') {
256
+ // A tag still arriving: hold it back rather than flash `<Cha` on the
257
+ // screen, the way a half-arrived link is held. Only the live tail may
258
+ // do this — anywhere else the tag is simply never going to close.
259
+ if (tailOpen) {
260
+ flushPara(i);
261
+ i = n;
262
+ continue;
263
+ }
264
+ }
265
+ else if (component) {
266
+ const { tag, lastLine } = component;
267
+ flushPara(i);
268
+ const start = i;
269
+ const node = (children) => ({
270
+ type: 'component',
271
+ name: tag.name,
272
+ attributes: tag.attributes,
273
+ children,
274
+ });
275
+ if (tag.kind === 'self') {
276
+ i = lastLine + 1;
277
+ commit(node([]), start, i);
278
+ continue;
279
+ }
280
+ const closeAt = componentCloseLine(lines, lastLine + 1, tag.name, isComponent);
281
+ if (closeAt !== -1) {
282
+ const children = [];
283
+ parseBlocks(lines.slice(lastLine + 1, closeAt), tailOpen && closeAt >= n, children, undefined, isComponent, expressions);
284
+ i = closeAt + 1;
285
+ commit(node(children), start, i);
286
+ continue;
287
+ }
288
+ // Open, with no close yet. While the document is still arriving that
289
+ // is the ordinary state of an element being typed: hold the tag and
290
+ // let the children render as the markdown they are, so the reader sees
291
+ // the prose rather than nothing. Mounting the component now and
292
+ // appending to its children instead would remount it — and lose its
293
+ // state — on the chunk that finally closes it.
294
+ if (tailOpen) {
295
+ i = lastLine + 1;
296
+ continue;
297
+ }
298
+ // Final document, never closed: the tag is text, so fall through.
299
+ }
180
300
  const quote = RE_QUOTE.exec(line);
181
301
  if (quote) {
182
302
  flushPara(i);
@@ -194,7 +314,7 @@ function parseBlocks(lines, tailOpen, out, ranges) {
194
314
  continue;
195
315
  }
196
316
  if (!RE_BLANK.test(l) &&
197
- !isBlockStart(l) &&
317
+ !isBlockStart(l, isComponent, expressions) &&
198
318
  inner.length > 0 &&
199
319
  !RE_BLANK.test(inner[inner.length - 1])) {
200
320
  inner.push(l); // lazy: "> a\nb" keeps b in the quote
@@ -204,7 +324,7 @@ function parseBlocks(lines, tailOpen, out, ranges) {
204
324
  break;
205
325
  }
206
326
  const children = [];
207
- parseBlocks(inner, tailOpen && i === n, children);
327
+ parseBlocks(inner, tailOpen && i === n, children, undefined, isComponent, expressions);
208
328
  if (children.length > 0)
209
329
  commit({ type: 'quote', children }, start, i);
210
330
  continue;
@@ -215,7 +335,7 @@ function parseBlocks(lines, tailOpen, out, ranges) {
215
335
  if (list && !(para.length > 0 && !list[4]) && !(held && !list[4])) {
216
336
  flushPara(i);
217
337
  const start = i;
218
- const block = parseList(lines, i, tailOpen);
338
+ const block = parseList(lines, i, tailOpen, isComponent, expressions);
219
339
  i = block.end;
220
340
  commit(block.list, start, i);
221
341
  continue;
@@ -247,7 +367,9 @@ function parseBlocks(lines, tailOpen, out, ranges) {
247
367
  const rows = [];
248
368
  while (i < n) {
249
369
  const l = lines[i];
250
- if (RE_BLANK.test(l) || !l.includes('|') || isBlockStart(l))
370
+ if (RE_BLANK.test(l) ||
371
+ !l.includes('|') ||
372
+ isBlockStart(l, isComponent, expressions))
251
373
  break;
252
374
  rows.push(normalizeRow(splitRow(l), align.length, tailOpen && i === n - 1));
253
375
  i += 1;
@@ -299,7 +421,7 @@ function parseBlocks(lines, tailOpen, out, ranges) {
299
421
  }
300
422
  flushPara(n);
301
423
  }
302
- function parseList(lines, from, tailOpen) {
424
+ function parseList(lines, from, tailOpen, isComponent = NO_COMPONENTS, expressions = false) {
303
425
  const n = lines.length;
304
426
  const first = RE_LIST.exec(lines[from]);
305
427
  // caller matched — this is the narrowing, not a runtime possibility
@@ -354,7 +476,9 @@ function parseList(lines, from, tailOpen) {
354
476
  i += 1;
355
477
  continue;
356
478
  }
357
- if (pendingBlanks === 0 && !isBlockStart(l) && !RE_BLANK.test(l)) {
479
+ if (pendingBlanks === 0 &&
480
+ !isBlockStart(l, isComponent, expressions) &&
481
+ !RE_BLANK.test(l)) {
358
482
  inner.push(l); // lazy paragraph continuation
359
483
  i += 1;
360
484
  continue;
@@ -371,7 +495,7 @@ function parseList(lines, from, tailOpen) {
371
495
  inner[0] = inner[0].slice(task[0].length);
372
496
  }
373
497
  const children = [];
374
- parseBlocks(inner, tailOpen && i >= n, children);
498
+ parseBlocks(inner, tailOpen && i >= n, children, undefined, isComponent, expressions);
375
499
  items.push({ checked, children });
376
500
  }
377
501
  return {
@@ -477,7 +601,7 @@ function classify(ch) {
477
601
  * Parse inline markdown. `atDocEnd` marks text whose end is the live end of
478
602
  * a streaming document — only then do the implicit-close rules apply.
479
603
  */
480
- export function parseInline(text, atDocEnd) {
604
+ export function parseInline(text, atDocEnd, expressions = false) {
481
605
  const items = [];
482
606
  let buf = '';
483
607
  const flushText = () => {
@@ -574,6 +698,30 @@ export function parseInline(text, atDocEnd) {
574
698
  i += run;
575
699
  continue;
576
700
  }
701
+ // `{expr}` in the prose — rung 2 only, so a brace in an ordinary
702
+ // document is the character it has always been.
703
+ if (expressions && ch === '{') {
704
+ const end = closeBrace(text, i);
705
+ if (end === -1) {
706
+ // Still arriving: hold the rest of the line back rather than show
707
+ // half an expression. In a final document it is just text.
708
+ if (atDocEnd) {
709
+ flushText();
710
+ i = len;
711
+ continue;
712
+ }
713
+ buf += ch;
714
+ i += 1;
715
+ continue;
716
+ }
717
+ flushText();
718
+ items.push({
719
+ kind: 'node',
720
+ node: { type: 'expression', src: text.slice(i + 1, end - 1).trim() },
721
+ });
722
+ i = end;
723
+ continue;
724
+ }
577
725
  if (ch === '<') {
578
726
  const rest = text.slice(i);
579
727
  const auto = RE_AUTOLINK.exec(rest) ?? RE_AUTOEMAIL.exec(rest);
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/markdown/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/markdown/parse.ts"],"names":[],"mappings":"AAuCA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGhD,wDAAwD;AACxD,MAAM,aAAa,GAAG,GAAY,EAAE,CAAC,KAAK,CAAC;AAE3C,8EAA8E;AAE9E,MAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,MAAM,MAAM,GAAG,qDAAqD,CAAC;AACrE,MAAM,WAAW,GAAG,gBAAgB,CAAC;AACrC,MAAM,aAAa,GAAG,mCAAmC,CAAC;AAC1D,MAAM,KAAK,GAAG,uCAAuC,CAAC;AACtD,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,QAAQ,GAAG,mBAAmB,CAAC;AACrC,MAAM,OAAO,GAAG,gDAAgD,CAAC;AACjE,MAAM,OAAO,GAAG,oBAAoB,CAAC;AACrC,MAAM,cAAc,GAAG,cAAc,CAAC;AACtC,gDAAgD;AAChD,MAAM,cAAc,GAClB,iEAAiE,CAAC;AACpE,0EAA0E;AAC1E,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAEpD;qDACqD;AACrD,SAAS,YAAY,CACnB,IAAY,EACZ,WAAW,GAA8B,aAAa,EACtD,WAAW,GAAG,KAAK;IAEnB,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACjB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAClB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CACrD,CAAC;AACJ,CAAC;AAED;6BAC6B;AAC7B,SAAS,oBAAoB,CAC3B,IAAY,EACZ,WAAsC,EACtC,WAAoB;IAEpB,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACpE,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,YAAY,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CACvB,KAAe,EACf,EAAU,EACV,WAAsC,EACtC,WAAW,GAAG,KAAK;IAEnB,sEAAsE;IACtE,wEAAwE;IACxE,sEAAsE;IACtE,+DAA+D;IAC/D,IAAI,WAAW,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAEzD,IAAI,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE;YAAE,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YACrE,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,kEAAkE;AAClE,SAAS,kBAAkB,CACzB,KAAe,EACf,IAAY,EACZ,IAAY,EACZ,WAAsC;IAEtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG;YAAE,SAAS;QACrD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;YAAE,SAAS;QACxE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACpD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,KAAK,IAAI,CAAC,CAAC;aAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;YAC1B,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,2EAA2E;AAC3E,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,KAAK,EAAE;YAAE,GAAG,IAAI,CAAC,CAAC;aACnB,IAAI,EAAE,KAAK,CAAC;YAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;;YACnC,MAAM;QACX,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,wBAAwB;IACpD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE;QAAE,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC;AACX,CAAC;AAED,8EAA8E;AAE9E,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,OAAO,GAAiB,EAAE;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,WAAW,CACT,KAAK,EACL,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,CAAC,WAAW,IAAI,aAAa,EACpC,OAAO,CAAC,WAAW,KAAK,IAAI,CAC7B,CAAC;IACF,OAAO;QACL,MAAM;QACN,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E;;;;;GAKG;AACH,SAAS,WAAW,CAClB,KAAe,EACf,QAAiB,EACjB,GAAgB,EAChB,MAAgC,EAChC,WAAW,GAA8B,aAAa,EACtD,WAAW,GAAG,KAAK;IAEnB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAEvB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,MAAM,MAAM,GAAG,CAAC,KAAgB,EAAE,KAAa,EAAE,GAAW,EAAQ,EAAE;QACpE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAQ,EAAE;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,SAAS,GAAG,CAAC,CAAC,CAAC;QACf,uEAAuE;QACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,IAAI,GAAG,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;QACvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YACrB,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,6BAA6B;QAE9D,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,SAAS,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,oEAAoE;QACpE,qEAAqE;QACrE,mEAAmE;QACnE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,IAAI,EAAE,CAAC;oBACT,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,MAAM,KAAK,GAAG,SAAS,CAAC;gBACxB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,SAAS,GAAG,CAAC,CAAC,CAAC;gBACf,MAAM,CACJ;oBACE,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnC,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;iBAChD,EACD,KAAK,EACL,CAAC,GAAG,CAAC,CACN,CAAC;gBACF,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,qEAAqE;QACrE,gCAAgC;QAChC,IACE,IAAI;YACJ,IAAI,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACpE,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,qEAAqE;QACrE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,GAAG,EAAE,CAAC;YACR,SAAS,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CACJ;gBACE,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM;gBACpB,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC;aACvD,EACD,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;YACF,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,sEAAsE;QACtE,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9D,SAAS,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACxE,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,CAAC,IAAI,CAAC,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpC,IACE,KAAK;oBACL,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;oBACzB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM;oBAChC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,EACf,CAAC;oBACD,MAAM,GAAG,IAAI,CAAC;oBACd,CAAC,IAAI,CAAC,CAAC;oBACP,MAAM;gBACR,CAAC;gBACD,wDAAwD;gBACxD,IAAI,CAAC,IAAI,CACP,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW;oBACxB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;oBACtB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CACzB,CAAC;gBACF,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;YACD,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QAED,wEAAwE;QACxE,uEAAuE;QACvE,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACvE,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;YAC/B,qEAAqE;YACrE,sEAAsE;YACtE,kEAAkE;YAClE,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,CAAC,CAAC,CAAC,CAAC;gBACb,CAAC,GAAG,CAAC,CAAC;gBACN,SAAS;YACX,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;YACpC,SAAS,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,CAAC,QAAqB,EAAkB,EAAE,CAAC,CAAC;gBACvD,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ;aACT,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,kBAAkB,CAChC,KAAK,EACL,QAAQ,GAAG,CAAC,EACZ,GAAG,CAAC,IAAI,EACR,WAAW,CACZ,CAAC;YACF,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAgB,EAAE,CAAC;gBACjC,WAAW,CACT,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,OAAO,CAAC,EAClC,QAAQ,IAAI,OAAO,IAAI,CAAC,EACxB,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,CACZ,CAAC;gBACF,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACjC,SAAS;YACX,CAAC;YAED,qEAAqE;YACrE,oEAAoE;YACpE,uEAAuE;YACvE,gEAAgE;YAChE,oEAAoE;YACpE,+CAA+C;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YACD,kEAAkE;QACpE,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,SAAS,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC,IAAI,CAAC,CAAC;YACP,oEAAoE;YACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,EAAE,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjB,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IACE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjB,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC;oBAC1C,KAAK,CAAC,MAAM,GAAG,CAAC;oBAChB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EACvC,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,sCAAsC;oBACrD,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,MAAM;YACR,CAAC;YACD,MAAM,QAAQ,GAAgB,EAAE,CAAC;YACjC,WAAW,CACT,KAAK,EACL,QAAQ,IAAI,CAAC,KAAK,CAAC,EACnB,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,CACZ,CAAC;YACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,wEAAwE;QACxE,wEAAwE;QACxE,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,SAAS,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YACtE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,sEAAsE;QACtE,uEAAuE;QACvE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnC,kEAAkE;YAClE,mEAAmE;YACnE,oEAAoE;YACpE,MAAM,SAAS,GACb,IAAI,KAAK,IAAI;gBACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAClB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,CAAC;YAC/C,MAAM,YAAY,GAChB,CAAC,SAAS;gBACV,QAAQ;gBACR,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBACf,IAAI,KAAK,IAAI;gBACb,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,aAAa,GAAG,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,YAAY,CAAC,EAAE,CAAC;gBAC1D,MAAM,KAAK,GAAG,CAAC,CAAC;gBAChB,MAAM,KAAK,GAAiB,SAAS;oBACnC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;oBAC7B,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC,IAAI,CAAC,CAAC;gBACP,MAAM,IAAI,GAAqB,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACnB,IACE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;wBAChB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAChB,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC;wBAEzC,MAAM;oBACR,IAAI,CAAC,IAAI,CACP,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CACjE,CAAC;oBACF,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;gBACD,MAAM,CACJ;oBACE,IAAI,EAAE,OAAO;oBACb,KAAK;oBACL,MAAM,EAAE,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;oBACtD,IAAI;iBACL,EACD,KAAK,EACL,CAAC,CACF,CAAC;gBACF,SAAS;YACX,CAAC;iBAAM,IACL,aAAa;gBACb,WAAW,CAAC,MAAM,GAAG,CAAC;gBACtB,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAChC,CAAC;gBACD,+DAA+D;gBAC/D,qDAAqD;gBACrD,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxD,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACd,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;;oBAAM,MAAM;YACf,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;gBAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACnE,MAAM,CACJ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAC/D,KAAK,EACL,CAAC,CACF,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,GAAG,CAAC,CAAC;QACrC,sEAAsE;QACtE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5B,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IAED,SAAS,CAAC,CAAC,CAAC,CAAC;AACf,CAAC;AASD,SAAS,SAAS,CAChB,KAAe,EACf,IAAY,EACZ,QAAiB,EACjB,WAAW,GAA8B,aAAa,EACtD,WAAW,GAAG,KAAK;IAEnB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACvB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,oEAAoE;IACpE,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,sBAAsB;IACvF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,CAAC,GAAG,IAAI,CAAC;IACb,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,QAAQ,GACZ,CAAC;YACD,CAAC,OAAO;gBACN,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU;gBAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ;YAAE,MAAM;QACrB,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,GAAG,IAAI,CAAC;QAC/C,QAAQ,GAAG,KAAK,CAAC;QAEjB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3B,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,qEAAqE;QACrE,MAAM,GAAG,GACP,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAChD,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;QACzB,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;QAEjD,MAAM,KAAK,GAAa,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,IAAI,CAAC,CAAC;QACP,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,aAAa,IAAI,CAAC,CAAC;gBACnB,IAAI,aAAa,GAAG,CAAC;oBAAE,MAAM;gBAC7B,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,aAAa,EAAE,CAAC;gBACjC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oBACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACf,KAAK,GAAG,IAAI,CAAC;oBACb,aAAa,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;gBACnC,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IACE,aAAa,KAAK,CAAC;gBACnB,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC;gBAC1C,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EACjB,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,8BAA8B;gBAC7C,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM;QACR,CAAC;QACD,IAAI,aAAa,GAAG,CAAC;YAAE,QAAQ,GAAG,IAAI,CAAC;QAEvC,4DAA4D;QAC5D,IAAI,OAAO,GAAmB,IAAI,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;YAC1B,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,WAAW,CACT,KAAK,EACL,QAAQ,IAAI,CAAC,IAAI,CAAC,EAClB,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,CACZ,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE;QAC5D,GAAG,EAAE,CAAC;KACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAE9E,sEAAsE;AACtE,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1C,GAAG,IAAI,GAAG,CAAC;YACX,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACvB,GAAG,GAAG,EAAE,CAAC;QACX,CAAC;;YAAM,GAAG,IAAI,EAAE,CAAC;IACnB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACvB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAChE,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,IACE,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE;QAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAErB,KAAK,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,IAAI,IAAI,KAAK;QAAE,OAAO,QAAQ,CAAC;IACnC,IAAI,KAAK;QAAE,OAAO,OAAO,CAAC;IAC1B,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC;IACxB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CACnB,KAAe,EACf,KAAa,EACb,aAAsB;IAEtB,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,CACN,WAAW,CACT,IAAI,EACJ,aAAa,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CACzD,CACF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAiBD,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,MAAM,YAAY,GAAG,eAAe,CAAC;AACrC,MAAM,WAAW,GAAG,4CAA4C,CAAC;AACjE,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAC3D,MAAM,SAAS,GACb,uEAAuE,CAAC;AAE1E,MAAM,cAAc,GAA2B;IAC7C,GAAG,EAAE,GAAG;IACR,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QACxD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7B,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7B,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,CAAC;QACD,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,EAAsB;IACtC,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,CAAC,wCAAwC;IAC3E,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,QAAiB,EACjB,WAAW,GAAG,KAAK;IAEnB,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,IAAI,GAAG,GAAG,EAAE,CAAC;IAEb,MAAM,SAAS,GAAG,GAAS,EAAE;QAC3B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC7B,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE;SAClD,CAAC,CAAC;QACH,GAAG,GAAG,EAAE,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEnB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,mCAAmC;gBACnC,SAAS,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBACtD,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,GAAG,IAAI,IAAI,CAAC;gBACZ,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,GAAG,IAAI,EAAE,CAAC;YACV,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACjC,SAAS,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE;aAC7D,CAAC,CAAC;YACH,CAAC,IAAI,CAAC,CAAC;YACP,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,CAAC,IAAI,CAAC,CAAC;YACnD,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG;gBAAE,GAAG,IAAI,CAAC,CAAC;YACvC,wEAAwE;YACxE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YAChB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;YACf,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACpB,IAAI,CAAC,GAAG,CAAC,CAAC;oBACV,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;wBAAE,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;wBACd,KAAK,GAAG,CAAC,CAAC;wBACV,MAAM;oBACR,CAAC;oBACD,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;;oBAAM,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;YACD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,SAAS,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;qBAC/C;iBACF,CAAC,CAAC;gBACH,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,kEAAkE;gBAClE,oEAAoE;gBACpE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBACjC,SAAS,EAAE,CAAC;gBACZ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE;qBACjD,CAAC,CAAC;gBACL,CAAC,GAAG,GAAG,CAAC;gBACR,SAAS;YACX,CAAC;YACD,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;YAC9B,CAAC,IAAI,GAAG,CAAC;YACT,SAAS;QACX,CAAC;QAED,iEAAiE;QACjE,gDAAgD;QAChD,IAAI,WAAW,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAChC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,kEAAkE;gBAClE,2DAA2D;gBAC3D,IAAI,QAAQ,EAAE,CAAC;oBACb,SAAS,EAAE,CAAC;oBACZ,CAAC,GAAG,GAAG,CAAC;oBACR,SAAS;gBACX,CAAC;gBACD,GAAG,IAAI,EAAE,CAAC;gBACV,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;aACrE,CAAC,CAAC;YACH,CAAC,GAAG,GAAG,CAAC;YACR,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,IAAI,EAAE,CAAC;gBACT,SAAS,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC;gBACrE,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,IAAI,EAAE,MAAM;wBACZ,IAAI;wBACJ,KAAK,EAAE,KAAK;wBACZ,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qBAC3C;iBACF,CAAC,CAAC;gBACH,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,GAAG,IAAI,EAAE,CAAC;YACV,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,EAAE,KAAK,GAAG,CAAC;YACzB,SAAS,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACvC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;gBACnB,GAAG,IAAI,EAAE,CAAC;gBACV,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;gBACf,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClE,oEAAoE;gBACpE,iEAAiE;gBACjE,SAAS,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAwC,CAAC;gBACtE,IAAI,OAAO,CAAC,KAAK;oBAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;;oBACpC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACrC,CAAC,GAAG,GAAG,CAAC;gBACR,SAAS;YACX,CAAC;YACD,4DAA4D;YAC5D,SAAS,EAAE,CAAC;YACZ,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE;oBACJ,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAG,KAAK,CAAC,OAAO,CAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;iBAChE;aACF,CAAC,CAAC;YACH,GAAG,IAAI,EAAE,CAAC;YACV,CAAC,IAAI,CAAC,CAAC;YACP,SAAS;QACX,CAAC;QAED,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC3C,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,OAAO,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE;gBAAE,GAAG,IAAI,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACtC,MAAM,SAAS,GACb,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC;YAC9D,MAAM,UAAU,GACd,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC;YAC/D,IAAI,OAAO,GAAG,SAAS,CAAC;YACxB,IAAI,QAAQ,GAAG,UAAU,CAAC;YAC1B,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,gEAAgE;gBAChE,OAAO,GAAG,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC;gBAC3D,QAAQ,GAAG,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;gBAC5B,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC9B,CAAC,IAAI,GAAG,CAAC;gBACT,SAAS;YACX,CAAC;YACD,mEAAmE;YACnE,oEAAoE;YACpE,IAAI,QAAQ,IAAI,CAAC,GAAG,GAAG,KAAK,GAAG,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACtD,CAAC,GAAG,GAAG,CAAC;gBACR,SAAS;YACX,CAAC;YACD,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC9B,CAAC,IAAI,GAAG,CAAC;gBACT,SAAS;YACX,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxE,CAAC,IAAI,GAAG,CAAC;YACT,SAAS;QACX,CAAC;QAED,GAAG,IAAI,EAAE,CAAC;QACV,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,SAAS,EAAE,CAAC;IAEZ,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEjC,uEAAuE;IACvE,oDAAoD;IACpD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS;YAAE,SAAS;QACpC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,EAAE,CAAC,KAAK;gBAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;;gBACzB,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;gBACjB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE;aACpD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;uEACuE;AACvE,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,IACE,IAAI,CAAC,MAAM,IAAI,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAClB,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAElB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QAC3C,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAOD;oEACoE;AACpE,SAAS,eAAe,CAAC,IAAY,EAAE,IAAY;IACjD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IACjB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAAE,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;gBAC/B,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpB,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,IAAI,CAAC,CAAC;YAC3B,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,KAAK,KAAK,CAAC;oBAAE,MAAM;gBACvB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;gBAAE,MAAM;YACpD,IAAI,IAAI,EAAE,CAAC;YACX,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QACzE,CAAC,IAAI,CAAC,CAAC;IACT,qDAAqD;IACrD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM;YAAE,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC;QAC1B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YACzE,CAAC,IAAI,CAAC,CAAC;IACX,CAAC;IACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,8EAA8E;AAC9E,SAAS,SAAS,CAAC,KAAa,EAAE,OAAe,EAAE,IAAmB;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAwC,CAAC;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,qEAAqE;IACrE,eAAe,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;KAC5E,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,KAAa,EAAE,aAAsB;IAC5D,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QACD,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBAAE,MAAM,CAAC,wCAAwC;YACzE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO;gBAAE,SAAS;YACpE,gBAAgB;YAChB,IACE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC;gBACzB,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC/B,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;gBAE1C,SAAS;YACX,MAAM,GAAG,CAAC,CAAC;YACX,MAAM;QACR,CAAC;QACD,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACf,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,IAAI,CAAC,CAAC;YACZ,SAAS;QACX,CAAC;QAED,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAqC,CAAC;QAC5D,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAClE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;QAChB,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,oEAAoE;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO;gBAAE,SAAS;YAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnB,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,IAAgB,CAAC;YACrB,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG;gBAAE,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;iBAC3D,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;gBACpB,IAAI,GAAG;oBACL,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;iBAChD,CAAC;iBACC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;;gBACnE,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;YAChD,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;YAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,CAAmC;IACtD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;KACtD,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,SAAS,MAAM,CAAC,KAAa;IAC3B,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,IAAI,GACR,EAAE,CAAC,IAAI,KAAK,MAAM;YAChB,CAAC,CAAC,EAAE,CAAC,IAAI;YACT,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO;gBACnB,CAAC,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAiB;gBACnE,CAAC,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAiB,CAAC;QACtE,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACzB,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../../src/markdown/spans.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAUD;uEACuE;AACvE,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,YAAY,GAAG,OAAO,EAAE,CAStE;AAuFD,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAgBvD"}
1
+ {"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../../src/markdown/spans.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAUD;uEACuE;AACvE,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,YAAY,GAAG,OAAO,EAAE,CAStE;AAuFD,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAoBvD"}
@@ -87,6 +87,10 @@ export function plainTextOf(nodes) {
87
87
  case 'break':
88
88
  out += '\n';
89
89
  break;
90
+ case 'expression':
91
+ // Resolved to text before rendering (`<Markdown>`'s `scope`), so a
92
+ // node reaching here was never evaluated and has no text to give.
93
+ break;
90
94
  default:
91
95
  out += plainTextOf(node.children);
92
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spans.js","sourceRoot":"","sources":["../../src/markdown/spans.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spans.js","sourceRoot":"","sources":["../../src/markdown/spans.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { AttributeValue } from './ast.js';
2
+ /** A tag's shape. `end` is the index just past its `>`. */
3
+ export interface ScannedTag {
4
+ kind: 'open' | 'close' | 'self';
5
+ name: string;
6
+ attributes: Record<string, AttributeValue>;
7
+ end: number;
8
+ }
9
+ /**
10
+ * What a scan can say. `null` is "not a tag, never will be"; `'incomplete'`
11
+ * is "could still become one if more text arrives", which is what a
12
+ * streaming document needs in order to hold the tail back rather than
13
+ * flashing `<Cha` on the screen.
14
+ */
15
+ export type ScanResult = ScannedTag | 'incomplete' | null;
16
+ /**
17
+ * The index just past the `}` that closes the `{` at `from`, or -1 if the
18
+ * text ends first — the one piece here that has to know JavaScript's shape.
19
+ * Strings, template holes and comments are stepped over whole, so a brace
20
+ * inside any of them closes nothing.
21
+ */
22
+ export declare function closeBrace(text: string, from: number): number;
23
+ /**
24
+ * Scan the tag starting at `text[at]`, which must be `<`.
25
+ *
26
+ * `isComponent` is asked before anything else is parsed, so a `<` that opens
27
+ * nothing anybody claims costs one regex and a lookup.
28
+ *
29
+ * `expressions` is the second rung: with it, a `{…}` that is not JSON is
30
+ * kept as source instead of making the tag unreadable, and `{...spread}`
31
+ * becomes an attribute. Without it — the default — neither exists, and a
32
+ * document can only hand a component data it wrote down literally.
33
+ */
34
+ export declare function scanTag(text: string, at: number, isComponent: (name: string) => boolean, expressions?: boolean): ScanResult;
35
+ //# sourceMappingURL=tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/markdown/tags.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,IAAI,CAAC;AAgD1D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAyB7D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACtC,WAAW,UAAQ,GAClB,UAAU,CA0GZ"}