ai-first-cli 1.3.5 → 1.3.8

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 (126) hide show
  1. package/CHANGELOG.md +186 -0
  2. package/README.es.md +68 -0
  3. package/README.md +53 -15
  4. package/ai/graph/knowledge-graph.json +1 -1
  5. package/ai-context/index-state.json +86 -2
  6. package/dist/analyzers/architecture.d.ts.map +1 -1
  7. package/dist/analyzers/architecture.js +72 -5
  8. package/dist/analyzers/architecture.js.map +1 -1
  9. package/dist/analyzers/entrypoints.d.ts.map +1 -1
  10. package/dist/analyzers/entrypoints.js +253 -0
  11. package/dist/analyzers/entrypoints.js.map +1 -1
  12. package/dist/analyzers/symbols.d.ts.map +1 -1
  13. package/dist/analyzers/symbols.js +47 -2
  14. package/dist/analyzers/symbols.js.map +1 -1
  15. package/dist/analyzers/techStack.d.ts.map +1 -1
  16. package/dist/analyzers/techStack.js +86 -0
  17. package/dist/analyzers/techStack.js.map +1 -1
  18. package/dist/commands/ai-first.d.ts.map +1 -1
  19. package/dist/commands/ai-first.js +78 -4
  20. package/dist/commands/ai-first.js.map +1 -1
  21. package/dist/config/configLoader.d.ts +6 -0
  22. package/dist/config/configLoader.d.ts.map +1 -0
  23. package/dist/config/configLoader.js +232 -0
  24. package/dist/config/configLoader.js.map +1 -0
  25. package/dist/config/index.d.ts +3 -0
  26. package/dist/config/index.d.ts.map +1 -0
  27. package/dist/config/index.js +2 -0
  28. package/dist/config/index.js.map +1 -0
  29. package/dist/config/types.d.ts +101 -0
  30. package/dist/config/types.d.ts.map +1 -0
  31. package/dist/config/types.js +2 -0
  32. package/dist/config/types.js.map +1 -0
  33. package/dist/core/content/contentProcessor.d.ts +4 -0
  34. package/dist/core/content/contentProcessor.d.ts.map +1 -0
  35. package/dist/core/content/contentProcessor.js +235 -0
  36. package/dist/core/content/contentProcessor.js.map +1 -0
  37. package/dist/core/content/index.d.ts +3 -0
  38. package/dist/core/content/index.d.ts.map +1 -0
  39. package/dist/core/content/index.js +2 -0
  40. package/dist/core/content/index.js.map +1 -0
  41. package/dist/core/content/types.d.ts +32 -0
  42. package/dist/core/content/types.d.ts.map +1 -0
  43. package/dist/core/content/types.js +2 -0
  44. package/dist/core/content/types.js.map +1 -0
  45. package/dist/core/gitAnalyzer.d.ts +14 -0
  46. package/dist/core/gitAnalyzer.d.ts.map +1 -1
  47. package/dist/core/gitAnalyzer.js +98 -0
  48. package/dist/core/gitAnalyzer.js.map +1 -1
  49. package/dist/core/multiRepo/index.d.ts +3 -0
  50. package/dist/core/multiRepo/index.d.ts.map +1 -0
  51. package/dist/core/multiRepo/index.js +2 -0
  52. package/dist/core/multiRepo/index.js.map +1 -0
  53. package/dist/core/multiRepo/multiRepoScanner.d.ts +18 -0
  54. package/dist/core/multiRepo/multiRepoScanner.d.ts.map +1 -0
  55. package/dist/core/multiRepo/multiRepoScanner.js +131 -0
  56. package/dist/core/multiRepo/multiRepoScanner.js.map +1 -0
  57. package/dist/core/rag/index.d.ts +3 -0
  58. package/dist/core/rag/index.d.ts.map +1 -0
  59. package/dist/core/rag/index.js +2 -0
  60. package/dist/core/rag/index.js.map +1 -0
  61. package/dist/core/rag/vectorIndex.d.ts +28 -0
  62. package/dist/core/rag/vectorIndex.d.ts.map +1 -0
  63. package/dist/core/rag/vectorIndex.js +71 -0
  64. package/dist/core/rag/vectorIndex.js.map +1 -0
  65. package/dist/mcp/index.d.ts +2 -0
  66. package/dist/mcp/index.d.ts.map +1 -0
  67. package/dist/mcp/index.js +2 -0
  68. package/dist/mcp/index.js.map +1 -0
  69. package/dist/mcp/server.d.ts +7 -0
  70. package/dist/mcp/server.d.ts.map +1 -0
  71. package/dist/mcp/server.js +154 -0
  72. package/dist/mcp/server.js.map +1 -0
  73. package/dist/utils/fileUtils.d.ts.map +1 -1
  74. package/dist/utils/fileUtils.js +5 -0
  75. package/dist/utils/fileUtils.js.map +1 -1
  76. package/docs/planning/evaluator-v1.0.0/README.md +112 -0
  77. package/docs/planning/evaluator-v1.0.0/improvements_plan_2026-03-28.md +237 -0
  78. package/package.json +13 -3
  79. package/src/analyzers/architecture.ts +75 -6
  80. package/src/analyzers/entrypoints.ts +285 -0
  81. package/src/analyzers/symbols.ts +52 -2
  82. package/src/analyzers/techStack.ts +90 -0
  83. package/src/commands/ai-first.ts +83 -4
  84. package/src/config/configLoader.ts +274 -0
  85. package/src/config/index.ts +27 -0
  86. package/src/config/types.ts +117 -0
  87. package/src/core/content/contentProcessor.ts +292 -0
  88. package/src/core/content/index.ts +9 -0
  89. package/src/core/content/types.ts +35 -0
  90. package/src/core/gitAnalyzer.ts +130 -0
  91. package/src/core/multiRepo/index.ts +2 -0
  92. package/src/core/multiRepo/multiRepoScanner.ts +177 -0
  93. package/src/core/rag/index.ts +2 -0
  94. package/src/core/rag/vectorIndex.ts +105 -0
  95. package/src/mcp/index.ts +1 -0
  96. package/src/mcp/server.ts +179 -0
  97. package/src/utils/fileUtils.ts +5 -0
  98. package/tests/entrypoints-languages.test.ts +373 -0
  99. package/tests/framework-detection.test.ts +296 -0
  100. package/tests/v1.3.8-integration.test.ts +361 -0
  101. package/BETA_EVALUATION_REPORT.md +0 -151
  102. package/ai-context/context/flows/App.json +0 -17
  103. package/ai-context/context/flows/DashboardPage.json +0 -14
  104. package/ai-context/context/flows/LoginPage.json +0 -14
  105. package/ai-context/context/flows/admin.json +0 -10
  106. package/ai-context/context/flows/androidresources.json +0 -11
  107. package/ai-context/context/flows/authController.json +0 -14
  108. package/ai-context/context/flows/entrypoints.json +0 -9
  109. package/ai-context/context/flows/fastapiAdapter.json +0 -14
  110. package/ai-context/context/flows/fastapiadapter.json +0 -11
  111. package/ai-context/context/flows/index.json +0 -19
  112. package/ai-context/context/flows/indexer.json +0 -9
  113. package/ai-context/context/flows/indexstate.json +0 -9
  114. package/ai-context/context/flows/init.json +0 -22
  115. package/ai-context/context/flows/main.json +0 -18
  116. package/ai-context/context/flows/mainactivity.json +0 -9
  117. package/ai-context/context/flows/models.json +0 -15
  118. package/ai-context/context/flows/posts.json +0 -15
  119. package/ai-context/context/flows/repoMapper.json +0 -20
  120. package/ai-context/context/flows/repomapper.json +0 -11
  121. package/ai-context/context/flows/serializers.json +0 -10
  122. package/ai-context-evaluation-report-1774223059505.md +0 -206
  123. package/dist/scripts/ai-context-evaluator.js +0 -367
  124. package/quick-evaluation-report-1774396002305.md +0 -64
  125. package/quick-evaluator.ts +0 -200
  126. package/scripts/ai-context-evaluator.ts +0 -440
@@ -72,6 +72,33 @@ export function discoverEntrypoints(files, rootDir) {
72
72
  }
73
73
  catch { }
74
74
  }
75
+ // Detect Go entrypoints
76
+ const goFiles = files.filter(f => f.extension === "go");
77
+ if (goFiles.length > 0) {
78
+ try {
79
+ const goEntrypoints = discoverGoEntrypoints(goFiles, rootDir);
80
+ entrypoints.push(...goEntrypoints);
81
+ }
82
+ catch { }
83
+ }
84
+ // Detect Rust entrypoints
85
+ const rustFiles = files.filter(f => f.extension === "rs");
86
+ if (rustFiles.length > 0) {
87
+ try {
88
+ const rustEntrypoints = discoverRustEntrypoints(rustFiles, rootDir);
89
+ entrypoints.push(...rustEntrypoints);
90
+ }
91
+ catch { }
92
+ }
93
+ // Detect PHP entrypoints
94
+ const phpFiles = files.filter(f => f.extension === "php");
95
+ if (phpFiles.length > 0) {
96
+ try {
97
+ const phpEntrypoints = discoverPHPEntrypoints(phpFiles, rootDir);
98
+ entrypoints.push(...phpEntrypoints);
99
+ }
100
+ catch { }
101
+ }
75
102
  return entrypoints;
76
103
  }
77
104
  /**
@@ -236,6 +263,232 @@ function getScriptType(name) {
236
263
  return "formatter";
237
264
  return null;
238
265
  }
266
+ function discoverGoEntrypoints(goFiles, rootDir) {
267
+ const entrypoints = [];
268
+ for (const file of goFiles) {
269
+ try {
270
+ const content = readFile(path.join(rootDir, file.relativePath));
271
+ const fileName = file.name;
272
+ if (fileName === "main.go") {
273
+ const hasMain = content.match(/func\s+main\s*\(\s*\)/);
274
+ const packageMatch = content.match(/package\s+(\w+)/);
275
+ const packageName = packageMatch ? packageMatch[1] : "main";
276
+ const handlers = [];
277
+ const handlerMatches = content.matchAll(/http\.HandleFunc\s*\(\s*["']([^"']+)["']/g);
278
+ for (const match of handlerMatches) {
279
+ handlers.push(match[1]);
280
+ }
281
+ const portMatches = content.matchAll(/:\s*(\d{2,5})/g);
282
+ const ports = [];
283
+ for (const match of portMatches) {
284
+ ports.push(match[1]);
285
+ }
286
+ let description = `Go main package (${packageName})`;
287
+ if (handlers.length > 0) {
288
+ description += ` with HTTP handlers: ${handlers.join(", ")}`;
289
+ }
290
+ if (ports.length > 0) {
291
+ description += ` on port${ports.length > 1 ? "s" : ""} :${ports.join(", :")}`;
292
+ }
293
+ entrypoints.push({
294
+ name: "main.go",
295
+ path: file.relativePath,
296
+ type: hasMain ? "server" : "library",
297
+ description,
298
+ });
299
+ }
300
+ else {
301
+ const structMatches = content.matchAll(/type\s+(\w+)\s+struct/g);
302
+ const structs = [];
303
+ for (const match of structMatches) {
304
+ structs.push(match[1]);
305
+ }
306
+ const methodMatches = content.matchAll(/func\s*\(?\s*\*?\s*(\w+)\s*\)?\s*(\w+)\s*\(/g);
307
+ const methods = [];
308
+ for (const match of methodMatches) {
309
+ methods.push(match[2]);
310
+ }
311
+ if (structs.length > 0 || methods.length > 0) {
312
+ let description = "Go module";
313
+ if (structs.length > 0) {
314
+ description += ` with structs: ${structs.slice(0, 3).join(", ")}`;
315
+ }
316
+ if (methods.length > 0) {
317
+ description += `, methods: ${methods.slice(0, 3).join(", ")}`;
318
+ }
319
+ entrypoints.push({
320
+ name: fileName,
321
+ path: file.relativePath,
322
+ type: "library",
323
+ description,
324
+ });
325
+ }
326
+ }
327
+ }
328
+ catch { }
329
+ }
330
+ const goModPath = path.join(rootDir, "go.mod");
331
+ try {
332
+ const goMod = readFile(goModPath);
333
+ const moduleMatch = goMod.match(/module\s+(\S+)/);
334
+ if (moduleMatch) {
335
+ entrypoints.push({
336
+ name: "go.mod",
337
+ path: "go.mod",
338
+ type: "config",
339
+ description: `Go module: ${moduleMatch[1]}`,
340
+ });
341
+ }
342
+ }
343
+ catch { }
344
+ return entrypoints;
345
+ }
346
+ function discoverRustEntrypoints(rustFiles, rootDir) {
347
+ const entrypoints = [];
348
+ for (const file of rustFiles) {
349
+ try {
350
+ const content = readFile(path.join(rootDir, file.relativePath));
351
+ const fileName = file.name;
352
+ if (fileName === "main.rs") {
353
+ const hasMain = content.match(/fn\s+main\s*\(\s*\)/);
354
+ const structMatches = content.matchAll(/struct\s+(\w+)/g);
355
+ const structs = [];
356
+ for (const match of structMatches) {
357
+ structs.push(match[1]);
358
+ }
359
+ const implMatches = content.matchAll(/impl\s+(?:\w+\s+for\s+)?(\w+)/g);
360
+ const implementations = [];
361
+ for (const match of implMatches) {
362
+ implementations.push(match[1]);
363
+ }
364
+ let description = "Rust main";
365
+ if (structs.length > 0) {
366
+ description += ` with structs: ${structs.slice(0, 3).join(", ")}`;
367
+ }
368
+ if (implementations.length > 0) {
369
+ description += `, implementations: ${implementations.slice(0, 3).join(", ")}`;
370
+ }
371
+ entrypoints.push({
372
+ name: "main.rs",
373
+ path: file.relativePath,
374
+ type: hasMain ? "cli" : "library",
375
+ description,
376
+ });
377
+ }
378
+ else if (fileName === "lib.rs") {
379
+ const pubFnMatches = content.matchAll(/pub\s+fn\s+(\w+)/g);
380
+ const publicFns = [];
381
+ for (const match of pubFnMatches) {
382
+ publicFns.push(match[1]);
383
+ }
384
+ let description = "Rust library";
385
+ if (publicFns.length > 0) {
386
+ description += ` with public functions: ${publicFns.slice(0, 3).join(", ")}`;
387
+ }
388
+ entrypoints.push({
389
+ name: "lib.rs",
390
+ path: file.relativePath,
391
+ type: "library",
392
+ description,
393
+ });
394
+ }
395
+ }
396
+ catch { }
397
+ }
398
+ const cargoPath = path.join(rootDir, "Cargo.toml");
399
+ try {
400
+ const cargoContent = readFile(cargoPath);
401
+ const nameMatch = cargoContent.match(/name\s*=\s*"([^"]+)"/);
402
+ const versionMatch = cargoContent.match(/version\s*=\s*"([^"]+)"/);
403
+ let description = "Rust project";
404
+ if (nameMatch) {
405
+ description += `: ${nameMatch[1]}`;
406
+ }
407
+ if (versionMatch) {
408
+ description += ` v${versionMatch[1]}`;
409
+ }
410
+ const binMatch = cargoContent.match(/\[\[bin\]\]/);
411
+ if (binMatch) {
412
+ description += " (has binaries)";
413
+ }
414
+ entrypoints.push({
415
+ name: "Cargo.toml",
416
+ path: "Cargo.toml",
417
+ type: "config",
418
+ description,
419
+ });
420
+ }
421
+ catch { }
422
+ return entrypoints;
423
+ }
424
+ function discoverPHPEntrypoints(phpFiles, rootDir) {
425
+ const entrypoints = [];
426
+ const hasIndexPhp = phpFiles.some(f => f.name === "index.php");
427
+ const hasPublicIndex = phpFiles.some(f => f.relativePath.includes("public/index.php"));
428
+ if (hasIndexPhp) {
429
+ const indexFile = phpFiles.find(f => f.name === "index.php");
430
+ try {
431
+ const content = readFile(path.join(rootDir, indexFile.relativePath));
432
+ const classMatches = content.matchAll(/class\s+(\w+)/g);
433
+ const classes = [];
434
+ for (const match of classMatches) {
435
+ classes.push(match[1]);
436
+ }
437
+ const routes = [];
438
+ // Match $router->get('/path') or $app->post('/path') patterns
439
+ const httpMethodMatches = content.matchAll(/->\s*(?:get|post|put|delete|patch)\s*\(\s*["']([^"']+)["']/g);
440
+ for (const match of httpMethodMatches) {
441
+ routes.push(match[1]);
442
+ }
443
+ // Match $router->add('METHOD', '/path') patterns (second argument is the path)
444
+ const addMethodMatches = content.matchAll(/->\s*add\s*\(\s*["'][^"']+["']\s*,\s*["']([^"']+)["']/g);
445
+ for (const match of addMethodMatches) {
446
+ routes.push(match[1]);
447
+ }
448
+ let description = "PHP entry point";
449
+ if (classes.length > 0) {
450
+ description += ` with classes: ${classes.slice(0, 3).join(", ")}`;
451
+ }
452
+ if (routes.length > 0) {
453
+ description += `, routes: ${routes.slice(0, 3).join(", ")}`;
454
+ }
455
+ entrypoints.push({
456
+ name: "index.php",
457
+ path: indexFile.relativePath,
458
+ type: hasPublicIndex ? "server" : "api",
459
+ description,
460
+ });
461
+ }
462
+ catch { }
463
+ }
464
+ const composerPath = path.join(rootDir, "composer.json");
465
+ try {
466
+ const composer = readJsonFile(composerPath);
467
+ let description = "PHP project";
468
+ if (composer.name) {
469
+ description += `: ${composer.name}`;
470
+ }
471
+ if (composer.description) {
472
+ description += ` - ${composer.description}`;
473
+ }
474
+ const hasLaravel = composer.require && (composer.require["laravel/framework"] || composer.require["illuminate/support"]);
475
+ const hasSymfony = composer.require && (composer.require["symfony/framework-bundle"] || composer.require["symfony/symfony"]);
476
+ if (hasLaravel) {
477
+ description += " (Laravel)";
478
+ }
479
+ else if (hasSymfony) {
480
+ description += " (Symfony)";
481
+ }
482
+ entrypoints.push({
483
+ name: "composer.json",
484
+ path: "composer.json",
485
+ type: "config",
486
+ description,
487
+ });
488
+ }
489
+ catch { }
490
+ return entrypoints;
491
+ }
239
492
  export function generateEntrypointsFile(entrypoints) {
240
493
  const grouped = new Map();
241
494
  for (const ep of entrypoints) {
@@ -1 +1 @@
1
- {"version":3,"file":"entrypoints.js","sourceRoot":"","sources":["../../src/analyzers/entrypoints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entrypoints.js","sourceRoot":"","sources":["../../src/analyzers/entrypoints.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,IAAI,MAAM,MAAM,CAAC;AAUxB,MAAM,UAAU,mBAAmB,CAAC,KAAiB,EAAE,OAAe;IACpE,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAO/B,CAAC;QAEF,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;YACvE,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;oBACpC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;oBACrB,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,QAAQ,IAAI,EAAE;oBAC3B,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE;iBACrD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7B,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACtI,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClE,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBACvC,IAAI,IAAI,EAAE,CAAC;oBACT,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,wBAAwB,UAAU,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,UAAU,KAAK,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,UAAU,EAAE,EAAE,CAAC,CAAC;gBACzK,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,kBAAkB;IAClB,MAAM,QAAQ,GAA+D;QAC3E,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;QACjG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;QACvF,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;KACxF,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC;IAC7E,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YAC5E,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,eAAe,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;YACxF,WAAW,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;IACpE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,qBAAqB,GAAG,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5E,WAAW,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,kDAAkD;IAClD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC;IAC9D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACzE,WAAW,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9D,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;IAC1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACpE,WAAW,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,yBAAyB;IACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjE,WAAW,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,YAAoB;IACjE,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,uBAAuB;IACvB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,qBAAqB;IACrB,MAAM,aAAa,GAAG,6CAA6C,CAAC;IACpE,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,YAAY,GAAG,CAAC;YAClD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QAEpE,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,YAAY;YACnD,IAAI,EAAE,GAAG,YAAY,IAAI,YAAY,EAAE;YACvC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;YACjC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,WAAW,GAAG,CAAC,CAAC,CAAC,aAAa,YAAY,EAAE;YACpF,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB,WAAW,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS;SACrF,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IACnB,MAAM,YAAY,GAAG,4CAA4C,CAAC;IAClE,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC;YAC3C,IAAI,EAAE,GAAG,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE;YAC3C,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,YAAY,KAAK,CAAC,CAAC,CAAC,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,MAAM,aAAa,GAAG,6CAA6C,CAAC;IACpE,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC;YAC3C,IAAI,EAAE,GAAG,YAAY,aAAa,KAAK,CAAC,CAAC,CAAC,EAAE;YAC5C,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,sBAAsB,KAAK,CAAC,CAAC,CAAC,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;IACtB,MAAM,eAAe,GAAG,oDAAoD,CAAC;IAC7E,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,OAAO,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,GAAG,YAAY,cAAc;YACnC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,GAAG,WAAW,CAAC,MAAM,uBAAuB;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAiB,EAAE,OAAe;IACvE,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAExF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YAEpE,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACrE,IAAI,YAAY,EAAE,CAAC;oBACjB,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;wBACrB,IAAI,EAAE,QAAQ,CAAC,YAAY;wBAC3B,IAAI,EAAE,KAAK;wBACX,WAAW,EAAE,cAAc,YAAY,CAAC,CAAC,CAAC,UAAU;qBACrD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,iGAAiG,CAAC,CAAC;gBACpI,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBAChC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAE5C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;oBACpE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;oBACpE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;oBAEhE,IAAI,WAAW,GAAG,YAAY,CAAC;oBAC/B,IAAI,YAAY;wBAAE,WAAW,IAAI,kBAAkB,CAAC;yBAC/C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;wBAAE,WAAW,IAAI,KAAK,WAAW,CAAC,MAAM,wBAAwB,CAAC;yBAC3F,IAAI,UAAU;wBAAE,WAAW,IAAI,eAAe,CAAC;oBAEpD,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ,CAAC,YAAY;wBAC3B,IAAI,EAAE,KAAK;wBACX,WAAW;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,mIAAmI,CAAC;IACxJ,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CAAC,UAAsB,EAAE,OAAe;IACzE,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;YAErE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,4BAA4B,CAAC;YACjD,IAAI,KAAK,CAAC;YACV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,aAAa,GAAG,QAAQ,KAAK,aAAa,CAAC;gBAEjD,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS,CAAC,YAAY;oBAC5B,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB,QAAQ,EAAE;iBAC/E,CAAC,CAAC;YACL,CAAC;YAED,MAAM,QAAQ,GAAG,8BAA8B,CAAC;YAChD,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjD,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,IAAI,EAAE,SAAS,CAAC,YAAY;oBAC5B,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4BAA4B,KAAK,CAAC,CAAC,CAAC,EAAE;iBACpD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrF,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,OAAO,CAAC;IACjE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,WAAW,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAmB,EAAE,OAAe;IACjE,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAE3B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACvD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACtD,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAE5D,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAC;gBACrF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;oBACnC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;gBAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;oBAChC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;gBAED,IAAI,WAAW,GAAG,oBAAoB,WAAW,GAAG,CAAC;gBACrD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,WAAW,IAAI,wBAAwB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,WAAW,IAAI,WAAW,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChF,CAAC;gBAED,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,IAAI,CAAC,YAAY;oBACvB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oBACpC,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;gBACjE,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;oBAClC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;gBAED,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,8CAA8C,CAAC,CAAC;gBACvF,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;oBAClC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;gBAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7C,IAAI,WAAW,GAAG,WAAW,CAAC;oBAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,WAAW,IAAI,kBAAkB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpE,CAAC;oBACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,WAAW,IAAI,cAAc,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChE,CAAC;oBAED,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,IAAI,CAAC,YAAY;wBACvB,IAAI,EAAE,SAAS;wBACf,WAAW;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAClD,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,cAAc,WAAW,CAAC,CAAC,CAAC,EAAE;aAC5C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAqB,EAAE,OAAe;IACrE,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YAE3B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAErD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gBAC1D,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;oBAClC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;gBAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;gBACvE,MAAM,eAAe,GAAa,EAAE,CAAC;gBACrC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;oBAChC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC;gBAED,IAAI,WAAW,GAAG,WAAW,CAAC;gBAC9B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,WAAW,IAAI,kBAAkB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpE,CAAC;gBACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,WAAW,IAAI,sBAAsB,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChF,CAAC;gBAED,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,IAAI,CAAC,YAAY;oBACvB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBACjC,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACjC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAC3D,MAAM,SAAS,GAAa,EAAE,CAAC;gBAC/B,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;oBACjC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC;gBAED,IAAI,WAAW,GAAG,cAAc,CAAC;gBACjC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,WAAW,IAAI,2BAA2B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/E,CAAC;gBAED,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,IAAI,CAAC,YAAY;oBACvB,IAAI,EAAE,SAAS;oBACf,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAEnE,IAAI,WAAW,GAAG,cAAc,CAAC;QACjC,IAAI,SAAS,EAAE,CAAC;YACd,WAAW,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,WAAW,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,IAAI,iBAAiB,CAAC;QACnC,CAAC;QAED,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAoB,EAAE,OAAe;IACnE,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEvF,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAE,CAAC;QAC9D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;YAErE,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACxD,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,8DAA8D;YAC9D,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,6DAA6D,CAAC,CAAC;YAC1G,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;YAED,+EAA+E;YAC/E,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,wDAAwD,CAAC,CAAC;YACpG,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,WAAW,GAAG,iBAAiB,CAAC;YACpC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,WAAW,IAAI,kBAAkB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpE,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,WAAW,IAAI,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,CAAC;YAED,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS,CAAC,YAAY;gBAC5B,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;gBACvC,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAA8E,CAAC;QAEzH,IAAI,WAAW,GAAG,aAAa,CAAC;QAChC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,WAAW,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,WAAW,IAAI,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC9C,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACzH,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE7H,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,IAAI,YAAY,CAAC;QAC9B,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,WAAW,IAAI,YAAY,CAAC;QAC9B,CAAC;QAED,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAyB;IAC/D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;IAChD,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,GAAG,mBAAmB,CAAC;IAClC,MAAM,MAAM,GAA2B,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAElO,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,2DAA2D,CAAC;QACjG,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,OAAO,IAAI,KAAK,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC,OAAO,IAAI,GAAG,MAAM,CAAC;QAC5F,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IAED,OAAO,OAAO,GAAG,gCAAgC,CAAC;AACpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/analyzers/symbols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAe,CA0BjE;AAkkBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAsBrE"}
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/analyzers/symbols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAe,CA0BjE;AAonBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAsBrE"}
@@ -475,8 +475,21 @@ function parseSwift(file, content, lines, symbols) {
475
475
  * Parse Apex (Salesforce) files
476
476
  */
477
477
  function parseApex(file, content, lines, symbols) {
478
+ // Track annotations across lines
479
+ let pendingAnnotations = [];
478
480
  for (let i = 0; i < lines.length; i++) {
479
481
  const line = lines[i].trim();
482
+ // Skip empty lines
483
+ if (!line) {
484
+ continue;
485
+ }
486
+ // Collect annotations (@AuraEnabled, @IsTest, etc.) - handles both single-line and multi-line
487
+ // Match patterns like @AuraEnabled, @AuraEnabled(cacheable=true), @IsTest
488
+ const annotationMatch = line.match(/^@(\w+)(?:\s*\([^)]*\))?\s*$/);
489
+ if (annotationMatch) {
490
+ pendingAnnotations.push(annotationMatch[1]);
491
+ continue;
492
+ }
480
493
  // Classes: public with sharing class ClassName, public class ClassName, etc.
481
494
  const classMatch = line.match(/^(?:\s*(?:public|private|global)(?:\s+(?:with|without|inherited)\s+sharing)?\s+)?class\s+(\w+)/);
482
495
  if (classMatch) {
@@ -488,6 +501,8 @@ function parseApex(file, content, lines, symbols) {
488
501
  line: i + 1,
489
502
  export: true,
490
503
  });
504
+ pendingAnnotations = [];
505
+ continue;
491
506
  }
492
507
  // Interfaces
493
508
  const interfaceMatch = line.match(/^(?:public\s+)?interface\s+(\w+)/);
@@ -500,10 +515,15 @@ function parseApex(file, content, lines, symbols) {
500
515
  line: i + 1,
501
516
  export: true,
502
517
  });
518
+ pendingAnnotations = [];
519
+ continue;
503
520
  }
504
521
  // Methods: public static ReturnType methodName(
505
522
  // Also handles @AuraEnabled public static ReturnType methodName(
506
- const methodMatch = line.match(/^(?:@\w+\s+)?(?:public|private|protected|global)\s+(?:static\s+)?(?:\w+)\s+(\w+)\s*\(/);
523
+ // Also handles @AuraEnabled(cacheable=true) on separate line
524
+ // Handles generic return types like List<Account>, Map<String, Object>
525
+ // Also handles webservice methods
526
+ const methodMatch = line.match(/^(?:@\w+(?:\s*\([^)]*\))?\s+)?(?:public|private|protected|global|webservice)\s+(?:static\s+)?(?:[\w<>,\s]+?)\s+(\w+)\s*\(/);
507
527
  if (methodMatch && !["if", "for", "while", "switch"].includes(methodMatch[1])) {
508
528
  symbols.push({
509
529
  id: generateSymbolId(file.relativePath, methodMatch[1]),
@@ -511,8 +531,27 @@ function parseApex(file, content, lines, symbols) {
511
531
  type: "function",
512
532
  file: file.relativePath,
513
533
  line: i + 1,
514
- export: line.includes("public") || line.includes("global"),
534
+ export: line.includes("public") || line.includes("global") || line.includes("webservice"),
515
535
  });
536
+ pendingAnnotations = [];
537
+ continue;
538
+ }
539
+ // Alternative: Method with annotations on previous lines
540
+ // Check if we have pending annotations and current line looks like a method
541
+ if (pendingAnnotations.length > 0) {
542
+ const methodWithAnnotationMatch = line.match(/^(?:public|private|protected|global|webservice)\s+(?:static\s+)?(?:[\w<>,\s]+?)\s+(\w+)\s*\(/);
543
+ if (methodWithAnnotationMatch && !["if", "for", "while", "switch"].includes(methodWithAnnotationMatch[1])) {
544
+ symbols.push({
545
+ id: generateSymbolId(file.relativePath, methodWithAnnotationMatch[1]),
546
+ name: methodWithAnnotationMatch[1],
547
+ type: "function",
548
+ file: file.relativePath,
549
+ line: i + 1,
550
+ export: line.includes("public") || line.includes("global") || line.includes("webservice"),
551
+ });
552
+ pendingAnnotations = [];
553
+ continue;
554
+ }
516
555
  }
517
556
  // Triggers: trigger TriggerName on ObjectName
518
557
  const triggerMatch = line.match(/^trigger\s+(\w+)\s+on\s+(\w+)/);
@@ -525,6 +564,12 @@ function parseApex(file, content, lines, symbols) {
525
564
  line: i + 1,
526
565
  export: true,
527
566
  });
567
+ pendingAnnotations = [];
568
+ continue;
569
+ }
570
+ // Reset pending annotations if we encounter non-annotation, non-method line
571
+ if (!line.startsWith("@")) {
572
+ pendingAnnotations = [];
528
573
  }
529
574
  }
530
575
  }
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/analyzers/symbols.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAkBlF;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,UAAkB;IACnE,OAAO,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAA6B,EAAE,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAE7B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;YACrE,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACnC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACnC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACnC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAC,IAAc,EAAE,OAAe,EAAE,KAAe,EAAE,OAAiB;IACpG,MAAM,QAAQ,GAAG;QACf,EAAE,KAAK,EAAE,kGAAkG,EAAE,IAAI,EAAE,UAAmB,EAAE;QACxI,EAAE,KAAK,EAAE,6DAA6D,EAAE,IAAI,EAAE,UAAmB,EAAE;QACnG,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,OAAgB,EAAE;QAClD,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAoB,EAAE;QAC1D,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAe,EAAE;QAChD,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAe,EAAE;QAChD,EAAE,KAAK,EAAE,qCAAqC,EAAE,IAAI,EAAE,OAAgB,EAAE;QACxE,EAAE,KAAK,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAiB,EAAE;KAC9D,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9C,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC;wBAC7C,IAAI;wBACJ,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,IAAI,EAAE,IAAI,CAAC,YAAY;wBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;wBACX,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;qBAClC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAc,EAAE,OAAe,EAAE,KAAe,EAAE,OAAiB;IACtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;aAChE,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,IAAc,EAAE,OAAe,EAAE,KAAe,EAAE,OAAiB;IAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACtE,IAAI,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;aAC3F,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1D,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,IAAc,EAAE,OAAe,EAAE,KAAe,EAAE,OAAiB;IACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACxD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,IAAc,EAAE,OAAe,EAAE,KAAe,EAAE,OAAiB;IACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9D,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACrG,IAAI,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;gBACpB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,IAAc,EAAE,OAAe,EAAE,KAAe,EAAE,OAAiB;IACnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,mDAAmD;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtF,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,sCAAsC;QACtC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACxF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,8BAA8B;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,IAAc,EAAE,OAAe,EAAE,KAAe,EAAE,OAAiB;IACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,2BAA2B;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,6BAA6B;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;gBACpB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;gBACpB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC1D,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC5D,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBACzB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,IAAc,EAAE,OAAe,EAAE,KAAe,EAAE,OAAiB;IACrF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,oDAAoD;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC5D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,uBAAuB;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;gBAClB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACtD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;gBACzD,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;gBACtB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,8CAA8C;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClE,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,IAAc,EAAE,OAAe,EAAE,KAAe,EAAE,OAAiB;IACpF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,6EAA6E;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gGAAgG,CAAC,CAAC;QAChI,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,aAAa;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,iEAAiE;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,uFAAuF,CAAC,CAAC;QACxH,IAAI,WAAW,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;gBACpB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC;QAED,8CAA8C;QAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACjE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;gBACrB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;gBACX,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAc,EAAE,OAAe,EAAE,KAAe,EAAE,OAAiB;IACtF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC7E,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gBACnB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,0FAA0F,CAAC,CAAC;QAC3H,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;gBACvD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;gBACpB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,EAAE,CAAC,GAAG,CAAC;aACZ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAyB;IAC3D,yCAAyC;IACzC,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG;YACrB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;QAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;KACjD,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/analyzers/symbols.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"techStack.d.ts","sourceRoot":"","sources":["../../src/analyzers/techStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKlD,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAiC7E;AAulBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA6B9D"}
1
+ {"version":3,"file":"techStack.d.ts","sourceRoot":"","sources":["../../src/analyzers/techStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKlD,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAiC7E;AAirBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA6B9D"}
@@ -93,6 +93,16 @@ function detectFrameworks(files, fileNames, rootDir) {
93
93
  frameworks.push(...names);
94
94
  }
95
95
  }
96
+ // Check for @nestjs/* packages (NestJS framework)
97
+ const hasNestJs = Object.keys(deps).some(dep => dep.startsWith("@nestjs/"));
98
+ if (hasNestJs && !frameworks.includes("NestJS")) {
99
+ frameworks.push("NestJS");
100
+ }
101
+ // Check for Spring Boot in dependencies
102
+ const hasSpringBoot = Object.keys(deps).some(dep => dep.startsWith("@spring.io/") || dep.includes("spring-boot"));
103
+ if (hasSpringBoot && !frameworks.includes("Spring Boot")) {
104
+ frameworks.push("Spring Boot");
105
+ }
96
106
  }
97
107
  catch { }
98
108
  const frameworkIndicators = {
@@ -122,6 +132,82 @@ function detectFrameworks(files, fileNames, rootDir) {
122
132
  }
123
133
  }
124
134
  }
135
+ // Detect Spring Boot from pom.xml
136
+ try {
137
+ const pomPath = path.join(rootDir, "pom.xml");
138
+ if (fs.existsSync(pomPath)) {
139
+ const pomContent = readFile(pomPath);
140
+ if (pomContent.includes("spring-boot") && !frameworks.includes("Spring Boot")) {
141
+ frameworks.push("Spring Boot");
142
+ }
143
+ if (pomContent.includes("spring-boot-starter-parent") && !frameworks.includes("Spring Boot")) {
144
+ frameworks.push("Spring Boot");
145
+ }
146
+ }
147
+ }
148
+ catch { }
149
+ // Detect Spring Boot from build.gradle
150
+ try {
151
+ const gradlePath = path.join(rootDir, "build.gradle");
152
+ const gradleKtsPath = path.join(rootDir, "build.gradle.kts");
153
+ let gradleContent = "";
154
+ if (fs.existsSync(gradlePath)) {
155
+ gradleContent = readFile(gradlePath);
156
+ }
157
+ else if (fs.existsSync(gradleKtsPath)) {
158
+ gradleContent = readFile(gradleKtsPath);
159
+ }
160
+ if (gradleContent.includes("spring-boot") && !frameworks.includes("Spring Boot")) {
161
+ frameworks.push("Spring Boot");
162
+ }
163
+ if (gradleContent.includes("org.springframework.boot") && !frameworks.includes("Spring Boot")) {
164
+ frameworks.push("Spring Boot");
165
+ }
166
+ }
167
+ catch { }
168
+ // Detect Python frameworks from requirements.txt, Pipfile, pyproject.toml
169
+ try {
170
+ const pythonFrameworkMap = {
171
+ "django": ["Django"],
172
+ "flask": ["Flask"],
173
+ "fastapi": ["FastAPI"],
174
+ "tornado": ["Tornado"],
175
+ "pyramid": ["Pyramid"],
176
+ "bottle": ["Bottle"],
177
+ "cherrypy": ["CherryPy"],
178
+ };
179
+ // Check requirements.txt
180
+ const reqPath = path.join(rootDir, "requirements.txt");
181
+ if (fs.existsSync(reqPath)) {
182
+ const reqContent = readFile(reqPath);
183
+ for (const [dep, names] of Object.entries(pythonFrameworkMap)) {
184
+ if (reqContent.toLowerCase().includes(dep.toLowerCase()) && !frameworks.some(f => names.includes(f))) {
185
+ frameworks.push(...names);
186
+ }
187
+ }
188
+ }
189
+ // Check Pipfile
190
+ const pipfilePath = path.join(rootDir, "Pipfile");
191
+ if (fs.existsSync(pipfilePath)) {
192
+ const pipfileContent = readFile(pipfilePath);
193
+ for (const [dep, names] of Object.entries(pythonFrameworkMap)) {
194
+ if (pipfileContent.toLowerCase().includes(dep.toLowerCase()) && !frameworks.some(f => names.includes(f))) {
195
+ frameworks.push(...names);
196
+ }
197
+ }
198
+ }
199
+ // Check pyproject.toml
200
+ const pyprojectPath = path.join(rootDir, "pyproject.toml");
201
+ if (fs.existsSync(pyprojectPath)) {
202
+ const pyprojectContent = readFile(pyprojectPath);
203
+ for (const [dep, names] of Object.entries(pythonFrameworkMap)) {
204
+ if (pyprojectContent.toLowerCase().includes(dep.toLowerCase()) && !frameworks.some(f => names.includes(f))) {
205
+ frameworks.push(...names);
206
+ }
207
+ }
208
+ }
209
+ }
210
+ catch { }
125
211
  // Detect SwiftUI from Swift files
126
212
  const swiftFiles = files.filter(f => f.extension === "swift");
127
213
  for (const swiftFile of swiftFiles) {