@yalehwang/archguard 0.1.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 (427) hide show
  1. package/README.md +537 -0
  2. package/dist/cli/cache/arch-json-disk-cache.d.ts +12 -0
  3. package/dist/cli/cache/arch-json-disk-cache.d.ts.map +1 -0
  4. package/dist/cli/cache/arch-json-disk-cache.js +51 -0
  5. package/dist/cli/cache/arch-json-disk-cache.js.map +1 -0
  6. package/dist/cli/cache-manager.d.ts +28 -0
  7. package/dist/cli/cache-manager.d.ts.map +1 -0
  8. package/dist/cli/cache-manager.js +126 -0
  9. package/dist/cli/cache-manager.js.map +1 -0
  10. package/dist/cli/commands/analyze.d.ts +7 -0
  11. package/dist/cli/commands/analyze.d.ts.map +1 -0
  12. package/dist/cli/commands/analyze.js +212 -0
  13. package/dist/cli/commands/analyze.js.map +1 -0
  14. package/dist/cli/commands/cache.d.ts +3 -0
  15. package/dist/cli/commands/cache.d.ts.map +1 -0
  16. package/dist/cli/commands/cache.js +56 -0
  17. package/dist/cli/commands/cache.js.map +1 -0
  18. package/dist/cli/commands/init.d.ts +3 -0
  19. package/dist/cli/commands/init.d.ts.map +1 -0
  20. package/dist/cli/commands/init.js +34 -0
  21. package/dist/cli/commands/init.js.map +1 -0
  22. package/dist/cli/config-loader.d.ts +701 -0
  23. package/dist/cli/config-loader.d.ts.map +1 -0
  24. package/dist/cli/config-loader.js +259 -0
  25. package/dist/cli/config-loader.js.map +1 -0
  26. package/dist/cli/error-handler.d.ts +15 -0
  27. package/dist/cli/error-handler.d.ts.map +1 -0
  28. package/dist/cli/error-handler.js +127 -0
  29. package/dist/cli/error-handler.js.map +1 -0
  30. package/dist/cli/errors.d.ts +15 -0
  31. package/dist/cli/errors.d.ts.map +1 -0
  32. package/dist/cli/errors.js +31 -0
  33. package/dist/cli/errors.js.map +1 -0
  34. package/dist/cli/index.d.ts +4 -0
  35. package/dist/cli/index.d.ts.map +1 -0
  36. package/dist/cli/index.js +27 -0
  37. package/dist/cli/index.js.map +1 -0
  38. package/dist/cli/processors/diagram-processor.d.ts +61 -0
  39. package/dist/cli/processors/diagram-processor.d.ts.map +1 -0
  40. package/dist/cli/processors/diagram-processor.js +610 -0
  41. package/dist/cli/processors/diagram-processor.js.map +1 -0
  42. package/dist/cli/progress/parallel-progress.d.ts +16 -0
  43. package/dist/cli/progress/parallel-progress.d.ts.map +1 -0
  44. package/dist/cli/progress/parallel-progress.js +49 -0
  45. package/dist/cli/progress/parallel-progress.js.map +1 -0
  46. package/dist/cli/progress.d.ts +36 -0
  47. package/dist/cli/progress.d.ts.map +1 -0
  48. package/dist/cli/progress.js +127 -0
  49. package/dist/cli/progress.js.map +1 -0
  50. package/dist/cli/types.d.ts +37 -0
  51. package/dist/cli/types.d.ts.map +1 -0
  52. package/dist/cli/types.js +2 -0
  53. package/dist/cli/types.js.map +1 -0
  54. package/dist/cli/utils/cpp-project-structure-detector.d.ts +10 -0
  55. package/dist/cli/utils/cpp-project-structure-detector.d.ts.map +1 -0
  56. package/dist/cli/utils/cpp-project-structure-detector.js +99 -0
  57. package/dist/cli/utils/cpp-project-structure-detector.js.map +1 -0
  58. package/dist/cli/utils/diagram-index-generator.d.ts +12 -0
  59. package/dist/cli/utils/diagram-index-generator.d.ts.map +1 -0
  60. package/dist/cli/utils/diagram-index-generator.js +94 -0
  61. package/dist/cli/utils/diagram-index-generator.js.map +1 -0
  62. package/dist/cli/utils/file-discovery-service.d.ts +10 -0
  63. package/dist/cli/utils/file-discovery-service.d.ts.map +1 -0
  64. package/dist/cli/utils/file-discovery-service.js +56 -0
  65. package/dist/cli/utils/file-discovery-service.js.map +1 -0
  66. package/dist/cli/utils/output-path-resolver.d.ts +34 -0
  67. package/dist/cli/utils/output-path-resolver.d.ts.map +1 -0
  68. package/dist/cli/utils/output-path-resolver.js +91 -0
  69. package/dist/cli/utils/output-path-resolver.js.map +1 -0
  70. package/dist/cli/utils/project-structure-detector.d.ts +6 -0
  71. package/dist/cli/utils/project-structure-detector.d.ts.map +1 -0
  72. package/dist/cli/utils/project-structure-detector.js +159 -0
  73. package/dist/cli/utils/project-structure-detector.js.map +1 -0
  74. package/dist/core/interfaces/dependency.d.ts +14 -0
  75. package/dist/core/interfaces/dependency.d.ts.map +1 -0
  76. package/dist/core/interfaces/dependency.js +2 -0
  77. package/dist/core/interfaces/dependency.js.map +1 -0
  78. package/dist/core/interfaces/errors.d.ts +29 -0
  79. package/dist/core/interfaces/errors.d.ts.map +1 -0
  80. package/dist/core/interfaces/errors.js +59 -0
  81. package/dist/core/interfaces/errors.js.map +1 -0
  82. package/dist/core/interfaces/index.d.ts +6 -0
  83. package/dist/core/interfaces/index.d.ts.map +1 -0
  84. package/dist/core/interfaces/index.js +2 -0
  85. package/dist/core/interfaces/index.js.map +1 -0
  86. package/dist/core/interfaces/language-plugin.d.ts +34 -0
  87. package/dist/core/interfaces/language-plugin.d.ts.map +1 -0
  88. package/dist/core/interfaces/language-plugin.js +2 -0
  89. package/dist/core/interfaces/language-plugin.js.map +1 -0
  90. package/dist/core/interfaces/parser.d.ts +15 -0
  91. package/dist/core/interfaces/parser.d.ts.map +1 -0
  92. package/dist/core/interfaces/parser.js +2 -0
  93. package/dist/core/interfaces/parser.js.map +1 -0
  94. package/dist/core/interfaces/validation.d.ts +24 -0
  95. package/dist/core/interfaces/validation.d.ts.map +1 -0
  96. package/dist/core/interfaces/validation.js +2 -0
  97. package/dist/core/interfaces/validation.js.map +1 -0
  98. package/dist/core/plugin-registry.d.ts +19 -0
  99. package/dist/core/plugin-registry.d.ts.map +1 -0
  100. package/dist/core/plugin-registry.js +137 -0
  101. package/dist/core/plugin-registry.js.map +1 -0
  102. package/dist/index.d.ts +4 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.js +4 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/mermaid/auto-repair.d.ts +23 -0
  107. package/dist/mermaid/auto-repair.d.ts.map +1 -0
  108. package/dist/mermaid/auto-repair.js +197 -0
  109. package/dist/mermaid/auto-repair.js.map +1 -0
  110. package/dist/mermaid/comment-generator.d.ts +10 -0
  111. package/dist/mermaid/comment-generator.d.ts.map +1 -0
  112. package/dist/mermaid/comment-generator.js +213 -0
  113. package/dist/mermaid/comment-generator.js.map +1 -0
  114. package/dist/mermaid/cpp-package-flowchart-generator.d.ts +5 -0
  115. package/dist/mermaid/cpp-package-flowchart-generator.d.ts.map +1 -0
  116. package/dist/mermaid/cpp-package-flowchart-generator.js +33 -0
  117. package/dist/mermaid/cpp-package-flowchart-generator.js.map +1 -0
  118. package/dist/mermaid/diagram-generator.d.ts +31 -0
  119. package/dist/mermaid/diagram-generator.d.ts.map +1 -0
  120. package/dist/mermaid/diagram-generator.js +194 -0
  121. package/dist/mermaid/diagram-generator.js.map +1 -0
  122. package/dist/mermaid/external-dependencies.d.ts +3 -0
  123. package/dist/mermaid/external-dependencies.d.ts.map +1 -0
  124. package/dist/mermaid/external-dependencies.js +38 -0
  125. package/dist/mermaid/external-dependencies.js.map +1 -0
  126. package/dist/mermaid/generator.d.ts +44 -0
  127. package/dist/mermaid/generator.d.ts.map +1 -0
  128. package/dist/mermaid/generator.js +511 -0
  129. package/dist/mermaid/generator.js.map +1 -0
  130. package/dist/mermaid/grouper.d.ts +15 -0
  131. package/dist/mermaid/grouper.d.ts.map +1 -0
  132. package/dist/mermaid/grouper.js +194 -0
  133. package/dist/mermaid/grouper.js.map +1 -0
  134. package/dist/mermaid/index.d.ts +14 -0
  135. package/dist/mermaid/index.d.ts.map +1 -0
  136. package/dist/mermaid/index.js +13 -0
  137. package/dist/mermaid/index.js.map +1 -0
  138. package/dist/mermaid/progress.d.ts +15 -0
  139. package/dist/mermaid/progress.d.ts.map +1 -0
  140. package/dist/mermaid/progress.js +8 -0
  141. package/dist/mermaid/progress.js.map +1 -0
  142. package/dist/mermaid/render-worker-pool.d.ts +29 -0
  143. package/dist/mermaid/render-worker-pool.d.ts.map +1 -0
  144. package/dist/mermaid/render-worker-pool.js +73 -0
  145. package/dist/mermaid/render-worker-pool.js.map +1 -0
  146. package/dist/mermaid/render-worker.d.ts +2 -0
  147. package/dist/mermaid/render-worker.d.ts.map +1 -0
  148. package/dist/mermaid/render-worker.js +22 -0
  149. package/dist/mermaid/render-worker.js.map +1 -0
  150. package/dist/mermaid/renderer.d.ts +17 -0
  151. package/dist/mermaid/renderer.d.ts.map +1 -0
  152. package/dist/mermaid/renderer.js +204 -0
  153. package/dist/mermaid/renderer.js.map +1 -0
  154. package/dist/mermaid/ts-module-graph-renderer.d.ts +3 -0
  155. package/dist/mermaid/ts-module-graph-renderer.d.ts.map +1 -0
  156. package/dist/mermaid/ts-module-graph-renderer.js +180 -0
  157. package/dist/mermaid/ts-module-graph-renderer.js.map +1 -0
  158. package/dist/mermaid/types.d.ts +122 -0
  159. package/dist/mermaid/types.d.ts.map +1 -0
  160. package/dist/mermaid/types.js +2 -0
  161. package/dist/mermaid/types.js.map +1 -0
  162. package/dist/mermaid/validation-pipeline.d.ts +29 -0
  163. package/dist/mermaid/validation-pipeline.d.ts.map +1 -0
  164. package/dist/mermaid/validation-pipeline.js +163 -0
  165. package/dist/mermaid/validation-pipeline.js.map +1 -0
  166. package/dist/mermaid/validator-parse.d.ts +11 -0
  167. package/dist/mermaid/validator-parse.d.ts.map +1 -0
  168. package/dist/mermaid/validator-parse.js +130 -0
  169. package/dist/mermaid/validator-parse.js.map +1 -0
  170. package/dist/mermaid/validator-quality.d.ts +17 -0
  171. package/dist/mermaid/validator-quality.d.ts.map +1 -0
  172. package/dist/mermaid/validator-quality.js +187 -0
  173. package/dist/mermaid/validator-quality.js.map +1 -0
  174. package/dist/mermaid/validator-render.d.ts +12 -0
  175. package/dist/mermaid/validator-render.d.ts.map +1 -0
  176. package/dist/mermaid/validator-render.js +98 -0
  177. package/dist/mermaid/validator-render.js.map +1 -0
  178. package/dist/mermaid/validator-structural.d.ts +11 -0
  179. package/dist/mermaid/validator-structural.d.ts.map +1 -0
  180. package/dist/mermaid/validator-structural.js +116 -0
  181. package/dist/mermaid/validator-structural.js.map +1 -0
  182. package/dist/parser/archjson-aggregator.d.ts +11 -0
  183. package/dist/parser/archjson-aggregator.d.ts.map +1 -0
  184. package/dist/parser/archjson-aggregator.js +113 -0
  185. package/dist/parser/archjson-aggregator.js.map +1 -0
  186. package/dist/parser/base-extractor.d.ts +6 -0
  187. package/dist/parser/base-extractor.d.ts.map +1 -0
  188. package/dist/parser/base-extractor.js +13 -0
  189. package/dist/parser/base-extractor.js.map +1 -0
  190. package/dist/parser/class-extractor.d.ts +17 -0
  191. package/dist/parser/class-extractor.d.ts.map +1 -0
  192. package/dist/parser/class-extractor.js +144 -0
  193. package/dist/parser/class-extractor.js.map +1 -0
  194. package/dist/parser/enum-extractor.d.ts +9 -0
  195. package/dist/parser/enum-extractor.d.ts.map +1 -0
  196. package/dist/parser/enum-extractor.js +45 -0
  197. package/dist/parser/enum-extractor.js.map +1 -0
  198. package/dist/parser/errors.d.ts +7 -0
  199. package/dist/parser/errors.d.ts.map +1 -0
  200. package/dist/parser/errors.js +14 -0
  201. package/dist/parser/errors.js.map +1 -0
  202. package/dist/parser/function-extractor.d.ts +7 -0
  203. package/dist/parser/function-extractor.d.ts.map +1 -0
  204. package/dist/parser/function-extractor.js +59 -0
  205. package/dist/parser/function-extractor.js.map +1 -0
  206. package/dist/parser/index.d.ts +10 -0
  207. package/dist/parser/index.d.ts.map +1 -0
  208. package/dist/parser/index.js +9 -0
  209. package/dist/parser/index.js.map +1 -0
  210. package/dist/parser/interface-extractor.d.ts +14 -0
  211. package/dist/parser/interface-extractor.d.ts.map +1 -0
  212. package/dist/parser/interface-extractor.js +90 -0
  213. package/dist/parser/interface-extractor.js.map +1 -0
  214. package/dist/parser/metrics-calculator.d.ts +9 -0
  215. package/dist/parser/metrics-calculator.d.ts.map +1 -0
  216. package/dist/parser/metrics-calculator.js +84 -0
  217. package/dist/parser/metrics-calculator.js.map +1 -0
  218. package/dist/parser/parallel-parser.d.ts +38 -0
  219. package/dist/parser/parallel-parser.d.ts.map +1 -0
  220. package/dist/parser/parallel-parser.js +170 -0
  221. package/dist/parser/parallel-parser.js.map +1 -0
  222. package/dist/parser/parse-cache.d.ts +8 -0
  223. package/dist/parser/parse-cache.d.ts.map +1 -0
  224. package/dist/parser/parse-cache.js +25 -0
  225. package/dist/parser/parse-cache.js.map +1 -0
  226. package/dist/parser/relation-extractor.d.ts +14 -0
  227. package/dist/parser/relation-extractor.d.ts.map +1 -0
  228. package/dist/parser/relation-extractor.js +203 -0
  229. package/dist/parser/relation-extractor.js.map +1 -0
  230. package/dist/parser/typescript-parser.d.ts +19 -0
  231. package/dist/parser/typescript-parser.d.ts.map +1 -0
  232. package/dist/parser/typescript-parser.js +182 -0
  233. package/dist/parser/typescript-parser.js.map +1 -0
  234. package/dist/plugins/cpp/archjson-mapper.d.ts +13 -0
  235. package/dist/plugins/cpp/archjson-mapper.d.ts.map +1 -0
  236. package/dist/plugins/cpp/archjson-mapper.js +180 -0
  237. package/dist/plugins/cpp/archjson-mapper.js.map +1 -0
  238. package/dist/plugins/cpp/builders/class-builder.d.ts +15 -0
  239. package/dist/plugins/cpp/builders/class-builder.d.ts.map +1 -0
  240. package/dist/plugins/cpp/builders/class-builder.js +102 -0
  241. package/dist/plugins/cpp/builders/class-builder.js.map +1 -0
  242. package/dist/plugins/cpp/builders/header-merger.d.ts +8 -0
  243. package/dist/plugins/cpp/builders/header-merger.d.ts.map +1 -0
  244. package/dist/plugins/cpp/builders/header-merger.js +65 -0
  245. package/dist/plugins/cpp/builders/header-merger.js.map +1 -0
  246. package/dist/plugins/cpp/cpp-type-extractor.d.ts +13 -0
  247. package/dist/plugins/cpp/cpp-type-extractor.d.ts.map +1 -0
  248. package/dist/plugins/cpp/cpp-type-extractor.js +153 -0
  249. package/dist/plugins/cpp/cpp-type-extractor.js.map +1 -0
  250. package/dist/plugins/cpp/dependency-extractor.d.ts +5 -0
  251. package/dist/plugins/cpp/dependency-extractor.d.ts.map +1 -0
  252. package/dist/plugins/cpp/dependency-extractor.js +28 -0
  253. package/dist/plugins/cpp/dependency-extractor.js.map +1 -0
  254. package/dist/plugins/cpp/index.d.ts +21 -0
  255. package/dist/plugins/cpp/index.d.ts.map +1 -0
  256. package/dist/plugins/cpp/index.js +113 -0
  257. package/dist/plugins/cpp/index.js.map +1 -0
  258. package/dist/plugins/cpp/tree-sitter-bridge.d.ts +20 -0
  259. package/dist/plugins/cpp/tree-sitter-bridge.d.ts.map +1 -0
  260. package/dist/plugins/cpp/tree-sitter-bridge.js +258 -0
  261. package/dist/plugins/cpp/tree-sitter-bridge.js.map +1 -0
  262. package/dist/plugins/cpp/types.d.ts +75 -0
  263. package/dist/plugins/cpp/types.d.ts.map +1 -0
  264. package/dist/plugins/cpp/types.js +2 -0
  265. package/dist/plugins/cpp/types.js.map +1 -0
  266. package/dist/plugins/golang/archjson-mapper.d.ts +10 -0
  267. package/dist/plugins/golang/archjson-mapper.d.ts.map +1 -0
  268. package/dist/plugins/golang/archjson-mapper.js +121 -0
  269. package/dist/plugins/golang/archjson-mapper.js.map +1 -0
  270. package/dist/plugins/golang/atlas/behavior-analyzer.d.ts +16 -0
  271. package/dist/plugins/golang/atlas/behavior-analyzer.d.ts.map +1 -0
  272. package/dist/plugins/golang/atlas/behavior-analyzer.js +32 -0
  273. package/dist/plugins/golang/atlas/behavior-analyzer.js.map +1 -0
  274. package/dist/plugins/golang/atlas/builders/capability-graph-builder.d.ts +12 -0
  275. package/dist/plugins/golang/atlas/builders/capability-graph-builder.d.ts.map +1 -0
  276. package/dist/plugins/golang/atlas/builders/capability-graph-builder.js +219 -0
  277. package/dist/plugins/golang/atlas/builders/capability-graph-builder.js.map +1 -0
  278. package/dist/plugins/golang/atlas/builders/flow-graph-builder.d.ts +18 -0
  279. package/dist/plugins/golang/atlas/builders/flow-graph-builder.d.ts.map +1 -0
  280. package/dist/plugins/golang/atlas/builders/flow-graph-builder.js +300 -0
  281. package/dist/plugins/golang/atlas/builders/flow-graph-builder.js.map +1 -0
  282. package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.d.ts +15 -0
  283. package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.d.ts.map +1 -0
  284. package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.js +254 -0
  285. package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.js.map +1 -0
  286. package/dist/plugins/golang/atlas/builders/i-atlas-builder.d.ts +5 -0
  287. package/dist/plugins/golang/atlas/builders/i-atlas-builder.d.ts.map +1 -0
  288. package/dist/plugins/golang/atlas/builders/i-atlas-builder.js +2 -0
  289. package/dist/plugins/golang/atlas/builders/i-atlas-builder.js.map +1 -0
  290. package/dist/plugins/golang/atlas/builders/index.d.ts +6 -0
  291. package/dist/plugins/golang/atlas/builders/index.d.ts.map +1 -0
  292. package/dist/plugins/golang/atlas/builders/index.js +5 -0
  293. package/dist/plugins/golang/atlas/builders/index.js.map +1 -0
  294. package/dist/plugins/golang/atlas/builders/package-graph-builder.d.ts +14 -0
  295. package/dist/plugins/golang/atlas/builders/package-graph-builder.d.ts.map +1 -0
  296. package/dist/plugins/golang/atlas/builders/package-graph-builder.js +115 -0
  297. package/dist/plugins/golang/atlas/builders/package-graph-builder.js.map +1 -0
  298. package/dist/plugins/golang/atlas/framework-detector.d.ts +11 -0
  299. package/dist/plugins/golang/atlas/framework-detector.d.ts.map +1 -0
  300. package/dist/plugins/golang/atlas/framework-detector.js +82 -0
  301. package/dist/plugins/golang/atlas/framework-detector.js.map +1 -0
  302. package/dist/plugins/golang/atlas/go-mod-resolver.d.ts +21 -0
  303. package/dist/plugins/golang/atlas/go-mod-resolver.d.ts.map +1 -0
  304. package/dist/plugins/golang/atlas/go-mod-resolver.js +90 -0
  305. package/dist/plugins/golang/atlas/go-mod-resolver.js.map +1 -0
  306. package/dist/plugins/golang/atlas/index.d.ts +28 -0
  307. package/dist/plugins/golang/atlas/index.d.ts.map +1 -0
  308. package/dist/plugins/golang/atlas/index.js +166 -0
  309. package/dist/plugins/golang/atlas/index.js.map +1 -0
  310. package/dist/plugins/golang/atlas/renderers/atlas-renderer.d.ts +7 -0
  311. package/dist/plugins/golang/atlas/renderers/atlas-renderer.d.ts.map +1 -0
  312. package/dist/plugins/golang/atlas/renderers/atlas-renderer.js +62 -0
  313. package/dist/plugins/golang/atlas/renderers/atlas-renderer.js.map +1 -0
  314. package/dist/plugins/golang/atlas/renderers/mermaid-templates.d.ts +24 -0
  315. package/dist/plugins/golang/atlas/renderers/mermaid-templates.d.ts.map +1 -0
  316. package/dist/plugins/golang/atlas/renderers/mermaid-templates.js +688 -0
  317. package/dist/plugins/golang/atlas/renderers/mermaid-templates.js.map +1 -0
  318. package/dist/plugins/golang/atlas/types.d.ts +63 -0
  319. package/dist/plugins/golang/atlas/types.d.ts.map +1 -0
  320. package/dist/plugins/golang/atlas/types.js +2 -0
  321. package/dist/plugins/golang/atlas/types.js.map +1 -0
  322. package/dist/plugins/golang/dependency-extractor.d.ts +7 -0
  323. package/dist/plugins/golang/dependency-extractor.d.ts.map +1 -0
  324. package/dist/plugins/golang/dependency-extractor.js +100 -0
  325. package/dist/plugins/golang/dependency-extractor.js.map +1 -0
  326. package/dist/plugins/golang/gopls-client.d.ts +38 -0
  327. package/dist/plugins/golang/gopls-client.d.ts.map +1 -0
  328. package/dist/plugins/golang/gopls-client.js +354 -0
  329. package/dist/plugins/golang/gopls-client.js.map +1 -0
  330. package/dist/plugins/golang/index.d.ts +29 -0
  331. package/dist/plugins/golang/index.d.ts.map +1 -0
  332. package/dist/plugins/golang/index.js +242 -0
  333. package/dist/plugins/golang/index.js.map +1 -0
  334. package/dist/plugins/golang/interface-matcher.d.ts +14 -0
  335. package/dist/plugins/golang/interface-matcher.d.ts.map +1 -0
  336. package/dist/plugins/golang/interface-matcher.js +235 -0
  337. package/dist/plugins/golang/interface-matcher.js.map +1 -0
  338. package/dist/plugins/golang/tree-sitter-bridge.d.ts +32 -0
  339. package/dist/plugins/golang/tree-sitter-bridge.d.ts.map +1 -0
  340. package/dist/plugins/golang/tree-sitter-bridge.js +579 -0
  341. package/dist/plugins/golang/tree-sitter-bridge.js.map +1 -0
  342. package/dist/plugins/golang/types.d.ts +119 -0
  343. package/dist/plugins/golang/types.d.ts.map +1 -0
  344. package/dist/plugins/golang/types.js +2 -0
  345. package/dist/plugins/golang/types.js.map +1 -0
  346. package/dist/plugins/java/archjson-mapper.d.ts +15 -0
  347. package/dist/plugins/java/archjson-mapper.d.ts.map +1 -0
  348. package/dist/plugins/java/archjson-mapper.js +273 -0
  349. package/dist/plugins/java/archjson-mapper.js.map +1 -0
  350. package/dist/plugins/java/dependency-extractor.d.ts +9 -0
  351. package/dist/plugins/java/dependency-extractor.d.ts.map +1 -0
  352. package/dist/plugins/java/dependency-extractor.js +99 -0
  353. package/dist/plugins/java/dependency-extractor.js.map +1 -0
  354. package/dist/plugins/java/index.d.ts +21 -0
  355. package/dist/plugins/java/index.d.ts.map +1 -0
  356. package/dist/plugins/java/index.js +167 -0
  357. package/dist/plugins/java/index.js.map +1 -0
  358. package/dist/plugins/java/tree-sitter-bridge.d.ts +19 -0
  359. package/dist/plugins/java/tree-sitter-bridge.d.ts.map +1 -0
  360. package/dist/plugins/java/tree-sitter-bridge.js +334 -0
  361. package/dist/plugins/java/tree-sitter-bridge.js.map +1 -0
  362. package/dist/plugins/java/types.d.ts +81 -0
  363. package/dist/plugins/java/types.d.ts.map +1 -0
  364. package/dist/plugins/java/types.js +2 -0
  365. package/dist/plugins/java/types.js.map +1 -0
  366. package/dist/plugins/python/archjson-mapper.d.ts +19 -0
  367. package/dist/plugins/python/archjson-mapper.d.ts.map +1 -0
  368. package/dist/plugins/python/archjson-mapper.js +170 -0
  369. package/dist/plugins/python/archjson-mapper.js.map +1 -0
  370. package/dist/plugins/python/dependency-extractor.d.ts +11 -0
  371. package/dist/plugins/python/dependency-extractor.d.ts.map +1 -0
  372. package/dist/plugins/python/dependency-extractor.js +186 -0
  373. package/dist/plugins/python/dependency-extractor.js.map +1 -0
  374. package/dist/plugins/python/index.d.ts +21 -0
  375. package/dist/plugins/python/index.d.ts.map +1 -0
  376. package/dist/plugins/python/index.js +142 -0
  377. package/dist/plugins/python/index.js.map +1 -0
  378. package/dist/plugins/python/tree-sitter-bridge.d.ts +16 -0
  379. package/dist/plugins/python/tree-sitter-bridge.d.ts.map +1 -0
  380. package/dist/plugins/python/tree-sitter-bridge.js +352 -0
  381. package/dist/plugins/python/tree-sitter-bridge.js.map +1 -0
  382. package/dist/plugins/python/types.d.ts +86 -0
  383. package/dist/plugins/python/types.d.ts.map +1 -0
  384. package/dist/plugins/python/types.js +2 -0
  385. package/dist/plugins/python/types.js.map +1 -0
  386. package/dist/plugins/shared/mapper-utils.d.ts +4 -0
  387. package/dist/plugins/shared/mapper-utils.d.ts.map +1 -0
  388. package/dist/plugins/shared/mapper-utils.js +12 -0
  389. package/dist/plugins/shared/mapper-utils.js.map +1 -0
  390. package/dist/plugins/typescript/builders/module-graph-builder.d.ts +8 -0
  391. package/dist/plugins/typescript/builders/module-graph-builder.d.ts.map +1 -0
  392. package/dist/plugins/typescript/builders/module-graph-builder.js +175 -0
  393. package/dist/plugins/typescript/builders/module-graph-builder.js.map +1 -0
  394. package/dist/plugins/typescript/index.d.ts +26 -0
  395. package/dist/plugins/typescript/index.d.ts.map +1 -0
  396. package/dist/plugins/typescript/index.js +232 -0
  397. package/dist/plugins/typescript/index.js.map +1 -0
  398. package/dist/plugins/typescript/typescript-analyzer.d.ts +8 -0
  399. package/dist/plugins/typescript/typescript-analyzer.d.ts.map +1 -0
  400. package/dist/plugins/typescript/typescript-analyzer.js +13 -0
  401. package/dist/plugins/typescript/typescript-analyzer.js.map +1 -0
  402. package/dist/scripts/migrate-to-mermaid.js +214 -0
  403. package/dist/types/config.d.ts +140 -0
  404. package/dist/types/config.d.ts.map +1 -0
  405. package/dist/types/config.js +6 -0
  406. package/dist/types/config.js.map +1 -0
  407. package/dist/types/extensions.d.ts +224 -0
  408. package/dist/types/extensions.d.ts.map +1 -0
  409. package/dist/types/extensions.js +3 -0
  410. package/dist/types/extensions.js.map +1 -0
  411. package/dist/types/index.d.ts +89 -0
  412. package/dist/types/index.d.ts.map +1 -0
  413. package/dist/types/index.js +3 -0
  414. package/dist/types/index.js.map +1 -0
  415. package/dist/utils/cli-detector.d.ts +8 -0
  416. package/dist/utils/cli-detector.d.ts.map +1 -0
  417. package/dist/utils/cli-detector.js +38 -0
  418. package/dist/utils/cli-detector.js.map +1 -0
  419. package/dist/utils/index.d.ts +4 -0
  420. package/dist/utils/index.d.ts.map +1 -0
  421. package/dist/utils/index.js +3 -0
  422. package/dist/utils/index.js.map +1 -0
  423. package/dist/utils/tsconfig-finder.d.ts +7 -0
  424. package/dist/utils/tsconfig-finder.d.ts.map +1 -0
  425. package/dist/utils/tsconfig-finder.js +31 -0
  426. package/dist/utils/tsconfig-finder.js.map +1 -0
  427. package/package.json +95 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-processor.js","sourceRoot":"","sources":["../../../src/cli/processors/diagram-processor.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAIzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,OAAO,CAAC;AACzB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AA+DxB,MAAM,UAAU,uBAAuB,CACrC,MAAgB,EAChB,OAAe,EACf,aAAsB;IAEtB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAI/D,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAKD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAE5C,IAAI,EAAE,GAAG,CAAE,CAAsC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEtF,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1E,CAAC;QAKD,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,EAAE,GAAG,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAEtB,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAEhE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,MAAM,KAAK,EAAE;gBAAE,OAAO,IAAI,CAAC;YAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAG/C,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CACzB,CAAC;IAGF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,iBAAiB;SACd,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CACxB,CAAC;IAIF,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAGvC,MAAM,iBAAiB,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC;IAGzD,MAAM,SAAS,GAAG,iBAAiB,CAAC;IAGpC,IAAI,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACnC,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC;IACtD,IAAI,EAAE,EAAE,CAAC;QAIP,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC;QAErG,MAAM,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC,CAC9D,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAChE,CAAC;QACF,MAAM,cAAc,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;QACF,UAAU,GAAG;YACX,GAAG,MAAM,CAAC,UAAU;YACpB,UAAU,EAAE;gBACV,GAAG,MAAM,CAAC,UAAW,CAAC,UAAW;gBACjC,WAAW,EAAE;oBACX,KAAK,EAAE,aAAa;oBACpB,KAAK,EAAE,aAAa;oBACpB,MAAM,EAAE,cAAc;iBAC0B;aACnD;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAC3E,CAAC;AAmBD,MAAM,OAAO,gBAAgB;IACnB,QAAQ,CAAkB;IAC1B,YAAY,CAAe;IAC3B,QAAQ,CAAmB;IAC3B,aAAa,CAAuB;IACpC,UAAU,CAAqB;IAC/B,iBAAiB,CAAoB;IACrC,gBAAgB,CAA4B;IAC5C,UAAU,CAAc;IACxB,QAAQ,CAAkB;IAC1B,iBAAiB,CAAoB;IAE7C,YAAY,OAAgC;QAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IAaD,KAAK,CAAC,UAAU;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;QAGtE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,wBAAwB,CAAC,YAAY,CAAC,CAAC;QACrE,CAAC;QAKD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC1C,MAAM,SAAS,GACb,YAAY,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;QAC3D,MAAM,eAAe,GAAG,SAAS;YAC/B,CAAC,CAAC,CAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,KAA2C;gBAC9E,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,qBAAqB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,KAAK,QAAQ;YACpE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK;YACjC,CAAC,CAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAa,EAAE,IAAI,IAAI,SAAS,CAAC;QACjE,MAAM,IAAI,GAAG,QAAQ,GAAG,CAAC;YACvB,CAAC,CAAC,IAAI,uBAAuB,CAAC,QAAQ,EAAE;gBACpC,KAAK,EAAE,SAAS;gBAChB,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO;aAC5F,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,IAAI;YAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,CAAC;YAEH,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAGlD,MAAM,YAAY,GAAG,MAAM,IAAI,CAC7B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAClC,KAAK,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE;gBAG9B,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClE,CAAC,EACD,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAC1D,CAAC;YAGF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YAGpC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,CAAC;YACtE,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;gBAAS,CAAC;YAET,MAAM,IAAI,EAAE,SAAS,EAAE,CAAC;YAGxB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAOO,qBAAqB;QAC3B,MAAM,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;QAExD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAQO,WAAW,CAAC,OAAiB;QACnC,MAAM,UAAU,GAAG,OAAO;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aACjC,IAAI,EAAE;aACN,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAGO,aAAa,CAAC,OAAiB,EAAE,QAAkB;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAMO,gBAAgB,CACtB,OAAiB,EACjB,YAA+B;QAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,OAAO,WAAW,CAAC;IACrB,CAAC;IAOO,kBAAkB,CAAC,OAAiB;QAI1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAG9D,KAAK,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnD,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC;gBACnF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;YACzD,CAAC;QACH,CAAC;QAGD,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5E,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5E,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAClD,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAC7D,CAAC;YACF,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAMO,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAG5C,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAO9C,gBAAgB,GAAG,IAAI,GAAG,EAA6D,CAAC;IASxF,KAAK,CAAC,kBAAkB,CAC9B,SAAiB,EACjB,QAAyB,EACzB,OAAuC,IAAI;QAG3C,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC7C,YAAY,CAAC,OAAO,EACpB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAClC,CAAC;gBAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CACxB,QAAQ,EACR,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAC9E,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CACnE,CAAC;gBACF,OAAO,OAAO,CAAC;YACjB,CAAC;YAGD,IAAI,YAAY,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACpC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAEnF,IAAI,WAAqB,CAAC;gBAC1B,IAAI,QAAQ,EAAE,CAAC;oBAEb,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC;oBACtC,WAAW,GAAG,uBAAuB,CACnC,cAAc,EACd,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EACvB,cAAc,IAAI,SAAS,CAC5B,CAAC;gBACJ,CAAC;qBAAM,IAAI,cAAc,EAAE,CAAC;oBAE1B,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;oBACnE,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;oBAC/D,WAAW,GAAG,uBAAuB,CACnC,cAAc,EACd,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EACvB,cAAc,CACf,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBAEN,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACvC,YAAY,CAAC,OAAO,EACpB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CACnC,CAAC;gBACJ,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,IAAI,CACxB,QAAQ,EACR,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAC9E,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CACnE,CAAC;gBACF,OAAO,OAAO,CAAC;YACjB,CAAC;YAID,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;YACrE,IAAI,gBAAgB,IAAI,CAAC,CAAC,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,KAAK,YAAY,CAAC,EAAE,CAAC;gBAE3F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;oBACrD,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO;oBAC1D,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;gBACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;gBACpE,MAAM,OAAO,GAAG,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjH,IAAI,cAAc,GAAoB,IAAI,CAAC;gBAC3C,IAAI,OAAO,EAAE,CAAC;oBACZ,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3D,IAAI,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;wBAC5D,OAAO,CAAC,KAAK,CAAC,wCAAwC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC3F,CAAC;gBACH,CAAC;gBAED,MAAM,WAAW,GAAG,cAAc;oBAChC,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CACzB,YAAY,CAAC,OAAO,EACpB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;wBACtD,IAAI,OAAO;4BAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;wBAC/D,OAAO,MAAM,CAAC;oBAChB,CAAC,CAAC,CACH,CAAC;gBAEN,MAAM,OAAO,GAAG,MAAM,IAAI,CACxB,QAAQ,EACR,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAC9E,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CACnE,CAAC;gBACF,OAAO,OAAO,CAAC;YACjB,CAAC;YAGD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;gBACnD,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO;gBAC5B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO;gBACzD,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;YAGD,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEjB,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAElF,IAAI,QAAQ,EAAE,CAAC;oBAEb,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC;oBACtC,WAAW,GAAG,uBAAuB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,IAAI,SAAS,CAAC,CAAC;oBAC3G,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;wBAC1C,OAAO,CAAC,KAAK,CAAC,8CAA8C,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;oBACvH,CAAC;gBACH,CAAC;qBAAM,IAAI,cAAc,EAAE,CAAC;oBAE1B,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;oBACnE,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;oBAC/D,WAAW,GAAG,uBAAuB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;oBAC9F,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;wBAC1C,OAAO,CAAC,KAAK,CAAC,2BAA2B,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;oBACpG,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;wBAC1C,OAAO,CAAC,KAAK,CAAC,qBAAqB,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrF,CAAC;oBAGD,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC;oBACrE,MAAM,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC1F,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC9E,IAAI,UAAU,EAAE,CAAC;wBACf,WAAW,GAAG,UAAU,CAAC;wBACzB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;4BAC1C,OAAO,CAAC,KAAK,CAAC,8CAA8C,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAChG,CAAC;oBACH,CAAC;yBAAM,CAAC;wBAEN,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;4BAChC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW;4BAC1C,eAAe,EAAE,IAAI;4BACrB,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC5B,CAAC,CAAC;wBACH,WAAW,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBAC7C,IAAI,OAAO;4BAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBACtE,CAAC;oBAGD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;gBACjD,OAAO,CAAC,KAAK,CAAC,oBAAoB,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpF,CAAC;YAGD,MAAM,OAAO,GAAG,MAAM,IAAI,CACxB,QAAQ,EACR,KAAK,EAAE,OAAO,EAAE,EAAE;gBAChB,OAAO,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YAC3E,CAAC,EACD,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CACnE,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IASO,KAAK,CAAC,0BAA0B,CACtC,OAAsB,EACtB,WAAqB,EACrB,OAAuC,IAAI;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YAEH,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YAGD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAG7E,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC;gBAC1C,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;gBACtC,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,YAAY,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAG3D,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAI1D,MAAM,UAAU,GACd,MAAM,KAAK,MAAM;gBACf,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;gBACjG,CAAC,CAAC,cAAc,CAAC;YAErB,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YAEnF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAEzC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC;YAC7D,CAAC;YAGD,MAAM,WAAW,GAA2B,EAAE,CAAC;YAC/C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACtC,CAAC;iBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBAClC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;gBAClC,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YACpC,CAAC;YAKD,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC;YACvE,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC;YAErE,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE;oBACL,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM;oBACrF,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM;oBACvF,SAAS;iBACV;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE5E,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,IAAI,YAAY,YAAY,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,YAAY;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAWO,KAAK,CAAC,cAAc,CAAC,OAAsB;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,cAAc,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;YAC1E,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;YACxC,aAAa;YACb,eAAe,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE;YACnE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;IACL,CAAC;IAQO,KAAK,CAAC,eAAe,CAAC,OAAsB;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,cAAc,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAC7D,OAAO,IAAI,SAAS,EAAE,CAAC;QACzB,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;YACxC,aAAa;YACb,eAAe,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE;SACpE,CAAC,CAAC;IACL,CAAC;IAcO,KAAK,CAAC,cAAc,CAAC,OAAsB;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,cAAc,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;YAC3E,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,MAAM,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;YACxC,aAAa;YACb,eAAe,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE;SACpE,CAAC,CAAC;IACL,CAAC;IAWO,KAAK,CAAC,cAAc,CAC1B,QAAkB,EAClB,KAAyE,EACzE,MAAoB,EACpB,KAAkB,EAClB,OAAsB,EACtB,OAAuC,IAAI;QAE3C,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,MAAM;gBAET,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9D,MAAM;YAER,KAAK,SAAS;gBAEZ,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;oBACjC,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;oBAE/E,MAAM,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACzE,CAAC;qBAAM,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;oBAE9D,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBAEN,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvF,MAAM,gBAAgB,CAAC,iBAAiB,CACtC,QAAQ,EACR;wBACE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;wBAClD,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC;wBAC7D,KAAK,EAAE,KAAK,CAAC,KAAK;qBACnB,EACD,KAAK,EACL,OAAO,CACR,CAAC;gBACJ,CAAC;gBACD,MAAM;YAER;gBACE,MAAM,eAAe,GAAU,MAAM,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,uBAAuB,eAAe,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAgBO,KAAK,CAAC,mBAAmB,CAC/B,QAAkB,EAClB,KAAyE,EACzE,OAAsB,EACtB,OAAuC,IAAI;QAE3C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,oDAAoD,CAAC,CAAC;QAC7F,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAE5E,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAGrC,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,EAAE,KAC3B,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAG5D,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAkC,CAAC,CAC5D,CAAC;QAGF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAGvD,MAAM,eAAe,GAA4B,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACrC,eAAe,CAAC,KAAK;gBACnB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ;oBACjD,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;oBAC3C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;YACrD,eAAe,CAAC,eAAe,GAAG,aAAa,CAAC;QAClD,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,yBAAyB,CAAC,eAAsB,CAAC,CAAC;QAE9E,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAE1D,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAClC,KAAK,EACL,KAA8C,EAC9C,SAAS,CACV,CAAC;YAEF,MAAM,UAAU,GAAG;gBACjB,GAAG,EAAE,GAAG,QAAQ,IAAI,KAAK,MAAM;gBAC/B,GAAG,EAAE,GAAG,QAAQ,IAAI,KAAK,MAAM;gBAC/B,GAAG,EAAE,GAAG,QAAQ,IAAI,KAAK,MAAM;aAChC,CAAC;YAIF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAG5D,IAAI,GAAW,CAAC;YAChB,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,2BAA2B,UAAU,CAAC,KAAK,gCAAgC,CAAC,CAAC;oBAC1F,GAAG,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACN,GAAG,GAAG,UAAU,CAAC,GAAI,CAAC;gBACxB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;gBAC1C,eAAe,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBAC1E,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7D,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,iBAAiB,GAAG,qBAAqB,CAAC,CAAC;oBACtE,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC,CAAC;aACH,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC,CAAC;QAGJ,MAAM,aAAa,GAAG,GAAG,QAAQ,aAAa,CAAC;QAC/C,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,qBAAqB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAcO,KAAK,CAAC,2BAA2B,CACvC,QAAkB,EAClB,KAAyE,EACzE,QAAuB,EACvB,OAAuC,IAAI;QAE3C,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,uCAAuC,CAAC,CAAC;QACtF,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAE5E,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;QAC/D,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAEpD,MAAM,eAAe,GAA4B,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACrC,eAAe,CAAC,KAAK;gBACnB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ;oBACjD,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;oBAC3C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;YACrD,eAAe,CAAC,eAAe,GAAG,aAAa,CAAC;QAClD,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,yBAAyB,CAAC,eAAsB,CAAC,CAAC;QAE9E,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAGzD,IAAI,GAAW,CAAC;QAChB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,2BAA2B,UAAU,CAAC,KAAK,gCAAgC,CAAC,CAAC;gBAC1F,GAAG,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,UAAU,CAAC,GAAI,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;YAC3C,eAAe,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBAC3E,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,kCAAkC,GAAG,qBAAqB,CAAC,CAAC;YAC3E,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAcO,KAAK,CAAC,wBAAwB,CACpC,QAAkB,EAClB,KAAyE,EACzE,OAAuC,IAAI;QAE3C,MAAM,EAAE,4BAA4B,EAAE,GAAG,MAAM,MAAM,CAAC,8CAA8C,CAAC,CAAC;QACtG,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAE5E,MAAM,SAAS,GAAG,IAAI,4BAA4B,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEhD,MAAM,eAAe,GAA4B,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YACrC,eAAe,CAAC,KAAK;gBACnB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ;oBACjD,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE;oBAC3C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAC;YACrD,eAAe,CAAC,eAAe,GAAG,aAAa,CAAC;QAClD,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,yBAAyB,CAAC,eAAsB,CAAC,CAAC;QAE9E,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAGzD,IAAI,GAAW,CAAC;QAChB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,2BAA2B,UAAU,CAAC,KAAK,gCAAgC,CAAC,CAAC;gBAC1F,GAAG,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,UAAU,CAAC,GAAI,CAAC;YACxB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;YAC3C,eAAe,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBAC3E,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,oCAAoC,GAAG,qBAAqB,CAAC,CAAC;YAC7E,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ export interface DiagramProgress {
2
+ name: string;
3
+ status: 'pending' | 'running' | 'completed' | 'failed';
4
+ progress: number;
5
+ }
6
+ export declare class ParallelProgressReporter {
7
+ private diagrams;
8
+ private bars;
9
+ private multiBar;
10
+ constructor(diagrams: string[]);
11
+ update(name: string, progress: number, status?: string): void;
12
+ complete(name: string): void;
13
+ fail(name: string): void;
14
+ stop(): void;
15
+ }
16
+ //# sourceMappingURL=parallel-progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallel-progress.d.ts","sourceRoot":"","sources":["../../../src/cli/progress/parallel-progress.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAmBD,qBAAa,wBAAwB;IAIvB,OAAO,CAAC,QAAQ;IAH5B,OAAO,CAAC,IAAI,CAA+B;IAC3C,OAAO,CAAC,QAAQ,CAAW;gBAEP,QAAQ,EAAE,MAAM,EAAE;IA2BtC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAc7D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa5B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAWxB,IAAI,IAAI,IAAI;CAGb"}
@@ -0,0 +1,49 @@
1
+ import { MultiBar, Presets } from 'cli-progress';
2
+ import chalk from 'chalk';
3
+ export class ParallelProgressReporter {
4
+ diagrams;
5
+ bars = new Map();
6
+ multiBar;
7
+ constructor(diagrams) {
8
+ this.diagrams = diagrams;
9
+ this.multiBar = new MultiBar({
10
+ format: `{bar} | {percentage}% | {status}`,
11
+ clearOnComplete: false,
12
+ hideCursor: true,
13
+ barsize: 40,
14
+ }, Presets.shades_classic);
15
+ this.diagrams.forEach((name) => {
16
+ const paddedName = chalk.cyan(name.padEnd(30));
17
+ const bar = this.multiBar.create(100, 0, {
18
+ status: paddedName + ' pending',
19
+ });
20
+ this.bars.set(name, bar);
21
+ });
22
+ }
23
+ update(name, progress, status) {
24
+ const bar = this.bars.get(name);
25
+ if (bar) {
26
+ const paddedName = chalk.cyan(name.padEnd(30));
27
+ const statusText = status ? `${paddedName} | ${status}` : `${paddedName} | running`;
28
+ bar.update(progress, { status: statusText });
29
+ }
30
+ }
31
+ complete(name) {
32
+ const bar = this.bars.get(name);
33
+ if (bar) {
34
+ const paddedName = chalk.cyan(name.padEnd(30));
35
+ bar.update(100, { status: `${paddedName} | ${chalk.green('✓')}` });
36
+ }
37
+ }
38
+ fail(name) {
39
+ const bar = this.bars.get(name);
40
+ if (bar) {
41
+ const paddedName = chalk.cyan(name.padEnd(30));
42
+ bar.update(100, { status: `${paddedName} | ${chalk.red('✗')}` });
43
+ }
44
+ }
45
+ stop() {
46
+ this.multiBar.stop();
47
+ }
48
+ }
49
+ //# sourceMappingURL=parallel-progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parallel-progress.js","sourceRoot":"","sources":["../../../src/cli/progress/parallel-progress.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAC;AAyB1B,MAAM,OAAO,wBAAwB;IAIf;IAHZ,IAAI,GAAqB,IAAI,GAAG,EAAE,CAAC;IACnC,QAAQ,CAAW;IAE3B,YAAoB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAC1B;YACE,MAAM,EAAE,kCAAkC;YAC1C,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,EAAE;SACZ,EACD,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE;gBACvC,MAAM,EAAE,UAAU,GAAG,UAAU;aAChC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IASD,MAAM,CAAC,IAAY,EAAE,QAAgB,EAAE,MAAe;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,YAAY,CAAC;YACpF,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAOD,QAAQ,CAAC,IAAY;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,UAAU,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAOD,IAAI,CAAC,IAAY;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,UAAU,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAKD,IAAI;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,36 @@
1
+ export interface Stage {
2
+ name: string;
3
+ status: 'pending' | 'running' | 'success' | 'failed' | 'warning';
4
+ startTime?: number;
5
+ endTime?: number;
6
+ progress?: {
7
+ completed: number;
8
+ total: number;
9
+ percentage: number;
10
+ };
11
+ }
12
+ export interface ProgressSummary {
13
+ totalDuration: number;
14
+ totalDurationFormatted: string;
15
+ successCount: number;
16
+ failureCount: number;
17
+ warningCount: number;
18
+ }
19
+ export declare class ProgressReporter {
20
+ private spinner;
21
+ private stages;
22
+ private currentStage;
23
+ constructor();
24
+ start(message: string): void;
25
+ update(completed: number, total: number): void;
26
+ succeed(message: string): void;
27
+ fail(message: string): void;
28
+ warn(message: string): void;
29
+ info(message: string): void;
30
+ getStages(): Stage[];
31
+ getCurrentStage(): Stage | null;
32
+ getSummary(): ProgressSummary;
33
+ printSummary(): void;
34
+ stop(): void;
35
+ }
36
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/cli/progress.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAWD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,YAAY,CAAsB;;IAS1C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAe5B,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAkB9C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAY9B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAY3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAY3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO3B,SAAS,IAAI,KAAK,EAAE;IAOpB,eAAe,IAAI,KAAK,GAAG,IAAI;IAO/B,UAAU,IAAI,eAAe;IA4B7B,YAAY,IAAI,IAAI;IA8CpB,IAAI,IAAI,IAAI;CAGb"}
@@ -0,0 +1,127 @@
1
+ import ora from 'ora';
2
+ import chalk from 'chalk';
3
+ export class ProgressReporter {
4
+ spinner;
5
+ stages = [];
6
+ currentStage = null;
7
+ constructor() {
8
+ this.spinner = ora();
9
+ }
10
+ start(message) {
11
+ const stage = {
12
+ name: message,
13
+ status: 'running',
14
+ startTime: Date.now(),
15
+ };
16
+ this.stages.push(stage);
17
+ this.currentStage = stage;
18
+ this.spinner.start(chalk.cyan(message));
19
+ }
20
+ update(completed, total) {
21
+ if (!this.currentStage)
22
+ return;
23
+ const percentage = total > 0 ? Math.round((completed / total) * 100) : 0;
24
+ this.currentStage.progress = {
25
+ completed,
26
+ total,
27
+ percentage,
28
+ };
29
+ const message = `${this.currentStage.name} ${chalk.gray(`(${completed}/${total} - ${percentage}%)`)}`;
30
+ this.spinner.text = message;
31
+ }
32
+ succeed(message) {
33
+ if (this.currentStage) {
34
+ this.currentStage.status = 'success';
35
+ this.currentStage.endTime = Date.now();
36
+ }
37
+ this.spinner.succeed(chalk.green(message));
38
+ this.currentStage = null;
39
+ }
40
+ fail(message) {
41
+ if (this.currentStage) {
42
+ this.currentStage.status = 'failed';
43
+ this.currentStage.endTime = Date.now();
44
+ }
45
+ this.spinner.fail(chalk.red(message));
46
+ this.currentStage = null;
47
+ }
48
+ warn(message) {
49
+ if (this.currentStage) {
50
+ this.currentStage.status = 'warning';
51
+ this.currentStage.endTime = Date.now();
52
+ }
53
+ this.spinner.warn(chalk.yellow(message));
54
+ this.currentStage = null;
55
+ }
56
+ info(message) {
57
+ this.spinner.info(chalk.blue(message));
58
+ }
59
+ getStages() {
60
+ return [...this.stages];
61
+ }
62
+ getCurrentStage() {
63
+ return this.currentStage;
64
+ }
65
+ getSummary() {
66
+ let totalDuration = 0;
67
+ let successCount = 0;
68
+ let failureCount = 0;
69
+ let warningCount = 0;
70
+ for (const stage of this.stages) {
71
+ if (stage.startTime && stage.endTime) {
72
+ totalDuration += stage.endTime - stage.startTime;
73
+ }
74
+ if (stage.status === 'success')
75
+ successCount++;
76
+ else if (stage.status === 'failed')
77
+ failureCount++;
78
+ else if (stage.status === 'warning')
79
+ warningCount++;
80
+ }
81
+ return {
82
+ totalDuration,
83
+ totalDurationFormatted: `${(totalDuration / 1000).toFixed(2)}s`,
84
+ successCount,
85
+ failureCount,
86
+ warningCount,
87
+ };
88
+ }
89
+ printSummary() {
90
+ const summary = this.getSummary();
91
+ console.log('\n' + chalk.bold('Summary:'));
92
+ for (const stage of this.stages) {
93
+ let icon;
94
+ let color;
95
+ switch (stage.status) {
96
+ case 'success':
97
+ icon = '✓';
98
+ color = chalk.green;
99
+ break;
100
+ case 'failed':
101
+ icon = '✗';
102
+ color = chalk.red;
103
+ break;
104
+ case 'warning':
105
+ icon = '⚠';
106
+ color = chalk.yellow;
107
+ break;
108
+ default:
109
+ icon = '○';
110
+ color = chalk.gray;
111
+ }
112
+ const duration = stage.endTime && stage.startTime
113
+ ? `${((stage.endTime - stage.startTime) / 1000).toFixed(2)}s`
114
+ : 'N/A';
115
+ console.log(color(` ${icon} ${stage.name} (${duration})`));
116
+ }
117
+ console.log(chalk.bold(`\nTotal: ${summary.totalDurationFormatted}`));
118
+ console.log(chalk.green(`✓ ${summary.successCount} succeeded`) +
119
+ ' | ' +
120
+ chalk.red(`✗ ${summary.failureCount} failed`) +
121
+ (summary.warningCount > 0 ? ' | ' + chalk.yellow(`⚠ ${summary.warningCount} warnings`) : ''));
122
+ }
123
+ stop() {
124
+ this.spinner.stop();
125
+ }
126
+ }
127
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/cli/progress.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export interface CLIConfig {
2
+ command: string;
3
+ args: string[];
4
+ timeout: number;
5
+ }
6
+ export interface Config {
7
+ source: string | string[];
8
+ output?: string;
9
+ outputDir: string;
10
+ format: 'mermaid' | 'json';
11
+ exclude: string[];
12
+ cli: CLIConfig;
13
+ ai?: {
14
+ model?: string;
15
+ timeout?: number;
16
+ };
17
+ cache: {
18
+ enabled: boolean;
19
+ ttl: number;
20
+ };
21
+ concurrency?: number;
22
+ verbose?: boolean;
23
+ }
24
+ export interface AnalyzeOptions {
25
+ source: string | string[];
26
+ output?: string;
27
+ format: 'mermaid' | 'json';
28
+ exclude?: string[];
29
+ cache: boolean;
30
+ concurrency?: number;
31
+ verbose?: boolean;
32
+ cliCommand?: string;
33
+ cliArgs?: string;
34
+ outputDir?: string;
35
+ name?: string;
36
+ }
37
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,EAAE,SAAS,CAAC;IACf,EAAE,CAAC,EAAE;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cli/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { DiagramConfig } from '../../types/config.js';
2
+ export declare const CPP_EXTENSIONS: string[];
3
+ export declare const MIN_CPP_FILES_FOR_MODULE = 5;
4
+ export declare function directoryHasCppFiles(dir: string): Promise<boolean>;
5
+ export declare function getCppTopLevelModules(sourceRoot: string): Promise<string[]>;
6
+ export declare function detectCppProjectStructure(sourceRoot: string, moduleName: string, options?: {
7
+ format?: string;
8
+ exclude?: string[];
9
+ }): Promise<DiagramConfig[]>;
10
+ //# sourceMappingURL=cpp-project-structure-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpp-project-structure-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/cpp-project-structure-detector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,eAAO,MAAM,cAAc,UAAwD,CAAC;AAEpF,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAiB1C,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBxE;AAsBD,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBjF;AAED,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAChD,OAAO,CAAC,aAAa,EAAE,CAAC,CAsB1B"}
@@ -0,0 +1,99 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ export const CPP_EXTENSIONS = ['.cpp', '.cxx', '.cc', '.hpp', '.hxx', '.h', '.h++'];
4
+ export const MIN_CPP_FILES_FOR_MODULE = 5;
5
+ const CPP_EXCLUDED_DIRS = new Set([
6
+ 'build', '.cmake',
7
+ 'vendor', 'third_party', 'thirdparty', 'external',
8
+ 'node_modules', '.git', 'dist',
9
+ '.cache', '.tmp', 'tmp',
10
+ 'docs', 'doc', 'media', 'licenses',
11
+ 'scripts', 'ci',
12
+ ]);
13
+ function isExcluded(name) {
14
+ if (name.startsWith('.'))
15
+ return true;
16
+ if (name.startsWith('cmake-build-'))
17
+ return true;
18
+ return CPP_EXCLUDED_DIRS.has(name);
19
+ }
20
+ export async function directoryHasCppFiles(dir) {
21
+ let entries;
22
+ try {
23
+ entries = await fs.readdir(dir, { withFileTypes: true });
24
+ }
25
+ catch {
26
+ return false;
27
+ }
28
+ for (const entry of entries) {
29
+ if (entry.isFile() && CPP_EXTENSIONS.includes(path.extname(entry.name).toLowerCase())) {
30
+ return true;
31
+ }
32
+ if (entry.isDirectory() && !isExcluded(entry.name)) {
33
+ if (await directoryHasCppFiles(path.join(dir, entry.name)))
34
+ return true;
35
+ }
36
+ }
37
+ return false;
38
+ }
39
+ async function countCppFiles(dir) {
40
+ let count = 0;
41
+ let entries;
42
+ try {
43
+ entries = await fs.readdir(dir, { withFileTypes: true });
44
+ }
45
+ catch {
46
+ return 0;
47
+ }
48
+ for (const entry of entries) {
49
+ if (entry.isFile() && CPP_EXTENSIONS.includes(path.extname(entry.name).toLowerCase())) {
50
+ count++;
51
+ }
52
+ if (entry.isDirectory() && !isExcluded(entry.name)) {
53
+ count += await countCppFiles(path.join(dir, entry.name));
54
+ }
55
+ }
56
+ return count;
57
+ }
58
+ export async function getCppTopLevelModules(sourceRoot) {
59
+ let entries;
60
+ try {
61
+ entries = await fs.readdir(sourceRoot, { withFileTypes: true });
62
+ }
63
+ catch {
64
+ return [];
65
+ }
66
+ const modules = [];
67
+ for (const entry of entries) {
68
+ if (!entry.isDirectory() || isExcluded(entry.name))
69
+ continue;
70
+ const fullPath = path.join(sourceRoot, entry.name);
71
+ if (await directoryHasCppFiles(fullPath)) {
72
+ const fileCount = await countCppFiles(fullPath);
73
+ if (fileCount >= MIN_CPP_FILES_FOR_MODULE) {
74
+ modules.push(entry.name);
75
+ }
76
+ }
77
+ }
78
+ return modules.sort();
79
+ }
80
+ export async function detectCppProjectStructure(sourceRoot, moduleName, options) {
81
+ const common = {
82
+ language: 'cpp',
83
+ ...(options?.format !== undefined && { format: options.format }),
84
+ ...(options?.exclude !== undefined && { exclude: options.exclude }),
85
+ };
86
+ const root = [
87
+ { ...common, name: `${moduleName}/overview/package`, sources: [sourceRoot], level: 'package' },
88
+ { ...common, name: `${moduleName}/class/all-classes`, sources: [sourceRoot], level: 'class' },
89
+ ];
90
+ const modules = await getCppTopLevelModules(sourceRoot);
91
+ const perModule = modules.map((mod) => ({
92
+ ...common,
93
+ name: `${moduleName}/class/${mod}`,
94
+ sources: [path.join(sourceRoot, mod)],
95
+ level: 'class',
96
+ }));
97
+ return [...root, ...perModule];
98
+ }
99
+ //# sourceMappingURL=cpp-project-structure-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpp-project-structure-detector.js","sourceRoot":"","sources":["../../../src/cli/utils/cpp-project-structure-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { DiagramResult } from '../processors/diagram-processor.js';
2
+ import type { GlobalConfig } from '../../types/config.js';
3
+ export declare class DiagramIndexGenerator {
4
+ private globalConfig;
5
+ constructor(globalConfig: GlobalConfig);
6
+ generate(results: DiagramResult[]): Promise<void>;
7
+ private buildIndexContent;
8
+ private buildDiagramSection;
9
+ private buildSummarySection;
10
+ private buildFailedSection;
11
+ }
12
+ //# sourceMappingURL=diagram-index-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-index-generator.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/diagram-index-generator.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWtD,qBAAa,qBAAqB;IACpB,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAOxC,QAAQ,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvD,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,mBAAmB;IAkC3B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,kBAAkB;CAY3B"}
@@ -0,0 +1,94 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ export class DiagramIndexGenerator {
4
+ globalConfig;
5
+ constructor(globalConfig) {
6
+ this.globalConfig = globalConfig;
7
+ }
8
+ async generate(results) {
9
+ const indexPath = path.join(this.globalConfig.outputDir, 'index.md');
10
+ const content = this.buildIndexContent(results);
11
+ await fs.ensureDir(this.globalConfig.outputDir);
12
+ await fs.writeFile(indexPath, content, 'utf-8');
13
+ }
14
+ buildIndexContent(results) {
15
+ const timestamp = new Date().toISOString();
16
+ const successful = results.filter((r) => r.success);
17
+ const failed = results.filter((r) => !r.success);
18
+ let content = '# Architecture Diagrams\n\n';
19
+ content += `**Generated**: ${timestamp}\n`;
20
+ content += `**Total Diagrams**: ${results.length}\n`;
21
+ content += `**Successful**: ${successful.length}\n`;
22
+ content += `**Failed**: ${failed.length}\n\n`;
23
+ content += '---\n\n';
24
+ if (successful.length > 0) {
25
+ content += '## Diagrams\n\n';
26
+ for (const result of successful) {
27
+ content += this.buildDiagramSection(result);
28
+ }
29
+ }
30
+ content += this.buildSummarySection(successful);
31
+ if (failed.length > 0) {
32
+ content += this.buildFailedSection(failed);
33
+ }
34
+ content += '*Generated by ArchGuard v2.0*\n';
35
+ return content;
36
+ }
37
+ buildDiagramSection(result) {
38
+ let section = `### ${result.name}\n\n`;
39
+ if (result.stats) {
40
+ section += `- **Entities**: ${result.stats.entities}\n`;
41
+ section += `- **Relations**: ${result.stats.relations}\n`;
42
+ section += `- **Parse Time**: ${(result.stats.parseTime / 1000).toFixed(2)}s\n`;
43
+ }
44
+ if (result.paths) {
45
+ if (result.paths.png) {
46
+ const relativePath = path.relative(this.globalConfig.outputDir, result.paths.png);
47
+ section += `- **Diagram**: [View PNG](${relativePath})\n\n`;
48
+ section += `![${result.name}](${relativePath})\n\n`;
49
+ }
50
+ else if (result.paths.svg) {
51
+ const relativePath = path.relative(this.globalConfig.outputDir, result.paths.svg);
52
+ section += `- **Diagram**: [View SVG](${relativePath})\n\n`;
53
+ }
54
+ else if (result.paths.json) {
55
+ const relativePath = path.relative(this.globalConfig.outputDir, result.paths.json);
56
+ section += `- **Data**: [View JSON](${relativePath})\n\n`;
57
+ }
58
+ else if (result.paths.mmd) {
59
+ const relativePath = path.relative(this.globalConfig.outputDir, result.paths.mmd);
60
+ section += `- **Source**: [View Mermaid](${relativePath})\n\n`;
61
+ }
62
+ }
63
+ section += '---\n\n';
64
+ return section;
65
+ }
66
+ buildSummarySection(successful) {
67
+ if (successful.length === 0) {
68
+ return '';
69
+ }
70
+ const totalEntities = successful.reduce((sum, r) => sum + (r.stats?.entities || 0), 0);
71
+ const totalRelations = successful.reduce((sum, r) => sum + (r.stats?.relations || 0), 0);
72
+ const totalTime = successful.reduce((sum, r) => sum + (r.stats?.parseTime || 0), 0);
73
+ const avgEntities = totalEntities / successful.length;
74
+ const avgRelations = totalRelations / successful.length;
75
+ let section = '## Summary Statistics\n\n';
76
+ section += `- **Total Entities**: ${totalEntities}\n`;
77
+ section += `- **Total Relations**: ${totalRelations}\n`;
78
+ section += `- **Total Parse Time**: ${(totalTime / 1000).toFixed(2)}s\n`;
79
+ section += `- **Average Entities per Diagram**: ${avgEntities.toFixed(1)}\n`;
80
+ section += `- **Average Relations per Diagram**: ${avgRelations.toFixed(1)}\n\n`;
81
+ return section;
82
+ }
83
+ buildFailedSection(failed) {
84
+ let section = '---\n\n';
85
+ section += '## Failed Diagrams\n\n';
86
+ for (const result of failed) {
87
+ section += `### ${result.name}\n\n`;
88
+ section += `- **Error**: ${result.error}\n\n`;
89
+ }
90
+ section += '---\n\n';
91
+ return section;
92
+ }
93
+ }
94
+ //# sourceMappingURL=diagram-index-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagram-index-generator.js","sourceRoot":"","sources":["../../../src/cli/utils/diagram-index-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface FileDiscoveryOptions {
2
+ sources?: string[];
3
+ exclude?: string[];
4
+ skipMissing?: boolean;
5
+ }
6
+ export declare class FileDiscoveryService {
7
+ discoverFiles(options?: FileDiscoveryOptions): Promise<string[]>;
8
+ private discoverFromGlob;
9
+ }
10
+ //# sourceMappingURL=file-discovery-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-discovery-service.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/file-discovery-service.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,oBAAoB;IAKnC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAMnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAMnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAUD,qBAAa,oBAAoB;IAIzB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YA6B5D,gBAAgB;CAuD/B"}