@markup-carve/carve-lsp 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/includes.js CHANGED
@@ -14,15 +14,13 @@
14
14
  *
15
15
  * - the ROOT anchor for every warning. The engine reports a child's problem at
16
16
  * the child's own offsets, which is right for a renderer and unusable as an
17
- * LSP range: the client has the root open. Each warning keeps its root span
18
- * and gains {@link IncludeWarning.within} for the other end.
17
+ * LSP range: the client has the root open. The engine names the top-level
18
+ * directive on `includedBy`, so the anchor is a read rather than a
19
+ * reconstruction; each warning keeps that root span and gains
20
+ * {@link IncludeWarning.within} for the other end.
19
21
  * - the `watch` candidate and the refusal class, which the engine's resolver
20
22
  * contract has no slot for.
21
23
  * - the child sources, which the outline and the seam location read back.
22
- * - a sliced child's own coordinates. The engine slices before it parses, so a
23
- * child pulled in with `@lines` reports positions against the slice under the
24
- * whole file's id, which §19 requires to be the file's own. See
25
- * {@link sliceShifts}; markup-carve/carve-js#1861 is the engine-side defect.
26
24
  *
27
25
  * The path-level security guards are untouched in {@link ./include-path.js}.
28
26
  * The resolver is still this server's, so what may be read at all is still
@@ -62,151 +60,28 @@ function locateIn(starts, offset) {
62
60
  }
63
61
  return { line: low + 1, column: offset - starts[low] + 1 };
64
62
  }
65
- /**
66
- * Where each child's `@lines` slice starts inside that child's own file, for
67
- * the children pulled in with one that does not start at line 1.
68
- *
69
- * The engine slices a child's source BEFORE parsing it, so every position it
70
- * reports for a sliced child is measured against the slice: the warning's own
71
- * line, and the `pos` stamps §19 requires to be the child's own coordinates.
72
- * The resolver seam cannot supply the slice - the engine hands a resolver the
73
- * directive's PATH and keeps its options - so the directive is found again in
74
- * the file that wrote it, which for a grandchild is the child rather than the
75
- * root.
76
- *
77
- * A child whose occurrences do not AGREE on a range is left where the engine
78
- * put it. Every occurrence stamps the same canonical id, and neither a warning
79
- * nor a `pos` says which occurrence it came from, so one correction for the id
80
- * would move the occurrences that need a different one - a file written once
81
- * sliced and once whole would report the whole one past its own end. That
82
- * identity is #224; until the engine carries it, disagreement means no
83
- * translation rather than a wrong one.
84
- */
85
- function sliceShifts(seam, rootSites, sourcePath) {
86
- const sitesByFile = new Map([[sourcePath, rootSites]]);
87
- sitesByFile.set(undefined, rootSites);
88
- const shifts = new Map();
89
- for (const [id, edges] of seam.pulledBy) {
90
- const starts = new Set();
91
- for (const edge of edges) {
92
- let sites = sitesByFile.get(edge.parent);
93
- if (sites === undefined) {
94
- sites = directiveSitesOf(edge.parent === undefined ? undefined : seam.documents.get(edge.parent)?.source);
95
- sitesByFile.set(edge.parent, sites);
96
- }
97
- for (const site of sites) {
98
- if (site.directive.path === edge.written)
99
- starts.add(site.directive.lines?.start);
100
- }
101
- }
102
- const start = starts.size === 1 ? [...starts][0] : undefined;
103
- const source = seam.documents.get(id)?.source;
104
- if (start === undefined || start <= 1 || source === undefined)
105
- continue;
106
- shifts.set(id, { line: start - 1, offset: codepointOffsetOfLine(source, start) });
107
- }
108
- return shifts;
109
- }
110
- function directiveSitesOf(source) {
111
- if (source === undefined)
112
- return [];
113
- try {
114
- return findDirectiveSites(parse(source, { positions: true }));
115
- }
116
- catch {
117
- return [];
118
- }
119
- }
120
- /** Codepoints before the 1-based `line` of `source`. */
121
- function codepointOffsetOfLine(source, line) {
122
- if (line <= 1)
123
- return 0;
124
- const before = source.split('\n').slice(0, line - 1).join('\n');
125
- return [...before].length + 1;
126
- }
127
- /**
128
- * Put a sliced child's own coordinates back on the nodes it contributed.
129
- *
130
- * §19 requires a node an include pulled in to keep the coordinates of its own
131
- * file alongside that file's id, and the engine reports slice coordinates under
132
- * the whole file's id. Both ends of the seam read these: `within` on a warning,
133
- * and go-to-definition through the merged document.
134
- */
135
- function unslicePositions(doc, shifts) {
136
- if (shifts.size === 0)
137
- return;
138
- const done = new Set();
139
- const visit = (value) => {
140
- if (Array.isArray(value)) {
141
- for (const item of value)
142
- visit(item);
143
- return;
144
- }
145
- if (value === null || typeof value !== 'object')
146
- return;
147
- const pos = value.pos;
148
- const shift = typeof pos?.file === 'string' ? shifts.get(pos.file) : undefined;
149
- if (pos !== undefined && shift !== undefined && !done.has(pos)) {
150
- done.add(pos);
151
- for (const key of ['startLine', 'endLine']) {
152
- if (typeof pos[key] === 'number')
153
- pos[key] = pos[key] + shift.line;
154
- }
155
- for (const key of ['startOffset', 'endOffset']) {
156
- if (typeof pos[key] === 'number')
157
- pos[key] = pos[key] + shift.offset;
158
- }
159
- }
160
- for (const [key, inner] of Object.entries(value)) {
161
- if (key !== 'pos')
162
- visit(inner);
163
- }
164
- };
165
- visit(doc.children);
166
- if (doc.footnoteDefs)
167
- visit(Object.values(doc.footnoteDefs));
168
- }
169
63
  /**
170
64
  * Root span for a warning the engine anchored somewhere else.
171
65
  *
172
- * A warning from the root document already carries root offsets, but over the
173
- * enclosing inline node rather than the token: the engine anchors on the `Text`
174
- * a directive starts in, which for `See {{ a.crv }} here.` is the whole
175
- * sentence. Narrowing to the one directive site inside that span restores the
176
- * token. Where two sites share a node the span stays as the engine drew it -
177
- * coarse, never wrong.
178
- *
179
66
  * A warning from a CHILD carries that child's offsets, which name nothing in
180
- * the open document. It anchors at the top-level directive that pulled the
181
- * chain in, and {@link IncludeWarning.within} keeps the real position.
67
+ * the open document. `includedBy` is the engine's report of how that child was
68
+ * reached, root first, so its first entry is the top-level directive and is
69
+ * already the token rather than the node around it.
182
70
  *
183
- * Where the root writes the same target more than once, the engine expands it
184
- * once per occurrence and raises the same warning each time, but it reports no
185
- * occurrence identity - only the file. The warnings are therefore dealt over
186
- * the matching directives in document order, so every occurrence carries a
187
- * diagnostic instead of the first one carrying all of them. Two cases stay
188
- * approximate for want of that identity: occurrences that degrade DIFFERENTLY
189
- * pair up by position rather than by cause, and a child reached under two
190
- * different top-level directives anchors both chains at the later one. Both
191
- * need the including site on the engine's warning (#224).
71
+ * A warning from the root document carries no reach, and already carries root
72
+ * offsets - but over the enclosing inline node rather than the token: the
73
+ * engine anchors on the `Text` a directive starts in, which for
74
+ * `See {{ a.crv }} here.` is the whole sentence. Narrowing to the one
75
+ * directive site inside that span restores the token. Where two sites share a
76
+ * node the span stays as the engine drew it - coarse, never wrong.
192
77
  */
193
- function rootSpan(warning, sites, seam, sourcePath, dealt) {
194
- if (warning.file === undefined || warning.file === sourcePath) {
195
- const inside = sites.filter((site) => site.start >= warning.start && site.end <= warning.end);
196
- const only = inside.length === 1 ? inside[0] : undefined;
197
- return only ? { start: only.start, end: only.end } : { start: warning.start, end: warning.end };
198
- }
199
- const top = seam.chain.get(warning.file) ?? warning.file;
200
- const written = seam.rootPath.get(top);
201
- if (written === undefined)
202
- return undefined;
203
- const matching = sites.filter((site) => site.directive.path === written);
204
- if (matching.length === 0)
205
- return undefined;
206
- const turn = dealt.get(written) ?? 0;
207
- dealt.set(written, turn + 1);
208
- const site = matching[turn % matching.length];
209
- return { start: site.start, end: site.end };
78
+ function rootSpan(warning, sites) {
79
+ const top = warning.includedBy?.[0];
80
+ if (top !== undefined)
81
+ return { start: top.start, end: top.end };
82
+ const inside = sites.filter((site) => site.start >= warning.start && site.end <= warning.end);
83
+ const only = inside.length === 1 ? inside[0] : undefined;
84
+ return only ? { start: only.start, end: only.end } : { start: warning.start, end: warning.end };
210
85
  }
211
86
  /**
212
87
  * Walk the include graph rooted at `source`.
@@ -233,24 +108,6 @@ export function resolveIncludes(source, options = {}) {
233
108
  watch: new Map(),
234
109
  denial: new Map(),
235
110
  documents: new Map(),
236
- chain: new Map(),
237
- rootPath: new Map(),
238
- pulledBy: new Map(),
239
- };
240
- const link = (id, ctx, written) => {
241
- const parent = ctx.stack[ctx.stack.length - 1];
242
- const edges = seam.pulledBy.get(id) ?? [];
243
- if (!edges.some((edge) => edge.parent === parent && edge.written === written)) {
244
- edges.push({ ...(parent === undefined ? {} : { parent }), written });
245
- seam.pulledBy.set(id, edges);
246
- }
247
- if (ctx.depth === 0) {
248
- seam.chain.set(id, id);
249
- if (!seam.rootPath.has(id))
250
- seam.rootPath.set(id, written);
251
- return;
252
- }
253
- seam.chain.set(id, (parent !== undefined ? seam.chain.get(parent) : undefined) ?? id);
254
111
  };
255
112
  const resolve = (written, ctx) => {
256
113
  const result = resolver(written, {
@@ -266,13 +123,11 @@ export function resolveIncludes(source, options = {}) {
266
123
  // one watcher - which is exactly the case includes exist for, since
267
124
  // creating either file has to invalidate.
268
125
  const id = result.watch ?? result.id;
269
- link(id, ctx, written);
270
126
  seam.denial.set(refusalKey(ctx.stack[ctx.stack.length - 1], written), result.denial);
271
127
  if (result.watch !== undefined)
272
128
  seam.watch.set(id, result.watch);
273
129
  return { source: null, id };
274
130
  }
275
- link(result.id, ctx, written);
276
131
  if (result.watch !== undefined)
277
132
  seam.watch.set(result.id, result.watch);
278
133
  // A LONE carriage return is a line break to a client, to the engine's line
@@ -323,16 +178,14 @@ export function resolveIncludes(source, options = {}) {
323
178
  // of children whose content survived - which no dependency flag can say,
324
179
  // since a dependency is resolved as soon as it is read.
325
180
  const merged = mergedFiles(result.doc);
326
- const shifts = sliceShifts(seam, sites, options.sourcePath);
327
- unslicePositions(result.doc, shifts);
328
181
  const starts = lineStarts(normalized);
329
- const dealt = new Map();
330
182
  const warnings = [];
331
183
  for (const warning of result.warnings) {
332
- const span = rootSpan(warning, sites, seam, options.sourcePath, dealt);
333
- if (span === undefined)
334
- continue;
335
- const inChild = warning.file !== undefined && warning.file !== options.sourcePath;
184
+ const span = rootSpan(warning, sites);
185
+ // A reach is what the engine reports for a warning raised while expanding
186
+ // a child, and only for one, so it decides both halves: where the warning
187
+ // anchors in the open document, and whether it needs a `within` at all.
188
+ const inChild = warning.includedBy !== undefined;
336
189
  const mapped = {
337
190
  ...locateIn(starts, span.start),
338
191
  rule: warning.rule,
@@ -343,12 +196,11 @@ export function resolveIncludes(source, options = {}) {
343
196
  if (warning.file !== undefined)
344
197
  mapped.file = warning.file;
345
198
  if (inChild) {
346
- const shift = shifts.get(warning.file) ?? { line: 0, offset: 0 };
347
199
  mapped.within = {
348
- line: warning.line + shift.line,
200
+ line: warning.line,
349
201
  column: warning.column,
350
- start: warning.start + shift.offset,
351
- end: warning.end + shift.offset,
202
+ start: warning.start,
203
+ end: warning.end,
352
204
  };
353
205
  }
354
206
  if (warning.detail !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"includes.js","sourceRoot":"","sources":["../src/includes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"includes.js","sourceRoot":"","sources":["../src/includes.ts"],"names":[],"mappings":"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"}
package/dist/preview.d.ts CHANGED
@@ -5,3 +5,5 @@ import { type IncludeOptions } from './includes.js';
5
5
  * diagnostics use; without them it is `carveToHtml` of the source.
6
6
  */
7
7
  export declare function previewHtml(source: string, includes?: IncludeOptions): string;
8
+ /** Markdown for the export action, with includes expanded like the preview. */
9
+ export declare function previewMarkdown(source: string, includes?: IncludeOptions): string;
package/dist/preview.js CHANGED
@@ -1,4 +1,4 @@
1
- import { carveToHtml, renderDocument } from '@markup-carve/carve';
1
+ import { carveToHtml, carveToMarkdown, renderDocument, renderMarkdown } from '@markup-carve/carve';
2
2
  import { resolveIncludes } from './includes.js';
3
3
  /**
4
4
  * HTML for `carve.previewHtml`. With include options the preview renders the
@@ -11,4 +11,11 @@ export function previewHtml(source, includes) {
11
11
  const expanded = resolveIncludes(source, includes).expanded;
12
12
  return expanded === undefined ? carveToHtml(source) : renderDocument(expanded);
13
13
  }
14
+ /** Markdown for the export action, with includes expanded like the preview. */
15
+ export function previewMarkdown(source, includes) {
16
+ if (includes === undefined)
17
+ return carveToMarkdown(source);
18
+ const expanded = resolveIncludes(source, includes).expanded;
19
+ return expanded === undefined ? carveToMarkdown(source) : renderMarkdown(expanded);
20
+ }
14
21
  //# sourceMappingURL=preview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAuB,MAAM,eAAe,CAAA;AAEpE;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,QAAyB;IACnE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAA;IAC3D,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;AAChF,CAAC"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAClG,OAAO,EAAE,eAAe,EAAuB,MAAM,eAAe,CAAA;AAEpE;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,QAAyB;IACnE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAA;IAC3D,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;AAChF,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,QAAyB;IACvE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAA;IAC3D,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;AACpF,CAAC"}
package/dist/semantic.js CHANGED
@@ -46,6 +46,7 @@ function astSemanticTokens(doc, source) {
46
46
  const lines = source.replace(/\r\n?/g, '\n').split('\n');
47
47
  for (const node of doc.children)
48
48
  collectBlock(tokens, lines, node);
49
+ const codeBlock = codeBlockLines(doc);
49
50
  // Emit frontmatter tokens. The AST stores the parsed YAML in doc.frontmatter
50
51
  // but has no position info for the --- delimiters, so we walk source lines.
51
52
  let inFrontmatter = doc.frontmatter !== undefined && lines[0]?.trim() === '---';
@@ -58,6 +59,8 @@ function astSemanticTokens(doc, source) {
58
59
  inFrontmatter = false;
59
60
  continue;
60
61
  }
62
+ if (codeBlock.has(i))
63
+ continue;
61
64
  const commentStart = findTrailingComment(text);
62
65
  if (commentStart !== -1) {
63
66
  push(tokens, i, commentStart, text.length - commentStart, 'comment');
@@ -80,7 +83,7 @@ function collectBlock(tokens, lines, node) {
80
83
  break;
81
84
  case 'code_block':
82
85
  case 'raw_block':
83
- pushPosition(tokens, lines, node.pos, 'string');
86
+ pushFenceLines(tokens, lines, node.pos);
84
87
  break;
85
88
  case 'comment':
86
89
  pushPosition(tokens, lines, node.pos, 'comment');
@@ -146,8 +149,10 @@ function collectBlock(tokens, lines, node) {
146
149
  if (node.caption)
147
150
  collectInline(tokens, lines, node.caption);
148
151
  for (const row of node.rows) {
152
+ // A cell carries EITHER inline children or imported `blocks` (carve-js#1980), never both.
153
+ // Carve source always yields the inline half, and this server only ever parses source.
149
154
  for (const cell of row.cells)
150
- collectInline(tokens, lines, cell.children);
155
+ collectInline(tokens, lines, cell.children ?? []);
151
156
  }
152
157
  break;
153
158
  case 'image':
@@ -267,6 +272,51 @@ function collectInline(tokens, lines, nodes) {
267
272
  collectInline(tokens, lines, content);
268
273
  }
269
274
  }
275
+ // A code body is left without tokens: a semantic token overrides the editor's
276
+ // grammar, and a single `string` over the body hid its language highlighting.
277
+ function pushFenceLines(tokens, lines, pos) {
278
+ if (pos?.startLine === undefined || pos.endLine === undefined)
279
+ return;
280
+ const opener = lines[pos.startLine - 1] ?? '';
281
+ const open = /(`{3,}|~{3,})[ \t]*(=?[^\s`~{"[]+)?/.exec(opener);
282
+ if (!open)
283
+ return;
284
+ push(tokens, pos.startLine - 1, open.index, open[1].length, 'operator');
285
+ if (open[2])
286
+ push(tokens, pos.startLine - 1, open.index + open[0].lastIndexOf(open[2]), open[2].length, 'type');
287
+ if (pos.endLine === pos.startLine)
288
+ return;
289
+ const closer = lines[pos.endLine - 1] ?? '';
290
+ const close = new RegExp(`(${escapeRegExp(open[1][0])}{${open[1].length},})[ \t]*$`).exec(closer);
291
+ if (close && closer.slice(0, close.index).trim().replace(/^[>\s]*/, '') === '') {
292
+ push(tokens, pos.endLine - 1, close.index, close[1].length, 'operator');
293
+ }
294
+ }
295
+ // Zero-based lines of code and raw blocks, fences included, at any nesting depth.
296
+ // pushFenceLines owns their tokens; the generic scanners must not add to them.
297
+ function codeBlockLines(doc) {
298
+ const body = new Set();
299
+ const visit = (value) => {
300
+ if (Array.isArray(value)) {
301
+ for (const item of value)
302
+ visit(item);
303
+ return;
304
+ }
305
+ if (value === null || typeof value !== 'object')
306
+ return;
307
+ const node = value;
308
+ if ((node.type === 'code_block' || node.type === 'raw_block') && node.pos?.startLine !== undefined && node.pos.endLine !== undefined) {
309
+ for (let line = node.pos.startLine - 1; line < node.pos.endLine; line++)
310
+ body.add(line);
311
+ return;
312
+ }
313
+ for (const key of Object.keys(node))
314
+ if (key !== 'pos')
315
+ visit(node[key]);
316
+ };
317
+ visit(doc.children);
318
+ return body;
319
+ }
270
320
  function pushPosition(tokens, lines, pos, type, modifiers = []) {
271
321
  if (pos?.startLine === undefined ||
272
322
  pos.endLine === undefined ||
@@ -400,10 +450,13 @@ function lexicalSemanticTokens(source) {
400
450
  continue;
401
451
  }
402
452
  if (inFence) {
403
- pushRun(tokens, line, text, inFence.type);
404
- if (new RegExp(`^\\s*${escapeRegExp(inFence.marker)}\\s*$`).test(text)) {
453
+ const closes = new RegExp(`^\\s*${escapeRegExp(inFence.marker)}\\s*$`).test(text);
454
+ if (inFence.type === 'comment')
455
+ pushRun(tokens, line, text, 'comment');
456
+ else if (closes)
457
+ push(tokens, line, text.indexOf(inFence.marker), inFence.marker.length, 'operator');
458
+ if (closes)
405
459
  inFence = undefined;
406
- }
407
460
  continue;
408
461
  }
409
462
  const commentBlock = /^%{3,}\s*$/.exec(text);
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../src/semantic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../src/semantic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAuB,MAAM,+BAA+B,CAAA;AAC1F,OAAO,EACL,KAAK,EACL,OAAO,GAKR,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,QAAQ;IACR,UAAU;IACV,MAAM;CACE,CAAA;AAEV,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,CAAU,CAAA;AAExF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;AACtF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;AAatG,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,OAAO,GAAG,IAAI,qBAAqB,EAAE;IACvF,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5C,OAAO,OAAO,CAAC,KAAK,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,SAAiB,EAAE,OAAe;IACzF,MAAM,OAAO,GAAG,IAAI,qBAAqB,EAAE,CAAA;IAC3C,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAA;IAChH,OAAO,OAAO,CAAC,KAAK,EAAE,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,OAA8B,EAAE,gBAAwB;IAC3G,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;IACxC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAA;IAC5C,OAAO,OAAO,CAAC,UAAU,EAAE,CAAA;AAC7B,CAAC;AAED,SAAS,WAAW,CAAC,OAA8B,EAAE,MAAe;IAClE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,MAAM,EACZ,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EACnC,YAAY,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CACpC,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,IAAI,CAAC;QACH,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAa,EAAE,MAAc;IACtD,MAAM,MAAM,GAAY,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,QAAQ;QAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IAErC,6EAA6E;IAC7E,4EAA4E;IAC5E,IAAI,aAAa,GAAG,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,CAAA;IAE/E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;QAEtB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAA;YAC5C,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAClC,IAAI,KAAK;gBAAE,aAAa,GAAG,KAAK,CAAA;YAChC,SAAQ;QACV,CAAC;QAED,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAQ;QAE9B,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,SAAS,CAAC,CAAA;QACtE,CAAC;QACD,gFAAgF;QAChF,MAAM,QAAQ,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACzE,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,eAAe,CACpB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAC3F,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAAe,EAAE,KAAe,EAAE,IAAe;IACrE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS;YACZ,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;YAC9D,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YACzC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC3C,MAAK;QACP,KAAK,WAAW;YACd,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC3C,MAAK;QACP,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW;YACd,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YACvC,MAAK;QACP,KAAK,SAAS;YACZ,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;YAChD,MAAK;QACP,KAAK,aAAa;YAChB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;YAC7D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;gBAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YACrE,MAAK;QACP,KAAK,MAAM;YACT,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAA;YACrE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;oBAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YACvE,CAAC;YACD,MAAK;QACP,KAAK,YAAY;YACf,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,4BAA4B,EAAE,MAAM,CAAC,CAAA;YAC7E,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;gBAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YACrE,IAAI,IAAI,CAAC,KAAK;gBAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YACxD,MAAK;QACP,KAAK,KAAK;YACR,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;YAChE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;gBAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YACrE,MAAK;QACP,KAAK,iBAAiB;YACpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;oBAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;gBACjE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC1C,KAAK,MAAM,KAAK,IAAI,UAAU;wBAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;gBACpE,CAAC;YACH,CAAC;YACD,MAAK;QACP,KAAK,QAAQ;YACX,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YAC/C,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1C,MAAK;QACP,6EAA6E;QAC7E,6EAA6E;QAC7E,0EAA0E;QAC1E,6EAA6E;QAC7E,8EAA8E;QAC9E,8EAA8E;QAC9E,gCAAgC;QAChC,KAAK,cAAc;YACjB,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAA;YACrE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;gBAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YACrE,IAAI,IAAI,CAAC,OAAO;gBAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAC5D,MAAK;QACP,KAAK,OAAO;YACV,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC3E,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBAChD,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,OAAO;gBAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAC5D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,0FAA0F;gBAC1F,uFAAuF;gBACvF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK;oBAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;YACjF,CAAC;YACD,MAAK;QACP,KAAK,OAAO;YACV,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAC/C,MAAK;QACP,KAAK,gBAAgB;YACnB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;YACjD,MAAK;QACP,KAAK,kBAAkB;YACrB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;YACjD,MAAK;IACT,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,MAAe,EAAE,IAAY,EAAE,IAAY;IAChE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;IACvF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAE,CAAA;QACtB,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,iEAAiE,CAAC,EAAE,CAAC;QACpG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAM,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAe,EAAE,KAAe,EAAE,IAAe;IAC5E,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;;QACrE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,aAAa,CAAC,MAAe,EAAE,KAAe,EAAE,KAAmB;IAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,4EAA4E;QAC5E,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,2DAA2D;QAC3D,EAAE;QACF,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,6CAA6C;QAC7C,EAAE;QACF,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,6DAA6D;QAC7D,yEAAyE;QACzE,mEAAmE;QACnE,yEAAyE;QACzE,2EAA2E;QAC3E,uDAAuD;QACvD,EAAE;QACF,yEAAyE;QACzE,wEAAwE;QACxE,IAAK,IAAI,CAAC,IAAe,KAAK,cAAc,IAAK,IAAI,CAAC,IAAe,KAAK,iBAAiB,EAAE,CAAC;YAC5F,YAAY,CAAC,MAAM,EAAE,KAAK,EAAG,IAA2B,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;YACvF,SAAQ;QACV,CAAC;QACD,IAAK,IAAI,CAAC,IAAe,KAAK,gBAAgB,EAAE,CAAC;YAC/C,YAAY,CAAC,MAAM,EAAE,KAAK,EAAG,IAA2B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;YACxE,SAAQ;QACV,CAAC;QACD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,MAAM,CAAC;YACZ,KAAK,YAAY,CAAC;YAClB,KAAK,YAAY;gBACf,MAAK;YACP,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,gBAAgB,CAAC;YACtB,KAAK,YAAY,CAAC;YAClB,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO,CAAC;YACb,KAAK,UAAU,CAAC;YAChB,KAAK,aAAa;gBAChB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;gBAC/C,MAAK;YACP,KAAK,SAAS,CAAC;YACf,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ,CAAC;YACd,KAAK,cAAc,CAAC;YACpB,KAAK,iBAAiB,CAAC;YACvB,KAAK,cAAc;gBACjB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;gBAC/D,MAAK;YACP,KAAK,MAAM,CAAC;YACZ,KAAK,kBAAkB;gBACrB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;gBACjD,MAAK;YACP,KAAK,QAAQ;gBACX,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;gBAC7C,MAAK;YACP,KAAK,QAAQ,CAAC;YACd,KAAK,gBAAgB;gBACnB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;gBAChD,MAAK;YACP,KAAK,cAAc;gBACjB,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;gBAChD,MAAK;YACP,KAAK,SAAS;gBACZ,gEAAgE;gBAChE,qEAAqE;gBACrE,wEAAwE;gBACxE,oEAAoE;gBACpE,MAAK;YACP;gBACE,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;gBAChD,MAAK;QACT,CAAC;QAED,MAAM,QAAQ,GAAI,IAAoC,CAAC,QAAQ,CAAA;QAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;QACnE,MAAM,OAAO,GAAI,IAAmC,CAAC,OAAO,CAAA;QAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,SAAS,cAAc,CAAC,MAAe,EAAE,KAAe,EAAE,GAAyB;IACjF,IAAI,GAAG,EAAE,SAAS,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;QAAE,OAAM;IACrE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7C,MAAM,IAAI,GAAG,qCAAqC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/D,IAAI,CAAC,IAAI;QAAE,OAAM;IACjB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACxE,IAAI,IAAI,CAAC,CAAC,CAAC;QAAE,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/G,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,SAAS;QAAE,OAAM;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpG,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;QAC/E,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC1E,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,+EAA+E;AAC/E,SAAS,cAAc,CAAC,GAAa;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,MAAM,KAAK,GAAG,CAAC,KAAc,EAAQ,EAAE;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YACrC,OAAM;QACR,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAM;QACvD,MAAM,IAAI,GAAG,KAA2C,CAAA;QACxD,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACrI,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACvF,OAAM;QACR,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,GAAG,KAAK,KAAK;gBAAE,KAAK,CAAE,IAAgC,CAAC,GAAG,CAAC,CAAC,CAAA;IACvG,CAAC,CAAA;IACD,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACnB,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,YAAY,CACnB,MAAe,EACf,KAAe,EACf,GAAyB,EACzB,IAAe,EACf,YAA6B,EAAE;IAE/B,IACE,GAAG,EAAE,SAAS,KAAK,SAAS;QAC5B,GAAG,CAAC,OAAO,KAAK,SAAS;QACzB,GAAG,CAAC,WAAW,KAAK,SAAS;QAC7B,GAAG,CAAC,SAAS,KAAK,SAAS,EAC3B,CAAC;QACD,OAAM;IACR,CAAC;IACD,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC,SAAS,EAAE,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QAClC,4EAA4E;QAC5E,0EAA0E;QAC1E,4EAA4E;QAC5E,oCAAoC;QACpC,MAAM,KAAK,GACT,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1E,MAAM,GAAG,GAAG,IAAI,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;QAC1F,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,MAAe,EACf,KAAe,EACf,GAAyB,EACzB,OAAe,EACf,IAAe;IAEf,IAAI,CAAC,GAAG,EAAE,SAAS;QAAE,OAAM;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChC,IAAI,CAAC,KAAK;QAAE,OAAM;IAClB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAe,EAAE,KAAe,EAAE,GAAyB;IACnF,IAAI,CAAC,GAAG,EAAE,SAAS;QAAE,OAAM;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAM;IAClB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,EAAE;QAC7F,YAAY;KACb,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,8EAA8E;AAC9E,6EAA6E;AAC7E,4CAA4C;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,YAAY,CAAA;AAEnD,gFAAgF;AAChF,uEAAuE;AACvE,eAAe;AACf,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAA;AAEhD,iFAAiF;AACjF,gFAAgF;AAChF,4CAA4C;AAC5C,EAAE;AACF,0EAA0E;AAC1E,0EAA0E;AAC1E,8EAA8E;AAC9E,+DAA+D;AAC/D,2EAA2E;AAC3E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,qCAAqC,CAAA;AAErE,MAAM,CAAC,MAAM,WAAW,GAAG,0EAA0E,CAAA;AAErG,SAAS,WAAW,CAAC,MAAe,EAAE,IAAY,EAAE,IAAY;IAC9D,gFAAgF;IAChF,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,oBAAoB,GAAG,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvG,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;QAC9C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC7D,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACpF,OAAM;IACR,CAAC;IAED,qCAAqC;IACrC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,kBAAkB,GAAG,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvG,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/D,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACvF,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACpG,OAAM;IACR,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAA;IACrD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAA;IACtD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAA;AACpD,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,MAAM,GAAY,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxD,IAAI,OAAmE,CAAA;IACvE,IAAI,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,CAAA;IAE9C,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAE,CAAA;QAEzB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAA;YAC/C,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YACrC,IAAI,KAAK;gBAAE,aAAa,GAAG,KAAK,CAAA;YAChC,SAAQ;QACV,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;iBACjE,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YACpG,IAAI,MAAM;gBAAE,OAAO,GAAG,SAAS,CAAA;YAC/B,SAAQ;QACV,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;YACtC,OAAO,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAA;YAC7D,SAAQ;QACV,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;YACtC,SAAQ;QACV,CAAC;QAED,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACzF,IAAI,oBAAoB,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,MAAM,GAAG,oBAAoB,EAAE,SAAS,CAAC,CAAA;QACzF,CAAC;QAED,MAAM,SAAS,GAAG,6CAA6C,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9E,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YAC1E,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC3G,CAAC;YACD,OAAO,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;YACnD,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YACxE,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACvG,CAAC;YACD,OAAO,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;YAClD,SAAQ;QACV,CAAC;QAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YACrD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;YACvG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;YAClC,SAAQ;QACV,CAAC;QAED,MAAM,GAAG,GAAG,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClE,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YAC9D,IAAI,GAAG,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACnF,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YAChE,IAAI,IAAI,CAAC,CAAC,CAAC;gBAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAC7G,CAAC;QAED,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzC,IAAI,KAAK;YAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAE9F,gFAAgF;QAChF,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,oBAAoB,GAAG,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3G,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;YAC9C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC7D,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YACpF,SAAQ;QACV,CAAC;QAED,qCAAqC;QACrC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,kBAAkB,GAAG,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3G,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;YAC/C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC/D,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YACvF,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YACpG,SAAQ;QACV,CAAC;QAED,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,oBAAoB,GAAG,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC7G,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;YAChD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YACrE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YAC1F,SAAQ;QACV,CAAC;QAED,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,eAAe,CACpB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAC3F,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAe,EAAE,IAAY,EAAE,IAAY;IAC7D,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAA;IAChD,6DAA6D;IAC7D,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAA;IACtD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAA;IAClD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,0CAA0C,EAAE,QAAQ,CAAC,CAAA;IAC9E,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,yCAAyC,EAAE,QAAQ,CAAC,CAAA;IAC7E,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,wCAAwC,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAC5F,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,qCAAqC,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IACzF,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAA;IAC1D,oFAAoF;IACpF,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAA;IACpD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAA;IACrD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,CAAC,CAAA;IAC9D,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAA;IACrD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAA;IACrD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAA;IACpD,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kMAAkM,EAAE,SAAS,CAAC,CAAA;AACzO,CAAC;AAED,SAAS,IAAI,CACX,MAAe,EACf,IAAY,EACZ,IAAY,EACZ,OAAe,EACf,IAAe,EACf,YAA6B,EAAE;IAE/B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QAChE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;IACnE,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,MAAe,EAAE,IAAY,EAAE,IAAY,EAAE,IAAe;IAC3E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AAC/D,CAAC;AAED,SAAS,IAAI,CACX,MAAe,EACf,IAAY,EACZ,SAAiB,EACjB,MAAc,EACd,IAAe,EACf,YAA6B,EAAE;IAE/B,IAAI,MAAM,IAAI,CAAC;QAAE,OAAM;IACvB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,SAA0B;IAC9C,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,IAAI,CAAC,IAAI,KAAK,CAAA;IAC7C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;QACnB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,GAAG,CAAC,MAAM,CAAA;YAChB,SAAQ;QACV,CAAC;QACD,IAAI,MAAM;YAAE,SAAQ;QACpB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,CAAC,EAAE,CAAA,CAAC,6BAA6B;YACjC,SAAQ;QACV,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACrC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClC,OAAO,CAAC,CAAA;YACV,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,MAAe;IACtC,MAAM,QAAQ,GAAY,EAAE,CAAA;IAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC9C,IACE,QAAQ;YACR,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YAC5B,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,EACtD,CAAC;YACD,SAAQ;QACV,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -101,4 +101,36 @@ test('classifies table pipes and two-axis alignment runs', () => {
101
101
  assert.ok(tokens.some((token) => token.type === 'operator' && token.length === 1));
102
102
  assert.ok(tokens.some((token) => token.type === 'keyword' && token.length === 2));
103
103
  });
104
+ /*
105
+ * A semantic token overrides the editor's grammar. A single `string` over a
106
+ * code body turned every fenced language into one flat color in VS Code, so
107
+ * the body carries no token and only the fence lines do.
108
+ */
109
+ const at = (source, line) => semanticTokens(source).filter((t) => t.line === line).map((t) => `${t.character}+${t.length}:${t.type}`);
110
+ test('a code body carries no semantic token', () => {
111
+ const source = '```js\nconst a = 1\n[l](u) %% not a comment\n```\n';
112
+ assert.deepEqual(at(source, 0), ['0+3:operator', '3+2:type']);
113
+ assert.deepEqual(at(source, 1), []);
114
+ assert.deepEqual(at(source, 2), []);
115
+ assert.deepEqual(at(source, 3), ['0+3:operator']);
116
+ });
117
+ test('a code body inside a list item carries no semantic token', () => {
118
+ const source = '- item\n\n ```py\n x = 1\n ```\n';
119
+ assert.deepEqual(at(source, 3), []);
120
+ assert.ok(at(source, 2).includes('2+3:operator'));
121
+ assert.ok(at(source, 4).includes('2+3:operator'));
122
+ });
123
+ test('a raw block body carries no semantic token', () => {
124
+ const source = '```=html\n<b>x</b>\n```\n';
125
+ assert.deepEqual(at(source, 1), []);
126
+ assert.deepEqual(at(source, 0), ['0+3:operator', '3+5:type']);
127
+ });
128
+ test('the last line of an unclosed fence is still code', () => {
129
+ const source = '```js\nconst a = 1\n[l](u) %% still code';
130
+ assert.deepEqual(at(source, 2), []);
131
+ });
132
+ test('fence metadata is not scanned as inline markup', () => {
133
+ const source = '```js "price $x$"\nconst a = 1\n```\n';
134
+ assert.deepEqual(at(source, 0), ['0+3:operator', '3+2:type']);
135
+ });
104
136
  //# sourceMappingURL=semantic.test.js.map