@flaid/devmap 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/analyzers/analysis/fileScanner.d.ts.map +1 -1
  2. package/dist/analyzers/analysis/fileScanner.js +34 -7
  3. package/dist/analyzers/analysis/fileScanner.js.map +1 -1
  4. package/dist/analyzers/analysis/filterEngine.d.ts +2 -0
  5. package/dist/analyzers/analysis/filterEngine.d.ts.map +1 -1
  6. package/dist/analyzers/analysis/filterEngine.js +57 -29
  7. package/dist/analyzers/analysis/filterEngine.js.map +1 -1
  8. package/dist/analyzers/analysis/index.d.ts +1 -0
  9. package/dist/analyzers/analysis/index.d.ts.map +1 -1
  10. package/dist/analyzers/analysis/index.js +1 -0
  11. package/dist/analyzers/analysis/index.js.map +1 -1
  12. package/dist/analyzers/analysis/jsonText.d.ts +7 -0
  13. package/dist/analyzers/analysis/jsonText.d.ts.map +1 -0
  14. package/dist/analyzers/analysis/jsonText.js +9 -0
  15. package/dist/analyzers/analysis/jsonText.js.map +1 -0
  16. package/dist/analyzers/analysis/tsMorphAnalyzer.d.ts.map +1 -1
  17. package/dist/analyzers/analysis/tsMorphAnalyzer.js +48 -11
  18. package/dist/analyzers/analysis/tsMorphAnalyzer.js.map +1 -1
  19. package/dist/analyzers/detectors/capabilityDetector.js +7 -3
  20. package/dist/analyzers/detectors/capabilityDetector.js.map +1 -1
  21. package/dist/analyzers/detectors/databaseDetector.d.ts +1 -1
  22. package/dist/analyzers/detectors/databaseDetector.d.ts.map +1 -1
  23. package/dist/analyzers/detectors/databaseDetector.js +2 -1
  24. package/dist/analyzers/detectors/databaseDetector.js.map +1 -1
  25. package/dist/analyzers/detectors/frameworkDetector.d.ts +1 -1
  26. package/dist/analyzers/detectors/frameworkDetector.d.ts.map +1 -1
  27. package/dist/analyzers/detectors/frameworkDetector.js +4 -2
  28. package/dist/analyzers/detectors/frameworkDetector.js.map +1 -1
  29. package/dist/analyzers/detectors/routeDetector.js +96 -25
  30. package/dist/analyzers/detectors/routeDetector.js.map +1 -1
  31. package/dist/analyzers/detectors/serviceDetector.d.ts +1 -1
  32. package/dist/analyzers/detectors/serviceDetector.d.ts.map +1 -1
  33. package/dist/analyzers/detectors/serviceDetector.js +2 -1
  34. package/dist/analyzers/detectors/serviceDetector.js.map +1 -1
  35. package/dist/analyzers/features/featureCandidates.d.ts.map +1 -1
  36. package/dist/analyzers/features/featureCandidates.js +48 -0
  37. package/dist/analyzers/features/featureCandidates.js.map +1 -1
  38. package/dist/analyzers/graph/aliasResolver.d.ts +28 -5
  39. package/dist/analyzers/graph/aliasResolver.d.ts.map +1 -1
  40. package/dist/analyzers/graph/aliasResolver.js +209 -34
  41. package/dist/analyzers/graph/aliasResolver.js.map +1 -1
  42. package/dist/analyzers/graph/dependencyGraph.d.ts.map +1 -1
  43. package/dist/analyzers/graph/dependencyGraph.js +71 -59
  44. package/dist/analyzers/graph/dependencyGraph.js.map +1 -1
  45. package/dist/analyzers/graph/entryPoints.d.ts.map +1 -1
  46. package/dist/analyzers/graph/entryPoints.js +16 -2
  47. package/dist/analyzers/graph/entryPoints.js.map +1 -1
  48. package/dist/analyzers/graph/index.d.ts +2 -2
  49. package/dist/analyzers/graph/index.d.ts.map +1 -1
  50. package/dist/analyzers/graph/index.js +2 -2
  51. package/dist/analyzers/graph/index.js.map +1 -1
  52. package/dist/analyzers/graph/sourceScope.d.ts +2 -0
  53. package/dist/analyzers/graph/sourceScope.d.ts.map +1 -1
  54. package/dist/analyzers/graph/sourceScope.js +23 -14
  55. package/dist/analyzers/graph/sourceScope.js.map +1 -1
  56. package/dist/analyzers/pipeline/heuristicAnalyzer.d.ts.map +1 -1
  57. package/dist/analyzers/pipeline/heuristicAnalyzer.js +10 -3
  58. package/dist/analyzers/pipeline/heuristicAnalyzer.js.map +1 -1
  59. package/dist/analyzers/pipeline/languageReaders.d.ts +8 -0
  60. package/dist/analyzers/pipeline/languageReaders.d.ts.map +1 -0
  61. package/dist/analyzers/pipeline/languageReaders.js +296 -0
  62. package/dist/analyzers/pipeline/languageReaders.js.map +1 -0
  63. package/dist/analyzers/pipeline/projectMap.d.ts.map +1 -1
  64. package/dist/analyzers/pipeline/projectMap.js +122 -109
  65. package/dist/analyzers/pipeline/projectMap.js.map +1 -1
  66. package/dist/analyzers/pipeline/projectMetadata.d.ts.map +1 -1
  67. package/dist/analyzers/pipeline/projectMetadata.js +33 -5
  68. package/dist/analyzers/pipeline/projectMetadata.js.map +1 -1
  69. package/dist/commands/analyze.js +0 -1
  70. package/dist/commands/analyze.js.map +1 -1
  71. package/dist/utils/output.d.ts +6 -0
  72. package/dist/utils/output.d.ts.map +1 -1
  73. package/dist/utils/output.js +49 -0
  74. package/dist/utils/output.js.map +1 -1
  75. package/dist/utils/welcome.d.ts.map +1 -1
  76. package/dist/utils/welcome.js +0 -12
  77. package/dist/utils/welcome.js.map +1 -1
  78. package/package.json +5 -5
@@ -1,11 +1,12 @@
1
+ import { output } from "../../utils/output.js";
1
2
  import { hashContent } from "../../cache/fileHash.js";
2
3
  import { REASON_TAGS } from "./reasonTags.js";
3
4
  import { analyzeFiles } from "./analyzerRegistry.js";
4
5
  import { detectProjectMetadata } from "./projectMetadata.js";
5
6
  import { detectDatabase, detectFramework, detectFrameworks, detectRoutes, detectExternalServices, detectCapabilities, } from "../detectors/index.js";
6
- import { buildDependencyGraph, countReferences, detectEntryPoints, isArchitectureSource, loadAliasMappings, } from "../graph/index.js";
7
+ import { buildDependencyGraph, countReferences, detectEntryPoints, isArchitectureSource, isTestPath, loadAliasMappings, } from "../graph/index.js";
7
8
  import { authenticationFilePriority, detectAuthenticationSemanticRole, detectFeatures, featureFilePriority, orderAuthenticationFiles, mergeDomainFeatures, classifyFileTier, } from "../features/index.js";
8
- import { scanFiles, extractEntities, } from "../analysis/index.js";
9
+ import { scanFiles, parseJsonText, extractEntities, } from "../analysis/index.js";
9
10
  import { inferDomain, buildDomainInferenceInput, domainFeaturesToFeatureInfo, } from "../inference/index.js";
10
11
  export const SNAPSHOT_SCHEMA_VERSION = "1";
11
12
  export async function createProjectMap(projectRoot,
@@ -15,89 +16,108 @@ export async function createProjectMap(projectRoot,
15
16
  * Injected biar decoupled dari provider specifics (Groq, OpenRouter, dll).
16
17
  */
17
18
  callAI) {
18
- const files = await scanFiles(projectRoot);
19
- const analyses = await analyzeFiles(files);
20
- const aliasMappings = await loadAliasMappings(projectRoot);
21
- const { graph, diagnostics: graphDiagnostics } = buildDependencyGraph(files, analyses, aliasMappings);
22
- const references = countReferences(graph);
23
- const detectedFramework = detectFramework(files);
24
- const frameworks = detectFrameworks(files);
25
- const project = detectProjectMetadata(projectRoot, detectedFramework, files, frameworks);
26
- const framework = project.framework;
27
- const entryPoints = detectEntryPoints(graph);
28
- const routes = detectRoutes(files, project.frameworks, graph);
29
- const database = detectDatabase(files);
30
- // Step 1: Extract entities dari schema (Prisma dll) atau route fallback
31
- const entityGraph = extractEntities(files, routes);
32
- // Step 2: Detect capabilities dari route patterns + HTTP methods
33
- const capabilities = detectCapabilities(routes, entityGraph);
34
- // Step 3: Detect features — consume entityGraph + capabilities
35
- const featureResult = detectFeatures(files, analyses, routes, database, entityGraph, capabilities, graph);
36
- const features = attachFeatureEntryPoints(featureResult.features, routes, entryPoints, graph, analyses);
37
- // Step 4: AI domain inference (optional — hanya jalan kalau callAI disediakan)
38
- // Kirim structured metadata ke AI, dapat domain summary + domain-specific features.
39
- // Kalau gagal atau callAI tidak ada, static features tetap lengkap.
40
- let domain;
41
- if (callAI) {
42
- const inferenceInput = buildDomainInferenceInput(entityGraph, capabilities, features, framework, routes.length);
43
- const result = await inferDomain(inferenceInput, callAI, projectRoot);
44
- if (result) {
45
- domain = result;
46
- // Merge domain-specific features ke features list.
47
- // Pakai similarity engine — bukan name equality — sehingga
48
- // "Customizable Plans" tidak duplicate "Plan Management" yang sudah ada.
49
- // Canonical name (first-seen) dipertahankan oleh mergeDomainFeatures.
50
- const domainFeatures = domainFeaturesToFeatureInfo(result.domainFeatures);
51
- mergeDomainFeatures(features, domainFeatures);
52
- features.sort((a, b) => a.name.localeCompare(b.name));
19
+ let activeSpinner;
20
+ try {
21
+ activeSpinner = output.spinner(`Scanning ${projectRoot}`);
22
+ const files = await scanFiles(projectRoot);
23
+ activeSpinner.succeed(`Scanned ${files.length} files`);
24
+ activeSpinner = output.spinner("Analyzing files");
25
+ const analyses = await analyzeFiles(files);
26
+ activeSpinner.succeed(`Analyzed ${files.length} files`);
27
+ activeSpinner = output.spinner("Mapping dependencies");
28
+ const aliasMappings = await loadAliasMappings(projectRoot);
29
+ const { graph, diagnostics: graphDiagnostics } = buildDependencyGraph(files, analyses, aliasMappings);
30
+ const references = countReferences(graph);
31
+ const detectedFramework = detectFramework(files);
32
+ const frameworks = detectFrameworks(files);
33
+ const project = detectProjectMetadata(projectRoot, detectedFramework, files, frameworks);
34
+ const framework = project.framework;
35
+ const entryPoints = detectEntryPoints(graph);
36
+ const routes = detectRoutes(files, project.frameworks, graph);
37
+ const database = detectDatabase(files);
38
+ activeSpinner.succeed("Dependencies mapped");
39
+ activeSpinner = output.spinner("Extracting entities & features");
40
+ // Step 1: Extract entities dari schema (Prisma dll) atau route fallback
41
+ const entityGraph = extractEntities(files, routes);
42
+ // Step 2: Detect capabilities dari route patterns + HTTP methods
43
+ const capabilities = detectCapabilities(routes, entityGraph);
44
+ // Step 3: Detect features — consume entityGraph + capabilities
45
+ const featureResult = detectFeatures(files, analyses, routes, database, entityGraph, capabilities, graph);
46
+ const features = attachFeatureEntryPoints(featureResult.features, routes, entryPoints, graph, analyses);
47
+ activeSpinner.succeed(`Detected ${features.length} features`);
48
+ // Step 4: AI domain inference (optional — hanya jalan kalau callAI disediakan)
49
+ // Kirim structured metadata ke AI, dapat domain summary + domain-specific features.
50
+ // Kalau gagal atau callAI tidak ada, static features tetap lengkap.
51
+ let domain;
52
+ if (callAI) {
53
+ activeSpinner = output.spinner("Inferring domain with AI");
54
+ const inferenceInput = buildDomainInferenceInput(entityGraph, capabilities, features, framework, routes.length);
55
+ const result = await inferDomain(inferenceInput, callAI, projectRoot);
56
+ if (result) {
57
+ domain = result;
58
+ // Merge domain-specific features ke features list.
59
+ // Pakai similarity engine — bukan name equality — sehingga
60
+ // "Customizable Plans" tidak duplicate "Plan Management" yang sudah ada.
61
+ // Canonical name (first-seen) dipertahankan oleh mergeDomainFeatures.
62
+ const domainFeatures = domainFeaturesToFeatureInfo(result.domainFeatures);
63
+ mergeDomainFeatures(features, domainFeatures);
64
+ features.sort((a, b) => a.name.localeCompare(b.name));
65
+ }
66
+ activeSpinner.succeed(domain ? `Domain inferred: ${domain.domain}` : "Domain inference skipped");
53
67
  }
68
+ activeSpinner = output.spinner("Building project index");
69
+ const criticalFiles = rankCriticalFiles(files, analyses, references, entryPoints);
70
+ const fileIndex = Object.fromEntries(files.map((file) => [
71
+ file.path,
72
+ createFileIndexEntry(file, analyses[file.path], graph[file.path] ?? [], references, entryPoints, criticalFiles, features)
73
+ ]));
74
+ const flows = generateMinimalFlows(features, fileIndex, routes, graph);
75
+ activeSpinner.succeed("Project index built");
76
+ return {
77
+ version: SNAPSHOT_SCHEMA_VERSION,
78
+ generatedAt: new Date().toISOString(),
79
+ agentInstructions: createAgentInstructions(),
80
+ fingerprint: createProjectFingerprint(files),
81
+ projectRoot,
82
+ framework,
83
+ project,
84
+ stats: {
85
+ // A pre-filter filesystem count is not collected in schema v1.
86
+ totalFiles: files.length,
87
+ relevantFiles: files.length,
88
+ totalLines: files.reduce((sum, file) => sum + file.lines, 0)
89
+ },
90
+ entryPoints,
91
+ criticalFiles,
92
+ routes,
93
+ apiRoutes: routes.filter((route) => route.kind === "api"),
94
+ externalServices: detectExternalServices(files),
95
+ ...(database ? { database } : {}),
96
+ features,
97
+ ...(entityGraph.source !== "empty" ? { entityGraph } : {}),
98
+ ...(capabilities.length > 0 ? { capabilities } : {}),
99
+ ...(domain ? { domain } : {}),
100
+ flows,
101
+ onboarding: {
102
+ recommendedPath: buildOnboardingPath(files, entryPoints, criticalFiles, fileIndex)
103
+ },
104
+ changeImpact: buildChangeImpact(fileIndex, features, flows, graph),
105
+ warnings: detectAnalysisWarnings(files, entryPoints, criticalFiles, features),
106
+ ...(graphDiagnostics.unresolvedAliases.length > 0 || graphDiagnostics.parserFallbacks.length > 0
107
+ ? { diagnostics: graphDiagnostics }
108
+ : {}),
109
+ ...(featureResult.mergeDecisions.length > 0 || featureResult.rejectedCandidateIds.length > 0
110
+ ? { featureDiagnostics: { mergeDecisions: featureResult.mergeDecisions, rejectedCandidateIds: featureResult.rejectedCandidateIds } }
111
+ : {}),
112
+ dependencies: readPackageDependencies(files),
113
+ fileGraph: graph,
114
+ fileIndex
115
+ };
116
+ }
117
+ catch (error) {
118
+ activeSpinner?.fail();
119
+ throw error;
54
120
  }
55
- const criticalFiles = rankCriticalFiles(files, analyses, references, entryPoints);
56
- const fileIndex = Object.fromEntries(files.map((file) => [
57
- file.path,
58
- createFileIndexEntry(file, analyses[file.path], graph[file.path] ?? [], references, entryPoints, criticalFiles, features)
59
- ]));
60
- const flows = generateMinimalFlows(features, fileIndex, routes, graph);
61
- return {
62
- version: SNAPSHOT_SCHEMA_VERSION,
63
- generatedAt: new Date().toISOString(),
64
- agentInstructions: createAgentInstructions(),
65
- fingerprint: createProjectFingerprint(files),
66
- projectRoot,
67
- framework,
68
- project,
69
- stats: {
70
- // A pre-filter filesystem count is not collected in schema v1.
71
- totalFiles: files.length,
72
- relevantFiles: files.length,
73
- totalLines: files.reduce((sum, file) => sum + file.lines, 0)
74
- },
75
- entryPoints,
76
- criticalFiles,
77
- routes,
78
- apiRoutes: routes.filter((route) => route.kind === "api"),
79
- externalServices: detectExternalServices(files),
80
- ...(database ? { database } : {}),
81
- features,
82
- ...(entityGraph.source !== "empty" ? { entityGraph } : {}),
83
- ...(capabilities.length > 0 ? { capabilities } : {}),
84
- ...(domain ? { domain } : {}),
85
- flows,
86
- onboarding: {
87
- recommendedPath: buildOnboardingPath(files, entryPoints, criticalFiles, fileIndex)
88
- },
89
- changeImpact: buildChangeImpact(fileIndex, features, flows, graph),
90
- warnings: detectAnalysisWarnings(files, entryPoints, criticalFiles, features),
91
- ...(graphDiagnostics.unresolvedAliases.length > 0 || graphDiagnostics.parserFallbacks.length > 0
92
- ? { diagnostics: graphDiagnostics }
93
- : {}),
94
- ...(featureResult.mergeDecisions.length > 0 || featureResult.rejectedCandidateIds.length > 0
95
- ? { featureDiagnostics: { mergeDecisions: featureResult.mergeDecisions, rejectedCandidateIds: featureResult.rejectedCandidateIds } }
96
- : {}),
97
- dependencies: readPackageDependencies(files),
98
- fileGraph: graph,
99
- fileIndex
100
- };
101
121
  }
102
122
  function createAgentInstructions() {
103
123
  return {
@@ -112,7 +132,9 @@ function createAgentInstructions() {
112
132
  export function createProjectFingerprint(files) {
113
133
  const content = files
114
134
  .map((file) => [file.path, hashContent(file.content)])
115
- .sort(([left], [right]) => left.localeCompare(right))
135
+ // Plain code-unit order: localeCompare would change the fingerprint of an
136
+ // unchanged project when the machine locale differs.
137
+ .sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0))
116
138
  .map(([path, hash]) => `${path}:${hash}`)
117
139
  .join("\n");
118
140
  return hashContent(content);
@@ -172,7 +194,7 @@ function readPackageDependencies(files) {
172
194
  return {};
173
195
  }
174
196
  try {
175
- const parsed = JSON.parse(packageJson.content);
197
+ const parsed = parseJsonText(packageJson.content);
176
198
  return {
177
199
  dependencies: Object.keys(parsed.dependencies ?? {}).sort(),
178
200
  devDependencies: Object.keys(parsed.devDependencies ?? {}).sort()
@@ -216,8 +238,12 @@ function classifyFileScope(file, exportedSymbols, imports) {
216
238
  const text = `${path} ${name} ${exportedSymbols.join(" ")} ${imports.join(" ")}`.toLowerCase();
217
239
  if (isTestFile(path))
218
240
  return "test";
219
- if (path.endsWith(".md") || path.startsWith("docs/"))
241
+ if (path.endsWith(".md") || path.endsWith(".mdx") || path.startsWith("docs/"))
220
242
  return "docs";
243
+ // Single-file components and SvelteKit page/layout files are UI even when they
244
+ // live under a routes/ folder; +server files stay API (matched below).
245
+ if (/\.(svelte|vue|astro)$/.test(path) || /(^|\/)\+(page|layout|error)(\.server)?\.[cm]?[jt]s$/.test(path))
246
+ return "ui";
221
247
  if (/(^|\/)(api|apis|routes?|controllers?|actions?)\//.test(path))
222
248
  return "api";
223
249
  if (/(^|\/)(server|app|main|index)\.[cm]?[jt]sx?$/.test(path) && imports.some((specifier) => /routes?|controllers?|api/.test(specifier)))
@@ -347,12 +373,6 @@ function inferKnownFilePurpose(path) {
347
373
  if (/\/ai\/completion\.[cm]?[jt]s$/.test(path)) {
348
374
  return "coordinates streaming and non-streaming AI completion output.";
349
375
  }
350
- if (/\/analyzers\/projectmap\.[cm]?[jt]s$/.test(path)) {
351
- return "orchestrates scanning, analysis, feature mapping, flows, and snapshot metadata.";
352
- }
353
- if (/\/analyzers\/filescanner\.[cm]?[jt]s$/.test(path)) {
354
- return "scans eligible project files while applying ignore and safety rules.";
355
- }
356
376
  if (/(^|\/)types?\.[cm]?[jt]s$/.test(path)) {
357
377
  return "defines shared type contracts used by neighboring modules.";
358
378
  }
@@ -480,9 +500,11 @@ function buildStructuralFeatureFlow(featureName, files) {
480
500
  const entitySlug = featureName
481
501
  .toLowerCase()
482
502
  .replace(/\s+(management|system|module|feature)$/, "")
483
- .replace(/\s+/g, "[-_]?");
484
- const entityPattern = new RegExp(`\/${entitySlug}`, "i");
485
- steps.push(["Handle API request", find(entityPattern, /\/(routes?|controllers?|api)\//i)], ["Apply business logic", find(/\/(services?|usecases?|actions?)\//i)], ["Access data", find(/\/(repositories?|lib\/prisma|db\/)\//i)]);
503
+ .split(/\s+/)
504
+ .map(escapeRegExpSource)
505
+ .join("[-_]?");
506
+ const entityPattern = new RegExp(`\\/${entitySlug}`, "i");
507
+ steps.push(["Handle API request", find(entityPattern, /\/(routes?|controllers?|api)\//i)], ["Apply business logic", find(/\/(services?|usecases?|actions?)\//i)], ["Access data", find(/\/(repositories?|lib\/prisma|lib\/db|db)\//i)]);
486
508
  }
487
509
  return steps
488
510
  .filter((step) => Boolean(step[1]))
@@ -673,23 +695,14 @@ export function renderMermaidFlow(steps) {
673
695
  });
674
696
  return lines.join("\n");
675
697
  }
698
+ function escapeRegExpSource(value) {
699
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
700
+ }
676
701
  function escapeMermaidLabel(value) {
677
702
  return value.replace(/"/g, "'");
678
703
  }
679
704
  function isTestFile(path) {
680
- const normalized = path.toLowerCase();
681
- return (normalized.includes("/test/")
682
- || normalized.includes("/tests/")
683
- || normalized.includes("/__tests__/")
684
- || normalized.includes("/fixtures/")
685
- || normalized.endsWith(".test.ts")
686
- || normalized.endsWith(".test.tsx")
687
- || normalized.endsWith(".test.js")
688
- || normalized.endsWith(".test.jsx")
689
- || normalized.endsWith(".spec.ts")
690
- || normalized.endsWith(".spec.tsx")
691
- || normalized.endsWith(".spec.js")
692
- || normalized.endsWith(".spec.jsx"));
705
+ return isTestPath(path);
693
706
  }
694
707
  function isVagueSearchTerm(term) {
695
708
  return new Set([
@@ -720,7 +733,7 @@ function detectAnalysisWarnings(files, entryPoints, criticalFiles, features) {
720
733
  return warnings;
721
734
  }
722
735
  try {
723
- JSON.parse(packageJson.content);
736
+ parseJsonText(packageJson.content);
724
737
  }
725
738
  catch {
726
739
  warnings.push("package.json could not be parsed. Dependency-based detection may be incomplete.");
@@ -1 +1 @@
1
- {"version":3,"file":"projectMap.js","sourceRoot":"","sources":["../../../src/analyzers/pipeline/projectMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectMap.js","sourceRoot":"","sources":["../../../src/analyzers/pipeline/projectMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAwB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EACL,cAAc,EACd,eAAe,EAAE,gBAAgB,EACjC,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EAAE,eAAe,EACrC,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,EACV,iBAAiB,GAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,cAAc,EACd,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,GAKhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,2BAA2B,GAE5B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAsH3C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,WAAmB;AACnB;;;;GAIG;AACH,MAA4C;IAE5C,IAAI,aAAkC,CAAC;IAEvC,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3C,aAAa,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QAEvD,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3C,aAAa,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QAExD,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC3D,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtG,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,iBAAiB,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,qBAAqB,CACnC,WAAW,EACX,iBAAiB,EACjB,KAAK,EACL,UAAU,CACX,CAAC;QACF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACvC,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE7C,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QACjE,wEAAwE;QACxE,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEnD,iEAAiE;QACjE,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE7D,+DAA+D;QAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAC1G,MAAM,QAAQ,GAAG,wBAAwB,CACvC,aAAa,CAAC,QAAQ,EACtB,MAAM,EACN,WAAW,EACX,KAAK,EACL,QAAQ,CACT,CAAC;QACF,aAAa,CAAC,OAAO,CAAC,YAAY,QAAQ,CAAC,MAAM,WAAW,CAAC,CAAC;QAE9D,+EAA+E;QAC/E,oFAAoF;QACpF,oEAAoE;QACpE,IAAI,MAAyC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YAC3D,MAAM,cAAc,GAAG,yBAAyB,CAC9C,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,MAAM,CAAC,MAAM,CACd,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACtE,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,GAAG,MAAM,CAAC;gBAChB,mDAAmD;gBACnD,2DAA2D;gBAC3D,yEAAyE;gBACzE,sEAAsE;gBACtE,MAAM,cAAc,GAAG,2BAA2B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC1E,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACnG,CAAC;QAED,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC,IAAI;YACT,oBAAoB,CAClB,IAAI,EACJ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EACtB,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,CACT;SACF,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACvE,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE7C,OAAO;YACL,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,iBAAiB,EAAE,uBAAuB,EAAE;YAC5C,WAAW,EAAE,wBAAwB,CAAC,KAAK,CAAC;YAC5C,WAAW;YACX,SAAS;YACT,OAAO;YACP,KAAK,EAAE;gBACL,+DAA+D;gBAC/D,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,aAAa,EAAE,KAAK,CAAC,MAAM;gBAC3B,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;aAC7D;YACD,WAAW;YACX,aAAa;YACb,MAAM;YACN,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;YACzD,gBAAgB,EAAE,sBAAsB,CAAC,KAAK,CAAC;YAC/C,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,QAAQ;YACR,GAAG,CAAC,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,KAAK;YACL,UAAU,EAAE;gBACV,eAAe,EAAE,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC;aACnF;YACD,YAAY,EAAE,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;YAClE,QAAQ,EAAE,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC;YAC7E,GAAG,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;gBAC9F,CAAC,CAAC,EAAE,WAAW,EAAE,gBAAgB,EAAE;gBACnC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;gBAC1F,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,cAAc,EAAE,aAAa,CAAC,cAAc,EAAE,oBAAoB,EAAE,aAAa,CAAC,oBAAoB,EAAE,EAAE;gBACpI,CAAC,CAAC,EAAE,CAAC;YACP,YAAY,EAAE,uBAAuB,CAAC,KAAK,CAAC;YAC5C,SAAS,EAAE,KAAK;YAChB,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,aAAa,EAAE,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO;QACL,gBAAgB,EAAE,aAAa;QAC/B,WAAW,EAAE,mBAAmB;QAChC,eAAe,EAAE,CAAC;QAClB,qBAAqB,EAAE,oBAAoB;QAC3C,mBAAmB,EAAE,0BAA0B;QAC/C,YAAY,EAAE,6IAA6I;KAC5J,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAoB;IAC3D,MAAM,OAAO,GAAG,KAAK;SAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAU,CAAC;QAC/D,0EAA0E;QAC1E,qDAAqD;SACpD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;SACxC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAoB,EACpB,QAAsC,EACtC,UAAkC,EAClC,WAAqB;IAErB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAE3C,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,qDAAqD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CACzG;SACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;SAC5D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAG,YAAY,GAAG,CAAC,CAAC;QAE7B,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,eAAe,YAAY,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,KAAK,IAAI,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,cAAc,GAAG,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI,cAAc,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,qEAAqE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1F,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,aAAa,GAAG,8BAA8B,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,IAAI,aAAa,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,gEAAgE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrF,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC3D,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACtF,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,qCAAqC,CAAC,IAAY;IACzD,OAAO,uGAAuG,CAAC,IAAI,CAAC,IAAI,CAAC;WACpH,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC;QACtD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAoB;IACnD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IACvE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAG/C,CAAC;QAEF,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YAC3D,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;SAClE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAiB,EACjB,QAAsB,EACtB,OAAiB,EACjB,UAAkC,EAClC,WAAqB,EACrB,aAA0C,EAC1C,QAAuB;IAEvB,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC3C,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;IACzC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,WAAW,GAAG,QAAQ;SACzB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9F,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SAC9B,IAAI,EAAE,CAAC;IACV,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,mBAAmB,CACpC,IAAI,CAAC,IAAI,EACT,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1B,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAC/B,YAAY,EAAE,KAAK,IAAI,CAAC,EACxB,WAAW,EACX,KAAK,EACL,eAAe,EACf,YAAY,CACb,CAAC;IACF,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACvG,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAEhE,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,kBAAkB,EAAE,QAAQ,CAAC,UAAU;QACvC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,OAAO;QACP,eAAe;QACf,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,YAAY;QACZ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,KAAK;QACL,WAAW;QACX,WAAW;QACX,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAiB,EACjB,eAAyB,EACzB,OAAiB;IAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAE/F,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC7F,+EAA+E;IAC/E,uEAAuE;IACvE,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,qDAAqD,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACxH,IAAI,kDAAkD,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAChF,IAAI,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACvJ,IAAI,kEAAkE,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/F,IAAI,iFAAiF,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IACpH,IAAI,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,uCAAuC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxH,IAAI,qDAAqD,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACvF,IAAI,8CAA8C,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACjG,IAAI,0CAA0C,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5F,IAAI,4DAA4D,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/F,IAAI,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,oEAAoE,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAEtG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAY,EACZ,YAAoB,EACpB,YAAqB,EACrB,aAAqB,EACrB,WAAqB,EACrB,KAAgB,EAChB,eAAyB,EACzB,YAA4C;IAE5C,IAAI,UAAU,GAAG,YAAY,GAAG,EAAE,GAAG,aAAa,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAEhF,IAAI,YAAY;QAAE,UAAU,IAAI,EAAE,CAAC;IACnC,IAAI,mDAAmD,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,UAAU,IAAI,CAAC,CAAC;IACpF,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACzC,UAAU,IAAI,gCAAgC,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACnG,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,gCAAgC,CACvC,IAAY,EACZ,eAAyB,EACzB,YAA4C,EAC5C,WAAqB;IAErB,MAAM,IAAI,GAAG,gCAAgC,CAC3C,IAAI,EACJ,CAAC,GAAG,eAAe,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAC9D,EAAE,CACH,CAAC;IACF,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IACtD,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAiB,EAAE,QAAsB;IAC/E,MAAM,IAAI,GAAG,gCAAgC,CAC3C,IAAI,CAAC,IAAI,EACT,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EACnE,QAAQ,CAAC,OAAO,EAChB,IAAI,CAAC,OAAO,CACb,CAAC;IAEF,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,KAAgB,EAChB,eAAyB,EACzB,YAA4C,EAC5C,WAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC;SACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC7D,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAY,EACZ,KAAgB,EAChB,WAAqB;IAErB,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,GAAG,IAAI,IAAI,YAAY,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;IAC3E,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;IACtF,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;QACxC,CAAC,CAAC,QAAQ,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACjD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1D,OAAO,GAAG,IAAI,eAAe,cAAc,IAAI,SAAS,oBAAoB,WAAW,GAAG,CAAC;AAC7F,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO,wFAAwF,CAAC;IAClG,CAAC;IACD,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,6EAA6E,CAAC;IACvF,CAAC;IACD,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,2FAA2F,CAAC;IACrG,CAAC;IACD,IAAI,mCAAmC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,6DAA6D,CAAC;IACvE,CAAC;IACD,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,kEAAkE,CAAC;IAC5E,CAAC;IACD,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,+DAA+D,CAAC;IACzE,CAAC;IACD,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,OAAO,4DAA4D,CAAC;IACtE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,WAAqB;IAC9D,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC;WACxB,2DAA2D,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAuB,EACvB,MAAmB,EACnB,WAAqB,EACrB,KAA+B,EAC/B,QAAuC;IAEvC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,mBAAmB,GAAG,MAAM;aAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACrD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;gBACjC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC7D,GAAG,mBAAmB;aACvB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,KAAK,gBAAgB;YACpD,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAClB,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACtG,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7F,MAAM,sBAAsB,GAAG,QAAQ;YACrC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,KAAK,MAAM,CAAC;YACxE,CAAC,CAAC,KAAK,CAAC;QAEV,OAAO;YACL,GAAG,OAAO;YACV,KAAK,EAAE,YAAY;YACnB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,WAAW,EAAE,cAAc;YAC3B,YAAY;YACZ,UAAU,EAAE,sBAAsB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5F,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,CAAC,UAAU;SACvB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAC9B,WAAmB,EACnB,KAAe,EACf,cAAwB,EACxB,MAAmB,EACnB,KAA+B;IAE/B,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACjF,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACtC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;WAC3B,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAClF,CAAC;IAEF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,WAAW,KAAK,eAAe,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC;eACtE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CACtB,CAAC;QACF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAAmB,EACnB,UAA8B,EAC9B,KAA+B,EAC/B,YAAsB;IAEtB,MAAM,cAAc,GAAG,0BAA0B,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,WAAW,KAAK,gBAAgB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,YAAY,GAAG,UAAU;YAC7B,CAAC,CAAC,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YACrE,CAAC,CAAC,YAAY,CAAC;QAEjB,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,IAAI,KAAK,UAAU,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7C,CAAC,CAAC,YAAY,IAAI,GAAG;YACrB,CAAC,CAAC,8BAA8B,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAC5D,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,6BAA6B,WAAW,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,CAAC,YAAY,UAAU,GAAG,CAAC,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,0BAA0B,CAAC,WAAmB,EAAE,KAAe;IACtE,MAAM,IAAI,GAAG,CAAC,GAAG,QAAkB,EAAE,EAAE,CACrC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,CAAC,GAAG,QAAkB,EAAE,EAAE,CACxC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAwC,EAAE,CAAC;IAEtD,yDAAyD;IACzD,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CACR,CAAC,wBAAwB,EAAE,IAAI,CAAC,2BAA2B,EAAE,sBAAsB,CAAC,CAAC,EACrF,CAAC,yBAAyB,EAAE,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC,EAC5E,CAAC,cAAc,EAAE,IAAI,CAAC,2BAA2B,EAAE,qBAAqB,CAAC,CAAC,EAC1E,CAAC,qBAAqB,EAAE,IAAI,CAAC,8BAA8B,EAAE,uBAAuB,CAAC,CAAC,EACtF,CAAC,wBAAwB,EAAE,IAAI,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,CAAC,CACnF,CAAC;IACJ,CAAC;IAED,yBAAyB;SACpB,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CACR,CAAC,8BAA8B,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAC,EAC9E,CAAC,sBAAsB,EAAE,IAAI,CAAC,kCAAkC,CAAC,CAAC,EAClE,CAAC,mBAAmB,EAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC,EACpE,CAAC,iBAAiB,EAAE,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;IAED,6BAA6B;SACxB,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CACR,CAAC,6BAA6B,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAClE,CAAC,yBAAyB,EAAE,IAAI,CAAC,gCAAgC,CAAC,CAAC,EACnE,CAAC,wBAAwB,EAAE,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED,4BAA4B;SACvB,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,CAAC,4BAA4B,EAAE,IAAI,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAC,EAC/E,CAAC,yBAAyB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,EACxD,CAAC,eAAe,EAAE,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAC7E,CAAC;IACJ,CAAC;IAED,8BAA8B;SACzB,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CACR,CAAC,eAAe,EAAE,IAAI,CAAC,yCAAyC,CAAC,CAAC,EAClE,CAAC,kBAAkB,EAAE,IAAI,CAAC,iCAAiC,CAAC,CAAC,EAC7D,CAAC,kBAAkB,EAAE,OAAO,CAAC,mEAAmE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,EAC7H,CAAC,oBAAoB,EAAE,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAC5E,CAAC;IACJ,CAAC;IAED,qFAAqF;SAChF,CAAC;QACJ,gFAAgF;QAChF,MAAM,UAAU,GAAG,WAAW;aAC3B,WAAW,EAAE;aACb,OAAO,CAAC,wCAAwC,EAAE,EAAE,CAAC;aACrD,KAAK,CAAC,KAAK,CAAC;aACZ,GAAG,CAAC,kBAAkB,CAAC;aACvB,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjB,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,MAAM,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;QAE1D,KAAK,CAAC,IAAI,CACR,CAAC,oBAAoB,EAAE,IAAI,CAAC,aAAa,EAAE,iCAAiC,CAAC,CAAC,EAC9E,CAAC,sBAAsB,EAAE,IAAI,CAAC,qCAAqC,CAAC,CAAC,EACrE,CAAC,aAAa,EAAE,IAAI,CAAC,6CAA6C,CAAC,CAAC,CACrE,CAAC;IACJ,CAAC;IAED,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5D,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,OAAO,IAAI,GAAG,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAY,EAAE,YAAsB;IAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;QAC5C,CAAC,CAAC,oBAAoB,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC3D,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,iDAAiD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACvE,OAAO,qBAAqB,IAAI,4DAA4D,cAAc,GAAG,CAAC;IAChH,CAAC;IACD,IAAI,mCAAmC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,OAAO,+BAA+B,IAAI,wEAAwE,cAAc,GAAG,CAAC;IACtI,CAAC;IACD,IAAI,kDAAkD,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACxE,OAAO,0BAA0B,IAAI,qDAAqD,cAAc,GAAG,CAAC;IAC9G,CAAC;IACD,IAAI,mCAAmC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,OAAO,sBAAsB,IAAI,+CAA+C,cAAc,GAAG,CAAC;IACpG,CAAC;IACD,IAAI,sCAAsC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,OAAO,6BAA6B,IAAI,wCAAwC,cAAc,GAAG,CAAC;IACpG,CAAC;IACD,IAAI,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,OAAO,6BAA6B,IAAI,sDAAsD,cAAc,GAAG,CAAC;IAClH,CAAC;IACD,IAAI,mCAAmC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,OAAO,4BAA4B,IAAI,oEAAoE,cAAc,GAAG,CAAC;IAC/H,CAAC;IAED,OAAO,6CAA6C,IAAI,GAAG,cAAc,GAAG,CAAC;AAC/E,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAuB,EACvB,SAAyC,EACzC,MAAmB,EACnB,KAA+B;IAE/B,OAAO;QACL,GAAG,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC5C,GAAG,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAuB,EACvB,SAAyC,EACzC,UAAiE,EAAE;IAEnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IACjC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC;IAEtD,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAClB,OAAO,CAAC,UAAU,KAAK,aAAa;WACjC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;WAC/B,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACnF;SACA,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;gBACjC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,OAAO,CAAC,WAAW;gBACtB,GAAG,OAAO,CAAC,KAAK;aACjB,CAAC,CAAC,CAAC;QACJ,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3D,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3E,OAAO;gBACL,KAAK;gBACL,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,OAAO;YAC5B,OAAO,EAAE,uCAAuC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG;YAC7E,IAAI,EAAE,SAAkB;YACxB,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,KAAK;YACL,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,QAAiB;SAChF,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAmB,EACnB,SAAyC,EACzC,KAA+B,EAC/B,UAA8D,EAAE;IAEhE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;IACjC,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,KAAK,CAAC;IAEnE,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,oBAAoB,CAAC;SAC/D,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,KAAK,EAAE,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;YAC9D,IAAI;YACJ,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO;SAClC,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,IAAI,EAAE,WAAW,KAAK,CAAC,IAAI,EAAE;YAC7B,OAAO,EAAE,wCAAwC,KAAK,CAAC,IAAI,gBAAgB;YAC3E,IAAI,EAAE,SAAkB;YACxB,UAAU,EAAE,KAAK,CAAC,IAAI;YACtB,KAAK;YACL,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,QAAiB;SACnE,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,gBAAgB,CACvB,SAAiB,EACjB,KAA+B,EAC/B,SAA0C;IAE1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC;IAE1B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAClE,SAAS;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC1D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAoB,EACpB,WAAqB,EACrB,aAA0C,EAC1C,SAAyC;IAEzC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,SAAS,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC;QAC7F,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SACrD,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACrE,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAyC,EACzC,QAAuB,EACvB,KAAiB,EACjB,KAA+B;IAE/B,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,OAAO,GAA+B,EAAE,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1C,MAAM,gBAAgB,GAAG,QAAQ;aAC9B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;aAChF,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,aAAa,GAAG,KAAK;aACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;aAC/D,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEjF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,GAAG;gBACd,OAAO,EAAE,WAAW;gBACpB,UAAU;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA+B;IAC/D,MAAM,OAAO,GAA6B,EAAE,CAAC;IAE7C,KAAK,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;YACtC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,UAAU,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAY,EACZ,QAAoC,EACpC,WAAoB;IAEpB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrD,MAAM,OAAO,GAAG,QAAQ,EAAE,YAAY;SACnC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAExE,OAAO,GAAG,MAAM,IAAI,IAAI,GAAG,UAAU,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAwB;IACxD,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI,GAAG,CAAC;QACb,KAAK;QACL,MAAM;QACN,SAAS;QACT,MAAM;QACN,SAAS;QACT,OAAO;QACP,MAAM;QACN,SAAS;QACT,QAAQ;KACT,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAoB,EACpB,WAAqB,EACrB,aAA0C,EAC1C,QAAuB;IAEvB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IACvE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;IACnG,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,MAAM,GAAG,KAAK;SACjB,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAE7C,OAAO,MAAM;SACV,WAAW,EAAE;SACb,KAAK,CAAC,YAAY,CAAC;SACnB,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"projectMetadata.d.ts","sourceRoot":"","sources":["../../../src/analyzers/pipeline/projectMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,mCAAmC,CAAC;AAG3C,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAChF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AACzE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,QAAQ,EAAE,eAAe,CAAC;IAC1B,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,WAAW,EAAE,EACpB,UAAU,GAAE,iBAAiB,EAA+C,GAC3E,eAAe,CAkBjB"}
1
+ {"version":3,"file":"projectMetadata.d.ts","sourceRoot":"","sources":["../../../src/analyzers/pipeline/projectMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACf,MAAM,mCAAmC,CAAC;AAG3C,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;AAChF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AACzE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,QAAQ,EAAE,eAAe,CAAC;IAC1B,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,WAAW,EAAE,EACpB,UAAU,GAAE,iBAAiB,EAA+C,GAC3E,eAAe,CAkBjB"}
@@ -1,5 +1,6 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { basename, join } from "node:path";
3
+ import { parseJsonText } from "../analysis/jsonText.js";
3
4
  import { BACKEND_FRAMEWORK_SET, FRONTEND_FRAMEWORK_SET, } from "../detectors/frameworkDetector.js";
4
5
  import { isArchitectureSource } from "../graph/index.js";
5
6
  export function detectProjectMetadata(projectRoot, framework, files, frameworks = framework === "unknown" ? [] : [framework]) {
@@ -7,7 +8,7 @@ export function detectProjectMetadata(projectRoot, framework, files, frameworks
7
8
  const projectTypes = detectProjectTypes(frameworks, manifests);
8
9
  const primaryManifest = selectPrimaryManifest(manifests, projectTypes);
9
10
  const workspaceType = detectWorkspaceType(projectRoot, manifests);
10
- const primaryFramework = isRootCliOrLibrary(manifests) ? "unknown" : framework;
11
+ const primaryFramework = isRootCliOrLibrary(manifests, framework) ? "unknown" : framework;
11
12
  return {
12
13
  name: readProjectName(manifests) ?? basename(projectRoot),
13
14
  root: projectRoot,
@@ -25,7 +26,7 @@ function readPackageManifests(files) {
25
26
  .filter((file) => file.path.endsWith("package.json") && isArchitectureSource(file.path))
26
27
  .flatMap((file) => {
27
28
  try {
28
- const parsed = JSON.parse(file.content);
29
+ const parsed = parseJsonText(file.content);
29
30
  return [{
30
31
  path: file.path,
31
32
  ...(typeof parsed.name === "string" ? { name: parsed.name } : {}),
@@ -55,13 +56,38 @@ function readPackageManifests(files) {
55
56
  * itself a CLI, and shouldn't have its correctly-detected framework (e.g.
56
57
  * an Astro app living in apps/web) blanked out to "unknown" because of it.
57
58
  */
58
- function isRootCliOrLibrary(manifests) {
59
+ function isRootCliOrLibrary(manifests, framework) {
59
60
  const rootManifest = manifests.find((manifest) => manifest.path === "package.json");
60
61
  if (!rootManifest)
61
62
  return false;
62
63
  if (rootManifest.bin)
63
64
  return true;
64
- return Boolean((rootManifest.exports || rootManifest.main) && !rootManifest.bin);
65
+ // `npm init` writes "main": "index.js" into every package, including plain
66
+ // Express/Next apps. A root that itself declares the detected framework is
67
+ // that app, not a library, whatever its main/exports say.
68
+ if (framework !== "unknown" && declaresFramework(rootManifest, framework))
69
+ return false;
70
+ return Boolean(rootManifest.exports || rootManifest.main);
71
+ }
72
+ // Runtime dependency whose presence in a manifest means "this package is that app".
73
+ const FRAMEWORK_DEPENDENCIES = {
74
+ nextjs: ["next"],
75
+ nuxt: ["nuxt"],
76
+ sveltekit: ["@sveltejs/kit"],
77
+ astro: ["astro"],
78
+ react: ["react-dom", "react-scripts"],
79
+ vue: ["vue"],
80
+ svelte: ["svelte"],
81
+ nestjs: ["@nestjs/core"],
82
+ fastify: ["fastify"],
83
+ express: ["express"],
84
+ koa: ["koa"]
85
+ };
86
+ function declaresFramework(manifest, framework) {
87
+ return (FRAMEWORK_DEPENDENCIES[framework] ?? []).some((dependency) => dependency in manifest.dependencies || dependency in manifest.devDependencies);
88
+ }
89
+ function declaresAnyFramework(manifest) {
90
+ return Object.keys(FRAMEWORK_DEPENDENCIES).some((framework) => declaresFramework(manifest, framework));
65
91
  }
66
92
  function readProjectName(manifests) {
67
93
  const rootManifest = manifests.find((manifest) => manifest.path === "package.json");
@@ -78,7 +104,9 @@ function detectProjectTypes(frameworks, manifests) {
78
104
  if (manifests.some((manifest) => manifest.bin)) {
79
105
  types.add("node-cli");
80
106
  }
81
- if (manifests.some((manifest) => (manifest.exports || manifest.main) && !manifest.bin)) {
107
+ // A package that ships an app framework with its default "main" is an app,
108
+ // not a library.
109
+ if (manifests.some((manifest) => (manifest.exports || manifest.main) && !manifest.bin && !declaresAnyFramework(manifest))) {
82
110
  types.add("library");
83
111
  }
84
112
  return types.size > 0 ? [...types] : ["unknown"];
@@ -1 +1 @@
1
- {"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/analyzers/pipeline/projectMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectMetadata.js","sourceRoot":"","sources":["../../../src/analyzers/pipeline/projectMetadata.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,6 @@ export async function analyzeCommand(target = ".", options = {}, dependencies =
22
22
  async function runAnalyze(target, options, dependencies) {
23
23
  const projectRoot = resolve(target);
24
24
  output.section("DevMap Analyze");
25
- output.step(`Scanning ${projectRoot}`);
26
25
  // Build callAI wrapper — dipakai oleh domain inference (Step 5) di createProjectMap.
27
26
  // Dibuat di sini biar analyze command yang kontrol config + client lifecycle,
28
27
  // sementara projectMap tetap decoupled dari AI provider specifics.