@windagency/valora 2.2.0 → 2.3.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 (324) hide show
  1. package/README.md +45 -19
  2. package/data/agents/secops-engineer.md +74 -7
  3. package/data/commands/_meta/schema.json +8 -1
  4. package/data/commands/assert.md +1 -1
  5. package/data/commands/generate-all-documentation.md +1 -1
  6. package/data/commands/generate-docs.md +1 -1
  7. package/data/commands/implement.md +2 -0
  8. package/data/commands/plan-architecture.md +1 -1
  9. package/data/commands/plan-implementation.md +1 -1
  10. package/data/commands/plan.md +1 -1
  11. package/data/commands/refine-task.md +1 -1
  12. package/data/commands/registry.json +11 -11
  13. package/data/commands/review-code.md +1 -1
  14. package/data/commands/review-functional.md +1 -1
  15. package/data/prompts/01_onboard/analyze-patterns.md +1 -0
  16. package/data/prompts/01_onboard/collect-clarifications.md +1 -0
  17. package/data/prompts/01_onboard/map-dependencies.md +1 -0
  18. package/data/prompts/02_context/analyze-change-scope.md +1 -0
  19. package/data/prompts/02_context/analyze-changes-for-review.md +1 -0
  20. package/data/prompts/02_context/analyze-codebase-changes.md +1 -0
  21. package/data/prompts/02_context/analyze-command-execution.md +1 -0
  22. package/data/prompts/02_context/analyze-commits-for-pr.md +1 -0
  23. package/data/prompts/02_context/analyze-functional-scope.md +1 -0
  24. package/data/prompts/02_context/analyze-git-branch.md +1 -0
  25. package/data/prompts/02_context/analyze-git-status.md +1 -0
  26. package/data/prompts/02_context/analyze-task-context.md +1 -0
  27. package/data/prompts/02_context/extract-ticket-info.md +1 -0
  28. package/data/prompts/02_context/extract-ticket-references.md +1 -0
  29. package/data/prompts/02_context/gather-git-metrics.md +1 -0
  30. package/data/prompts/02_context/identify-completed-workflow.md +1 -0
  31. package/data/prompts/02_context/load-and-analyze-parallel.md +1 -0
  32. package/data/prompts/02_context/load-commit-template.md +1 -0
  33. package/data/prompts/02_context/load-implementation-context.md +1 -0
  34. package/data/prompts/02_context/load-plan-context.md +1 -0
  35. package/data/prompts/02_context/load-pr-template.md +1 -0
  36. package/data/prompts/02_context/scan-codebase.md +1 -0
  37. package/data/prompts/02_context/use-modern-cli-tools.md +1 -0
  38. package/data/prompts/03_plan/assess-complexity.md +1 -0
  39. package/data/prompts/03_plan/assess-risks.md +1 -0
  40. package/data/prompts/03_plan/breakdown-implementation.md +1 -0
  41. package/data/prompts/03_plan/define-architecture.md +1 -0
  42. package/data/prompts/03_plan/identify-dependencies.md +1 -0
  43. package/data/prompts/04_code/calculate-version-bump.md +1 -0
  44. package/data/prompts/04_code/create-version-tag.md +1 -0
  45. package/data/prompts/04_code/determine-commit-strategy.md +1 -0
  46. package/data/prompts/04_code/determine-labels.md +1 -0
  47. package/data/prompts/04_code/determine-reviewers.md +1 -0
  48. package/data/prompts/04_code/generate-commit-messages.md +1 -0
  49. package/data/prompts/04_code/generate-pr-description.md +1 -0
  50. package/data/prompts/04_code/generate-pr-title.md +1 -0
  51. package/data/prompts/04_code/implement-changes.md +1 -0
  52. package/data/prompts/04_code/implement-tests.md +1 -0
  53. package/data/prompts/04_code/interactive-review.md +1 -0
  54. package/data/prompts/04_code/push-and-create-pr.md +1 -0
  55. package/data/prompts/04_code/stage-and-commit.md +1 -0
  56. package/data/prompts/04_code/validate-prerequisites.md +1 -0
  57. package/data/prompts/04_code/verify-implementation.md +1 -0
  58. package/data/prompts/05_review/assess-code-quality.md +1 -0
  59. package/data/prompts/05_review/assess-constraints.md +1 -0
  60. package/data/prompts/05_review/evaluate-quality-outcomes.md +1 -0
  61. package/data/prompts/05_review/generate-commit-insights.md +1 -0
  62. package/data/prompts/05_review/identify-improvement-areas.md +1 -0
  63. package/data/prompts/05_review/synthesize-plan-assessment.md +1 -0
  64. package/data/prompts/05_review/synthesize-validation-report.md +1 -0
  65. package/data/prompts/05_review/validate-functional-requirements.md +1 -0
  66. package/data/prompts/05_review/validate-maintainability.md +1 -0
  67. package/data/prompts/05_review/validate-performance.md +1 -0
  68. package/data/prompts/05_review/validate-pr-creation.md +1 -0
  69. package/data/prompts/05_review/validate-pr-readiness.md +1 -0
  70. package/data/prompts/05_review/validate-risk-coverage.md +1 -0
  71. package/data/prompts/05_review/validate-step-quality.md +1 -0
  72. package/data/prompts/05_review/validate-technical-feasibility.md +1 -0
  73. package/data/prompts/05_review/validate-test-strategy.md +1 -0
  74. package/data/prompts/05_review/verify-commits.md +1 -0
  75. package/data/prompts/06_test/analyze-results.md +1 -0
  76. package/data/prompts/06_test/analyze-test-infrastructure.md +1 -0
  77. package/data/prompts/06_test/execute-tests.md +1 -0
  78. package/data/prompts/07_documentation/generate-all-domains-parallel.md +1 -0
  79. package/data/prompts/07_documentation/generate-code-review-report.md +1 -0
  80. package/data/prompts/07_documentation/generate-feedback-report.md +1 -0
  81. package/data/prompts/07_documentation/generate-feedback-summary.md +1 -0
  82. package/data/prompts/07_documentation/generate-functional-review-report.md +1 -0
  83. package/data/prompts/07_documentation/generate-prd.md +1 -0
  84. package/data/prompts/07_documentation/review-and-persist-parallel.md +1 -0
  85. package/data/prompts/07_documentation/update-changelog.md +1 -0
  86. package/data/prompts/07_documentation/update-inline-docs.md +1 -0
  87. package/data/prompts/07_documentation/update-knowledge-base.md +1 -0
  88. package/data/prompts/_meta/schema.json +4 -0
  89. package/data/prompts/registry.json +72 -72
  90. package/dist/ast/ast-context.service.d.ts +32 -0
  91. package/dist/ast/ast-context.service.d.ts.map +1 -0
  92. package/dist/ast/ast-context.service.js +220 -0
  93. package/dist/ast/ast-context.service.js.map +1 -0
  94. package/dist/ast/ast-index-watcher.service.d.ts +40 -0
  95. package/dist/ast/ast-index-watcher.service.d.ts.map +1 -0
  96. package/dist/ast/ast-index-watcher.service.js +124 -0
  97. package/dist/ast/ast-index-watcher.service.js.map +1 -0
  98. package/dist/ast/ast-index.service.d.ts +111 -0
  99. package/dist/ast/ast-index.service.d.ts.map +1 -0
  100. package/dist/ast/ast-index.service.js +437 -0
  101. package/dist/ast/ast-index.service.js.map +1 -0
  102. package/dist/ast/ast-parser.service.d.ts +31 -0
  103. package/dist/ast/ast-parser.service.d.ts.map +1 -0
  104. package/dist/ast/ast-parser.service.js +524 -0
  105. package/dist/ast/ast-parser.service.js.map +1 -0
  106. package/dist/ast/ast-query.service.d.ts +34 -0
  107. package/dist/ast/ast-query.service.d.ts.map +1 -0
  108. package/dist/ast/ast-query.service.js +203 -0
  109. package/dist/ast/ast-query.service.js.map +1 -0
  110. package/dist/ast/ast-tools.service.d.ts +39 -0
  111. package/dist/ast/ast-tools.service.d.ts.map +1 -0
  112. package/dist/ast/ast-tools.service.js +187 -0
  113. package/dist/ast/ast-tools.service.js.map +1 -0
  114. package/dist/ast/ast.types.d.ts +195 -0
  115. package/dist/ast/ast.types.d.ts.map +1 -0
  116. package/dist/ast/ast.types.js +8 -0
  117. package/dist/ast/ast.types.js.map +1 -0
  118. package/dist/ast/grammars/grammar-loader.d.ts +23 -0
  119. package/dist/ast/grammars/grammar-loader.d.ts.map +1 -0
  120. package/dist/ast/grammars/grammar-loader.js +28 -0
  121. package/dist/ast/grammars/grammar-loader.js.map +1 -0
  122. package/dist/ast/grammars/language-map.d.ts +28 -0
  123. package/dist/ast/grammars/language-map.d.ts.map +1 -0
  124. package/dist/ast/grammars/language-map.js +65 -0
  125. package/dist/ast/grammars/language-map.js.map +1 -0
  126. package/dist/ast/grammars/tree-sitter-adapter.d.ts +39 -0
  127. package/dist/ast/grammars/tree-sitter-adapter.d.ts.map +1 -0
  128. package/dist/ast/grammars/tree-sitter-adapter.interface.d.ts +84 -0
  129. package/dist/ast/grammars/tree-sitter-adapter.interface.d.ts.map +1 -0
  130. package/dist/ast/grammars/tree-sitter-adapter.interface.js +48 -0
  131. package/dist/ast/grammars/tree-sitter-adapter.interface.js.map +1 -0
  132. package/dist/ast/grammars/tree-sitter-adapter.js +91 -0
  133. package/dist/ast/grammars/tree-sitter-adapter.js.map +1 -0
  134. package/dist/cli/autocomplete.d.ts.map +1 -1
  135. package/dist/cli/autocomplete.js +6 -6
  136. package/dist/cli/autocomplete.js.map +1 -1
  137. package/dist/cli/command-executor.d.ts +10 -0
  138. package/dist/cli/command-executor.d.ts.map +1 -1
  139. package/dist/cli/command-executor.js +85 -11
  140. package/dist/cli/command-executor.js.map +1 -1
  141. package/dist/cli/command-wizard.d.ts.map +1 -1
  142. package/dist/cli/command-wizard.js +8 -2
  143. package/dist/cli/command-wizard.js.map +1 -1
  144. package/dist/cli/commands/config.d.ts.map +1 -1
  145. package/dist/cli/commands/config.js +5 -2
  146. package/dist/cli/commands/config.js.map +1 -1
  147. package/dist/cli/first-run-setup.d.ts.map +1 -1
  148. package/dist/cli/first-run-setup.js +3 -1
  149. package/dist/cli/first-run-setup.js.map +1 -1
  150. package/dist/cli/provider-resolver.d.ts.map +1 -1
  151. package/dist/cli/provider-resolver.js +11 -0
  152. package/dist/cli/provider-resolver.js.map +1 -1
  153. package/dist/config/constants.d.ts +18 -0
  154. package/dist/config/constants.d.ts.map +1 -1
  155. package/dist/config/constants.js +18 -0
  156. package/dist/config/constants.js.map +1 -1
  157. package/dist/config/interactive-wizard.d.ts +7 -0
  158. package/dist/config/interactive-wizard.d.ts.map +1 -1
  159. package/dist/config/interactive-wizard.js +24 -19
  160. package/dist/config/interactive-wizard.js.map +1 -1
  161. package/dist/config/loader.d.ts +5 -0
  162. package/dist/config/loader.d.ts.map +1 -1
  163. package/dist/config/loader.js +24 -0
  164. package/dist/config/loader.js.map +1 -1
  165. package/dist/config/providers.config.d.ts.map +1 -1
  166. package/dist/config/providers.config.js +17 -1
  167. package/dist/config/providers.config.js.map +1 -1
  168. package/dist/config/schema.d.ts +194 -6
  169. package/dist/config/schema.d.ts.map +1 -1
  170. package/dist/config/schema.js +1 -0
  171. package/dist/config/schema.js.map +1 -1
  172. package/dist/config/validation-helpers.d.ts.map +1 -1
  173. package/dist/config/validation-helpers.js +84 -41
  174. package/dist/config/validation-helpers.js.map +1 -1
  175. package/dist/di/container.d.ts +5 -0
  176. package/dist/di/container.d.ts.map +1 -1
  177. package/dist/di/container.js +17 -0
  178. package/dist/di/container.js.map +1 -1
  179. package/dist/executor/message-builder.service.d.ts +2 -0
  180. package/dist/executor/message-builder.service.d.ts.map +1 -1
  181. package/dist/executor/message-builder.service.js +6 -1
  182. package/dist/executor/message-builder.service.js.map +1 -1
  183. package/dist/executor/stage-executor.d.ts +15 -5
  184. package/dist/executor/stage-executor.d.ts.map +1 -1
  185. package/dist/executor/stage-executor.js +126 -22
  186. package/dist/executor/stage-executor.js.map +1 -1
  187. package/dist/executor/stage-output-cache.d.ts +3 -3
  188. package/dist/executor/stage-output-cache.d.ts.map +1 -1
  189. package/dist/executor/stage-output-cache.js +6 -6
  190. package/dist/executor/stage-output-cache.js.map +1 -1
  191. package/dist/executor/tool-execution.service.d.ts +12 -0
  192. package/dist/executor/tool-execution.service.d.ts.map +1 -1
  193. package/dist/executor/tool-execution.service.js +270 -8
  194. package/dist/executor/tool-execution.service.js.map +1 -1
  195. package/dist/executor/tools/search-tools.service.d.ts +1 -1
  196. package/dist/executor/tools/search-tools.service.d.ts.map +1 -1
  197. package/dist/executor/tools/search-tools.service.js +25 -3
  198. package/dist/executor/tools/search-tools.service.js.map +1 -1
  199. package/dist/executor/variables.d.ts.map +1 -1
  200. package/dist/executor/variables.js +5 -0
  201. package/dist/executor/variables.js.map +1 -1
  202. package/dist/llm/model-mapping-registry.d.ts.map +1 -1
  203. package/dist/llm/model-mapping-registry.js +11 -3
  204. package/dist/llm/model-mapping-registry.js.map +1 -1
  205. package/dist/llm/providers/anthropic.provider.d.ts.map +1 -1
  206. package/dist/llm/providers/anthropic.provider.js +5 -1
  207. package/dist/llm/providers/anthropic.provider.js.map +1 -1
  208. package/dist/llm/providers/index.d.ts +2 -0
  209. package/dist/llm/providers/index.d.ts.map +1 -1
  210. package/dist/llm/providers/index.js +2 -0
  211. package/dist/llm/providers/index.js.map +1 -1
  212. package/dist/llm/providers/local.provider.d.ts +27 -0
  213. package/dist/llm/providers/local.provider.d.ts.map +1 -0
  214. package/dist/llm/providers/local.provider.js +179 -0
  215. package/dist/llm/providers/local.provider.js.map +1 -0
  216. package/dist/llm/providers/openai.provider.d.ts.map +1 -1
  217. package/dist/llm/providers/openai.provider.js +1 -0
  218. package/dist/llm/providers/openai.provider.js.map +1 -1
  219. package/dist/lsp/lsp-client-manager.service.d.ts +47 -0
  220. package/dist/lsp/lsp-client-manager.service.d.ts.map +1 -0
  221. package/dist/lsp/lsp-client-manager.service.js +117 -0
  222. package/dist/lsp/lsp-client-manager.service.js.map +1 -0
  223. package/dist/lsp/lsp-client.d.ts +45 -0
  224. package/dist/lsp/lsp-client.d.ts.map +1 -0
  225. package/dist/lsp/lsp-client.js +147 -0
  226. package/dist/lsp/lsp-client.js.map +1 -0
  227. package/dist/lsp/lsp-context-enricher.d.ts +15 -0
  228. package/dist/lsp/lsp-context-enricher.d.ts.map +1 -0
  229. package/dist/lsp/lsp-context-enricher.js +72 -0
  230. package/dist/lsp/lsp-context-enricher.js.map +1 -0
  231. package/dist/lsp/lsp-language-registry.d.ts +24 -0
  232. package/dist/lsp/lsp-language-registry.d.ts.map +1 -0
  233. package/dist/lsp/lsp-language-registry.js +108 -0
  234. package/dist/lsp/lsp-language-registry.js.map +1 -0
  235. package/dist/lsp/lsp-lifecycle.service.d.ts +34 -0
  236. package/dist/lsp/lsp-lifecycle.service.d.ts.map +1 -0
  237. package/dist/lsp/lsp-lifecycle.service.js +57 -0
  238. package/dist/lsp/lsp-lifecycle.service.js.map +1 -0
  239. package/dist/lsp/lsp-protocol-adapter.d.ts +32 -0
  240. package/dist/lsp/lsp-protocol-adapter.d.ts.map +1 -0
  241. package/dist/lsp/lsp-protocol-adapter.interface.d.ts +93 -0
  242. package/dist/lsp/lsp-protocol-adapter.interface.d.ts.map +1 -0
  243. package/dist/lsp/lsp-protocol-adapter.interface.js +50 -0
  244. package/dist/lsp/lsp-protocol-adapter.interface.js.map +1 -0
  245. package/dist/lsp/lsp-protocol-adapter.js +69 -0
  246. package/dist/lsp/lsp-protocol-adapter.js.map +1 -0
  247. package/dist/lsp/lsp-result-cache.d.ts +43 -0
  248. package/dist/lsp/lsp-result-cache.d.ts.map +1 -0
  249. package/dist/lsp/lsp-result-cache.js +87 -0
  250. package/dist/lsp/lsp-result-cache.js.map +1 -0
  251. package/dist/lsp/lsp-tools.service.d.ts +68 -0
  252. package/dist/lsp/lsp-tools.service.d.ts.map +1 -0
  253. package/dist/lsp/lsp-tools.service.js +310 -0
  254. package/dist/lsp/lsp-tools.service.js.map +1 -0
  255. package/dist/lsp/lsp.types.d.ts +122 -0
  256. package/dist/lsp/lsp.types.d.ts.map +1 -0
  257. package/dist/lsp/lsp.types.js +7 -0
  258. package/dist/lsp/lsp.types.js.map +1 -0
  259. package/dist/mcp/mcp-client-manager.service.d.ts.map +1 -1
  260. package/dist/mcp/mcp-client-manager.service.js +32 -6
  261. package/dist/mcp/mcp-client-manager.service.js.map +1 -1
  262. package/dist/mcp/mcp-tool-handler.d.ts.map +1 -1
  263. package/dist/mcp/mcp-tool-handler.js +17 -1
  264. package/dist/mcp/mcp-tool-handler.js.map +1 -1
  265. package/dist/package.json +4 -1
  266. package/dist/security/command-guard.d.ts +58 -0
  267. package/dist/security/command-guard.d.ts.map +1 -0
  268. package/dist/security/command-guard.js +249 -0
  269. package/dist/security/command-guard.js.map +1 -0
  270. package/dist/security/credential-guard.d.ts +42 -0
  271. package/dist/security/credential-guard.d.ts.map +1 -0
  272. package/dist/security/credential-guard.js +181 -0
  273. package/dist/security/credential-guard.js.map +1 -0
  274. package/dist/security/index.d.ts +22 -0
  275. package/dist/security/index.d.ts.map +1 -0
  276. package/dist/security/index.js +17 -0
  277. package/dist/security/index.js.map +1 -0
  278. package/dist/security/prompt-injection-detector.d.ts +55 -0
  279. package/dist/security/prompt-injection-detector.d.ts.map +1 -0
  280. package/dist/security/prompt-injection-detector.js +233 -0
  281. package/dist/security/prompt-injection-detector.js.map +1 -0
  282. package/dist/security/security-event.types.d.ts +19 -0
  283. package/dist/security/security-event.types.d.ts.map +1 -0
  284. package/dist/security/security-event.types.js +13 -0
  285. package/dist/security/security-event.types.js.map +1 -0
  286. package/dist/security/tool-definition-validator.d.ts +55 -0
  287. package/dist/security/tool-definition-validator.d.ts.map +1 -0
  288. package/dist/security/tool-definition-validator.js +221 -0
  289. package/dist/security/tool-definition-validator.js.map +1 -0
  290. package/dist/security/tool-integrity-monitor.d.ts +67 -0
  291. package/dist/security/tool-integrity-monitor.d.ts.map +1 -0
  292. package/dist/security/tool-integrity-monitor.js +155 -0
  293. package/dist/security/tool-integrity-monitor.js.map +1 -0
  294. package/dist/tsconfig.json +3 -0
  295. package/dist/types/command.types.d.ts +15 -1
  296. package/dist/types/command.types.d.ts.map +1 -1
  297. package/dist/types/command.types.js.map +1 -1
  298. package/dist/types/llm.types.d.ts +2 -0
  299. package/dist/types/llm.types.d.ts.map +1 -1
  300. package/dist/types/provider-names.types.d.ts +3 -0
  301. package/dist/types/provider-names.types.d.ts.map +1 -1
  302. package/dist/types/provider-names.types.js +3 -0
  303. package/dist/types/provider-names.types.js.map +1 -1
  304. package/dist/ui/dashboard/detail-panels/spending-panel.d.ts.map +1 -1
  305. package/dist/ui/dashboard/detail-panels/spending-panel.js +8 -3
  306. package/dist/ui/dashboard/detail-panels/spending-panel.js.map +1 -1
  307. package/dist/ui/dashboard/detail-panels/token-usage-panel.d.ts.map +1 -1
  308. package/dist/ui/dashboard/detail-panels/token-usage-panel.js +37 -13
  309. package/dist/ui/dashboard/detail-panels/token-usage-panel.js.map +1 -1
  310. package/dist/ui/dashboard/views/agent-analytics-view.js +1 -1
  311. package/dist/ui/dashboard/views/agent-analytics-view.js.map +1 -1
  312. package/dist/ui/dashboard/views/cache-stats-view.js +1 -1
  313. package/dist/ui/dashboard/views/cache-stats-view.js.map +1 -1
  314. package/dist/ui/dashboard/views/performance-view.js +1 -1
  315. package/dist/ui/dashboard/views/performance-view.js.map +1 -1
  316. package/dist/utils/spending-tracker.d.ts +22 -0
  317. package/dist/utils/spending-tracker.d.ts.map +1 -1
  318. package/dist/utils/spending-tracker.js +33 -1
  319. package/dist/utils/spending-tracker.js.map +1 -1
  320. package/dist/utils/token-estimator.d.ts +21 -5
  321. package/dist/utils/token-estimator.d.ts.map +1 -1
  322. package/dist/utils/token-estimator.js +74 -28
  323. package/dist/utils/token-estimator.js.map +1 -1
  324. package/package.json +4 -1
@@ -41,9 +41,13 @@
41
41
  * stage-executor) meaningful: it only fires when tools are genuinely broken,
42
42
  * not when the LLM is working through normal search/navigation patterns.
43
43
  */
44
+ import { getASTToolsService } from '../ast/ast-tools.service.js';
44
45
  import { exec } from 'child_process';
45
46
  import { existsSync, readdirSync, rmSync, statSync } from 'fs';
47
+ import { getLSPToolsService } from '../lsp/lsp-tools.service.js';
46
48
  import { dirname, resolve } from 'path';
49
+ import { getCommandGuard } from '../security/command-guard.js';
50
+ import { getCredentialGuard } from '../security/credential-guard.js';
47
51
  import { fileURLToPath } from 'url';
48
52
  import { promisify } from 'util';
49
53
  import { DEFAULT_TIMEOUT_MS, MAX_LIST_DIR_ENTRIES, MAX_MCP_OUTPUT_CHARS, MAX_TERMINAL_OUTPUT_CHARS } from '../config/constants.js';
@@ -109,6 +113,82 @@ const BUILT_IN_TOOL_DEFINITIONS = {
109
113
  type: 'object'
110
114
  }
111
115
  },
116
+ file_outline: {
117
+ description: 'Get a structured outline of a file showing all symbols (functions, classes, types) with their signatures and line numbers. ' +
118
+ 'Uses the AST index for fast, precise results.',
119
+ name: 'file_outline',
120
+ parameters: {
121
+ properties: {
122
+ path: {
123
+ description: 'Path to the file to outline',
124
+ type: 'string'
125
+ }
126
+ },
127
+ required: ['path'],
128
+ type: 'object'
129
+ }
130
+ },
131
+ find_references: {
132
+ description: 'Find all files and locations that reference a given symbol name. ' +
133
+ 'Uses the AST index for cross-file reference finding. Falls back to grep when index unavailable.',
134
+ name: 'find_references',
135
+ parameters: {
136
+ properties: {
137
+ path: {
138
+ description: 'Optional scope: only search within this directory',
139
+ type: 'string'
140
+ },
141
+ symbol: {
142
+ description: 'Symbol name to find references for',
143
+ type: 'string'
144
+ }
145
+ },
146
+ required: ['symbol'],
147
+ type: 'object'
148
+ }
149
+ },
150
+ get_diagnostics: {
151
+ description: 'Get compiler errors and warnings for a file from the language server. ' +
152
+ 'Requires a running language server for the file type.',
153
+ name: 'get_diagnostics',
154
+ parameters: {
155
+ properties: {
156
+ file_path: {
157
+ description: 'Path to the file to check',
158
+ type: 'string'
159
+ }
160
+ },
161
+ required: ['file_path'],
162
+ type: 'object'
163
+ }
164
+ },
165
+ get_type_info: {
166
+ description: 'Get the type signature of a symbol from the language server. ' +
167
+ 'Accepts either a symbol name or a line/character position.',
168
+ name: 'get_type_info',
169
+ parameters: {
170
+ properties: {
171
+ character: {
172
+ description: '0-based character offset (alternative to symbol)',
173
+ type: 'number'
174
+ },
175
+ file_path: {
176
+ description: 'Path to the file',
177
+ type: 'string'
178
+ },
179
+ line: {
180
+ description: '0-based line number (alternative to symbol)',
181
+ type: 'number'
182
+ },
183
+ symbol: {
184
+ description: 'Symbol name to look up',
185
+ type: 'string'
186
+ }
187
+ },
188
+ required: ['file_path'],
189
+ type: 'object'
190
+ }
191
+ },
112
192
  glob_file_search: {
113
193
  description: `Find files matching a glob pattern.
114
194
 
@@ -140,6 +220,33 @@ This tool (glob_file_search) is acceptable for simple patterns, but fd is faster
140
220
  type: 'object'
141
221
  }
142
222
  },
223
+ goto_definition: {
224
+ description: 'Find where a symbol is defined using the language server. ' +
225
+ 'Accepts either a symbol name or a line/character position.',
226
+ name: 'goto_definition',
227
+ parameters: {
228
+ properties: {
229
+ character: {
230
+ description: '0-based character offset (alternative to symbol)',
231
+ type: 'number'
232
+ },
233
+ file_path: {
234
+ description: 'Path to the file containing the symbol usage',
235
+ type: 'string'
236
+ },
237
+ line: {
238
+ description: '0-based line number (alternative to symbol)',
239
+ type: 'number'
240
+ },
241
+ symbol: {
242
+ description: 'Symbol name to look up',
243
+ type: 'string'
244
+ }
245
+ },
246
+ required: ['file_path'],
247
+ type: 'object'
248
+ }
249
+ },
143
250
  grep: {
144
251
  description: `⚠️ DEPRECATED: Use run_terminal_cmd with 'rg' (ripgrep) instead.
145
252
 
@@ -183,6 +290,32 @@ Only use this legacy grep tool if:
183
290
  type: 'object'
184
291
  }
185
292
  },
293
+ hover_info: {
294
+ description: 'Get full documentation and type signature for a symbol from the language server.',
295
+ name: 'hover_info',
296
+ parameters: {
297
+ properties: {
298
+ character: {
299
+ description: '0-based character offset (alternative to symbol)',
300
+ type: 'number'
301
+ },
302
+ file_path: {
303
+ description: 'Path to the file',
304
+ type: 'string'
305
+ },
306
+ line: {
307
+ description: '0-based line number (alternative to symbol)',
308
+ type: 'number'
309
+ },
310
+ symbol: {
311
+ description: 'Symbol name to look up',
312
+ type: 'string'
313
+ }
314
+ },
315
+ required: ['file_path'],
316
+ type: 'object'
317
+ }
318
+ },
186
319
  list_dir: {
187
320
  description: 'List contents of a directory',
188
321
  name: 'list_dir',
@@ -256,6 +389,26 @@ Violating these restrictions wastes tokens and degrades performance.`,
256
389
  type: 'object'
257
390
  }
258
391
  },
392
+ request_context: {
393
+ description: 'Request additional code context for a file or symbol. ' +
394
+ 'Use this when smart_context provided insufficient detail. ' +
395
+ 'Returns signatures-only or full content based on level.',
396
+ name: 'request_context',
397
+ parameters: {
398
+ properties: {
399
+ level: {
400
+ description: 'Detail level: "signatures" (declarations only) or "full" (complete source)',
401
+ type: 'string'
402
+ },
403
+ target: {
404
+ description: 'File path or symbol name to get context for',
405
+ type: 'string'
406
+ }
407
+ },
408
+ required: ['target'],
409
+ type: 'object'
410
+ }
411
+ },
259
412
  run_terminal_cmd: {
260
413
  description: 'Execute a shell command and return the output',
261
414
  name: 'run_terminal_cmd',
@@ -296,6 +449,57 @@ Violating these restrictions wastes tokens and degrades performance.`,
296
449
  type: 'object'
297
450
  }
298
451
  },
452
+ smart_context: {
453
+ description: 'Get minimal, budget-aware code context relevant to a task. ' +
454
+ 'Returns only the most relevant symbols and signatures, reducing token usage by 40-60%.',
455
+ name: 'smart_context',
456
+ parameters: {
457
+ properties: {
458
+ budget: {
459
+ description: 'Maximum token budget for the context',
460
+ type: 'number'
461
+ },
462
+ files: {
463
+ description: 'Specific files to focus on',
464
+ items: { type: 'string' },
465
+ type: 'array'
466
+ },
467
+ mode: {
468
+ description: 'Context mode: "focused" (fewer files, more detail) or "broad" (more files, less detail)',
469
+ type: 'string'
470
+ },
471
+ task: {
472
+ description: 'Task description to determine relevant context',
473
+ type: 'string'
474
+ }
475
+ },
476
+ required: ['task'],
477
+ type: 'object'
478
+ }
479
+ },
480
+ symbol_search: {
481
+ description: 'Find functions, classes, types, and other symbols by name using the AST index. ' +
482
+ 'Supports fuzzy matching. Much faster and more precise than grep for finding definitions.',
483
+ name: 'symbol_search',
484
+ parameters: {
485
+ properties: {
486
+ kind: {
487
+ description: 'Filter by symbol kind: function, class, interface, type, enum, method, variable, constant',
488
+ type: 'string'
489
+ },
490
+ language: {
491
+ description: 'Filter by language: typescript, javascript, python, go, rust, java',
492
+ type: 'string'
493
+ },
494
+ query: {
495
+ description: 'Symbol name to search for (supports fuzzy matching)',
496
+ type: 'string'
497
+ }
498
+ },
499
+ required: ['query'],
500
+ type: 'object'
501
+ }
502
+ },
299
503
  web_search: {
300
504
  description: 'Search the web for information',
301
505
  name: 'web_search',
@@ -330,9 +534,11 @@ Violating these restrictions wastes tokens and degrades performance.`,
330
534
  }
331
535
  };
332
536
  export class ToolExecutionService {
537
+ astToolsService;
333
538
  hookExecutionService = getHookExecutionService();
334
539
  idempotencyStore;
335
540
  logger = getLogger();
541
+ lspToolsService;
336
542
  mcpClientManager = null;
337
543
  mcpToolHandler = null;
338
544
  searchToolsService;
@@ -376,6 +582,8 @@ export class ToolExecutionService {
376
582
  constructor(workingDir = process.cwd()) {
377
583
  this.workingDir = workingDir;
378
584
  this.idempotencyStore = getIdempotencyStore();
585
+ this.astToolsService = getASTToolsService(workingDir);
586
+ this.lspToolsService = getLSPToolsService(workingDir);
379
587
  this.searchToolsService = getSearchToolsService(workingDir);
380
588
  this.sessionToolsService = getSessionToolsService(workingDir);
381
589
  }
@@ -751,13 +959,22 @@ export class ToolExecutionService {
751
959
  const toolHandlers = {
752
960
  ['codebase_search']: (a) => this.searchToolsService.executeCodebaseSearch(a),
753
961
  ['delete_file']: (a) => this.executeDeleteFile(a),
962
+ ['file_outline']: (a) => Promise.resolve(this.astToolsService.executeFileOutline(a)),
963
+ ['find_references']: (a) => Promise.resolve(this.astToolsService.executeFindReferences(a)),
964
+ ['get_diagnostics']: (a) => this.lspToolsService.executeGetDiagnostics(a),
965
+ ['get_type_info']: (a) => this.lspToolsService.executeGetTypeInfo(a),
754
966
  ['glob_file_search']: (a) => this.searchToolsService.executeGlobSearch(a),
967
+ ['goto_definition']: (a) => this.lspToolsService.executeGotoDefinition(a),
755
968
  ['grep']: (a) => this.searchToolsService.executeGrep(a),
969
+ ['hover_info']: (a) => this.lspToolsService.executeHoverInfo(a),
756
970
  ['list_dir']: (a) => this.executeListDir(a),
757
971
  ['query_session']: (a) => this.sessionToolsService.executeQuerySession(a),
758
972
  ['read_file']: (a) => this.executeReadFile(a),
973
+ ['request_context']: (a) => this.astToolsService.executeRequestContext(a),
759
974
  ['run_terminal_cmd']: (a) => this.executeTerminalCmd(a),
760
975
  ['search_replace']: (a) => this.executeSearchReplace(a),
976
+ ['smart_context']: (a) => Promise.resolve(this.astToolsService.executeSmartContext(a)),
977
+ ['symbol_search']: (a) => Promise.resolve(this.astToolsService.executeSymbolSearch(a)),
761
978
  ['web_search']: (a) => this.executeWebSearch(a),
762
979
  ['write']: (a) => this.executeWrite(a)
763
980
  };
@@ -934,6 +1151,10 @@ export class ToolExecutionService {
934
1151
  if (blockedPath) {
935
1152
  return `Cannot read files in ${blockedPath} — these files may be very large or contain session data`;
936
1153
  }
1154
+ // Block sensitive files (credentials, keys, etc.)
1155
+ if (getCredentialGuard().isSensitiveFile(path)) {
1156
+ return `Cannot read sensitive file: ${path} — this file may contain credentials or private keys`;
1157
+ }
937
1158
  const fullPath = this.resolvePath(path);
938
1159
  if (!existsSync(fullPath)) {
939
1160
  return (`File not found: ${path}\n\n` +
@@ -1179,24 +1400,28 @@ export class ToolExecutionService {
1179
1400
  }
1180
1401
  const command = await this.resolveCommand(raw);
1181
1402
  this.logger.info(`Executing command: ${command}`);
1403
+ // Validate command against security blocklist
1404
+ const commandCheck = getCommandGuard().validate(command);
1405
+ if (!commandCheck.allowed) {
1406
+ return `Command blocked by security policy: ${commandCheck.reason}\n\nUse a different approach that does not involve blocked commands or patterns.`;
1407
+ }
1408
+ const credentialGuard = getCredentialGuard();
1182
1409
  try {
1183
1410
  const { stderr, stdout } = await execAsync(command, {
1184
1411
  cwd: this.workingDir,
1185
- env: { ...process.env, PATH: this.buildAugmentedPath() },
1412
+ env: { ...credentialGuard.sanitiseEnvironment(process.env), PATH: this.buildAugmentedPath() },
1186
1413
  timeout: timeoutMs
1187
1414
  });
1188
- const output = stdout + (stderr ? `\nStderr: ${stderr}` : '');
1415
+ const rawOutput = stdout + (stderr ? `\nStderr: ${stderr}` : '');
1416
+ const output = credentialGuard.scanOutput(rawOutput);
1189
1417
  return truncateTerminalOutput(output) || 'Command completed successfully (no output)';
1190
1418
  }
1191
1419
  catch (error) {
1192
1420
  const execError = error;
1193
1421
  const output = [execError.stdout, execError.stderr].filter(Boolean).join('');
1194
- // Search tools (rg, grep) exit with code 1 when there are no matches.
1195
- // This is a valid result, not a broken command — return guidance rather
1196
- // than throwing so it is not counted as a tool failure.
1197
- if (execError.code === 1 && isNoMatchesExitCode(command)) {
1198
- return `No matches found for: ${command}`;
1199
- }
1422
+ const guidance = exitCodeOneGuidance(execError.code, command);
1423
+ if (guidance)
1424
+ return guidance;
1200
1425
  throw new Error(`Command failed: ${truncateTerminalOutput(output) || error.message}`);
1201
1426
  }
1202
1427
  }
@@ -1323,10 +1548,47 @@ function truncateMcpOutput(output) {
1323
1548
  * rg (ripgrep) and grep family: exit 0 = matches, exit 1 = no matches, exit 2 = error.
1324
1549
  * git grep follows the same convention.
1325
1550
  */
1551
+ /**
1552
+ * If the command exited with code 1 and is a known search/exploratory tool,
1553
+ * return a guidance string instead of treating it as an error. Returns
1554
+ * undefined when the failure should propagate as a real error.
1555
+ */
1556
+ function exitCodeOneGuidance(code, command) {
1557
+ if (code !== 1)
1558
+ return undefined;
1559
+ if (isNoMatchesExitCode(command))
1560
+ return `No matches found for: ${command}`;
1561
+ if (isExploratoryExitCode(command))
1562
+ return `Command returned no results: ${command}`;
1563
+ return undefined;
1564
+ }
1326
1565
  function isNoMatchesExitCode(command) {
1327
1566
  const trimmed = command.trimStart();
1328
1567
  return /^(rg|grep|egrep|fgrep|git grep)\b/.test(trimmed);
1329
1568
  }
1569
+ /**
1570
+ * Returns true if a command is an exploratory/probing command that commonly
1571
+ * exits with code 1 to signal "not found" or "false" rather than an error.
1572
+ *
1573
+ * - `which`, `command -v`, `type` — command existence checks
1574
+ * - `test`, `[` — file/condition tests
1575
+ * - `fd` — file finder (same convention as rg)
1576
+ * - Piped commands where the first segment is `cd` — directory probing
1577
+ */
1578
+ export function isExploratoryExitCode(command) {
1579
+ const trimmed = command.trimStart();
1580
+ // Direct exploratory commands
1581
+ if (/^(which|command\s+-v|type|test|fd)\b/.test(trimmed))
1582
+ return true;
1583
+ // Shell test bracket syntax: [ -d /foo ] or [[ -f bar ]]
1584
+ if (/^\[{1,2}\s/.test(trimmed))
1585
+ return true;
1586
+ // Piped commands starting with cd (directory probing)
1587
+ // e.g. "cd workspace && pwd" or "cd /some/path && which tsc"
1588
+ if (/^cd\b/.test(trimmed))
1589
+ return true;
1590
+ return false;
1591
+ }
1330
1592
  function truncateTerminalOutput(output) {
1331
1593
  if (output.length <= MAX_TERMINAL_OUTPUT_CHARS)
1332
1594
  return output;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-execution.service.js","sourceRoot":"","sources":["../../src/executor/tool-execution.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-execution.service.js","sourceRoot":"","sources":["../../src/executor/tool-execution.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAwB,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAwB,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAKjC,OAAO,EACN,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAgC,MAAM,oCAAoC,CAAC;AACvG,OAAO,EAAsC,SAAS,EAAgB,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAA2B,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAqB,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAa,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAEN,kBAAkB,EAElB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAqB,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAA2B,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAA4B,MAAM,+BAA+B,CAAC;AAEjG,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;;;;GAKG;AACH,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAExF;;;;GAIG;AACH,MAAM,yBAAyB,GAA2C;IACzE,eAAe,EAAE;QAChB,WAAW,EAAE,oEAAoE;QACjF,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,KAAK,EAAE;oBACN,WAAW,EAAE,+BAA+B;oBAC5C,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,WAAW,EAAE;QACZ,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,IAAI,EAAE;oBACL,WAAW,EAAE,4BAA4B;oBACzC,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,YAAY,EAAE;QACb,WAAW,EACV,6HAA6H;YAC7H,+CAA+C;QAChD,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,IAAI,EAAE;oBACL,WAAW,EAAE,6BAA6B;oBAC1C,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,eAAe,EAAE;QAChB,WAAW,EACV,mEAAmE;YACnE,iGAAiG;QAClG,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,IAAI,EAAE;oBACL,WAAW,EAAE,mDAAmD;oBAChE,IAAI,EAAE,QAAQ;iBACd;gBACD,MAAM,EAAE;oBACP,WAAW,EAAE,oCAAoC;oBACjD,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,eAAe,EAAE;QAChB,WAAW,EACV,wEAAwE;YACxE,uDAAuD;QACxD,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,SAAS,EAAE;oBACV,WAAW,EAAE,2BAA2B;oBACxC,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,aAAa,EAAE;QACd,WAAW,EACV,+DAA+D;YAC/D,4DAA4D;QAC7D,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,SAAS,EAAE;oBACV,WAAW,EAAE,kDAAkD;oBAC/D,IAAI,EAAE,QAAQ;iBACd;gBACD,SAAS,EAAE;oBACV,WAAW,EAAE,kBAAkB;oBAC/B,IAAI,EAAE,QAAQ;iBACd;gBACD,IAAI,EAAE;oBACL,WAAW,EAAE,6CAA6C;oBAC1D,IAAI,EAAE,QAAQ;iBACd;gBACD,MAAM,EAAE;oBACP,WAAW,EAAE,wBAAwB;oBACrC,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,gBAAgB,EAAE;QACjB,WAAW,EAAE;;;;;;;;;;;;;;;;;oGAiBqF;QAClG,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,gDAAgD;oBAC7D,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,eAAe,EAAE;QAChB,WAAW,EACV,4DAA4D;YAC5D,4DAA4D;QAC7D,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,SAAS,EAAE;oBACV,WAAW,EAAE,kDAAkD;oBAC/D,IAAI,EAAE,QAAQ;iBACd;gBACD,SAAS,EAAE;oBACV,WAAW,EAAE,8CAA8C;oBAC3D,IAAI,EAAE,QAAQ;iBACd;gBACD,IAAI,EAAE;oBACL,WAAW,EAAE,6CAA6C;oBAC1D,IAAI,EAAE,QAAQ;iBACd;gBACD,MAAM,EAAE;oBACP,WAAW,EAAE,wBAAwB;oBACrC,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,IAAI,EAAE;QACL,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;+BAyBgB;QAC7B,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,IAAI,EAAE;oBACL,WAAW,EAAE,gCAAgC;oBAC7C,IAAI,EAAE,QAAQ;iBACd;gBACD,OAAO,EAAE;oBACR,WAAW,EAAE,6BAA6B;oBAC1C,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,UAAU,EAAE;QACX,WAAW,EAAE,kFAAkF;QAC/F,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,SAAS,EAAE;oBACV,WAAW,EAAE,kDAAkD;oBAC/D,IAAI,EAAE,QAAQ;iBACd;gBACD,SAAS,EAAE;oBACV,WAAW,EAAE,kBAAkB;oBAC/B,IAAI,EAAE,QAAQ;iBACd;gBACD,IAAI,EAAE;oBACL,WAAW,EAAE,6CAA6C;oBAC1D,IAAI,EAAE,QAAQ;iBACd;gBACD,MAAM,EAAE;oBACP,WAAW,EAAE,wBAAwB;oBACrC,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;YACvB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,QAAQ,EAAE;QACT,WAAW,EAAE,8BAA8B;QAC3C,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,IAAI,EAAE;oBACL,WAAW,EAAE,+BAA+B;oBAC5C,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,aAAa,EAAE;QACd,WAAW,EACV,+EAA+E;YAC/E,qEAAqE;YACrE,6EAA6E;QAC9E,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,MAAM,EAAE;oBACP,WAAW,EACV,wHAAwH;oBACzH,IAAI,EAAE,QAAQ;iBACd;gBACD,KAAK,EAAE;oBACN,WAAW,EAAE,8EAA8E;oBAC3F,IAAI,EAAE,QAAQ;iBACd;gBACD,UAAU,EAAE;oBACX,WAAW,EAAE,kEAAkE;oBAC/E,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,SAAS,EAAE;QACV,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;qEAqBsD;QACnE,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,IAAI,EAAE;oBACL,WAAW,EAAE,0BAA0B;oBACvC,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,eAAe,EAAE;QAChB,WAAW,EACV,wDAAwD;YACxD,4DAA4D;YAC5D,yDAAyD;QAC1D,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,KAAK,EAAE;oBACN,WAAW,EAAE,4EAA4E;oBACzF,IAAI,EAAE,QAAQ;iBACd;gBACD,MAAM,EAAE;oBACP,WAAW,EAAE,6CAA6C;oBAC1D,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,gBAAgB,EAAE;QACjB,WAAW,EAAE,+CAA+C;QAC5D,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,8BAA8B;oBAC3C,IAAI,EAAE,QAAQ;iBACd;gBACD,UAAU,EAAE;oBACX,WAAW,EAAE,0CAA0C;oBACvD,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;YACrB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,cAAc,EAAE;QACf,WAAW,EAAE,0DAA0D;QACvE,IAAI,EAAE,gBAAgB;QACtB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,6BAA6B;oBAC1C,IAAI,EAAE,QAAQ;iBACd;gBACD,OAAO,EAAE;oBACR,WAAW,EAAE,0CAA0C;oBACvD,IAAI,EAAE,QAAQ;iBACd;gBACD,IAAI,EAAE;oBACL,WAAW,EAAE,0BAA0B;oBACvC,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;YACxC,IAAI,EAAE,QAAQ;SACd;KACD;IACD,aAAa,EAAE;QACd,WAAW,EACV,6DAA6D;YAC7D,wFAAwF;QACzF,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,MAAM,EAAE;oBACP,WAAW,EAAE,sCAAsC;oBACnD,IAAI,EAAE,QAAQ;iBACd;gBACD,KAAK,EAAE;oBACN,WAAW,EAAE,4BAA4B;oBACzC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,IAAI,EAAE,OAAO;iBACb;gBACD,IAAI,EAAE;oBACL,WAAW,EAAE,yFAAyF;oBACtG,IAAI,EAAE,QAAQ;iBACd;gBACD,IAAI,EAAE;oBACL,WAAW,EAAE,gDAAgD;oBAC7D,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,aAAa,EAAE;QACd,WAAW,EACV,iFAAiF;YACjF,0FAA0F;QAC3F,IAAI,EAAE,eAAe;QACrB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,IAAI,EAAE;oBACL,WAAW,EAAE,2FAA2F;oBACxG,IAAI,EAAE,QAAQ;iBACd;gBACD,QAAQ,EAAE;oBACT,WAAW,EAAE,oEAAoE;oBACjF,IAAI,EAAE,QAAQ;iBACd;gBACD,KAAK,EAAE;oBACN,WAAW,EAAE,qDAAqD;oBAClE,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,UAAU,EAAE;QACX,WAAW,EAAE,gCAAgC;QAC7C,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,KAAK,EAAE;oBACN,WAAW,EAAE,cAAc;oBAC3B,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,QAAQ;SACd;KACD;IACD,KAAK,EAAE;QACN,WAAW,EAAE,4EAA4E;QACzF,IAAI,EAAE,OAAO;QACb,UAAU,EAAE;YACX,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,kCAAkC;oBAC/C,IAAI,EAAE,QAAQ;iBACd;gBACD,IAAI,EAAE;oBACL,WAAW,EAAE,uCAAuC;oBACpD,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;YAC7B,IAAI,EAAE,QAAQ;SACd;KACD;CACD,CAAC;AAEF,MAAM,OAAO,oBAAoB;IACf,eAAe,CAAkB;IACjC,oBAAoB,GAAG,uBAAuB,EAAE,CAAC;IACjD,gBAAgB,CAA0B;IAC1C,MAAM,GAAG,SAAS,EAAE,CAAC;IACrB,eAAe,CAAkB;IAC1C,gBAAgB,GAAmC,IAAI,CAAC;IACxD,cAAc,GAA0B,IAAI,CAAC;IACpC,kBAAkB,CAAqB;IACvC,mBAAmB,CAAsB;IACzC,MAAM,GAAG,SAAS,EAAE,CAAC;IACrB,UAAU,CAAS;IAEpC;;;OAGG;IACK,SAAS,CAAU;IAE3B;;;OAGG;IACK,YAAY,CAAgB;IAEpC;;OAEG;IACK,kBAAkB,GAAuB,EAAE,CAAC;IAEpD;;;;OAIG;IACc,SAAS,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEpD;;;OAGG;IACK,gBAAgB,GAAmB,IAAI,CAAC;IAEhD;;;OAGG;IACK,UAAU,GAAY,KAAK,CAAC;IAEpC;;OAEG;IACK,eAAe,GAA+B,IAAI,CAAC;IAE3D,YAAY,aAAqB,OAAO,CAAC,GAAG,EAAE;QAC7C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,OAAqB;QACpC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,eAAe;QACd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,SAAiB;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,kBAAkB,CAAC,UAAU,GAAG,SAAS,CAAC;QAC/C,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,OAA2B;QAChD,IAAI,CAAC,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,OAAuB;QACxC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,aAAsC;QACzD,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,kBAAkB;QACjB,IAAI,CAAC,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,iBAAiB;QAChB,IAAI,CAAC,kBAAkB,CAAC,aAAa,GAAG,KAAK,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,OAAgB;QAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,YAAY;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,sBAAsB;QACrB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,wBAAwB;QACvB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,YAA2B;QAC7C,MAAM,WAAW,GAAwB,EAAE,CAAC;QAE5C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YACjC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,uCAAuC;gBACvC,MAAM,aAAa,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBAC3D,IAAI,aAAa,EAAE,CAAC;oBACnB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACjC,CAAC;gBACD,SAAS;YACV,CAAC;YAED,MAAM,UAAU,GAAG,yBAAyB,CAAC,IAAmB,CAAC,CAAC;YAClE,IAAI,UAAU,EAAE,CAAC;gBAChB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC9B,QAAgB,EAChB,iBAAyB,EACzB,kBAA4B,EAC5B,YAAuB;QAEvB,IAAI,WAAW,GAAG,qBAAqB,QAAQ,gBAAgB,iBAAiB,EAAE,CAAC;QAEnF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,WAAW,IAAI,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,CAAC;aAAM,CAAC;YACP,WAAW,IAAI,wFAAwF,CAAC;QACzG,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YAClB,WAAW,IAAI,qBAAqB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,CAAC;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,kBAA4B;QAC1D,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC;YACnC,CAAC,CAAC,4CAA4C,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7E,CAAC,CAAC,iDAAiD,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACK,yBAAyB,CAAC,OAAgB;QACjD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,+BAA+B;QAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5E,MAAM,iBAAiB,GAAG,eAAe,EAAE,MAAM,CAAC,WAAW,IAAI,wBAAwB,QAAQ,EAAE,CAAC;QACpG,MAAM,kBAAkB,GAAG,eAAe,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACpF,MAAM,YAAY,GAAG,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAEnE,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAEhH,OAAO;YACN,WAAW;YACX,IAAI,EAAE,OAAO;YACb,UAAU,EAAE;gBACX,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV,oBAAoB,EAAE,IAAI;wBAC1B,WAAW,EAAE,gDAAgD;wBAC7D,IAAI,EAAE,QAAQ;qBACd;oBACD,SAAS,EAAE;wBACV,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC;wBAC5D,IAAI,EAAE,QAAQ;qBACd;iBACD;gBACD,QAAQ,EAAE,CAAC,WAAW,CAAC;gBACvB,IAAI,EAAE,QAAQ;aACd;SACD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QACjB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,gDAAgD;QAChD,IAAI,CAAC,kBAAkB,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACzD,sBAAsB;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,4BAA4B;QACjC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IAED;;;OAGG;IACH,yBAAyB,CAAC,QAAgB;QACzC,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,mBAAmB;QAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW,CAAC,QAAqB;QACtC,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAE1B,8CAA8C;QAC9C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACpE,OAAO,SAAS,CAAC,MAAM,CAAC;QACzB,CAAC;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACtD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAEpF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,IAAI,EAAE,EAAE;oBAC5D,MAAM,EAAE,UAAU,CAAC,WAAW;iBAC9B,CAAC,CAAC;gBACH,OAAO;oBACN,MAAM,EAAE,8BAA8B,UAAU,CAAC,WAAW,IAAI,oBAAoB,EAAE;oBACtF,YAAY,EAAE,QAAQ,CAAC,EAAE;iBACzB,CAAC;YACH,CAAC;YAED,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC5B,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7F,CAAC;QACF,CAAC;QAED,uCAAuC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,EAAE;YAClD,UAAU,EAAE;gBACX,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS;gBAC/C,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,IAAI;aACpC;YACD,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,YAAY;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC;YACJ,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;IACF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,QAAqB,EAAE,IAAU;QAClE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAEhC,6CAA6C;QAC7C,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEzF,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC7C,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAC3D,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC5E,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;oBACzG,eAAe,EAAE,WAAW,CAAC,GAAG;iBAChC,CAAC,CAAC;gBAEH,OAAO;oBACN,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;oBACxC,YAAY,EAAE,EAAE;iBAChB,CAAC;YACH,CAAC;QACF,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7G,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAmB,EAAE,IAAI,CAAC,CAAC;YAEvE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACtE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,yBAAyB,EAAE;gBACxD,YAAY,EAAE,MAAM,CAAC,MAAM;aAC3B,CAAC,CAAC;YAEH,oCAAoC;YACpC,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACjG,CAAC;YAED,4DAA4D;YAC5D,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBACvD,8CAA8C;gBAC9C,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,OAAO;gBACN,MAAM;gBACN,YAAY,EAAE,EAAE;aAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAE/C,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,CAAC,KAAc,CAAC,CAAC;YAErC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,KAAc,CAAC,CAAC;YAEzD,qFAAqF;YACrF,mBAAmB,EAAE,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACnF,kBAAkB,EAAE,CAAC,uBAAuB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAE/E,iFAAiF;YACjF,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAChC,QAAQ,EACR,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EACzE,IAAI,CAAC,kBAAkB,CACvB,CAAC;YACH,CAAC;YAED,OAAO;gBACN,MAAM,EAAE,UAAU,YAAY,EAAE;gBAChC,YAAY,EAAE,EAAE;aAChB,CAAC;QACH,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,SAAwB;QAC1C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACX,CAAC;QAED,2CAA2C;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,EAAE;YACxD,UAAU,EAAE;gBACX,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS;gBAC/C,iBAAiB,EAAE,SAAS,CAAC,MAAM;gBACnC,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;aACpD;YACD,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,YAAY;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnF,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACtG,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,KAAc,CAAC,CAAC;YACrC,MAAM,KAAK,CAAC;QACb,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;IACF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,IAAiB,EAAE,IAA6B;QAC/E,+DAA+D;QAC/D,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,yBAAyB;QACzB,MAAM,YAAY,GAA4E;YAC7F,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC5E,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACjD,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACpF,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC1F,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACzE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACpE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACzE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACzE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;YACvD,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC/D,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAC3C,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACzE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YAC7C,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACzE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACvD,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACvD,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACtF,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACtF,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC/C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;SACtC,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAmB,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,IAA6B;QAC9E,oCAAoC;QACpC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC,SAAS,CAAC;gBACrB,KAAK,EAAE,+DAA+D;gBACtE,MAAM,EAAE,gBAAgB;aACxB,CAAC,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,+DAA+D;QAC/D,8EAA8E;QAC9E,MAAM,cAAc,GAAI,IAAI,CAAC,WAAW,CAAY,IAAI,WAAW,CAAC;QACpE,MAAM,QAAQ,GAAI,IAAI,CAAC,WAAW,CAA6B,IAAI,IAAI,CAAC;QAExE,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,WAAsB,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;YAEvG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,SAAS,CAAC;oBACrB,WAAW,EAAE,MAAM,CAAC,UAAU;oBAC9B,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;oBACxC,MAAM,EAAE,MAAM,CAAC,QAAQ;oBACvB,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,MAAM,CAAC,QAAQ;iBACrB,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,OAAO,IAAI,CAAC,SAAS,CAAC;oBACrB,WAAW,EAAE,MAAM,CAAC,UAAU;oBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,QAAQ;oBACvB,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,MAAM,CAAC,QAAQ;iBACrB,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,GAAI,KAAe,CAAC,OAAO,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,WAAW,EAAE,EAAE,KAAc,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC,SAAS,CAAC;gBACrB,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,WAAW;aACjB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED;;;OAGG;IACK,MAAM,CAAU,mBAAmB,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAE3E;;;OAGG;IACK,aAAa,GAAmB,EAAE,CAAC;IAE3C;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,IAA6B;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAW,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAW,CAAC;QAE1C,IAAI,CAAC,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,2CAA2C,CAAC;QACpD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE/D,wDAAwD;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;QAC/C,MAAM,eAAe,GAAG,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAChE,CAAC,aAAa,EAAE,EAAE,CAAC,QAAQ,KAAK,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CACnF,CAAC;QAEF,+DAA+D;QAC/D,oEAAoE;QACpE,IAAI,eAAe,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9E,OAAO,CACN,6CAA6C,IAAI,IAAI;gBACrD,uEAAuE;gBACvE,+EAA+E,CAC/E,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,CACzE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC7E,CAAC;QAEF,IAAI,oBAAoB,EAAE,CAAC;YAC1B,0DAA0D;YAC1D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,IAAI,EAAE,EAAE;gBACzD,aAAa,EAAE,OAAO,CAAC,MAAM;gBAC7B,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;aACvC,CAAC,CAAC;YACH,OAAO,4BAA4B,IAAI,oCAAoC,CAAC;QAC7E,CAAC;QAED,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,EAAE,EAAE;YACrD,aAAa,EAAE,OAAO,CAAC,MAAM;SAC7B,CAAC,CAAC;QAEH,OAAO,sBAAsB,OAAO,CAAC,MAAM,kBAAkB,IAAI,EAAE,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,gBAAgB;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,qBAAqB;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB;QACvB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,2BAA2B,CAC/C,gBAAgB,EAAE,EAClB,eAAe,EAAE,EACjB,gBAAgB,EAAE,EAClB,IAAI,CAAC,MAAM,CACX,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAExD,2BAA2B;QAC3B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAExB,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,MAAM,CAAU,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAE7D;;OAEG;IACK,MAAM,CAAU,kBAAkB,GAAG,CAAC,kBAAkB,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IAElG;;;;OAIG;IACK,MAAM,CAAU,eAAe,GAAG;QACzC,YAAY;QACZ,gBAAgB;QAChB,MAAM;QACN,YAAY;QACZ,iBAAiB;QACjB,kBAAkB;QAClB,QAAQ;QACR,QAAQ;QACR,eAAe;QACf,cAAc;QACd,mBAAmB;QACnB,gBAAgB;QAChB,WAAW;QACX,WAAW;QACX,eAAe;KACf,CAAC;IAEF;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,IAA6B;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAW,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,kCAAkC,CAAC;QAC3C,CAAC;QAED,gEAAgE;QAChE,MAAM,WAAW,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACtG,IAAI,WAAW,EAAE,CAAC;YACjB,OAAO,wBAAwB,WAAW,0DAA0D,CAAC;QACtG,CAAC;QAED,kDAAkD;QAClD,IAAI,kBAAkB,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO,+BAA+B,IAAI,sDAAsD,CAAC;QAClG,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,CACN,mBAAmB,IAAI,MAAM;gBAC7B,sDAAsD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,wBAAwB,CAC3G,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;YACzD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;YAC3E,OAAO,CACN,2BAA2B,IAAI,KAAK,EAAE,QAAQ,OAAO,eAAe;gBACpE,0DAA0D;gBAC1D,uCAAuC,IAAI,qCAAqC;gBAChF,gCAAgC,IAAI,qCAAqC;gBACzE,sCAAsC,IAAI,kCAAkC,CAC5E,CAAC;QACH,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,kBAAkB,CAAC;QAC3B,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,YAAY,CAAC;QACrB,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE7B,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACK,sBAAsB,CAAC,IAAY;QAC1C,MAAM,wBAAwB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAClD,OAAO,CACN,8CAA8C,IAAI,MAAM;YACxD,2DAA2D,IAAI,4BAA4B;YAC3F,gBAAgB;YAChB,uBAAuB,IAAI,QAAQ,IAAI,0BAA0B;YACjE,uBAAuB,IAAI,WAAW,IAAI,kCAAkC;YAC5E,oDAAoD,CACpD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CAAC,IAAY,EAAE,OAAe;QACtD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC7C,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;QAC/C,IAAI,UAAU,GAAG,+BAA+B,IAAI,8BAA8B,CAAC;QAEnF,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACjG,UAAU;gBACT,+BAA+B,IAAI,gCAAgC;oBACnE,8DAA8D,IAAI,uBAAuB,CAAC;QAC5F,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9F,UAAU,GAAG,sDAAsD,IAAI,+BAA+B,CAAC;QACxG,CAAC;QAED,OAAO,CACN,mBAAmB,IAAI,KAAK,SAAS,8BAA8B;YACnE,wFAAwF;YACxF,mBAAmB,UAAU,MAAM;YACnC,kEAAkE,CAClE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAAC,IAA6B;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAW,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAW,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAW,CAAC;QAEzC,IAAI,CAAC,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3D,OAAO,8DAA8D,CAAC;QACvE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,CACN,mBAAmB,IAAI,MAAM;gBAC7B,kFAAkF,CAClF,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEzC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,OAAO,CACN,4BAA4B,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU;gBAC7D,kBAAkB,IAAI,4EAA4E,CAClG,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,EAAE,EAAE;YAC7C,YAAY,EAAE,MAAM,CAAC,MAAM;YAC3B,YAAY,EAAE,MAAM,CAAC,MAAM;SAC3B,CAAC,CAAC;QAEH,OAAO,iCAAiC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAA6B;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAW,CAAC;QAEpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE7D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,mBAAmB,IAAI,sBAAsB,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;YAE9C,OAAO,OAAO,CAAC,OAAO,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB;QAC7B,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC;YACJ,MAAM,SAAS,CAAC,eAAe,EAAE;gBAChC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBACxD,OAAO,EAAE,IAAI;aACb,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACR,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,iBAAiB,CAAC,OAAe;QAC/C,MAAM,QAAQ,GAAG;YAChB,4BAA4B;YAC5B,oBAAoB;YACpB,oBAAoB;YACpB,qBAAqB;YACrB,uBAAuB;SACvB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,IAAI,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,qBAAqB;QACzD,MAAM,KAAK,GAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAErC,4BAA4B;QAC5B,IAAI,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,qBAAqB;QACrB,IAAI,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,wBAAwB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,sCAAsC;QACtC,IAAI,GAAG,IAAI;aACT,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC,mBAAmB;aAC5D,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,kCAAkC;aAC7D,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,gCAAgC;aAC/D,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB;QAE7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,iFAAiF;QACjF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9E,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;QAC/C,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAExC,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC;YACpF,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,yBAAyB,EAAE,GAAG,IAAI,wBAAwB,CAAC,CAAC;YAC/F,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,mCAAmC,CAAC;YAC3E,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;QACjD,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,aAAa,EAAE,GAAG,IAAI,kBAAkB,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC;QAC1G,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,8BAA8B,CAAC;QACtE,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAAC,OAAe;QAC3C,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,UAAU,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,UAAU,EAAE,CAAC,CAAC;YACrE,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,IAA6B;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAW,CAAC;QACtC,MAAM,SAAS,GAAI,IAAI,CAAC,YAAY,CAAY,IAAI,kBAAkB,CAAC;QAEvE,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;QAElD,8CAA8C;QAC9C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC3B,OAAO,uCAAuC,YAAY,CAAC,MAAM,kFAAkF,CAAC;QACrJ,CAAC;QAED,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAE7C,IAAI,CAAC;YACJ,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBACnD,GAAG,EAAE,IAAI,CAAC,UAAU;gBACpB,GAAG,EAAE,EAAE,GAAG,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBAC7F,OAAO,EAAE,SAAS;aAClB,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAErD,OAAO,sBAAsB,CAAC,MAAM,CAAC,IAAI,4CAA4C,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,KAA4D,CAAC;YAC/E,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE7E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAE9B,MAAM,IAAI,KAAK,CAAC,mBAAmB,sBAAsB,CAAC,MAAM,CAAC,IAAK,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAClG,CAAC;IACF,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,IAA6B;QACnD,MAAM,IAAI,GAAI,IAAI,CAAC,MAAM,CAAY,IAAI,GAAG,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,OAAO,CACrB,wBAAwB,IAAI,2EAA2E,CACvG,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,OAAO,CACrB,oBAAoB,IAAI,kDAAkD,IAAI,gBAAgB,CAC9F,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxD,OAAO,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,oBAAoB,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,oBAAoB,2BAA2B,KAAK,SAAS,CAAC,CAAC;QAC/F,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAA6B;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAW,CAAC;QAEtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAY;QAC/B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;;OAQG;IACK,sBAAsB,CAAC,IAAY,EAAE,SAAiB;QAC7D,6BAA6B;QAC7B,wBAAwB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAExC,uEAAuE;QACvE,wBAAwB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE9C,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,iBAAiB,CAAC,QAAgB,EAAE,IAA6B;QACxE,mDAAmD;QACnD,MAAM,cAAc,GAA6B;YAChD,eAAe,EAAE,CAAC,OAAO,CAAC;YAC1B,WAAW,EAAE,CAAC,MAAM,CAAC;YACrB,gBAAgB,EAAE,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YACzB,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,aAAa,EAAE,CAAC,WAAW,CAAC;YAC5B,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC;YAChD,SAAS,EAAE,CAAC,MAAM,CAAC;YACnB,gBAAgB,EAAE,CAAC,SAAS,CAAC;YAC7B,cAAc,EAAE,CAAC,MAAM,CAAC;YACxB,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,KAAK,EAAE,CAAC,MAAM,CAAC;SACf,CAAC;QAEF,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI;aACjB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACb,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,uBAAuB;YACvB,OAAO,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxE,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;QAElB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;;AAGF;;;GAGG;AACH,SAAS,iBAAiB,CAAC,MAAe;IACzC,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1E,IAAI,IAAI,CAAC,MAAM,IAAI,oBAAoB;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,GAAG,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,oBAAoB,GAAG,IAAI,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1C,OAAO,CACN,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,YAAY,OAAO,8BAA8B,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAChH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH;;;;;;GAMG;AACH;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,IAAwB,EAAE,OAAe;IACrE,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACjC,IAAI,mBAAmB,CAAC,OAAO,CAAC;QAAE,OAAO,yBAAyB,OAAO,EAAE,CAAC;IAC5E,IAAI,qBAAqB,CAAC,OAAO,CAAC;QAAE,OAAO,gCAAgC,OAAO,EAAE,CAAC;IACrF,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACpC,OAAO,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAEpC,8BAA8B;IAC9B,IAAI,sCAAsC,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtE,yDAAyD;IACzD,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,sDAAsD;IACtD,6DAA6D;IAC7D,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc;IAC7C,IAAI,MAAM,CAAC,MAAM,IAAI,yBAAyB;QAAE,OAAO,MAAM,CAAC;IAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,yBAAyB,GAAG,IAAI,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,OAAO,CACN,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;QACzB,YAAY,OAAO,8BAA8B;QACjD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CACtC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,IAAI,oBAAoB,GAAgC,IAAI,CAAC;AAE7D,MAAM,UAAU,uBAAuB,CAAC,UAAmB;IAC1D,IAAI,CAAC,oBAAoB,IAAI,UAAU,EAAE,CAAC;QACzC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC7B,CAAC"}
@@ -28,7 +28,7 @@ export declare class SearchToolsService {
28
28
  executeGrep(args: Record<string, unknown>): Promise<string>;
29
29
  /**
30
30
  * Semantic codebase search
31
- * Currently falls back to grep-based search
31
+ * Uses AST symbol index when available, falls back to grep
32
32
  */
33
33
  executeCodebaseSearch(args: Record<string, unknown>): Promise<string>;
34
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-tools.service.d.ts","sourceRoot":"","sources":["../../../src/executor/tools/search-tools.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAM/C,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAO3C;;GAEG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,UAAU,GAAE,MAAsB,EAAE,OAAO,CAAC,EAAE,MAAM;IAIhE;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BvE;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAiCjE;;;OAGG;IACG,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAW3E;AAOD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAG7E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
1
+ {"version":3,"file":"search-tools.service.d.ts","sourceRoot":"","sources":["../../../src/executor/tools/search-tools.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAM/C,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAO3C;;GAEG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,UAAU,GAAE,MAAsB,EAAE,OAAO,CAAC,EAAE,MAAM;IAIhE;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA2BvE;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAiCjE;;;OAGG;IACG,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CA+B3E;AAOD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAG7E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
@@ -9,6 +9,8 @@
9
9
  * - Grep content search
10
10
  * - Codebase semantic search
11
11
  */
12
+ import { getASTIndexService } from '../../ast/ast-index.service.js';
13
+ import { searchSymbols } from '../../ast/ast-query.service.js';
12
14
  import { exec } from 'child_process';
13
15
  import { promisify } from 'util';
14
16
  import { DEFAULT_TIMEOUT_MS, MAX_GREP_OUTPUT_LINES } from '../../config/constants.js';
@@ -84,15 +86,35 @@ export class SearchToolsService {
84
86
  }
85
87
  /**
86
88
  * Semantic codebase search
87
- * Currently falls back to grep-based search
89
+ * Uses AST symbol index when available, falls back to grep
88
90
  */
89
91
  async executeCodebaseSearch(args) {
90
92
  const query = args['query'];
91
93
  if (!query) {
92
94
  return 'codebase_search requires query argument';
93
95
  }
94
- // For now, fall back to grep-based search
95
- // A real implementation would use embeddings/semantic search
96
+ // Try AST index first for symbol-aware search
97
+ try {
98
+ const indexService = getASTIndexService(this.workingDir);
99
+ if (indexService.isBuilt()) {
100
+ const results = searchSymbols(query, { limit: 20 });
101
+ if (results.length > 0) {
102
+ const lines = results.map((r) => {
103
+ const loc = `${r.symbol.filePath}:${r.symbol.startLine}`;
104
+ const exp = r.symbol.exported ? 'exported ' : '';
105
+ return `${loc} — ${exp}${r.symbol.kind} ${r.symbol.name} (${r.matchType})`;
106
+ });
107
+ const header = `Found ${results.length} symbol(s) matching "${query}":\n`;
108
+ const grepNote = '\n\n(Also searching file contents with grep...)';
109
+ const grepResults = await this.executeGrep({ path: '.', pattern: query });
110
+ const grepSection = grepResults !== 'No matches found' ? `\n\nGrep results:\n${grepResults}` : '';
111
+ return header + lines.join('\n') + grepNote + grepSection;
112
+ }
113
+ }
114
+ }
115
+ catch {
116
+ // Fall through to grep
117
+ }
96
118
  return this.executeGrep({ path: '.', pattern: query });
97
119
  }
98
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-tools.service.js","sourceRoot":"","sources":["../../../src/executor/tools/search-tools.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAIjC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE7E,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAIlC;;GAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,kBAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE5G;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACb,UAAU,CAAS;IAEpC,YAAY,aAAqB,OAAO,CAAC,GAAG,EAAE,EAAE,OAAgB;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAA6B;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAW,CAAC;QAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,4CAA4C,CAAC;QACrD,CAAC;QAED,IAAI,CAAC;YACJ,4EAA4E;YAC5E,MAAM,OAAO,GAAG,cAAc,OAAO,6DAA6D,OAAO,mCAAmC,CAAC;YAC7I,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAC3C,GAAG,EAAE,IAAI,CAAC,UAAU;gBACpB,OAAO,EAAE,kBAAkB;aAC3B,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO,iCAAiC,CAAC;YAC1C,CAAC;YAED,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,iCAAiC,CAAC;QAC1C,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAA6B;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAW,CAAC;QAC1C,MAAM,IAAI,GAAI,IAAI,CAAC,MAAM,CAAY,IAAI,GAAG,CAAC;QAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,gCAAgC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC;YACJ,uCAAuC;YACvC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE3E,yEAAyE;YACzE,sFAAsF;YACtF,MAAM,OAAO,GAAG,qBAAqB,QAAQ,KAAK,OAAO,MAAM,IAAI,qHAAqH,OAAO,MAAM,IAAI,0BAA0B,qBAAqB,EAAE,CAAC;YAC3P,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAC3C,GAAG,EAAE,IAAI,CAAC,UAAU;gBACpB,OAAO,EAAE,kBAAkB;aAC3B,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM;gBAAE,OAAO,kBAAkB,CAAC;YAEvC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,MAAM,GACX,KAAK,CAAC,MAAM,IAAI,qBAAqB;gBACpC,CAAC,CAAC,yBAAyB,qBAAqB,kDAAkD;gBAClG,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,kBAAkB,CAAC;QAC3B,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,IAA6B;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAW,CAAC;QAEtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,yCAAyC,CAAC;QAClD,CAAC;QAED,0CAA0C;QAC1C,6DAA6D;QAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;CACD;AAED;;GAEG;AACH,IAAI,0BAA0B,GAA8B,IAAI,CAAC;AAEjE;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAmB;IACxD,0BAA0B,KAAK,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAClE,OAAO,0BAA0B,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACtC,0BAA0B,GAAG,IAAI,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"search-tools.service.js","sourceRoot":"","sources":["../../../src/executor/tools/search-tools.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../src/executor/variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAEhE,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAU;gBAEZ,OAAO,EAAE,eAAe,EAAE,MAAM,UAAO;IAKnD;;OAEG;IACH,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAavB;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAoB5D;;OAEG;IACH,OAAO,CAAC,UAAU;IAkBlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAkDnB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAuBpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAetD;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI1E;;OAEG;IACH,UAAU,IAAI,eAAe;IAI7B;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAsB1F;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzC;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE;CA8B3C"}
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../src/executor/variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAEhE,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAU;gBAEZ,OAAO,EAAE,eAAe,EAAE,MAAM,UAAO;IAKnD;;OAEG;IACH,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAavB;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAoB5D;;OAEG;IACH,OAAO,CAAC,UAAU;IAkBlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAkDnB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAuBpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,UAAU;IAkBlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAetD;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI1E;;OAEG;IACH,UAAU,IAAI,eAAe;IAI7B;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAsB1F;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzC;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE;CA8B3C"}