@component-compass/parser-react 0.0.2 → 0.0.3

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/index.js CHANGED
@@ -11,6 +11,7 @@ export const reactPlugin = {
11
11
  localIndex: ctx.localIndex,
12
12
  captureValues: ctx.config.captureValues,
13
13
  repoRoot: ctx.repoRoot,
14
+ ...(ctx.collector !== undefined ? { collector: ctx.collector } : {}),
14
15
  });
15
16
  },
16
17
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;IAC1C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;QACrB,OAAO,OAAO,CAAC;YACb,IAAI;YACJ,MAAM;YACN,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;YAC5C,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa;YACvC,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;IAC1C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;QACrB,OAAO,OAAO,CAAC;YACb,IAAI;YACJ,MAAM;YACN,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;YAC5C,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa;YACvC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Occurrence, FileImport, WrapperDef, Warning, LocalDefinitionIndex, LookupByTag, ResolveLazyManifest } from "@component-compass/plugin-core";
1
+ import type { DiagnosticCollector, Occurrence, FileImport, WrapperDef, Warning, LocalDefinitionIndex, LookupByTag, ResolveLazyManifest } from "@component-compass/plugin-core";
2
2
  type WalkOptions = {
3
3
  file: string;
4
4
  source: string;
@@ -7,6 +7,7 @@ type WalkOptions = {
7
7
  localIndex: LocalDefinitionIndex;
8
8
  captureValues: boolean;
9
9
  repoRoot: string;
10
+ collector?: DiagnosticCollector;
10
11
  };
11
12
  export type WalkOutput = {
12
13
  occurrences: Occurrence[];
package/dist/walk-jsx.js CHANGED
@@ -1,14 +1,59 @@
1
1
  import { parse } from "@babel/parser";
2
+ import { extname, relative, isAbsolute } from "node:path";
2
3
  import { serialiseComponentId, externalPackageOf } from "@component-compass/plugin-core";
3
4
  import { asTagName, asWrapperId } from "@component-compass/plugin-core";
4
- import { traverse, posixPath, classifyImportOrigin } from "@component-compass/ast-utils";
5
+ import { traverse, posixPath, classifyImportOrigin, findEnclosingComponentBinding } from "@component-compass/ast-utils";
6
+ function resolveOwnerComponentId(path, filePath, localIndex, repoRoot) {
7
+ // localIndex.byPath uses repo-root-relative POSIX keys; filePath is absolute.
8
+ const relPath = isAbsolute(filePath) ? posixPath(relative(repoRoot, filePath)) : filePath;
9
+ const defs = localIndex.byPath.get(relPath) ?? [];
10
+ const knownExportNames = new Set(defs.map((d) => d.exportName));
11
+ const binding = findEnclosingComponentBinding(path, (name) => knownExportNames.has(name));
12
+ if (!binding)
13
+ return undefined;
14
+ return {
15
+ kind: "react-component",
16
+ export: binding.name,
17
+ source: { type: "local", filePath: posixPath(filePath) },
18
+ };
19
+ }
20
+ function withOwner(owner) {
21
+ return owner === undefined ? {} : { ownerComponentId: owner };
22
+ }
23
+ // React-API factories whose return value is conventionally a component.
24
+ // Detected by callee identifier name OR `React.<name>` member-expression.
25
+ // Detection is callee-name only — we don't try to verify the factory's
26
+ // return shape.
27
+ const LOCAL_COMPONENT_FACTORIES = new Set(["forwardRef", "memo", "lazy"]);
28
+ /**
29
+ * Walk a JSXMemberExpression chain to its root identifier, returning the
30
+ * flat dotted name (e.g. "Tabs.Trigger.Inner") and the root identifier name.
31
+ * Returns null if the chain bottoms out at anything other than a JSXIdentifier.
32
+ */
33
+ function readMemberChain(node) {
34
+ const parts = [];
35
+ let current = node;
36
+ while (current.type === "JSXMemberExpression") {
37
+ parts.unshift(current.property.name);
38
+ current = current.object;
39
+ }
40
+ if (current.type !== "JSXIdentifier")
41
+ return null;
42
+ parts.unshift(current.name);
43
+ return { compoundName: parts.join("."), rootName: current.name };
44
+ }
5
45
  // `errorRecovery: true` only handles a narrow band of recoverable parse errors;
6
46
  // unrecoverable syntax errors still throw synchronously. Callers must wrap
7
47
  // invocations in try/catch and convert thrown errors into PARSE_FAILURE warnings.
8
48
  export function walkJsx(opts) {
49
+ // `.ts` files cannot contain JSX; enabling the jsx plugin there causes
50
+ // valid TypeScript like `return <const>{...}` to fail to parse.
51
+ const plugins = ["typescript", "decorators-legacy", "classProperties"];
52
+ if (extname(opts.file) !== ".ts")
53
+ plugins.push("jsx");
9
54
  const ast = parse(opts.source, {
10
55
  sourceType: "module",
11
- plugins: ["typescript", "jsx", "decorators-legacy", "classProperties"],
56
+ plugins,
12
57
  errorRecovery: true,
13
58
  });
14
59
  const occurrences = [];
@@ -32,8 +77,44 @@ export function walkJsx(opts) {
32
77
  // attributes the opaque external occurrence to the leaf rather than re-running
33
78
  // origin classification on the user-written aggregator specifier.
34
79
  const unmappedImports = new Map();
35
- // First pass: collect imports and resolve via the lazy manifest resolver.
80
+ // First pass: collect imports + local Context bindings, resolving imports
81
+ // via the lazy manifest resolver. Both visitors share a single AST walk;
82
+ // wrapper detection (second pass) and JSX emission (third pass) depend on
83
+ // the fully-populated `localBindings` map.
36
84
  traverse(ast, {
85
+ VariableDeclarator(path) {
86
+ // Detect var bindings whose initializer is a known React-API call:
87
+ // - `const X = createContext(...)` / `React.createContext(...)`
88
+ // - `const X = forwardRef(...)` / `memo(...)` / `lazy(...)` (and React.* variants)
89
+ // Scope-agnostic — any binding to a recognised callee gets tracked. The
90
+ // identity downstream uses `source: { type: "local", filePath }`, so two
91
+ // identically-named bindings in different files do not collide.
92
+ if (path.node.init?.type !== "CallExpression")
93
+ return;
94
+ if (path.node.id.type !== "Identifier")
95
+ return;
96
+ const callee = path.node.init.callee;
97
+ const localName = path.node.id.name;
98
+ const isCreateContext = (callee.type === "Identifier" && callee.name === "createContext") ||
99
+ (callee.type === "MemberExpression" &&
100
+ !callee.computed &&
101
+ callee.property.type === "Identifier" &&
102
+ callee.property.name === "createContext");
103
+ if (isCreateContext) {
104
+ localBindings.set(localName, { kind: "local-context", localName });
105
+ return;
106
+ }
107
+ const factoryName = callee.type === "Identifier"
108
+ ? callee.name
109
+ : callee.type === "MemberExpression" &&
110
+ !callee.computed &&
111
+ callee.property.type === "Identifier"
112
+ ? callee.property.name
113
+ : null;
114
+ if (factoryName && LOCAL_COMPONENT_FACTORIES.has(factoryName)) {
115
+ localBindings.set(localName, { kind: "local-component", localName });
116
+ }
117
+ },
37
118
  ImportDeclaration(path) {
38
119
  const source = path.node.source.value;
39
120
  if (path.node.specifiers.length === 0) {
@@ -46,6 +127,23 @@ export function walkJsx(opts) {
46
127
  return;
47
128
  }
48
129
  for (const spec of path.node.specifiers) {
130
+ if (spec.type === "ImportNamespaceSpecifier") {
131
+ // Namespace imports skip the lazy resolver — there's no specific
132
+ // exportName to resolve until a compound JSX usage picks one out.
133
+ // Record the binding so the compound branch in `resolveOpening` can
134
+ // emit the tail as the export name. `package` is the user-written
135
+ // specifier; aggregator-following for namespace imports would
136
+ // require a separate resolver pass and is deferred.
137
+ const local = spec.local.name;
138
+ localBindings.set(local, {
139
+ kind: "react-namespace",
140
+ package: source,
141
+ specifier: source,
142
+ importName: local,
143
+ });
144
+ imports.push({ file: posixPath(opts.file), imported: local, source, loc: locOf(spec, opts.file) });
145
+ continue;
146
+ }
49
147
  if (spec.type !== "ImportSpecifier" && spec.type !== "ImportDefaultSpecifier")
50
148
  continue;
51
149
  const imported = spec.type === "ImportSpecifier" ? identName(spec.imported) : "default";
@@ -104,8 +202,105 @@ export function walkJsx(opts) {
104
202
  const parentStack = [];
105
203
  function resolveOpening(opening) {
106
204
  const nameNode = opening.name;
107
- if (nameNode.type !== "JSXIdentifier")
205
+ const loc = opening.loc?.start;
206
+ if (nameNode.type === "JSXMemberExpression") {
207
+ const chain = readMemberChain(nameNode);
208
+ if (!chain) {
209
+ opts.collector?.emit({
210
+ code: "jsx-shape-unsupported",
211
+ severity: "warning",
212
+ filePath: opts.file,
213
+ ...(loc?.line !== undefined && { line: loc.line }),
214
+ ...(loc?.column !== undefined && { column: loc.column }),
215
+ nameType: "JSXMemberExpression-malformed",
216
+ detail: "member chain did not bottom out at JSXIdentifier",
217
+ });
218
+ return undefined;
219
+ }
220
+ if (/^[a-z]/.test(chain.rootName)) {
221
+ opts.collector?.emit({
222
+ code: "jsx-shape-unsupported",
223
+ severity: "warning",
224
+ filePath: opts.file,
225
+ ...(loc?.line !== undefined && { line: loc.line }),
226
+ ...(loc?.column !== undefined && { column: loc.column }),
227
+ nameType: "JSXMemberExpression-lowercase-root",
228
+ detail: `lowercase root identifier "${chain.rootName}" cannot be a React component`,
229
+ });
230
+ return undefined;
231
+ }
232
+ const bound = localBindings.get(chain.rootName);
233
+ if (bound) {
234
+ // Compound subcomponents always emit as react-component, regardless of
235
+ // whether the root binding is react-direct or wc-wrapper. The WC-wrapper
236
+ // folding rule applies only to bare root usage (<Tabs />), never to
237
+ // compound subcomponents (<Tabs.Trigger />).
238
+ if (bound.kind === "local-context") {
239
+ // `<MyContext.Provider>` / `<MyContext.Consumer>` is access to a
240
+ // member of a React Context object, not a separate component
241
+ // definition. Skip emission so the artifact doesn't gain a spurious
242
+ // `MyContext.Provider` component identity without a real binding site.
243
+ return undefined;
244
+ }
245
+ if (bound.kind === "local-component") {
246
+ // Compound usage of a local var-bound component (e.g. forwardRef'd
247
+ // root with static subcomponents attached: `<Button.Header />`).
248
+ // Full compound name preserves the access pattern so subcomponents
249
+ // surface as distinct identities under the same local-source root.
250
+ return { kind: "local-component", export: chain.compoundName };
251
+ }
252
+ if (bound.kind === "react-namespace") {
253
+ // `import * as Foo from "pkg"` — strip the namespace alias and emit
254
+ // the tail as the package's actual export. `via.import` (set in the
255
+ // emission step) preserves the local namespace alias so consumers
256
+ // can still distinguish namespace-style access from named imports.
257
+ const tail = chain.compoundName.slice(chain.rootName.length + 1);
258
+ return {
259
+ kind: "react-direct",
260
+ package: bound.package,
261
+ export: tail,
262
+ specifier: bound.specifier,
263
+ importName: bound.importName,
264
+ };
265
+ }
266
+ return {
267
+ kind: "react-direct",
268
+ package: bound.package,
269
+ export: chain.compoundName,
270
+ specifier: bound.specifier,
271
+ importName: bound.importName,
272
+ };
273
+ }
274
+ // Root unbound. If the root matches an unmapped import, skip the
275
+ // diagnostic — the JSX-element opportunistic block will attempt to emit
276
+ // an opaque external (or local-source) occurrence using the unmapped
277
+ // binding. Symmetric with the single-identifier branch which is silent
278
+ // on unmapped misses.
279
+ if (!unmappedImports.has(chain.rootName)) {
280
+ opts.collector?.emit({
281
+ code: "jsx-shape-unsupported",
282
+ severity: "warning",
283
+ filePath: opts.file,
284
+ ...(loc?.line !== undefined && { line: loc.line }),
285
+ ...(loc?.column !== undefined && { column: loc.column }),
286
+ nameType: "JSXMemberExpression-unbound-root",
287
+ detail: `compound JSX with unbound root "${chain.rootName}"`,
288
+ });
289
+ }
290
+ return undefined;
291
+ }
292
+ if (nameNode.type !== "JSXIdentifier") {
293
+ opts.collector?.emit({
294
+ code: "jsx-shape-unsupported",
295
+ severity: "warning",
296
+ filePath: opts.file,
297
+ ...(loc?.line !== undefined && { line: loc.line }),
298
+ ...(loc?.column !== undefined && { column: loc.column }),
299
+ nameType: nameNode.type,
300
+ detail: `unhandled JSX element name type: ${nameNode.type}`,
301
+ });
108
302
  return undefined;
303
+ }
109
304
  const id = nameNode.name;
110
305
  if (/^[a-z]/.test(id) && id.includes("-")) {
111
306
  const indexed = opts.lookupByTag(asTagName(id));
@@ -133,6 +328,9 @@ export function walkJsx(opts) {
133
328
  importName: bound.importName,
134
329
  };
135
330
  }
331
+ if (bound?.kind === "local-component") {
332
+ return { kind: "local-component", export: id };
333
+ }
136
334
  return undefined;
137
335
  }
138
336
  traverse(ast, {
@@ -188,6 +386,83 @@ export function walkJsx(opts) {
188
386
  }
189
387
  }
190
388
  }
389
+ else if (nameNode.type === "JSXMemberExpression") {
390
+ // Compound JSX rooted in an unmapped named import (e.g. Base UI primitives,
391
+ // local workspace packages without a CCM, or aliased imports). Walks the
392
+ // member chain, then mirrors the single-identifier path: leafPackage →
393
+ // opaque external; else classifyImportOrigin → local-source match.
394
+ const chain = readMemberChain(nameNode);
395
+ if (chain && !/^[a-z]/.test(chain.rootName)) {
396
+ const unmapped = unmappedImports.get(chain.rootName);
397
+ if (unmapped) {
398
+ // Tail = the chain after the root identifier ("Root" for
399
+ // <ComboboxPrimitive.Root />, "Foo.Bar" for <Outer.Foo.Bar />).
400
+ const tail = chain.compoundName.slice(chain.rootName.length + 1);
401
+ // Package-side compound name: importedName + tail. For renamed
402
+ // imports (`import { Combobox as ComboboxPrimitive }`), this
403
+ // normalises away the local alias so two consumers using
404
+ // different aliases roll up under the same identity.
405
+ //
406
+ // Default-import roots (`import React from "react"` then
407
+ // `<React.Fragment>`) skip the prefix entirely — `default` is
408
+ // the import-spec sentinel, not a meaningful name component.
409
+ // The compound tail (`Fragment`) IS the package's named
410
+ // export. Treats `<React.Fragment>` and `import { Fragment }`
411
+ // as the same identity.
412
+ const compoundExport = unmapped.importedName === "default"
413
+ ? tail
414
+ : `${unmapped.importedName}.${tail}`;
415
+ if (unmapped.leafPackage) {
416
+ const { props, events } = readJsxAttrs(opening, opts.captureValues);
417
+ occurrence = {
418
+ componentId: {
419
+ kind: "react-component",
420
+ export: compoundExport,
421
+ source: { type: "external", package: unmapped.leafPackage },
422
+ },
423
+ loc: locOf(opening, opts.file),
424
+ via: { kind: "direct-import", specifier: unmapped.specifier, import: unmapped.importedName },
425
+ props,
426
+ events,
427
+ };
428
+ }
429
+ else {
430
+ const origin = classifyImportOrigin(unmapped.specifier, {
431
+ repoRoot: opts.repoRoot,
432
+ fromFile: opts.file,
433
+ });
434
+ if (origin.type === "local") {
435
+ const localDefs = opts.localIndex.byPath.get(origin.filePath);
436
+ const matched = localDefs?.find((d) => unmapped.importedName === "default"
437
+ ? d.isDefault
438
+ : d.exportName === unmapped.importedName && !d.isDefault);
439
+ if (matched &&
440
+ matched.componentId.kind === "react-component" &&
441
+ matched.componentId.source.type === "local") {
442
+ const { props, events } = readJsxAttrs(opening, opts.captureValues);
443
+ // Same default-prefix strip as the leafPackage path:
444
+ // a default-exported local accessed as `<Foo.Bar />`
445
+ // emits `Bar`, not `default.Bar`.
446
+ const localCompoundExport = matched.exportName === "default"
447
+ ? tail
448
+ : `${matched.exportName}.${tail}`;
449
+ occurrence = {
450
+ componentId: {
451
+ kind: "react-component",
452
+ export: localCompoundExport,
453
+ source: matched.componentId.source,
454
+ },
455
+ loc: locOf(opening, opts.file),
456
+ via: { kind: "direct-import", specifier: unmapped.specifier, import: unmapped.importedName },
457
+ props,
458
+ events,
459
+ };
460
+ }
461
+ }
462
+ }
463
+ }
464
+ }
465
+ }
191
466
  }
192
467
  else {
193
468
  const { props, events } = readJsxAttrs(opening, opts.captureValues);
@@ -210,6 +485,32 @@ export function walkJsx(opts) {
210
485
  events,
211
486
  };
212
487
  }
488
+ else if (resolved.kind === "local-context") {
489
+ occurrence = {
490
+ componentId: {
491
+ kind: "react-component",
492
+ export: resolved.export,
493
+ source: { type: "local", filePath: posixPath(opts.file) },
494
+ },
495
+ loc,
496
+ via: { kind: "context-provider" },
497
+ props,
498
+ events,
499
+ };
500
+ }
501
+ else if (resolved.kind === "local-component") {
502
+ occurrence = {
503
+ componentId: {
504
+ kind: "react-component",
505
+ export: resolved.export,
506
+ source: { type: "local", filePath: posixPath(opts.file) },
507
+ },
508
+ loc,
509
+ via: { kind: "local-component" },
510
+ props,
511
+ events,
512
+ };
513
+ }
213
514
  else {
214
515
  occurrence = {
215
516
  componentId: { kind: "react-component", export: resolved.export, source: { type: "external", package: resolved.package } },
@@ -231,6 +532,8 @@ export function walkJsx(opts) {
231
532
  // Render-prop scope OR no parent: treated as fresh root in this lexical scope.
232
533
  occurrence.depth = 0;
233
534
  }
535
+ const owner = resolveOwnerComponentId(path, opts.file, opts.localIndex, opts.repoRoot);
536
+ occurrence = { ...occurrence, ...withOwner(owner) };
234
537
  const idx = occurrences.length;
235
538
  occurrences.push(occurrence);
236
539
  parentStack.push({ idx, node: path.node });
@@ -340,6 +643,32 @@ function detectWrapper(path, file, localBindings, lookupByTag, wrappers) {
340
643
  path.traverse({
341
644
  JSXOpeningElement(inner) {
342
645
  const n = inner.node.name;
646
+ if (n.type === "JSXMemberExpression") {
647
+ const chain = readMemberChain(n);
648
+ if (!chain)
649
+ return;
650
+ if (/^[a-z]/.test(chain.rootName))
651
+ return;
652
+ const bound = localBindings.get(chain.rootName);
653
+ if (!bound)
654
+ return;
655
+ // Locally-declared bindings (Context, var-bound components) are not
656
+ // external component deps the wrapper "wraps". Skip.
657
+ if (bound.kind === "local-context" || bound.kind === "local-component")
658
+ return;
659
+ // Namespace imports: tail is the package's actual export — strip the
660
+ // local namespace alias so the wrapper dep records the same export
661
+ // identity downstream consumers see for non-namespace access patterns.
662
+ const exportName = bound.kind === "react-namespace"
663
+ ? chain.compoundName.slice(chain.rootName.length + 1)
664
+ : chain.compoundName;
665
+ addDep({
666
+ kind: "react-component",
667
+ export: exportName,
668
+ source: { type: "external", package: bound.package },
669
+ });
670
+ return;
671
+ }
343
672
  if (n.type !== "JSXIdentifier")
344
673
  return;
345
674
  const id = n.name;
@@ -1 +1 @@
1
- {"version":3,"file":"walk-jsx.js","sourceRoot":"","sources":["../src/walk-jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAczF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAmCzF,gFAAgF;AAChF,2EAA2E;AAC3E,kFAAkF;AAClF,MAAM,UAAU,OAAO,CAAC,IAAiB;IACvC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;QAC7B,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;QACtE,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,MAAM,SAAS,GAAI,GAA+D,CAAC,MAAM,IAAI,EAAE,CAAC;IAChG,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,0BAA0B,GAAG,CAAC,OAAO,EAAE;YAChD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,+DAA+D;YAC/D,IAAI,EAAE,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;IACtD,wGAAwG;IACxG,4EAA4E;IAC5E,6EAA6E;IAC7E,+EAA+E;IAC/E,kEAAkE;IAClE,MAAM,eAAe,GAAG,IAAI,GAAG,EAG5B,CAAC;IAEJ,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,EAAE;QACZ,iBAAiB,CAAC,IAAI;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,sEAAsE;gBACtE,kEAAkE;gBAClE,8DAA8D;gBAC9D,qEAAqE;gBACrE,kEAAkE;gBAClE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB;oBAAE,SAAS;gBACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAClE,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBAC5C,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE;wBACvB,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;wBACvC,OAAO,EAAE,GAAG,CAAC,WAAW;wBACxB,SAAS,EAAE,MAAM;wBACjB,UAAU,EAAE,QAAQ;qBACrB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACpD,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE;wBACvB,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,GAAG,CAAC,WAAW;wBACxB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;wBAC1B,SAAS,EAAE,MAAM;wBACjB,UAAU,EAAE,QAAQ;qBACrB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,GAAG,EAAE,CAAC;oBACf,mFAAmF;oBACnF,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE;wBACzB,YAAY,EAAE,QAAQ;wBACtB,SAAS,EAAE,MAAM;wBACjB,WAAW,EAAE,GAAG,CAAC,WAAW;qBAC7B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,uEAAuE;oBACvE,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE;wBACzB,YAAY,EAAE,QAAQ;wBACtB,SAAS,EAAE,MAAM;wBACjB,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,IAAI;YACX,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC5E,CAAC;QACD,gBAAgB,CAAC,IAAI;YACnB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC5E,CAAC;KACF,CAAC,CAAC;IAQH;;yDAEqD;IACrD,MAAM,WAAW,GAA0C,EAAE,CAAC;IAE9D,SAAS,cAAc,CAAC,OAA4B;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO,SAAS,CAAC;QACxD,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzB,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChG,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;YACnC,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,GAAG,EAAE;QACZ,UAAU,EAAE;YACV,KAAK,CAAC,IAAI;gBACR,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;gBACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,UAAkC,CAAC;gBAEvC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,6EAA6E;oBAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;oBAC9B,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;wBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACzC,IAAI,QAAQ,EAAE,CAAC;gCACb,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;oCACzB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oCACpE,UAAU,GAAG;wCACX,WAAW,EAAE;4CACX,IAAI,EAAE,iBAAiB;4CACvB,MAAM,EAAE,QAAQ,CAAC,YAAY;4CAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE;yCAC5D;wCACD,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;wCAC9B,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE;wCAC5F,KAAK;wCACL,MAAM;qCACP,CAAC;gCACJ,CAAC;qCAAM,CAAC;oCACN,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,EAAE;wCACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ;wCACvB,QAAQ,EAAE,IAAI,CAAC,IAAI;qCACpB,CAAC,CAAC;oCACH,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wCAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wCAC9D,MAAM,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACpC,QAAQ,CAAC,YAAY,KAAK,SAAS;4CACjC,CAAC,CAAC,CAAC,CAAC,SAAS;4CACb,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,SAAS,CAC3D,CAAC;wCACF,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;4CAC9D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;4CACpE,UAAU,GAAG;gDACX,WAAW,EAAE,OAAO,CAAC,WAAW;gDAChC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;gDAC9B,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE;gDAC5F,KAAK;gDACL,MAAM;6CACP,CAAC;wCACJ,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oBACpE,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC/B,UAAU,GAAG;4BACX,WAAW,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE;4BAC3H,GAAG;4BACH,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;4BACzB,KAAK;4BACL,MAAM;yBACP,CAAC;oBACJ,CAAC;yBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBAC1C,UAAU,GAAG;4BACX,WAAW,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE;4BAC3H,GAAG;4BACH,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE;4BAC1F,KAAK;4BACL,MAAM;yBACP,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG;4BACX,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE;4BAC1H,GAAG;4BACH,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE;4BAC1F,KAAK;4BACL,MAAM;yBACP,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAExB,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACxD,IAAI,WAAW,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChE,UAAU,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC;oBACvC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,+EAA+E;oBAC/E,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;gBACvB,CAAC;gBAED,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC/B,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7B,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,IAAI;gBACP,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAChD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;oBAAE,WAAW,CAAC,GAAG,EAAE,CAAC;YACvD,CAAC;SACF;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,KAAK,CACZ,IAAqE,EACrE,IAAY;IAEZ,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;QACrB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;QAChC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAAoC;IACrD,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7D,CAAC;AAED,SAAS,YAAY,CACnB,IAAyB,EACzB,aAAsB;IAEtB,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,yEAAyE;QACzE,2EAA2E;QAC3E,4DAA4D;QAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;gBAAE,SAAS;YACtD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;YAAE,SAAS;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,6EAA6E;QAC7E,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACzC,SAAS;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,oDAAoD;YACpD,MAAM,KAAK,GAAc,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACpD,IAAI,aAAa;gBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACxC,MAAM,KAAK,GAAc,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACpD,IAAI,aAAa;gBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAc,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBACpD,IAAI,aAAa;oBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAc,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBACpD,IAAI,aAAa;oBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAc,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBACpD,IAAI,aAAa;oBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,aAAa,CACpB,IAA+C,EAC/C,IAAY,EACZ,aAAwC,EACxC,WAAwB,EACxB,QAAsB;IAEtB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO;IAEjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,IAAI,GAAkB,EAAE,CAAC;IAE/B,SAAS,MAAM,CAAC,GAAgB;QAC9B,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC;QACZ,iBAAiB,CAAC,KAAK;YACrB,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;gBAAE,OAAO;YACvC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;YAClB,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC;wBACL,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;wBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;qBACzE,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpC,yEAAyE;YACzE,uEAAuE;YACvE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACzC,MAAM,CAAC;oBACL,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;iBACrD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE9B,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC;QACZ,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;QACrB,UAAU,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;QACxC,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,IAA+C;IAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;IACxE,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;IACrE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,QAAgB;IACxD,yEAAyE;IACzE,IAAI,CAAC,GAAoB,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,0BAA0B;YAAE,OAAO,SAAS,CAAC;QAC/E,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,wBAAwB;YAAE,OAAO,QAAQ,CAAC;QAC5E,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;IACnB,CAAC;IAED,oFAAoF;IACpF,6DAA6D;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAChE,IAAI,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,IACE,IAAI,CAAC,IAAI,KAAK,0BAA0B;gBACxC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAClC,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAChE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnC,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB;wBAAE,SAAS;oBAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;wBAAE,SAAS;oBAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC5E,OAAO,SAAS,CAAC;oBACnB,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,OAAO,WAAW,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,mBAAmB,CAC1B,IAA4B,EAC5B,UAAoC;IAEpC,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,CAAC,GAAoB,IAAI,CAAC,UAAU,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAClC,IACE,CAAC,CAAC,yBAAyB,EAAE;YAC7B,CAAC,CAAC,oBAAoB,EAAE;YACxB,CAAC,CAAC,qBAAqB,EAAE;YACzB,CAAC,CAAC,cAAc,EAAE,EAClB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"walk-jsx.js","sourceRoot":"","sources":["../src/walk-jsx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAezF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAExH,SAAS,uBAAuB,CAC9B,IAAc,EACd,QAAgB,EAChB,UAAgC,EAChC,QAAgB;IAEhB,8EAA8E;IAC9E,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1F,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,6BAA6B,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,OAAO,CAAC,IAAI;QACpB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAA8B;IAC/C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;AAChE,CAAC;AA+DD,wEAAwE;AACxE,0EAA0E;AAC1E,uEAAuE;AACvE,gBAAgB;AAChB,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAE1E;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAA6C;IACpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAA4C,IAAI,CAAC;IAC5D,OAAO,OAAO,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC9C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,IAAI,CAAC;IAClD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;AACnE,CAAC;AAED,gFAAgF;AAChF,2EAA2E;AAC3E,kFAAkF;AAClF,MAAM,UAAU,OAAO,CAAC,IAAiB;IACvC,uEAAuE;IACvE,gEAAgE;IAChE,MAAM,OAAO,GAAmB,CAAC,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IACvF,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;QAC7B,UAAU,EAAE,QAAQ;QACpB,OAAO;QACP,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAiB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,MAAM,SAAS,GAAI,GAA+D,CAAC,MAAM,IAAI,EAAE,CAAC;IAChG,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,0BAA0B,GAAG,CAAC,OAAO,EAAE;YAChD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,+DAA+D;YAC/D,IAAI,EAAE,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;IACtD,wGAAwG;IACxG,4EAA4E;IAC5E,6EAA6E;IAC7E,+EAA+E;IAC/E,kEAAkE;IAClE,MAAM,eAAe,GAAG,IAAI,GAAG,EAG5B,CAAC;IAEJ,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE;QACZ,kBAAkB,CAAC,IAAI;YACrB,mEAAmE;YACnE,kEAAkE;YAClE,qFAAqF;YACrF,wEAAwE;YACxE,yEAAyE;YACzE,gEAAgE;YAChE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,gBAAgB;gBAAE,OAAO;YACtD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY;gBAAE,OAAO;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;YAEpC,MAAM,eAAe,GACnB,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC;gBACjE,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;oBACjC,CAAC,MAAM,CAAC,QAAQ;oBAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;oBACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;YAC9C,IAAI,eAAe,EAAE,CAAC;gBACpB,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,MAAM,WAAW,GACf,MAAM,CAAC,IAAI,KAAK,YAAY;gBAC1B,CAAC,CAAC,MAAM,CAAC,IAAI;gBACb,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;oBAChC,CAAC,MAAM,CAAC,QAAQ;oBAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;oBACvC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;oBACtB,CAAC,CAAC,IAAI,CAAC;YACb,IAAI,WAAW,IAAI,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9D,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,iBAAiB,CAAC,IAAI;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACtC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,sEAAsE;gBACtE,kEAAkE;gBAClE,8DAA8D;gBAC9D,qEAAqE;gBACrE,kEAAkE;gBAClE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;oBAC7C,iEAAiE;oBACjE,kEAAkE;oBAClE,oEAAoE;oBACpE,kEAAkE;oBAClE,8DAA8D;oBAC9D,oDAAoD;oBACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC9B,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE;wBACvB,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,MAAM;wBACf,SAAS,EAAE,MAAM;wBACjB,UAAU,EAAE,KAAK;qBAClB,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACnG,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB;oBAAE,SAAS;gBACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAClE,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBAC5C,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE;wBACvB,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;wBACvC,OAAO,EAAE,GAAG,CAAC,WAAW;wBACxB,SAAS,EAAE,MAAM;wBACjB,UAAU,EAAE,QAAQ;qBACrB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACpD,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE;wBACvB,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,GAAG,CAAC,WAAW;wBACxB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;wBAC1B,SAAS,EAAE,MAAM;wBACjB,UAAU,EAAE,QAAQ;qBACrB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,GAAG,EAAE,CAAC;oBACf,mFAAmF;oBACnF,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE;wBACzB,YAAY,EAAE,QAAQ;wBACtB,SAAS,EAAE,MAAM;wBACjB,WAAW,EAAE,GAAG,CAAC,WAAW;qBAC7B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,uEAAuE;oBACvE,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE;wBACzB,YAAY,EAAE,QAAQ;wBACtB,SAAS,EAAE,MAAM;wBACjB,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,IAAI;YACX,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC5E,CAAC;QACD,gBAAgB,CAAC,IAAI;YACnB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC5E,CAAC;KACF,CAAC,CAAC;IAgBH;;yDAEqD;IACrD,MAAM,WAAW,GAA0C,EAAE,CAAC;IAE9D,SAAS,cAAc,CAAC,OAA4B;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;QAE/B,IAAI,QAAQ,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;oBACnB,IAAI,EAAE,uBAAuB;oBAC7B,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;oBAClD,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;oBACxD,QAAQ,EAAE,+BAA+B;oBACzC,MAAM,EAAE,kDAAkD;iBAC3D,CAAC,CAAC;gBACH,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;oBACnB,IAAI,EAAE,uBAAuB;oBAC7B,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;oBAClD,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;oBACxD,QAAQ,EAAE,oCAAoC;oBAC9C,MAAM,EAAE,8BAA8B,KAAK,CAAC,QAAQ,+BAA+B;iBACpF,CAAC,CAAC;gBACH,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,KAAK,EAAE,CAAC;gBACV,uEAAuE;gBACvE,yEAAyE;gBACzE,oEAAoE;gBACpE,6CAA6C;gBAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACnC,iEAAiE;oBACjE,6DAA6D;oBAC7D,oEAAoE;oBACpE,uEAAuE;oBACvE,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACrC,mEAAmE;oBACnE,iEAAiE;oBACjE,mEAAmE;oBACnE,mEAAmE;oBACnE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;gBACjE,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACrC,oEAAoE;oBACpE,oEAAoE;oBACpE,kEAAkE;oBAClE,mEAAmE;oBACnE,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACjE,OAAO;wBACL,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;qBAC7B,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,YAAY;oBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC7B,CAAC;YACJ,CAAC;YACD,iEAAiE;YACjE,wEAAwE;YACxE,qEAAqE;YACrE,uEAAuE;YACvE,sBAAsB;YACtB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;oBACnB,IAAI,EAAE,uBAAuB;oBAC7B,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;oBAClD,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;oBACxD,QAAQ,EAAE,kCAAkC;oBAC5C,MAAM,EAAE,mCAAmC,KAAK,CAAC,QAAQ,GAAG;iBAC7D,CAAC,CAAC;YACL,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;gBACnB,IAAI,EAAE,uBAAuB;gBAC7B,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;gBAClD,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;gBACxD,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,MAAM,EAAE,oCAAoC,QAAQ,CAAC,IAAI,EAAE;aAC5D,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;QACzB,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YAChD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAChG,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;YACnC,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,EAAE,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACtC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,GAAG,EAAE;QACZ,UAAU,EAAE;YACV,KAAK,CAAC,IAAI;gBACR,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;gBACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,UAAkC,CAAC;gBAEvC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,6EAA6E;oBAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;oBAC9B,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;wBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACzC,IAAI,QAAQ,EAAE,CAAC;gCACb,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;oCACzB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oCACpE,UAAU,GAAG;wCACX,WAAW,EAAE;4CACX,IAAI,EAAE,iBAAiB;4CACvB,MAAM,EAAE,QAAQ,CAAC,YAAY;4CAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE;yCAC5D;wCACD,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;wCAC9B,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE;wCAC5F,KAAK;wCACL,MAAM;qCACP,CAAC;gCACJ,CAAC;qCAAM,CAAC;oCACN,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,EAAE;wCACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ;wCACvB,QAAQ,EAAE,IAAI,CAAC,IAAI;qCACpB,CAAC,CAAC;oCACH,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wCAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wCAC9D,MAAM,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACpC,QAAQ,CAAC,YAAY,KAAK,SAAS;4CACjC,CAAC,CAAC,CAAC,CAAC,SAAS;4CACb,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,SAAS,CAC3D,CAAC;wCACF,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;4CAC9D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;4CACpE,UAAU,GAAG;gDACX,WAAW,EAAE,OAAO,CAAC,WAAW;gDAChC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;gDAC9B,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE;gDAC5F,KAAK;gDACL,MAAM;6CACP,CAAC;wCACJ,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;wBACnD,4EAA4E;wBAC5E,yEAAyE;wBACzE,uEAAuE;wBACvE,mEAAmE;wBACnE,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;wBACxC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;4BACrD,IAAI,QAAQ,EAAE,CAAC;gCACb,yDAAyD;gCACzD,gEAAgE;gCAChE,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gCACjE,+DAA+D;gCAC/D,6DAA6D;gCAC7D,yDAAyD;gCACzD,qDAAqD;gCACrD,EAAE;gCACF,yDAAyD;gCACzD,8DAA8D;gCAC9D,6DAA6D;gCAC7D,wDAAwD;gCACxD,8DAA8D;gCAC9D,wBAAwB;gCACxB,MAAM,cAAc,GAClB,QAAQ,CAAC,YAAY,KAAK,SAAS;oCACjC,CAAC,CAAC,IAAI;oCACN,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gCAEzC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;oCACzB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oCACpE,UAAU,GAAG;wCACX,WAAW,EAAE;4CACX,IAAI,EAAE,iBAAiB;4CACvB,MAAM,EAAE,cAAc;4CACtB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE;yCAC5D;wCACD,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;wCAC9B,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE;wCAC5F,KAAK;wCACL,MAAM;qCACP,CAAC;gCACJ,CAAC;qCAAM,CAAC;oCACN,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,SAAS,EAAE;wCACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ;wCACvB,QAAQ,EAAE,IAAI,CAAC,IAAI;qCACpB,CAAC,CAAC;oCACH,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wCAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wCAC9D,MAAM,OAAO,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACpC,QAAQ,CAAC,YAAY,KAAK,SAAS;4CACjC,CAAC,CAAC,CAAC,CAAC,SAAS;4CACb,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,SAAS,CAC3D,CAAC;wCACF,IACE,OAAO;4CACP,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,iBAAiB;4CAC9C,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAC3C,CAAC;4CACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;4CACpE,qDAAqD;4CACrD,qDAAqD;4CACrD,kCAAkC;4CAClC,MAAM,mBAAmB,GACvB,OAAO,CAAC,UAAU,KAAK,SAAS;gDAC9B,CAAC,CAAC,IAAI;gDACN,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;4CACtC,UAAU,GAAG;gDACX,WAAW,EAAE;oDACX,IAAI,EAAE,iBAAiB;oDACvB,MAAM,EAAE,mBAAmB;oDAC3B,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;iDACnC;gDACD,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;gDAC9B,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,EAAE;gDAC5F,KAAK;gDACL,MAAM;6CACP,CAAC;wCACJ,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oBACpE,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC/B,UAAU,GAAG;4BACX,WAAW,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE;4BAC3H,GAAG;4BACH,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;4BACzB,KAAK;4BACL,MAAM;yBACP,CAAC;oBACJ,CAAC;yBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBAC1C,UAAU,GAAG;4BACX,WAAW,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE;4BAC3H,GAAG;4BACH,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE;4BAC1F,KAAK;4BACL,MAAM;yBACP,CAAC;oBACJ,CAAC;yBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBAC7C,UAAU,GAAG;4BACX,WAAW,EAAE;gCACX,IAAI,EAAE,iBAAiB;gCACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;gCACvB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;6BAC1D;4BACD,GAAG;4BACH,GAAG,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;4BACjC,KAAK;4BACL,MAAM;yBACP,CAAC;oBACJ,CAAC;yBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;wBAC/C,UAAU,GAAG;4BACX,WAAW,EAAE;gCACX,IAAI,EAAE,iBAAiB;gCACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;gCACvB,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;6BAC1D;4BACD,GAAG;4BACH,GAAG,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;4BAChC,KAAK;4BACL,MAAM;yBACP,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG;4BACX,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE;4BAC1H,GAAG;4BACH,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE;4BAC1F,KAAK;4BACL,MAAM;yBACP,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAExB,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACxD,IAAI,WAAW,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChE,UAAU,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC;oBACvC,UAAU,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,+EAA+E;oBAC/E,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC;gBACvB,CAAC;gBAED,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvF,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAEpD,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC/B,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7B,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,IAAI,CAAC,IAAI;gBACP,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAChD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;oBAAE,WAAW,CAAC,GAAG,EAAE,CAAC;YACvD,CAAC;SACF;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,KAAK,CACZ,IAAqE,EACrE,IAAY;IAEZ,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;QACrB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;QAChC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,IAAoC;IACrD,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7D,CAAC;AAED,SAAS,YAAY,CACnB,IAAyB,EACzB,aAAsB;IAEtB,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,yEAAyE;QACzE,2EAA2E;QAC3E,4DAA4D;QAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;gBAAE,SAAS;YACtD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxE,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;YAAE,SAAS;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,6EAA6E;QAC7E,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACzC,SAAS;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,oDAAoD;YACpD,MAAM,KAAK,GAAc,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACpD,IAAI,aAAa;gBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACxC,MAAM,KAAK,GAAc,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACpD,IAAI,aAAa;gBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAc,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBACpD,IAAI,aAAa;oBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAc,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBACpD,IAAI,aAAa;oBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAc,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBACpD,IAAI,aAAa;oBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,aAAa,CACpB,IAA+C,EAC/C,IAAY,EACZ,aAAwC,EACxC,WAAwB,EACxB,QAAsB;IAEtB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO;IAEjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,IAAI,GAAkB,EAAE,CAAC;IAE/B,SAAS,MAAM,CAAC,GAAgB;QAC9B,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC;QACZ,iBAAiB,CAAC,KAAK;YACrB,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAE1B,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;oBAAE,OAAO;gBAC1C,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK;oBAAE,OAAO;gBACnB,oEAAoE;gBACpE,qDAAqD;gBACrD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB;oBAAE,OAAO;gBAC/E,qEAAqE;gBACrE,mEAAmE;gBACnE,uEAAuE;gBACvE,MAAM,UAAU,GACd,KAAK,CAAC,IAAI,KAAK,iBAAiB;oBAC9B,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;oBACrD,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;gBACzB,MAAM,CAAC;oBACL,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;iBACrD,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;gBAAE,OAAO;YACvC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;YAClB,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC;wBACL,IAAI,EAAE,gBAAgB;wBACtB,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;wBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;qBACzE,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpC,yEAAyE;YACzE,uEAAuE;YACvE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACzC,MAAM,CAAC;oBACL,IAAI,EAAE,gBAAgB;oBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;iBACrD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE9B,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC;QACZ,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;QACrB,UAAU,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;QACxC,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,IAA+C;IAClE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB,IAAI,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;IACxE,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;IACrE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc,EAAE,QAAgB;IACxD,yEAAyE;IACzE,IAAI,CAAC,GAAoB,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,0BAA0B;YAAE,OAAO,SAAS,CAAC;QAC/E,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,wBAAwB;YAAE,OAAO,QAAQ,CAAC;QAC5E,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;IACnB,CAAC;IAED,oFAAoF;IACpF,6DAA6D;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAChE,IAAI,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACrC,IACE,IAAI,CAAC,IAAI,KAAK,0BAA0B;gBACxC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,YAAY;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAClC,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAChE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnC,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB;wBAAE,SAAS;oBAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;wBAAE,SAAS;oBAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC5E,OAAO,SAAS,CAAC;oBACnB,CAAC;oBACD,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,OAAO,WAAW,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,mBAAmB,CAC1B,IAA4B,EAC5B,UAAoC;IAEpC,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,CAAC,GAAoB,IAAI,CAAC,UAAU,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAClC,IACE,CAAC,CAAC,yBAAyB,EAAE;YAC7B,CAAC,CAAC,oBAAoB,EAAE;YACxB,CAAC,CAAC,qBAAqB,EAAE;YACzB,CAAC,CAAC,cAAc,EAAE,EAClB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@component-compass/parser-react",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Consumer-scan parser for React JSX. Detects component usages in .tsx and .jsx files.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -29,8 +29,8 @@
29
29
  "dependencies": {
30
30
  "@babel/parser": "^7.29.0",
31
31
  "@babel/types": "^7.29.0",
32
- "@component-compass/ast-utils": "^0.0.2",
33
- "@component-compass/plugin-core": "^0.0.2"
32
+ "@component-compass/ast-utils": "^0.0.3",
33
+ "@component-compass/plugin-core": "^0.0.3"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/babel__traverse": "^7.28.0",